@dev-tcloud/tcloud-ui 5.0.2 → 5.0.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -106
- package/datepicker/js/_info.txt +3 -3
- package/fesm2022/dev-tcloud-tcloud-ui.mjs +74 -74
- package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.d.ts +1 -1
- package/package.json +1 -1
- package/scss/components/custom/el-copy.scss +17 -17
- package/scss/components/custom/loading-transitions.scss +27 -27
- package/scss/components/custom/loading.scss +2 -2
- package/scss/components/custom/tab-menu.scss +57 -57
- package/scss/components/custom/table.scss +98 -98
- package/scss/components/custom/tooltip.scss +89 -89
- package/scss/components/custom/ui-datepicker.scss +15 -15
- package/scss/components/custom/validation.scss +7 -7
- package/scss/components/custom/variables.scss +32 -32
- package/scss/components/styles.scss +8 -8
- package/scss/tcloud/custom/alerts.scss +37 -37
- package/scss/tcloud/custom/buttons.scss +1002 -1002
- package/scss/tcloud/custom/card.scss +51 -51
- package/scss/tcloud/custom/colors.scss +97 -97
- package/scss/tcloud/custom/forms.scss +81 -81
- package/scss/tcloud/custom/layout.scss +5 -5
- package/scss/tcloud/custom/left-navigation.scss +47 -47
- package/scss/tcloud/custom/mixins.scss +318 -318
- package/scss/tcloud/custom/tcloud-prime.scss +4519 -4519
- package/scss/tcloud/custom/tcloud-standard.scss +121 -121
- package/scss/tcloud/custom/text.scss +57 -57
- package/scss/tcloud/custom/top-navigation.scss +59 -59
- package/scss/tcloud/custom/variables.scss +60 -60
- package/scss/tcloud/disaster-recovery/colors.scss +14 -14
- package/scss/tcloud/disaster-recovery/layout.scss +13 -13
- package/scss/tcloud/disaster-recovery/styles.scss +1 -1
- package/scss/tcloud/prime/cards-products.scss +331 -331
- package/scss/tcloud/prime/left-navigation.scss +327 -327
- package/scss/tcloud/prime/styles.scss +2 -2
- package/scss/tcloud/prime/tcloud-prime.scss +3872 -3872
- package/scss/tcloud/standard/left-navigation.scss +47 -47
- package/scss/tcloud/standard/styles.scss +2 -2
- package/scss/tcloud/standard/tcloud-standard.scss +125 -125
- package/scss/tcloud/standard/top-navigation.scss +61 -61
- package/scss/tcloud/styles.scss +19 -19
- package/scss/tcloud/tcloud-ui.scss +7 -7
- package/scss/tcloud-revitalizacao/_tc-rev-border.scss +93 -0
- package/scss/tcloud-revitalizacao/_tc-rev-colors.scss +74 -0
- package/scss/tcloud-revitalizacao/_tc-rev-opacity.scss +19 -0
- package/scss/tcloud-revitalizacao/_tc-rev-shadow.scss +25 -0
- package/scss/tcloud-revitalizacao/_tc-rev-sizes.scss +159 -0
- package/scss/tcloud-revitalizacao/_tc-rev-themes.scss +39 -0
- package/scss/tcloud-revitalizacao/_tc-rev-typography.scss +122 -0
- package/scss/tcloud-revitalizacao/components/_tc-rev-button.scss +172 -0
- package/scss/tcloud-revitalizacao/components/_tc-rev-input-control.scss +292 -0
- package/scss/tcloud-revitalizacao/components/_tc-rev-tab-item.scss +39 -0
- package/scss/tcloud-revitalizacao/components/_tc-rev-table.scss +57 -0
- package/scss/tcloud-revitalizacao/components/_tc-rev-util.scss +24 -0
- package/scss/tcloud-revitalizacao/tc-rev-styles.scss +26 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tcloud-tcloud-ui.mjs","sources":["../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/monthname.ts","../../../projects/tcloud-ui/src/lib/_pipes/statusinfo.ts","../../../projects/tcloud-ui/src/lib/_pipes/respective.ts","../../../projects/tcloud-ui/src/lib/_pipes/cnpj.ts","../../../projects/tcloud-ui/src/lib/_pipes/cpf.ts","../../../projects/tcloud-ui/src/lib/_pipes/bytes.ts","../../../projects/tcloud-ui/src/lib/_pipes/datebr.ts","../../../projects/tcloud-ui/src/lib/_pipes/array-to-text.ts","../../../projects/tcloud-ui/src/lib/_services/search-in-object.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts","../../../projects/tcloud-ui/src/lib/_directives/align/align.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/el-copy/el-copy.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/currency/currency.directive.ts","../../../projects/tcloud-ui/src/lib/_services/tcloud-ui-check-access.service.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-digit-only.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-highlight.diretive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-ip-mask.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/directives.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts","../../../projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.ts","../../../projects/tcloud-ui/src/lib/_services/tcloud-ui-theme.services.ts","../../../projects/tcloud-ui/src/lib/tcloud-ui.module.ts","../../../projects/tcloud-ui/src/public-api.ts","../../../projects/tcloud-ui/src/dev-tcloud-tcloud-ui.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-linha-logo',\n templateUrl: './tcloud-ui-linha-logo.component.html',\n styleUrls: ['./tcloud-ui-linha-logo.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiLinhaLogoComponent implements OnInit {\r\n\r\n @Input() url: any = `h`+`t`+`t`+`p`+`s`+`:`+`/`+`/`+`ateleia`+`-`+`email`+`.s3`+`-`+`sa`+`-`+`east`+`-`+`1`+`.`+`amazonaws`+`.`+`com`+`/`; \r\n @Input() product: string = '';\r\n\r\n logo_name: string = '';\r\n product_name: string = '';\r\n alt_product_name: string = '';\r\n font_size: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.logo_name = this.getLogoName();\r\n this.product_name = this.getProductName();\r\n \r\n this.alt_product_name = (this.product_name).toUpperCase();\r\n\r\n this.font_size = this.getWidthFontSize();\r\n }\r\n\r\n getProductName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_',' ');\r\n name = (name).toLowerCase();\r\n return name;\r\n }\r\n return '';\r\n }\r\n\r\n getLogoName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_','-');\r\n name = (name).toLowerCase();\r\n return 'logo-linha-'+name;\r\n }\r\n return '';\r\n }\r\n\r\n getWidthFontSize(){\r\n let size = 28;\r\n let new_size = size;\r\n const count = (this.product_name).length; \r\n\r\n if( count > 8 ){\r\n new_size = 28;\r\n }\r\n\r\n if( count > 12 ){\r\n const p = (size * (5+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n if( count > 15 ){\r\n const p = (size * (10+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n\r\n\r\n return `${new_size}px`;\r\n }\r\n\r\n}\r\n","<!-- <div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" src=\"/assets/img/logo-totvs.svg\" alt=\"{{ alt_product_name }}\">\r\n <p class=\"text-small\">Linha</p>\r\n <p class=\"text-product\" [style]=\"'font-size:'+font_size+';'\" >{{ product_name }}</p>\r\n</div> -->\r\n\r\n<div class=\"tcloud-ui-linha-logo logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" [attr.data-name-image]=\"logo_name\" [attr.src]=\"url+logo_name+'.svg'\" alt=\"{{ alt_product_name }}\">\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLinhaLogoComponent } from './tcloud-ui-linha-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLinhaLogoModule { }\r\n","import { ITab } from './../tcloud-ui-tab-menu';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class TabMenuService {\r\n\r\n private info_tab: ITab[] = [];\r\n\r\n private _scroll: boolean | undefined;\r\n private scrollSubject = new Subject<boolean>(); \r\n public scrollState$ = this.scrollSubject.asObservable();\r\n\r\n private _bottom_line: boolean | undefined;\r\n private bottom_lineSubject = new Subject<boolean>(); \r\n public bottom_lineState$ = this.bottom_lineSubject.asObservable();\r\n\r\n private _tab: string | undefined;\r\n private tabSubject = new Subject<string>(); \r\n public tabState$ = this.tabSubject.asObservable();\r\n\r\n private _loading: boolean | undefined;\r\n private loadingSubject = new Subject<boolean>(); \r\n public loadingState$ = this.loadingSubject.asObservable();\r\n\r\n private _full: boolean | undefined;\r\n private fullSubject = new Subject<boolean>(); \r\n public fullState$ = this.fullSubject.asObservable();\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _router: Router\r\n ){\r\n\r\n }\r\n\r\n setTabScroll(scroll: boolean){\r\n this._scroll = scroll;\r\n this.scrollSubject.next(scroll);\r\n }\r\n\r\n getTabScroll(){\r\n return this._scroll;\r\n }\r\n\r\n setTabBottomLine(bottom_line: boolean){\r\n this._bottom_line = bottom_line;\r\n this.bottom_lineSubject.next(bottom_line);\r\n }\r\n\r\n getTabBottomLine(){\r\n return this._bottom_line;\r\n } \r\n\r\n setTabLoading(loading: boolean){\r\n this._loading = loading;\r\n this.loadingSubject.next(loading);\r\n }\r\n\r\n getTabLoading(){\r\n return this._loading;\r\n }\r\n\r\n setTabfull(full: boolean){\r\n this._full = full;\r\n this.fullSubject.next(full);\r\n }\r\n\r\n getTabFull(){\r\n return this._full;\r\n }\r\n\r\n setTabState(tab: string, registerInUrl?:boolean | undefined){\r\n this._tab = tab;\r\n if( registerInUrl ){ this.set_to_param_url(tab); } \r\n this.tabSubject.next(tab);\r\n }\r\n\r\n getTabState(){\r\n return this._tab;\r\n }\r\n\r\n setTabDisabled(id: string, disabled: boolean ){\r\n let create = true;\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n this.info_tab[i].disabled = disabled;\r\n create = false;\r\n break;\r\n }\r\n }\r\n }\r\n if( create ){\r\n (this.info_tab).push({ id:id, disabled: disabled });\r\n } \r\n }\r\n\r\n getIsDisabled(id: string){\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n return this.info_tab[i].disabled;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n set_to_param_url(tab: string){\r\n // changes the route without moving from the current view or\r\n // triggering a navigation event,\r\n this._router.navigate([], {\r\n relativeTo: this._route,\r\n queryParams: {\r\n tab: `${tab}`\r\n },\r\n queryParamsHandling: 'merge',\r\n // preserve the existing query params in the route\r\n skipLocationChange: false\r\n // do not trigger navigation\r\n });\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { TabMenuService } from './services/tab-menu.service';\r\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-tab-menu',\n templateUrl: './tcloud-ui-tab-menu.component.html',\n styleUrls: ['./tcloud-ui-tab-menu.component.scss'],\n providers: [TabMenuService],\n standalone: false\n})\r\nexport class TCloudUiTabMenuComponent implements OnInit, OnDestroy {\r\n\r\n @Input() registerInUrl: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n this._loading = loading;\r\n this.tabMenuService.setTabLoading(this.loading);\r\n }\r\n get loading(): boolean{ return this._loading; }\r\n\r\n private _active: string = '';\r\n @Input() set active(active: string){\r\n this._active = active;\r\n if( this.active !== '' ){\r\n setTimeout(() => {\r\n this.tabMenuService.setTabState(this.active, this.registerInUrl);\r\n });\r\n \r\n }\r\n }\r\n get active(): string{ return this._active; }\r\n\r\n private _full: boolean = false;\r\n @Input() set full(full: boolean){\r\n this._full = full;\r\n this.tabMenuService.setTabfull(this.full);\r\n }\r\n get full(): boolean{ return this._full; }\r\n\r\n\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const tab = this.tabMenuService.getTabState();\r\n if( tab === this._active ){\r\n this.onChange.emit(tab);\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.onChange.emit(tab);\r\n })\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-tab-menu tc-tab-menu\" [class.loading]=\"loading\" [class.tcloud-ui-tab-block-full]=\"full\" >\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-tab-content',\n templateUrl: './tcloud-ui-tab-content.component.html',\n styleUrls: ['./tcloud-ui-tab-content.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiTabContentComponent implements OnInit {\r\n\r\n @Input() hideContent: boolean = false;\r\n @Input() tab: string = '';\r\n\r\n active: boolean = false;\r\n \r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const disabled = this.tabMenuService.getIsDisabled(this.tab);\r\n const tab = this.tabMenuService.getTabState();\r\n\r\n this.active = ( tab === this.tab && !disabled );\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.active = ( tab === this.tab );\r\n });\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-tab-content tc-tabmenu-content\" *ngIf=\"active || hideContent\" [class.tc-table-hide]=\"!active\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-tab-title',\n templateUrl: './tcloud-ui-tab-title.component.html',\n styleUrls: ['./tcloud-ui-tab-title.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiTabTitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() title: string | undefined;\r\n @Input() active: boolean = false;\r\n\r\n loading: boolean = false;\r\n bottom_line: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n \r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n\r\n const bottom_line = this.tabMenuService.getTabBottomLine();\r\n if( typeof bottom_line === 'boolean' ){\r\n this.bottom_line = bottom_line;\r\n }\r\n }\r\n \r\n this.subscription?.add(\r\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n )\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription?.add(\r\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n )\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\r\n this.bottom_line = bottom_line;\r\n })\r\n )\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-title-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-title tab-title\" >\r\n <ng-content></ng-content>\r\n</button>\r\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\" ></div>","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-tab-subtitle',\n templateUrl: './tcloud-ui-tab-subtitle.component.html',\n styleUrls: ['./tcloud-ui-tab-subtitle.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiTabSubtitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() active: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n loading: boolean = false;\r\n bottom_line: boolean = false;\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n\r\n const bottom_line = this.tabMenuService.getTabBottomLine();\r\n if( typeof bottom_line === 'boolean' ){\r\n this.bottom_line = bottom_line;\r\n }\r\n\r\n }\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n )\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription?.add(\r\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n )\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\r\n this.bottom_line = bottom_line;\r\n })\r\n )\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-subtitle-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-subtitle tab-subtitle\" >\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\"></div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-tab-head',\n templateUrl: './tcloud-ui-tab-head.component.html',\n styleUrls: ['./tcloud-ui-tab-head.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiTabHeadComponent implements OnInit {\r\n\r\n private _scroll: boolean = true;\r\n @Input() set scroll(scroll: boolean){\r\n if( typeof scroll === 'boolean' ){\r\n this._scroll = scroll;\r\n this.tabMenuService.setTabScroll(scroll);\r\n }\r\n }\r\n get scroll(): boolean { return this._scroll; }\r\n\r\n ID: string = '';\r\n @Input() background: boolean = true;\r\n\r\n @Input() backgroundColor: '#FFFFFF'|'#F1F1F1'|'white'|'transparent' = 'transparent'; // var(--cinza4)\r\n\r\n private _bottom_line: boolean = false;\r\n @Input() set bottom_line(bottom_line: boolean){\r\n if( typeof bottom_line === 'boolean' ){\r\n this._bottom_line = bottom_line;\r\n this.tabMenuService.setTabBottomLine(bottom_line);\r\n }\r\n }\r\n get bottom_line(): boolean { return this._bottom_line; }\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if( this.background ){\r\n if( this.backgroundColor === 'white' ){\r\n this.backgroundColor = '#FFFFFF';\r\n }else{\r\n this.backgroundColor = '#F1F1F1';\r\n }\r\n }\r\n\r\n this.ID = this.generateID();\r\n }\r\n\r\n generateID(): string{\r\n return `tc-head-scroll-box-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n to_scroll(action: 'prev'|'next'){\r\n this.moveScroll(action, this.width_scroll());\r\n }\r\n\r\n private width_scroll(): number{\r\n var ele = <any> document.querySelectorAll(`.${this.ID}`);\r\n return ele[0].querySelector(\"button\").offsetWidth;\r\n }\r\n\r\n private scrollSuave(old:any, des:any, atu:any, ele:any){\r\n const _this = this;\r\n var easeOutCubic = (t:any) => { return (--t)*t*t+1 };\r\n atu += 5; // move de 5 em 5 pixel. Aumentando o valor da velocidade\r\n var ease = easeOutCubic(atu/100);\r\n var del = des-old;\r\n del *= ease;\r\n del += old;\r\n ele.scrollTo(del, 0);\r\n if(atu < 100){\r\n window.requestAnimationFrame(() => {\r\n _this.scrollSuave(old, des, atu, ele);\r\n });\r\n }\r\n }\r\n\r\n private moveScroll(action: any, wid: number){\r\n var ele = document.querySelectorAll(`.${this.ID}`);\r\n var ccs = ele[0];\r\n var ccs_s = ccs.scrollLeft;\r\n this.scrollSuave(ccs_s, action == 'next' ? wid+ccs_s : ccs_s-wid, 0, ccs);\r\n }\r\n\r\n}","\r\n\r\n<table class=\"tcloud-ui-tab-head area-navigation\">\r\n <tr>\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\r\n </td>\r\n\r\n <td>\r\n\r\n </td>\r\n\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\r\n </td>\r\n </tr>\r\n</table>\r\n\r\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" [class.tab-subtitle-line-bottom]=\"bottom_line\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<div class=\"hr-border-bottom\" *ngIf=\"bottom_line\"></div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTabMenuComponent } from './tcloud-ui-tab-menu.component';\r\nimport { TCloudUiTabContentComponent } from './components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nimport { TCloudUiTabTitleComponent } from './components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\nimport { TCloudUiTabSubtitleComponent } from './components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nimport { TCloudUiTabHeadComponent } from './components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiTabMenuModule { }\r\n","import { IConfirm } from './../tcloud-ui-modal';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TcloudModalService {\r\n\r\n private loading: boolean | undefined;\r\n\r\n private param_mode: string = '';\r\n private param_confirm: IConfirm = {} as IConfirm;\r\n\r\n private _stateClose = new Subject<boolean>();\r\n public stateClose$ = this._stateClose.asObservable();\r\n\r\n private _stateConfirm = new Subject<IConfirm>();\r\n public stateConfirm$ = this._stateConfirm.asObservable();\r\n\r\n private _stateRespConfirm = new Subject<boolean>();\r\n public stateRespConfirm$ = this._stateRespConfirm.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateMode = new Subject<string>();\r\n public stateMode$ = this._stateMode.asObservable();\r\n\r\n\r\n toModal(action: 'open'|'close'): void{\r\n if(action === 'close'){\r\n this.fixed_body('off');\r\n }\r\n this._stateClose.next( (action === 'open') );\r\n }\r\n\r\n toRespConfirm(resp: boolean){ \r\n this._stateRespConfirm.next(resp);\r\n }\r\n\r\n getParamConfirm(): IConfirm{\r\n return this.param_confirm;\r\n }\r\n\r\n toConfirm(confirm: IConfirm){\r\n this.param_confirm = confirm;\r\n this._stateConfirm.next(confirm);\r\n }\r\n\r\n toMode(mode: string){\r\n this.param_mode = mode;\r\n this._stateMode.next(mode);\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n fixed_body(fixed: 'on'|'off'){ \r\n let body = <any> document.getElementsByTagName(\"BODY\")[0];\r\n if( body && body.style ){\r\n if( fixed === 'on' ){\r\n body.style.overflowY = \"hidden\";\r\n }\r\n if( fixed === 'off' ){\r\n body.style.removeProperty('overflow-y');\r\n }\r\n }\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { TcloudModalService } from './services/tcloud-modal.service';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IConfirm } from './tcloud-ui-modal';\r\n\r\n@Component({\n selector: 'tcloud-ui-modal',\n templateUrl: './tcloud-ui-modal.component.html',\n styleUrls: ['./tcloud-ui-modal.component.scss'],\n providers: [\n TcloudModalService\n ],\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hide', style({ opacity: 0, top: '-38%' })),\n transition('void => visible', [\n style({ opacity: 0, top: '-38%' }),\n animate('0.3s ease-out')\n ]),\n transition('visible => hide', animate('0.3s ease-out'))\n ])\n ],\n standalone: false\n})\r\nexport class TCloudUiModalComponent implements OnInit, OnDestroy {\r\n\r\n /**\r\n * tcloud-ui-modal - Cria e exibe um modal\r\n * \r\n * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'\r\n * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true\r\n * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false\r\n */\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n /* BEGIN - Parametros para modo confirmacao */\r\n private _confirm: boolean = false;\r\n private _confirmText: string = 'Confirmo';\r\n\r\n /**\r\n * confirm boolean - Indica se será um modal do tipo confirmação - default false\r\n */\r\n @Input() set confirm(v: boolean){\r\n this._confirm = v;\r\n this.param_confirm.confirm = this._confirm;\r\n this.param_confirm.confirmText = this._confirmText;\r\n }\r\n\r\n /**\r\n * confirmText string - Texto que deverá ser digitado - defualt Confirmo\r\n */\r\n @Input() set confirmText(v: string){\r\n this._confirmText = v;\r\n this.param_confirm.confirmText = this._confirmText;\r\n this.param_confirm.confirm = this._confirm; \r\n }\r\n\r\n /* END --- Parametros para modo confirmacao */\r\n\r\n subscription = new Subscription();\r\n\r\n /**\r\n * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n\r\n /**\r\n * title - string - Título a ser exibido no topo do modal\r\n */\r\n @Input() title: any | undefined;\r\n\r\n /**\r\n * maxWidth - number - Largura máxima do modal - default 500px\r\n */\r\n @Input() maxWidth: number = 500;\r\n\r\n\r\n /**\r\n * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)\r\n */\r\n @Input() set window( size: 'small' | 'medium' | 'large' | 'big' | 'full' ){\r\n switch (size) {\r\n case 'small': this.maxWidth = 300; break;\r\n case 'medium': this.maxWidth = 500; break;\r\n case 'large': this.maxWidth = 900; break;\r\n case 'big': this.maxWidth = 1100; break;\r\n case 'full': this.maxWidth = 1400; break;\r\n }\r\n }\r\n\r\n \r\n mode: string = '';\r\n control_open: boolean = false;\r\n private _open: boolean = false;\r\n /**\r\n * open - boolean - Variável de controle para exibição do modal - obrigatório\r\n */\r\n @Input() set open(open: boolean){\r\n this.control_open = open;\r\n this.checkIsOpen();\r\n\r\n this._open = open;\r\n this.tcloudModalService.fixed_body((open) ? 'on' : 'off');\r\n }\r\n get open(): boolean { return this._open; }\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this.tcloudModalService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n \r\n @Output() openChange = new EventEmitter<boolean>();\r\n\r\n @Output() toConfirm = new EventEmitter<boolean>();\r\n @Output() toCancel = new EventEmitter<boolean>();\r\n @Output() toAction = new EventEmitter<'confirmed'|'cancel'|'close'>();\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription.add(this.tcloudModalService.stateClose$.subscribe(\r\n (open: boolean)=>{\r\n if( open ){\r\n /* OPEN */\r\n }\r\n\r\n if( !open ){\r\n /* CLOSE */\r\n this.toClose();\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.tcloudModalService.stateRespConfirm$.subscribe(\r\n (resp: boolean)=>{\r\n if( resp ){\r\n /* CONFIRMADO */\r\n this.toConfirm.emit(resp);\r\n this.toClose('confirmed');\r\n\r\n }\r\n\r\n if( !resp ){\r\n /* CANCELADO */\r\n this.toCancel.emit(resp);\r\n this.toClose('cancel');\r\n }\r\n }\r\n )\r\n )\r\n\r\n this.subscription.add(\r\n this.tcloudModalService.stateMode$.subscribe(\r\n (resp: string)=>{\r\n this.mode = resp;\r\n }\r\n )\r\n )\r\n \r\n this.tcloudModalService.toConfirm( this.param_confirm );\r\n }\r\n\r\n toClose(action?: any | undefined){\r\n if( this.autoClose ){\r\n this.control_open = false;\r\n this.open = false;\r\n this.openChange.emit(false);\r\n }\r\n \r\n action = (action) ? action : 'close';\r\n this.toAction.emit(action);\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n\r\n checkIsOpen(){\r\n if( this.control_open ){\r\n this.tcloudModalService.fixed_body('on');\r\n }else{\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.checkIsOpen();\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\r\n\r\n<div class=\"tcloud-ui-modal base-modal\" *ngIf=\"open\">\r\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\r\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\r\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\r\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\r\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\r\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\r\n </button>\r\n </div>\r\n\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n\r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Ex: Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open\">\r\n\r\n <tcloud-ui-modal-header title=\"Título do Modal\" ></tcloud-ui-modal-header>\r\n\r\n <tcloud-ui-modal-body>\r\n Conteúdo do modal aqui\r\n </tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\r\n-->\r\n\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n\r\n<!-- Ex: Confirm Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Atenção'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\r\n\r\n <tcloud-ui-modal-body>Deseja realmente executar esta ação?</tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TcloudModalService } from '../../services/tcloud-modal.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-modal-header',\n templateUrl: './tcloud-ui-modal-header.component.html',\n styleUrls: ['./tcloud-ui-modal-header.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiModalHeaderComponent implements OnInit {\r\n\r\n @Input() mode: 'colorless' | 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor(\r\n private _tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._tcloudModalService.toMode( this.mode );\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-header tc-modal-header tc-mode-{{ mode }}\" >\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n <ng-content></ng-content>\r\n\r\n <hr>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-modal-body',\n templateUrl: './tcloud-ui-modal-body.component.html',\n styleUrls: ['./tcloud-ui-modal-body.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiModalBodyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-body tc-modal-body\">\r\n <ng-content></ng-content>\r\n</div>","import { Subscription } from 'rxjs';\r\nimport { TcloudModalService } from './../../services/tcloud-modal.service';\r\nimport { Component, OnInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { IConfirm } from '../../tcloud-ui-modal';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\n selector: 'tcloud-ui-modal-footer',\n templateUrl: './tcloud-ui-modal-footer.component.html',\n styleUrls: ['./tcloud-ui-modal-footer.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiModalFooterComponent implements OnInit, OnDestroy {\r\n\r\n @Input() btnCloseText: string = 'Fechar';\r\n @Input() btnCancelText: string = 'Cancelar';\r\n @Input() btnConfirmText: string = 'Confirmar';\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined; \r\n txt_value: string = '';\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n\r\n loading: boolean = false;\r\n\r\n subscription: Subscription |undefined\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.txt_value = '';\r\n this.param_confirm = this.tcloudModalService.getParamConfirm();\r\n\r\n this.toStateLoading();\r\n }\r\n\r\n toClose(){\r\n this.tcloudModalService.toModal('close');\r\n }\r\n\r\n toConfirm(valid: boolean | any){\r\n if( typeof valid === 'boolean' ){\r\n if( valid && (this.txt_value).toLowerCase() === (this.param_confirm.confirmText).toLowerCase() ){\r\n this.tcloudModalService.toRespConfirm(true);\r\n this.txt_value = ''; \r\n }\r\n }\r\n }\r\n\r\n toCancel(){\r\n this.tcloudModalService.toRespConfirm(false);\r\n }\r\n\r\n toStateLoading(){\r\n this.loading = <any> this.tcloudModalService.getLoading();\r\n this.subscription = this.tcloudModalService.stateLoading$.subscribe((loading: boolean) => { this.loading = loading; } )\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.tcloudModalService.fixed_body('off');\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-footer tc-modal-footer\">\r\n\r\n <div class=\"input-confirm\" *ngIf=\"param_confirm && param_confirm.confirmText\">\r\n <p>Digite a palavra <strong>"{{ param_confirm.confirmText }}"</strong> para confirmar.</p>\r\n \r\n <form #_formulario=\"ngForm\" (ngSubmit)=\"toConfirm(_formulario.valid)\">\r\n <input \r\n [disabled]=\"loading\"\r\n placeholder=\"{{ param_confirm.confirmText }}\"\r\n name=\"txt_value\" \r\n [(ngModel)]=\"txt_value\" \r\n type=\"text\" \r\n class=\"tc-form-confirm tc-form-control\" \r\n required \r\n [class.different-text]=\"(txt_value).length >= (param_confirm.confirmText).length && (txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase()\" >\r\n </form>\r\n\r\n </div>\r\n\r\n <hr>\r\n\r\n <div class=\"actions-footer {{ (loading) ? 'state-loading' : '' }}\">\r\n <!-- {{ param_confirm | json }} -->\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && !param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toClose()\">{{ btnCloseText }}</button>\r\n\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toCancel()\">{{ btnCancelText }}</button>\r\n <button [disabled]=\"(txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase() || loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn tc-btn-primary margin-l-5\" (click)=\"toConfirm(_formulario?.valid)\">{{ btnConfirmText }}</button>\r\n\r\n </div>\r\n</div>\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiModalComponent } from './tcloud-ui-modal.component';\r\nimport { TCloudUiModalHeaderComponent } from './components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nimport { TCloudUiModalBodyComponent } from './components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nimport { TCloudUiModalFooterComponent } from './components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiModalModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nclass Step {\r\n\r\n constructor(){\r\n this.status = '';\r\n this.index = 0;\r\n this.class = '';\r\n this.second_class = '';\r\n }\r\n\r\n status: string;\r\n index: number;\r\n class: string;\r\n second_class: string;\r\n}\r\n\r\n@Component({\n selector: 'tcloud-ui-line-step-circle',\n templateUrl: './tcloud-ui-line-step-circle.component.html',\n styleUrls: ['./tcloud-ui-line-step-circle.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiLineStepCircleComponent implements OnInit {\r\n\r\n @Input() step: number = 7;\r\n \r\n private _active: number = 0;\r\n @Input() set active( active: number ){\r\n if( active && active !== this._active ){\r\n this._active = active;\r\n this.build_steps();\r\n } \r\n }\r\n get active(): number{ return this._active; }\r\n\r\n private _inactives = [] as number[] | undefined;\r\n @Input() set inactives( inactives: number[] | undefined){\r\n if( inactives && inactives !== this._inactives ){\r\n this._inactives = inactives;\r\n this.build_steps();\r\n }\r\n }\r\n get inactives(): number[] | undefined { return this._inactives; }\r\n\r\n\r\n private _complete: boolean = false;\r\n @Input() set complete( complete: boolean ){\r\n if( complete && complete !== this._complete ){\r\n this._complete = complete;\r\n this.build_steps();\r\n } \r\n }\r\n get complete(): boolean{ return this._complete; }\r\n\r\n trilha = new Array<Step>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.build_steps(); }); \r\n }\r\n\r\n build_steps(){\r\n let trilha = new Array<Step>();\r\n if( this.step && this.step > 0 ){\r\n for( let i = 0; i < this.step; i++ ){\r\n (trilha).push({\r\n status: '',\r\n index: i+1,\r\n class: 'step-default',\r\n second_class: '',\r\n })\r\n }\r\n }\r\n\r\n if( this.active > this.step ){\r\n this.active = this.step;\r\n this.complete = true;\r\n }\r\n\r\n if( this.active && this.active > 0 ){\r\n for( let i = 0; i < this.active; i++ ){ \r\n trilha[i].class = \"step-progress\"; \r\n if( (i+1) === this.active && !this.complete ){\r\n trilha[i].class = \"step-active\";\r\n }\r\n }\r\n }\r\n \r\n if( this.inactives && (this.inactives).length > 0 ){\r\n for( let i = 0; i < (this.inactives).length; i++ ){\r\n const icon = this.inactives[i];\r\n if( icon && icon > 0 ){\r\n trilha[(icon-1)].second_class = \"step-inactive\"; \r\n } \r\n }\r\n }\r\n\r\n this.trilha = trilha;\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-line-step-circle table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepCircleComponent } from './tcloud-ui-line-step-circle.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLineStepCircleModule { }\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-multi-select',\n templateUrl: './tcloud-ui-multi-select.component.html',\n styleUrls: ['./tcloud-ui-multi-select.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\r\nexport class TCloudUiMultiSelectComponent implements OnInit, OnDestroy, Validator {\r\n\r\n \r\n\r\n @Input() tcList: any[] | undefined;\r\n @Input() placeholder: string = 'Selecione um item';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n\r\n @Input() maxWidthLabel: string | undefined;\r\n @Input() showDescriptionInValue: boolean = false;\r\n @Input() showInput: boolean = false;\r\n\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n use_validation_required: boolean = false;\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n item_value: any | undefined;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.toChange(); });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = true;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n } \r\n }\r\n\r\n removeItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = false;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( row.active ){\r\n count_actives++;\r\n (itens).push(row);\r\n }\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n\r\n check_is_valid(): boolean{\r\n let active = 0;\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const item = this.tcList[i];\r\n if( item && item.active && item.active === true){\r\n active++;\r\n break;\r\n }\r\n }\r\n }\r\n return (active > 0) ? true : false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","\r\n <div class=\"tcloud-ui-multi-select\">\r\n <table *ngIf=\"!showInput\">\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select\r\n class=\"tc-form-control\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\"\r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item disponível' : placeholder\">\r\n\r\n <option value=\"null\" disabled selected>{{ placeholder }}</option>\r\n\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0 && (tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n\r\n <ng-container *ngIf=\"item.active\">\r\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\" >\r\n <div class=\"box-value\" [title]=\"item.value\" *ngIf=\"!showDescriptionInValue\">\r\n {{ item.value }}\r\n </div>\r\n <div class=\"box-value\" [title]=\"item.description\" *ngIf=\"showDescriptionInValue\">\r\n {{ item.description }}\r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </div>\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiSelectComponent],\r\n exports: [TCloudUiMultiSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiSelectModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataListService {\r\n private _stateSourceValue: Subject<any> = new Subject<any>();\r\n public stateValue$: Observable<Subject<any>> = this._stateSourceValue.asObservable();\r\n\r\n private _stateSourceDescription: Subject<any> = new Subject<any>();\r\n public stateDescription$: Observable<Subject<any>> = this._stateSourceDescription.asObservable();\r\n\r\n private _stateSourceOptions: Subject<any> = new Subject<any>();\r\n public stateOptions$: Observable<Subject<any>> = this._stateSourceOptions.asObservable();\r\n\r\n private _stateSourceActive: Subject<any> = new Subject<any>();\r\n public stateActive$: Observable<Subject<any>> = this._stateSourceActive.asObservable();\r\n\r\n private actived_value: any | undefined;\r\n\r\n public setItemValue(v: any): void {\r\n this.actived_value = v;\r\n this._stateSourceValue.next(v);\r\n }\r\n\r\n public setItemDescription(v: any): void {\r\n this._stateSourceDescription.next(v);\r\n }\r\n\r\n public registerSelectionOptionsDescription(v: any): void {\r\n this._stateSourceOptions.next(v);\r\n }\r\n\r\n public setActiveItem(v: any): void {\r\n this._stateSourceActive.next(v); \r\n }\r\n\r\n public getActiveItem(): any {\r\n // console.log('getActiveItem', this.actived_value);\r\n return this.actived_value;\r\n }\r\n \r\n}","export class ISelectOptions{\r\n description: any;\r\n value: any;\r\n disabled?: boolean;\r\n}","import { OnDestroy } from '@angular/core';\r\nimport { ISelectOptions } from './../tcloud-ui-data-list';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { DataListService } from '../services/data-list.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\n selector: 'tcloud-ui-data-list-option',\n templateUrl: './tcloud-ui-data-list-option.component.html',\n styleUrls: ['./tcloud-ui-data-list-option.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiDataListOptionComponent implements OnInit, OnDestroy {\r\n\r\n id: string = ''; \r\n actived_value: any;\r\n select_options = new ISelectOptions();\r\n private subscription_active: Subscription | undefined;\r\n\r\n @Input() disabled: boolean | undefined = false;\r\n @Input() value: any | undefined;\r\n\r\n @Output() selected = new EventEmitter<any>(); \r\n\r\n constructor( private dataListService: DataListService ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.actived_value = this.dataListService.getActiveItem();\r\n this.subscription_active = this.dataListService.stateActive$.subscribe(v => { \r\n this.actived_value = v; \r\n });\r\n this.id = this.generateID();\r\n this.setSelectOptions();\r\n }\r\n\r\n generateID(): string{\r\n return `data-list-option-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n setSelectedItem(value: any){\r\n if( this.disabled ){ return; }\r\n if( value === '' ){ this.value = ''; } \r\n\r\n this.dataListService.setItemValue(this.value);\r\n const description = <any> document.getElementById(this.id)?.innerText || '';\r\n this.dataListService.setItemDescription(description);\r\n this.setSelectOptions(); \r\n }\r\n\r\n setSelectOptions(){\r\n setTimeout(() => {\r\n try {\r\n const description = <any> document.getElementById(this.id)?.innerText;\r\n this.select_options.value = this.value;\r\n this.select_options.description = description; \r\n this.dataListService.registerSelectionOptionsDescription(this.select_options);\r\n } catch (error) { }\r\n }); \r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_active ){ this.subscription_active.unsubscribe(); } \r\n }\r\n\r\n}\r\n","<button \r\n [disabled]=\"disabled\"\r\n [title]=\"select_options.description\"\r\n id=\"{{id}}\"\r\n [attr.data-description]=\"select_options.description\"\r\n [attr.data-actived-value]=\"actived_value\"\r\n class=\"tcloud-ui-data-list-option dropdown-item\" \r\n [class.null-value]=\"value === undefined || value === null || value === ''\"\r\n [class.active]=\"value === actived_value\" \r\n [class.option-disabled]=\"disabled\"\r\n type=\"button\" \r\n [value]=\"value\"\r\n (click)=\"setSelectedItem(value)\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { DataListService } from './services/data-list.service';\r\nimport { Component, forwardRef, OnInit, Output, EventEmitter, ViewChild, Input, OnDestroy, AfterViewChecked } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgForm, FormGroup, FormBuilder, FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISelectOptions } from './tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDataListComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\n@Component({\n selector: 'tcloud-ui-data-list',\n templateUrl: './tcloud-ui-data-list.component.html',\n styleUrls: ['./tcloud-ui-data-list.component.scss'],\n providers: [\n DataListService,\n CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR\n ],\n standalone: false\n})\r\nexport class TCloudUiDataListComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n\r\n @Input() placeholder: string = '';\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(v){\r\n if( typeof v === 'boolean' && v !== this._disabled ){\r\n this._disabled = v; \r\n //this.selected_description = '';\r\n //this.selected_item ='';\r\n this.toChange();\r\n }\r\n }\r\n get disabled():boolean { return this._disabled; }\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(v: boolean){\r\n if( typeof v === 'boolean' && v !== this._loading ){\r\n this._loading = v; \r\n //this.selected_description = '';\r\n //this.selected_item = '';\r\n this.toChange();\r\n }\r\n }\r\n get loading():boolean { return this._loading; }\r\n\r\n\r\n @Input() showInput: boolean = true;\r\n @Input() search: boolean = true;\r\n \r\n private _listItems: ISelectOptions[] = [];\r\n @Input() set listItems(v: ISelectOptions[]){\r\n if( v && (v).length > 0 ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():ISelectOptions[] { return this._listItems; }\r\n\r\n private _open: boolean = false;\r\n @Input() set open(v: boolean){\r\n if( v !== this._open ){\r\n this._open = v;\r\n if( v ){\r\n this.menu_show = false;\r\n setTimeout(()=>{ this.toOpen(); }); \r\n }\r\n }\r\n }\r\n get open():boolean { return this._open; }\r\n\r\n \r\n \r\n @Input() border: boolean = true;\r\n\r\n @Output() onInputChange = new EventEmitter<ISelectOptions>();\r\n @Output() onChange = new EventEmitter<ISelectOptions>();\r\n\r\n @Output() onOpened = new EventEmitter<any>();\r\n @Output() onClosed = new EventEmitter<any>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.selected_item = v; \r\n this.selectDescription(); \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n list_selected_options = new Array<ISelectOptions>();\r\n\r\n selected_item: any | undefined;\r\n selected_description: any | undefined;\r\n\r\n private subscription_value: Subscription | undefined;\r\n private subscription_description: Subscription | undefined;\r\n private subscription_options: Subscription | undefined;\r\n\r\n menu_show: boolean = false;\r\n search_text: string = '';\r\n id: string = '';\r\n\r\n formulario: FormGroup | undefined;\r\n\r\n constructor(\r\n private dataListService: DataListService,\r\n private formBuilder: FormBuilder\r\n ){\r\n\r\n this.subscription_value = this.dataListService.stateValue$.subscribe(v => {\r\n this.selected_item = v; \r\n this.selectDescription();\r\n this.ngModelChange.emit(this.selected_item);\r\n })\r\n\r\n this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {\r\n this.selected_description = v; \r\n })\r\n\r\n\r\n this.subscription_options = this.dataListService.stateOptions$.subscribe((v:any) => {\r\n if( v && v.value ){\r\n (this.list_selected_options).push(v);\r\n }\r\n })\r\n\r\n }\r\n\r\n ngOnInit(){\r\n\r\n \r\n\r\n this.id = this.generateID();\r\n\r\n this.formulario = this.formBuilder.group({\r\n \"selected_item\": new FormControl('',[]),\r\n })\r\n\r\n \r\n\r\n this.toResize();\r\n this.toClick();\r\n }\r\n\r\n t_fc: any | undefined;\r\n ngAfterViewChecked(): void {\r\n this.t_fc = undefined;\r\n this.t_fc = this.get_selected_description();\r\n }\r\n\r\n get_selected_description(): void{\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){ \r\n if( this.selected_description !== item.description ){\r\n if( item.description && item.description !== this.selected_description ){\r\n setTimeout(() => {\r\n this.selected_description = item.description; \r\n this.dataListService.setActiveItem(this.selected_item);\r\n });\r\n }\r\n } \r\n break;\r\n }\r\n }\r\n } \r\n }\r\n\r\n generateID(): string{\r\n return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_value ){ this.subscription_value.unsubscribe(); } \r\n if( this.subscription_description ){ this.subscription_description.unsubscribe(); } \r\n if( this.subscription_options ){ this.subscription_options.unsubscribe(); } \r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n if( ul ){\r\n let li = ul.getElementsByTagName(\"button\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectDescription(){\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){\r\n this.selected_description = item.description;\r\n this.toChange();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if( this.selected_item === undefined || this.selected_item === null || this.selected_item === '' ){\r\n this.selected_description = '';\r\n this.toChange();\r\n }\r\n \r\n }\r\n\r\n \r\n toInput(e: any){\r\n this.onInputChange.emit(this.selected_description);\r\n this.onChange.emit(e);\r\n }\r\n\r\n toChange(){\r\n setTimeout(() => {\r\n if( this.selected_item === undefined || this.selected_item === null ){\r\n this.selected_item = '';\r\n }\r\n this.toSearch('');\r\n this.search_text = '';\r\n this.dataListService.setActiveItem(this.selected_item);\r\n\r\n this.onInputChange.emit(this.selected_description);\r\n\r\n if( this.formulario ){\r\n this.formulario?.get('selected_item')?.setValue(this.selected_item);\r\n // const input_hidden = document.getElementById(`${this.id}-hidden`);\r\n this.toInput(this.formulario.get('selected_item'));\r\n } \r\n });\r\n }\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toOpen(){\r\n this.menu_show = !this.menu_show; \r\n this.resolve_position_dropdown(this.menu_show);\r\n this.onOpened.emit();\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n toClose(){\r\n this.menu_show = false;\r\n this.onClosed.emit();\r\n }\r\n\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.menu_show);\r\n });\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n if( this.menu_show ){\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n this.toClose();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.selected_item;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.selected_item) {\r\n this.selected_item = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.selected_item) {\r\n this.selected_item = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tcloud-ui-data-list tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n #_option\r\n [class.input-hidden]=\"!showInput\"\r\n [class.in-border]=\"border\"\r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select no-margin-bottom area-text\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen();toInput(_option)\" >\r\n\r\n <i class=\"tc-placeholder area-text\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <ng-container *ngFor=\"let item of listItems\">\r\n <tcloud-ui-data-list-option [value]=\"item.value\" [disabled]=\"item?.disabled\" >{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </ng-container> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';\r\nimport { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent,\r\n ],\r\n exports: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDataListModule { }\r\n","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, forwardRef, ViewChild, ElementRef, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-choice-issues',\n templateUrl: './tcloud-ui-choice-issues.component.html',\n styleUrls: ['./tcloud-ui-choice-issues.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\r\nexport class TCloudUiChoiceIssuesComponent {\r\n\r\n \r\n @Input() view: boolean = false;\r\n @Input() titulo: string = '';\r\n @Input() subTitulo: string = '';\r\n\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n subscription: Subscription | undefined;\r\n // Referencia o campo (input,select,textarea)\r\n @ViewChild('campo',{ read: true, static: false }) inputRef: ElementRef | undefined;\r\n\r\n innerValue: boolean = false;\r\n\r\n ID: string;\r\n\r\n constructor(){\r\n this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): boolean {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: boolean) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n setV(v: any){\r\n this.value = v;\r\n this.onChange.emit(v);\r\n }\r\n\r\n createID() {\r\n // Math.random should be unique because of its seeding algorithm.\r\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n // after the decimal.\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tcloud-ui-choice-issues box p-2 mt-3 mb-2\">\r\n <input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <p class=\"titulo\">{{ titulo }}</p> \r\n </div>\r\n <div class=\"col-md-4 text-right\"> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"!view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"value\" class=\"mr-1\"><input #campo name=\"{{ ID }}\" [value]=\"true\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(true)\" >Sim</label>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"!value\" class=\"ml-2\"><input #campo name=\"{{ ID }}\" [value]=\"false\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(false)\" >Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset view\" >\r\n <label *ngIf=\"value\" class=\"v-true disabled\" >Sim</label>\r\n <label *ngIf=\"!value\">Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"col-md-12 mt-1\">\r\n <p class=\"sub-titulo\">{{ subTitulo }}</p>\r\n </div>\r\n <div class=\"col-md-12 mt-2 mb-1\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiChoiceIssuesComponent } from './tcloud-ui-choice-issues.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n exports: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-multi-input',\n templateUrl: './tcloud-ui-multi-input.component.html',\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\r\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\r\n\r\n input_value: any;\r\n\r\n @Input() tcList: any[] | undefined;\r\n\r\n @Input() placeholder: string = '';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Input() maxWidthLabel: string | undefined;\r\n @Input() showInput: boolean = false;\r\n\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n\r\n use_validation_required: boolean = false;\r\n item_value: any | undefined;\r\n\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.toChange();\r\n });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( !this.tcList ){\r\n this.tcList = [];\r\n }\r\n (this.tcList).push({value: item}); \r\n this.toChange(); \r\n this.input_value = '';\r\n }\r\n\r\n\r\n removeItem(item: any, index: number): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value && i === index ){\r\n (this.tcList).splice(index,1);\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n (itens).push(row);\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.tcList ){\r\n return ((this.tcList).length > 0) ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","<div class=\"tcloud-ui-multi-input\">\r\n\r\n <table *ngIf=\"!showInput\">\r\n <tr>\r\n <td>\r\n <input\r\n class=\"tc-form-control\"\r\n (blur)=\"onChangeTouched()\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\"\r\n type=\"text\"\r\n [(ngModel)]=\"input_value\"\r\n [disabled]=\"disabled || loading\"\r\n name=\"input_value\"\r\n [placeholder]=\"placeholder\">\r\n </td>\r\n\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(input_value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"(tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n\r\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\r\n <div class=\"box-value\" [title]=\"item.value\" >\r\n {{ item.value }}\r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value, i);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiInputComponent],\r\n exports: [TCloudUiMultiInputComponent],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiInputModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'monthname',\n standalone: false\n})\r\nexport class MonthNamePipe implements PipeTransform {\r\n\r\n meses: string[] = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];\r\n \r\n\r\n transform(yyyy_mm: string): string{\r\n\r\n if( yyyy_mm !== '' ){\r\n\r\n let part = (yyyy_mm).split('-');\r\n if( (part).length === 2 ){\r\n let yyyy = +part[0];\r\n let mm = +part[1];\r\n\r\n return this.meses[(mm-1)];\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'statusinfo',\n standalone: false\n})\r\nexport class StatusInfoPipe implements PipeTransform {\r\n\r\n status_default = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Pendente' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Em andamento' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Aguardando' },\r\n { key: 'REJECTED', value: 'Rejeitado' },\r\n ];\r\n\r\n status_proposal = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Aguardando Aprovação' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Provisionando Ambientes' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Provisionando Ambientes' },\r\n { key: 'REJECTED', value: 'Rejeitada' },\r\n ]; \r\n\r\n transform(status_name: any, tema?: string): string{\r\n\r\n let map_tema = this.status_default;\r\n\r\n if( tema && tema !== undefined){\r\n switch (tema) {\r\n case 'proposal': map_tema = this.status_proposal; break;\r\n }\r\n }\r\n\r\n let status_name_in_search = ''; \r\n if( tema && tema === 'ALL'){\r\n\r\n map_tema = this.status_default;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n map_tema = this.status_proposal;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n if( status_name_in_search !== '' ){\r\n return status_name_in_search;\r\n }\r\n\r\n return status_name;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'respective',\n standalone: false\n})\r\nexport class RespectivePipe implements PipeTransform {\r\n\r\n map = [\r\n // Tipos de Ambientes\r\n { key: 'production', value: 'Produção' },\r\n { key: 'development', value: 'Desenvolvimento' },\r\n { key: 'qa', value: 'Qualidade' },\r\n\r\n // Implantação / Migração\r\n { key: 'golive', value: 'Pré GoLive' },\r\n { key: 'kickoff', value: 'Kickoff' },\r\n\r\n // Tipos de Clientes\r\n { key: 'prime', value: 'Prime' },\r\n { key: 'p', value: 'Pequeno' },\r\n { key: 'm', value: 'Médio' },\r\n { key: 'g', value: 'Grande' },\r\n\r\n // Produtos\r\n { key: '2c', value: 'Carol' },\r\n { key: 'carol', value: 'carol' },\r\n { key: 'consinco', value: 'Consinco' },\r\n { key: 'datasul', value: 'Datasul' },\r\n { key: 'fluig', value: 'Fluig' },\r\n { key: 'license-server', value: 'License Server' },\r\n { key: 'pep', value: 'PEP' },\r\n { key: 'protheus', value: 'Protheus' },\r\n { key: 'pvi', value: 'PVI' },\r\n { key: 'rm', value: 'RM' },\r\n { key: 'sfa', value: 'SFA' },\r\n { key: 'smartrm', value: 'Smart RM' },\r\n { key: 'smartrmcluster', value: 'Smart RM Cluster' },\r\n { key: 'smartrmcontrol', value: 'Smart RM Control' },\r\n { key: 'taf', value: 'TAF' },\r\n { key: 'treports', value: 'Treports' },\r\n { key: 'tss', value: 'TSS' },\r\n { key: 'winthor', value: 'Winthor' },\r\n\r\n // Tipos de SO\r\n { key: 'windows', value: 'Windows' },\r\n { key: 'linux', value: 'Linux' },\r\n\r\n // Tipos responsaveis\r\n { key: 'prime_customer_success', value: 'Customer Success' },\r\n { key: 'project_manager', value: 'Gerente de Projetos' },\r\n { key: 'prime_engineer', value: 'Engenheiro Prime' }\r\n\r\n ];\r\n \r\n\r\n transform(v: any): string{\r\n\r\n if( v !== undefined && v !== null && v !== '' ){\r\n\r\n if( typeof v === 'string' ){\r\n for( let i = 0; i < (this.map).length; i++ ){\r\n let custom_v = v;\r\n custom_v = (custom_v).toLowerCase();\r\n custom_v = (custom_v).trim();\r\n custom_v = (custom_v).replace(/\\_/g, \"-\");\r\n const current_key = (this.map[i].key).replace(/\\_/g, \"-\");\r\n if( (custom_v).toLowerCase() === current_key ){\r\n return `${this.map[i].value}`;\r\n }\r\n }\r\n }else{\r\n return '';\r\n }\r\n \r\n \r\n }\r\n return `${v}`;\r\n }\r\n\r\n \r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'cnpj',\n standalone: false\n})\r\nexport class CNPJPipe implements PipeTransform {\r\n mascara: string = \"##.###.###/####-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 14 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cnpj: string): string{ \r\n return this.createMask(cnpj);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'cpf',\n standalone: false\n})\r\nexport class CPFPipe implements PipeTransform {\r\n mascara: string = \"###.###.###-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 11 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cpf: string): string{ \r\n return this.createMask(cpf);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'bytes',\n standalone: false\n})\r\nexport class BytesPipe implements PipeTransform {\r\n\r\n formatBytes(a: number, b = 2): string {\r\n if (!a) return '---';\r\n if (0 === a) return '0 Bytes';\r\n const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));\r\n return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"][d];\r\n }\r\n \r\n transform(value: any, typeValue?: string): string{ \r\n \r\n if( typeValue !== undefined && typeValue !== null && typeValue !== '' ){\r\n \r\n if( (typeValue).toLowerCase() === 'kb' ){\r\n value = value * 1024\r\n }\r\n\r\n if( (typeValue).toLowerCase() === 'mb' ){\r\n value = (value * 1024) * 1024\r\n }\r\n }\r\n \r\n const b: number = +value; \r\n return this.formatBytes(b);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'datebr',\n standalone: false\n})\r\nexport class DateBRPipe implements PipeTransform {\r\n mascara: string = \"##/##/####\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n createMask4(v: any){\r\n const mask = \"##/##\";\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n create_mask(v: string, _mask: string){\r\n const mask = _mask;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n transform(v: string): string{ \r\n \r\n if( v ){\r\n\r\n v = (v).replace(/\\//g, \"\");\r\n\r\n if( (v).length == 1 ){ return this.create_mask(v,'#'); }\r\n if( (v).length == 2 ){ return this.create_mask(v,'##/'); }\r\n if( (v).length == 3 ){ return this.create_mask(v,'##/#'); }\r\n if( (v).length == 4 ){ return this.create_mask(v,'##/##'); }\r\n if( (v).length == 5 ){ return this.create_mask(v,'##/##/#'); }\r\n if( (v).length == 6 ){ return this.create_mask(v,'##/##/##'); }\r\n if( (v).length == 7 ){ return this.create_mask(v,'##/##/###'); }\r\n return this.create_mask(v,'##/##/####');\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\n name: 'toText',\n standalone: false\n})\r\nexport class ToTextPipe implements PipeTransform {\r\n\r\n formatBytes(value: any): string {\r\n let v = '';\r\n let t = '';\r\n for( let i = 0; i < (value).length; i++ ){\r\n t += v + `${value[i]}`;\r\n\r\n v = ', ';\r\n if( (i+1) === ((value).length) - 1 ){\r\n v = ' e ';\r\n }\r\n }\r\n return t\r\n }\r\n \r\n transform(value: any): any{ \r\n if( value && (value).length > 0 ){\r\n return this.formatBytes(value);\r\n }\r\n return value; \r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { StatusInfoPipe } from '../_pipes';\r\n\r\n@Injectable({\r\n providedIn: 'root', \r\n})\r\nexport class TCloudUiSearchInObjectService {\r\n\r\n constructor(\r\n private datepipe: DatePipe,\r\n private statusinfo: StatusInfoPipe\r\n ) { }\r\n\r\n private isADate(d: any){\r\n if( d && d instanceof Date && !isNaN( d.valueOf()) ){\r\n if (Object.prototype.toString.call(d) === \"[object Date]\") {;\r\n if (isNaN(d.getTime())) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private normalize(text: any): string{\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n\r\n /**\r\n * meet - Procura em object - filtro utilizado para busca em tabelas\r\n * @param valor texto a ser procurado\r\n * @param emObject object alvo de onde procurar\r\n * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar \r\n */\r\n meet(valor: string, emObject: any, camposDebusca?: any): any{\r\n if (valor != \"\"){\r\n\r\n if( emObject.length < 1 ){\r\n return emObject;\r\n }\r\n if( camposDebusca === undefined || camposDebusca === null ){\r\n camposDebusca = [];\r\n for (const key in emObject[0]) {\r\n camposDebusca.push( key );\r\n }\r\n }\r\n\r\n if( camposDebusca.length < 1 ){\r\n return emObject;\r\n }\r\n \r\n let isObject = false;\r\n\r\n valor = this.normalize(valor);\r\n var result=[]; \r\n for (const key in emObject) {\r\n var oObject = emObject[key];\r\n if (oObject && (typeof oObject === 'object') ){\r\n isObject = true;\r\n for( const objectvalue of camposDebusca ){\r\n const dt = new Date(oObject[objectvalue])\r\n if( this.isADate(dt) && typeof ((dt).getMonth) === 'function' ){\r\n const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');\r\n const data2 = this.datepipe.transform(dt, 'medium');\r\n const strToTest = this.normalize(data1+\" \"+data2+\" \"+oObject[objectvalue]);\r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n } else {\r\n const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL')+\"\"); \r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n }\r\n } \r\n }\r\n }\r\n\r\n if( emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject ){\r\n // is array \r\n const v = this.normalize(`${valor}`);\r\n for( let i = 0; i < (emObject).length; i++ ){\r\n const item = this.normalize(`${emObject[i]}`);\r\n if( item.includes(v) || item === v ){\r\n result.push(emObject[i]);\r\n }\r\n }\r\n }\r\n\r\n\r\n return result;\r\n }\r\n return emObject;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { TCloudUiSearchInObjectService } from '../../_services/search-in-object.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-input-search',\n templateUrl: './tcloud-ui-input-search.component.html',\n styleUrls: ['./tcloud-ui-input-search.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiInputSearchComponent implements OnInit {\r\n\r\n /**\r\n * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado\r\n * @param placeholder string - placeholder no input\r\n * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados\r\n * @param base_object object - Objeto onde ser procurado \r\n * @param found - Emite o valor encontrado\r\n */\r\n\r\n @Input() placeholder: string = 'Procurar...';\r\n\r\n @Input() mirror: boolean = true;\r\n\r\n search_text: string = '';\r\n\r\n private _base_object: any;\r\n @Input() set base_object(base_object: any){\r\n if( base_object ){\r\n this._base_object = base_object;\r\n\r\n if( this.mirror ){\r\n this.result_object = base_object;\r\n this.toFound();\r\n }\r\n } \r\n }\r\n get base_object(){ return this._base_object; }\r\n\r\n result_object: any | undefined;\r\n\r\n @Output() found = new EventEmitter<any>();\r\n\r\n constructor(\r\n private searchInObjectService: TCloudUiSearchInObjectService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n buscar(value: string){\r\n const result = this.searchInObjectService.meet(`${value}`, this.base_object);\r\n this.result_object = JSON.parse(JSON.stringify(result));\r\n this.toFound();\r\n }\r\n\r\n clean(){\r\n if( this.mirror ){\r\n this.buscar('');\r\n }else{\r\n this.result_object = []; \r\n this.toFound();\r\n }\r\n this.search_text = '';\r\n }\r\n\r\n toFound(){\r\n this.found.emit( this.result_object );\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-input-search tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\r\n <td> \r\n <ng-container *ngIf=\"search_text === ''\"> \r\n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\r\n </ng-container> \r\n\r\n <ng-container *ngIf=\"search_text !== ''\"> \r\n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n</table>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiInputSearchComponent\r\n ],\r\n exports: [\r\n TCloudUiInputSearchComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiInputSearchModule { }\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-not-found',\n templateUrl: './tcloud-ui-not-found.component.html',\n styleUrls: ['./tcloud-ui-not-found.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiNotFoundComponent \r\n{\r\n\r\n @Input() message: string = 'Nenhum registro encontrado.';\r\n\r\n public styleIcon: any = {};\r\n\r\n ngOnInit(): void\r\n {\r\n }\r\n}\r\n\r\n","<div class=\"tcloud-ui-not-found tc-container-empty\">\r\n <div class=\"tc-message-empty-icon\">\r\n <i class=\"fas fa-exclamation-triangle\"></i>\r\n </div>\r\n <div *ngIf=\"message !== ''\" class=\"tc-message-empty\" [innerHTML]=\"message\" ></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { TCloudUiNotFoundComponent } from './tcloud-ui-not-found.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiNotFoundModule {}","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-table',\n templateUrl: './tcloud-ui-table.component.html',\n styleUrls: ['./tcloud-ui-table.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiTableComponent implements OnInit {\r\n\r\n @Input() responsive: boolean = true;\r\n @Input() striped: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<table class=\"tc-table\" [class.tc-table-striped]=\"striped\" [class.tc-table-responsive]=\"responsive\" cellspacing=\"0\">\r\n <ng-content select=\"[tc-thead]\"></ng-content>\r\n <ng-content select=\"[tc-tbody]\"></ng-content>\r\n</table>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTableComponent,\r\n ],\r\n exports: [\r\n TCloudUiTableComponent,\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiTableModule { }\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-number-step',\n templateUrl: './tcloud-ui-number-step.component.html',\n styleUrls: ['./tcloud-ui-number-step.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiNumberStepComponent\r\n{\r\n @Input({ required: true }) step: number;\r\n @Input() active: number;\r\n @Input() complete: boolean;\r\n @Input() useIconCheck: boolean; // Usado por enquanto para não querar o TCloud\r\n @Input() inactives: number[] = [];\r\n @Output() clickStep = new EventEmitter<number>();\r\n\r\n public isInactive(_stepNumber: number): boolean\r\n {\r\n const isInactive = this.inactives.find(x => x == _stepNumber);\r\n return isInactive ? true : false;\r\n }\r\n}\r\n","<ng-container *ngFor=\"let item of [].constructor(step); let i = index\">\r\n\r\n <!-- Item circle -->\r\n @let numberStep = i + 1;\r\n @let inactive = isInactive(numberStep);\r\n @let last = (numberStep === step);\r\n <div\r\n class=\"container-circle\"\r\n [class.active]=\"(numberStep <= active) && !inactive\"\r\n [class.completed]=\"complete\"\r\n [class.disable]=\"inactive\"\r\n (click)=\"clickStep.emit(numberStep)\">\r\n\r\n <!-- Number -->\r\n <span *ngIf=\"(!complete) && (!inactive) && (numberStep >= active)\">{{ numberStep }}</span>\r\n\r\n <!-- Icon check -->\r\n <i *ngIf=\"(complete) || (!inactive) && (numberStep < active)\" class=\"fas fa-check\"></i>\r\n\r\n <!-- Icon disabled -->\r\n <i *ngIf=\"(!complete) && (inactive)\" class=\"far fa-circle\"></i>\r\n </div>\r\n\r\n <!-- Line progress -->\r\n <div *ngIf=\"!last\" class=\"container-line-progress\">\r\n <div\r\n class=\"line-progress\"\r\n [class.completed]=\"(complete) || (numberStep < active)\">\r\n </div>\r\n </div>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNumberStepComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n TCloudUiNumberStepComponent,\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ],\r\n})\r\nexport class TCloudUiNumberStepModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-scroll-box',\n templateUrl: './tcloud-ui-scroll-box.component.html',\n styleUrls: ['./tcloud-ui-scroll-box.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiScrollBoxComponent implements OnInit {\r\n\r\n @Input() border: boolean = true;\r\n @Input() maxHeight: number | string = '400';\r\n\r\n unidade: string = 'px';\r\n style_height: any | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n let und = '';\r\n if( `${this.maxHeight}` ){\r\n und = this.retirarNumeros(`${this.maxHeight}`);\r\n }\r\n // console.log(\"und\",und);\r\n\r\n if( ((und) && (und).trim() === '') || !und ){\r\n this.unidade = 'px';\r\n }else{\r\n this.unidade = (und).toLowerCase(); \r\n }\r\n\r\n this.maxHeight = (`${this.maxHeight}`).replace(this.unidade, '');\r\n if( this.unidade === 'vh' ){ \r\n this.style_height = {'height': this.maxHeight+this.unidade};\r\n }else{\r\n this.style_height = {'max-height': this.maxHeight+this.unidade};\r\n }\r\n }\r\n\r\n retirarNumeros(str: string) {\r\n // Utiliza regex para substituir todos os dígitos por uma string vazia\r\n const resultado = str.replace(/\\d/g, '');\r\n return resultado;\r\n}\r\n\r\n}\r\n","<div class=\"tcloud-ui-scroll-box tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\r\n <div class=\"box-content\" [ngStyle]=\"style_height\" >\r\n <ng-content></ng-content>\r\n </div> \r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiScrollBoxComponent\r\n ],\r\n exports: [\r\n TCloudUiScrollBoxComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiScrollBoxModule { }\r\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\r\n notIn?: boolean;\r\n type?: TCFiltersType;\r\n name?: string;\r\n id?: string;\r\n\r\n searchText?: any;\r\n accept?: boolean;\r\n placeholder?: string;\r\n width?: string;\r\n data?: TCDataOtions[];\r\n condition?: TCCondition;\r\n value?: any;\r\n\r\n // For datepicker\r\n defaultValuePeriodStartStop?: any;\r\n UTC?: boolean;\r\n useOptionsDateTime?: boolean;\r\n}\r\n\r\nexport interface TCDataOtions {\r\n description: string;\r\n value: any;\r\n notValues?: string[];\r\n}\r\n\r\nexport enum TCFiltersType{\r\n text = \"text\",\r\n number = \"number\",\r\n select = \"select\",\r\n boolean = \"boolean\",\r\n datetime = \"datetime-local\",\r\n hidden = \"hidden\",\r\n date = \"date-local\",\r\n}\r\n\r\nexport enum TCCondition{\r\n equal = \"equal\",\r\n gte = \"gte\",\r\n lte = \"lte\",\r\n lt = \"lt\",\r\n gt = \"gt\",\r\n notEqual = \"notEqual\"\r\n}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DateBRPipe } from '../../_pipes';\r\n\r\n// https://mymth.github.io/vanillajs-datepicker/#/\r\ndeclare var Datepicker: any;\r\n\r\nvar translation = {\r\n ptBR: {\r\n days: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"],\r\n daysShort: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\r\n daysMin: [\"Do\", \"Se\", \"Te\", \"Qu\", \"Qu\", \"Se\", \"Sa\"],\r\n months: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"],\r\n monthsShort: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\r\n today: \"Hoje\",\r\n clear: \"Limpar\",\r\n titleFormat: \"MM y\",\r\n format: \"dd/mm/yyyy\",\r\n weekStart: 0\r\n }\r\n};\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-datepicker',\n templateUrl: './tcloud-ui-datepicker.component.html',\n styleUrls: [\n './tcloud-ui-datepicker.component.scss',\n './datepicker/css/datepicker.min.css',\n './datepicker/css/style.css',\n ],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\r\nexport class TCloudUiDatepickerComponent implements OnInit {\r\n\r\n // multiple permite selecionar multiplas datas\r\n @Input() multiple: boolean = false;\r\n\r\n // maxNumberOfDates - Maximum number of dates users can select. No limit is applied if 0 is set.\r\n // Depende de: multiple como true\r\n @Input() maxNumberOfDates: number = 0;\r\n\r\n // daysOfWeekDisabled - Dias da semana desabilidatos = 0 para sabado até 6 para domingo\r\n @Input() daysOfWeekDisabled: number[] = [];\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n // datesDisabled - Datas desabilitadas - Ex: ['12/10/2020','25/12/2020']\r\n @Input() datesDisabled: string[] = [];\r\n\r\n // modeInput - Exibe um input para quando clicar abrir o calendario\r\n @Input() modeInput: boolean = false;\r\n\r\n @Input() useBorder: boolean = true;\r\n\r\n @Input() childInputDateTime: boolean = false;\r\n\r\n @Input() startViewInMinDate: boolean = false;\r\n\r\n @Input() startViewInMaxDate: boolean = false;\r\n\r\n @Input() disabled: boolean = false;\r\n\r\n // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n default_innerValue: any | undefined;\r\n default_innerValue_convertida: any | undefined;\r\n default_qtd_innerValue: number = 0;\r\n date_changed: any | undefined;\r\n\r\n @Input() set ngModel(v: any){\r\n\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; //this.toSetMask(v); \r\n this.default_innerValue = v;\r\n this.default_innerValue_convertida = this.convertDates(v);\r\n if( this.multiple ){\r\n this.default_qtd_innerValue = (v).length;\r\n } \r\n this.onChange.emit(v);\r\n } \r\n }\r\n\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\r\n\r\n @Output() onCheckDate = new EventEmitter<any>();\r\n\r\n @ViewChild('input_datepicker', {static: false}) input_datepicker: ElementRef<HTMLElement> | undefined;\r\n private datepicker: any | undefined;\r\n @Input() code: string = 'tcloud-ui-datepicker';\r\n\r\n constructor(\r\n private _DateBRPipe: DateBRPipe\r\n ) { }\r\n\r\n ID: string = '';\r\n\r\n ngOnInit(): void {\r\n this.ID = this.generateID();\r\n Datepicker.locales.ptBR = translation.ptBR; \r\n this.start_datepicker();\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n toSetMask(v: string){\r\n return this._DateBRPipe.transform(v);\r\n }\r\n\r\n parseDateLocal(dateString: any, _split?: string){\r\n if( !_split ){ _split = '-'; }\r\n const [day , month, year] = dateString.split(_split);\r\n return new Date(year, month - 1, day); // Subtrai 1 porque os meses são indexados a partir de 0\r\n }\r\n\r\n formatDateLocal(date: any){\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${day}/${month}/${ year}`;\r\n }\r\n\r\n get_options(){\r\n // Função para formatar uma data no fuso horário local\r\n const formatDateLocal = (date: any) => {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n // Função para analisar uma data no fuso horário local\r\n const parseDateLocal = (dateString: any) => {\r\n const [year, month, day] = dateString.split('-');\r\n return new Date(year, month - 1, day);\r\n }\r\n\r\n let options = {\r\n nextArrow: `<i class=\"fas fa-caret-right\"></i>`,\r\n prevArrow: `<i class=\"fas fa-caret-left\"></i>`,\r\n format: 'dd/mm/yyyy', \r\n daysOfWeekHighlighted: [0,6],\r\n language: 'ptBR',\r\n formatter: {\r\n date: formatDateLocal,\r\n },\r\n parser: {\r\n date: parseDateLocal,\r\n } \r\n } as any;\r\n\r\n if( (this.daysOfWeekDisabled).length > 0 ){\r\n options['daysOfWeekDisabled'] = this.daysOfWeekDisabled;\r\n }\r\n\r\n if( (this.datesDisabled).length > 0 ){\r\n options['datesDisabled'] = this.datesDisabled;\r\n }\r\n\r\n if( this.minDate !== '' ){\r\n options['minDate'] = this.minDate;\r\n }\r\n\r\n if( this.maxDate !== '' ){\r\n options['maxDate'] = this.maxDate;\r\n }\r\n\r\n if( this.multiple ){ \r\n options['multiple'] = true; \r\n options['autohide'] = false; \r\n options['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n \r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){ this.datepicker.setDate({clear: true}); }\r\n }\r\n\r\n start_datepicker(){\r\n setTimeout(() => { \r\n const input_datepicker = <any> this.input_datepicker?.nativeElement;\r\n if( input_datepicker ){\r\n input_datepicker.setAttribute('placeholder','DD/MM/YYYY');\r\n\r\n if( !this.useBorder ){\r\n input_datepicker.setAttribute('style','border:none; text-align: center; max-width: 105px; padding: 0;');\r\n }\r\n \r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() ); \r\n if( this.innerValue && this.innerValue !== '' ){\r\n this.toSetDefaultDate(this.innerValue);\r\n }\r\n\r\n input_datepicker.addEventListener('keyup', (event: any) => {\r\n const v = (input_datepicker['value']) ? input_datepicker['value'] : '';\r\n input_datepicker['value'] = this.toSetMask(v);\r\n if( (input_datepicker['value']).length >= 10 ){\r\n const v = (input_datepicker['value']).substring(0, 10);\r\n const part_date = (v).split('/');\r\n if( (part_date).length === 3 ){\r\n\r\n let dia = part_date[0];\r\n let mes = part_date[1];\r\n let ano = part_date[2];\r\n\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n\r\n const dt = new Date(ano+'-'+mes+'-'+dia);\r\n if( dt ){\r\n input_datepicker?.changeDate;\r\n document.getElementById(this.ID)?.blur();\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n }\r\n }else{\r\n this.innerValue = undefined;\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n\r\n \r\n input_datepicker.addEventListener('changeDate', (event: any) => {\r\n\r\n if( event?.detail?.date ){\r\n\r\n let qtd = (event.detail.date).length; \r\n\r\n if( this.disabled ){\r\n\r\n if( !this.multiple ){\r\n let dt = this.formatDateLocal(event.detail?.date);\r\n if( this.default_innerValue && this.default_innerValue[0] && ( `${this.default_innerValue[0]}` !== `${dt}` ) ){\r\n qtd = 1\r\n }\r\n }\r\n \r\n this.datepicker.setDate( this.default_innerValue_convertida, {clear: true, render: true});\r\n \r\n if( qtd > this.default_qtd_innerValue ){\r\n this.date_changed = event?.detail.viewDate;\r\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\r\n\r\n this.onCheckDate.emit({\r\n value: this.formatDateLocal(this.date_changed), \r\n date: this.date_changed, \r\n checked: true,\r\n disabled: this.disabled\r\n });\r\n }else{\r\n\r\n if( this.multiple ){\r\n const so = this.findDifferences( this.default_innerValue, this.formatArrayDates(event.detail.date) );\r\n if( so && (so).length > 0 ){\r\n\r\n this.date_changed = this.parseDateLocal(so[0], '/');\r\n this.onCheckDate.emit({\r\n value :so[0], \r\n date: this.date_changed,\r\n checked: false,\r\n disabled: this.disabled\r\n });\r\n }\r\n }\r\n\r\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\r\n }\r\n }else{\r\n\r\n\r\n this.toSelectedDate( event.detail );\r\n }\r\n }else{\r\n this.innerValue = '';\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n } \r\n });\r\n }\r\n\r\n\r\n toSetDefaultDate(date: string | string[]){\r\n \r\n if( date === undefined || date === null || date === '' ){\r\n this.clearDate();\r\n return;\r\n }\r\n\r\n let dates = [] as string[];\r\n\r\n if( date && typeof date === 'string' ){\r\n if( (date).includes(',') ){\r\n const dates = (date).split(',');\r\n date = dates;\r\n if( !this.multiple ){\r\n this.innerValue = date = dates[0];\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n }\r\n }\r\n \r\n if( date && typeof date === 'string' ){\r\n (dates).push( date ); \r\n }else{\r\n dates = <Array<string>> date;\r\n }\r\n if( this.datepicker ){\r\n\r\n if( dates && dates.length > 0 && this.multiple ){\r\n if( this.startViewInMinDate ){ \r\n dates = this.sortDatesDescending(dates); \r\n }else if(this.startViewInMaxDate){\r\n dates = this.sortDatesAscending(dates); \r\n }\r\n }\r\n this.datepicker.setDate(dates); \r\n } \r\n }\r\n\r\n convertDates(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n if( arrayDeDatas && Array.isArray(arrayDeDatas) ){\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) }));\r\n return datasOrdenadas.map(item => item.convertida); \r\n }else{\r\n return [arrayDeDatas];\r\n }\r\n }\r\n\r\n sortDatesDescending(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => b.convertida - a.convertida);\r\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original); \r\n return datasOrdenadasFormatadas;\r\n }\r\n \r\n sortDatesAscending(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => a.convertida - b.convertida);\r\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original);\r\n return datasOrdenadasFormatadas;\r\n }\r\n\r\n toSelectedDate(detail: any){ \r\n if( detail.datepicker.dates && (detail.datepicker.dates).length > 0 ){\r\n if( this.multiple ){\r\n let dates = [];\r\n for( let i = 0; i < (detail.datepicker.dates).length; i++ ){\r\n const timeStamp = <number> detail.datepicker.dates[i];\r\n (dates).push( this.format_date( timeStamp ) );\r\n }\r\n this.innerValue = dates;\r\n this.onChange.emit(this.innerValue); \r\n }else{\r\n const timeStamp = <number> detail.datepicker.dates[0];\r\n const date = this.format_date( timeStamp );\r\n this.onChange.emit(date);\r\n this.innerValue = date;\r\n } \r\n }else{\r\n this.clearDate();\r\n this.innerValue = null;\r\n this.onChange.emit(this.innerValue);\r\n } \r\n this.value = this.innerValue;\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n\r\n format_date(timeStamp: number){\r\n var date = new Date(timeStamp);\r\n\r\n let dia = `${date.getDate()}`;\r\n let mes = `${date.getMonth()+1}`;\r\n let ano = `${date.getFullYear()}`;\r\n\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n const dateFormat = `${dia}/${mes}/${ano}`;\r\n return dateFormat;\r\n }\r\n\r\n toClickIn(id: string){\r\n const element = document.getElementById(id) as any;\r\n setTimeout(() => { \r\n element?.datepicker?.show();\r\n });\r\n }\r\n\r\n\r\n\r\n findDifferences(array1: any, array2: any) {\r\n const conjuntoComum = new Set([...array1, ...array2]);\r\n return Array.from(conjuntoComum).filter(item => !(array1.includes(item) && array2.includes(item)));\r\n }\r\n\r\n\r\n\r\n formatArrayDates(array_dates: any){\r\n let formateds = [];\r\n if( array_dates && (array_dates).length > 0 ){\r\n const formatDateLocal = (date: any) => {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${day}/${month}/${year}`;\r\n }\r\n for( let i = 0; i < (array_dates).length; i++ ){\r\n const dt = array_dates[i];\r\n (formateds).push( formatDateLocal(dt) )\r\n }\r\n }\r\n return formateds;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; // this.toSetMask(v); \r\n this.onChangeCallback(v);\r\n }else{\r\n // this.innerValue = '';\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefaultDate(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<!-- Input mode -->\r\n<ng-container *ngIf=\"modeInput\">\r\n\r\n <div class=\"tcloud-ui-datepicker input-tc-datepicker\" [class.no-border]=\"!useBorder\" [class.child-input-date-time]=\"childInputDateTime\" >\r\n <table class=\"table-box-input\">\r\n <tr>\r\n <td class=\"td-icon\">\r\n <div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div>\r\n </td>\r\n <td class=\"td-date\">\r\n <input #input_datepicker type=\"text\" name=\"{{ID}}\" id=\"{{ID}}\" class=\"form-control\" [title]=\"innerValue\" >\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- Inline mode -->\r\n<ng-container *ngIf=\"!modeInput\"> \r\n <div class=\"tcloud-ui-datepicker tcloud-ui-datepicker-second\" #input_datepicker id=\"{{ID}}\" pattern=\"/^\\d{2}\\/\\d{2}\\/\\d{4}$/\" [title]=\"innerValue\"></div>\r\n</ng-container>\r\n\r\n<!-- EX de uso \r\n <tc-datepicker \r\n [multiple]=\"false\"\r\n [daysOfWeekDisabled]=\"[0,6]\"\r\n [minDate]=\"'18/11/2021'\"\r\n [maxDate]=\"'18/12/2023'\"\r\n [datesDisabled]=\"['12/10/2022','25/12/2022']\"\r\n [modeInput]=\"false\"\r\n (onChange)=\"($event)\"\r\n (onCheckDate)=\"onCheckDate($event)\"\r\n [(ngModel)]=\"dateValue\" >\r\n </tc-datepicker>\r\n \r\n // multiple = false\r\n // dateValue - string - pode ser: 12/12/2022 \r\n\r\n // multiple = true\r\n // dateValue - string - pode ser: 11/12/2022,12/12/2022 ... \r\n\r\n <pre>data: {{ dateValue }}</pre>\r\n-->\r\n","import { Component, forwardRef, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ISelectOptions } from '../tcloud-ui-data-list/tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerTimeComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-datepicker-time',\n templateUrl: './tcloud-ui-datepicker-time.component.html',\n styleUrls: ['./tcloud-ui-datepicker-time.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\r\nexport class TCloudUiDatepickerTimeComponent implements OnInit {\r\n\r\n show_date_picker: boolean = true;\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; \r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<Date>();\r\n\r\n @Output() onChange = new EventEmitter<Date>();\r\n @Output() eventChange = new EventEmitter<any>();\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n @Input() useOptionsDateTime = false;\r\n\r\n DD_MM_YYYY: string = '';\r\n HH: string = '00';\r\n MM: string = '00';\r\n\r\n ID: string = '';\r\n\r\n option_HH: string[] | undefined;\r\n option_MM: string[] | undefined;\r\n\r\n @ViewChild('_datepickertime', {static: false}) datepickertime: ElementRef<HTMLElement> | undefined;\r\n\r\n options_date_time : ISelectOptions[] = [];\r\n open_options_date_time: boolean = false;\r\n\r\n last_options_date_time: any;\r\n description_options_date_time: any = '';\r\n value_options_date_time: any = '';\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.setOptionsDateTime();\r\n\r\n this.ID = this.generateID();\r\n this.option_HH = this.getListTIME(23);\r\n this.option_MM = this.getListTIME(59);\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'7-days', description: '7 dias'},\r\n {value:'15-days', description: '15 dias'},\r\n {value:'30-days', description: '30 dias'},\r\n {value:'current-month', description: 'Mês atual até agora'},\r\n {value:'current-year', description: 'Ano atual até agora'}\r\n ]\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-time-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getListTIME(v: number){\r\n let mm = [];\r\n for(let i = 0; i <= v; i++ ){\r\n if( i < 10 ){\r\n (mm).push(`0${i}`);\r\n }else{\r\n (mm).push(`${i}`);\r\n }\r\n }\r\n return mm;\r\n }\r\n\r\n toSetDate(date: string){ \r\n this.set_date_by_datepicker(date);\r\n }\r\n\r\n toSetTime(){\r\n if( this.DD_MM_YYYY && ((this.DD_MM_YYYY).trim()).length === 10){\r\n const date = (this.DD_MM_YYYY).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dd = date_part[0];\r\n let mm = date_part[1];\r\n let yy = date_part[2];\r\n const datetime = new Date(`${yy}-${mm}-${dd}`);\r\n if( this.checkIsDate(datetime) ){\r\n this.set_date_by_datepicker(date);\r\n }\r\n }\r\n }\r\n\r\n set_date_by_datepicker(date: string){\r\n\r\n if( date ){\r\n date = (date).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dia = date_part[0];\r\n let mes = date_part[1];\r\n let ano = date_part[2];\r\n\r\n let hh = this.HH;\r\n if( !hh ){\r\n hh = '00';\r\n }else{\r\n if( ( +(hh) >= 0 && +(hh) < 24 ) ){\r\n hh = (+(hh) < 10 ) ? `0${+(hh)}` : `${+(hh)}`;\r\n }else{\r\n hh = '00';\r\n }\r\n }\r\n\r\n let mm = this.MM;\r\n if( !mm ){\r\n mm = '00';\r\n }else{\r\n if( ( +(mm) >= 0 && +(mm) < 60 ) ){\r\n mm = (+(mm) < 10 ) ? `0${+(mm)}` : `${+(mm)}`;\r\n }else{\r\n mm = '00';\r\n }\r\n }\r\n\r\n if( hh === '00' ){ this.HH = hh; }\r\n if( mm === '00' ){ this.MM = mm; }\r\n\r\n const notation = '00';\r\n\r\n const str_date = `${ano}-${mes}-${dia}T${hh}:${mm}:${notation}`;\r\n const datetime = new Date( str_date );\r\n \r\n if( this.checkIsDate(datetime) ){\r\n this.innerValue = datetime;\r\n }else{\r\n this.innerValue = undefined;\r\n }\r\n\r\n // console.log('this.datepickertime?.nativeElement', this.datepickertime?.nativeElement);\r\n\r\n // if(this.datepickertime && this.datepickertime.nativeElement){\r\n // const elem = <any> this.datepickertime.nativeElement;\r\n // elem.value = this.innerValue;\r\n // }\r\n\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n\r\n }else{\r\n\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n\r\n this.innerValue = undefined;\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n }\r\n\r\n if( `${this.last_options_date_time}` !== `${this.innerValue}` ){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n }\r\n\r\n }\r\n\r\n // Distribuir os valores da data por pedaços: data - hora - min\r\n to_date_hh_mm(d: Date){\r\n let dia = `${(d).getDate()}`;\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n let mes = `${(d).getMonth()+1}`;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n let ano = `${(d).getFullYear()}`;\r\n let hh = `${(d).getHours()}`;\r\n let mm = `${(d).getMinutes()}`;\r\n\r\n if( hh && ( +(hh) < 0 || +(hh) > 23 ) ){ hh = '00'; }\r\n hh = (hh) ? ( (+(hh) < 10 ) ? `0${hh}` : hh ) : '00';\r\n\r\n if( mm && ( +(mm) < 0 || +(mm) > 59 ) ){ mm = '00'; }\r\n mm = (mm) ? ( (+(mm) < 10 ) ? `0${mm}` : mm ) : '00';\r\n\r\n this.MM = mm;\r\n this.HH = hh;\r\n\r\n this.DD_MM_YYYY = `${dia}/${mes}/${ano}`;\r\n }\r\n\r\n checkIsDate(d: any): boolean{\r\n\r\n if(Object.prototype.toString.call(d) === \"[object Date]\") {\r\n if(isNaN(d)) { return false; } else { return true; }\r\n } \r\n return false;\r\n }\r\n\r\n\r\n clean(){\r\n this.DD_MM_YYYY = '';\r\n this.HH = '00';\r\n this.MM = '00';\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n }\r\n\r\n toClickIn(id: string){\r\n document.getElementById(id)?.focus();\r\n }\r\n\r\n onClosedOptionsDateTime(){\r\n this.open_options_date_time = false\r\n }\r\n\r\n \r\n onChangeOptionsDateTime(event: any){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n this.show_date_picker = false;\r\n\r\n let now = new Date();\r\n let filter_date: any = undefined;\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.innerValue = filter_date;\r\n if( this.checkIsDate(filter_date) ){ \r\n setTimeout(() => {\r\n this.to_date_hh_mm(filter_date);\r\n this.toSetDate(this.DD_MM_YYYY); \r\n this.show_date_picker = true;\r\n this.value_options_date_time = event;\r\n this.last_options_date_time = filter_date as any;\r\n this.description_options_date_time = this.get_description_options_date_time(event);\r\n }); \r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n get_description_options_date_time(value: string){\r\n if( this.options_date_time && (this.options_date_time).length > 0 ){\r\n for( let i = 0; i < (this.options_date_time).length; i++ ){\r\n const item = this.options_date_time[i];\r\n if( item.value === value ){\r\n return item.description;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n\r\n closedTimeDescription(){\r\n this.value_options_date_time = '';\r\n this.description_options_date_time = ''; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n\r\n try {\r\n value = new Date( `${value}` );\r\n } catch (error) {}\r\n\r\n this.innerValue = value;\r\n if( this.checkIsDate(value) ){\r\n this.to_date_hh_mm(value);\r\n }else{\r\n this.clean()\r\n }\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-datepicker-time\">\r\n <input type=\"hidden\" value=\"{{ innerValue }}\" #_datepickertime >\r\n <form #_formulario=\"ngForm\">\r\n <div class=\"input-control-time\">\r\n <div class=\"form-control-time\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n\r\n <div class=\"input-options-date\">\r\n <table class=\"form-time\">\r\n <tr>\r\n <!-- <td class=\"area-icon\"><div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div></td> -->\r\n <td class=\"area-input-date\">\r\n <ng-container *ngIf=\"show_date_picker\">\r\n <tcloud-ui-datepicker [minDate]=\"minDate\" [maxDate]=\"maxDate\" #_tclouddatepickertime [childInputDateTime]=\"true\" [modeInput]=\"true\" name=\"date\" [useBorder]=\"false\" [(ngModel)]=\"DD_MM_YYYY\" (onChange)=\"toSetDate($event)\" ></tcloud-ui-datepicker>\r\n </ng-container>\r\n </td>\r\n \r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\"></div></td>\r\n <td class=\"area-input-hour\">\r\n <!--<input type=\"text\" placeholder=\"HH\" (keyup)=\"toSetTime()\" [(ngModel)]=\"HH\" maxlength=\"2\" name=\"hh\" pattern=\"[0][0-9]|[1][0-9]|2[0-3]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"HH\" name=\"hh\">\r\n <ng-container *ngFor=\"let hh of option_HH\">\r\n <option [ngValue]=\"hh\">{{ hh }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\">:</div></td>\r\n <td class=\"area-input-minute\">\r\n <!--<input type=\"text\" placeholder=\"MM\" (keyup)=\"toSetTime()\" [(ngModel)]=\"MM\" maxlength=\"2\" name=\"mm\" pattern=\"[012345][0-9]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"MM\" name=\"mm\">\r\n <ng-container *ngFor=\"let mm of option_MM\">\r\n <option [value]=\"mm\">{{ mm }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-clean\"></td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"description-options-date\" *ngIf=\"value_options_date_time !== ''\">\r\n <strong>{{ description_options_date_time }}</strong>\r\n\r\n <!-- <div class=\"area-action-date-time-selected\">\r\n <button class=\"btn-icon\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </div> -->\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </td>\r\n <td *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0\" style=\"width: 20px\">\r\n <button type=\"button\" class=\"icon-short-time\" (click)=\"open_options_date_time = !open_options_date_time\" [title]=\"description_options_date_time\" >\r\n <i *ngIf=\"!open_options_date_time\" class=\"fas fa-caret-down\"></i>\r\n <i *ngIf=\"open_options_date_time\" class=\"fas fa-caret-up\"></i>\r\n </button>\r\n\r\n <ng-container *ngIf=\"value_options_date_time !== ''\">\r\n <button class=\"btn-icon-close\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </ng-container>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0 && open_options_date_time\">\r\n <td colspan=\"2\">\r\n <tcloud-ui-data-list \r\n name=\"value_options_date_time\"\r\n [showInput]=\"false\" \r\n [search]=\"false\" \r\n [open]=\"true\" \r\n [listItems]=\"options_date_time\" \r\n (onClosed)=\"onClosedOptionsDateTime()\"\r\n [ngModel]=\"value_options_date_time\"\r\n (ngModelChange)=\"onChangeOptionsDateTime($event)\"\r\n >\r\n </tcloud-ui-data-list>\r\n\r\n \r\n\r\n\r\n \r\n </td>\r\n </tr>\r\n </table>\r\n\r\n \r\n </div>\r\n </div>\r\n </form>\r\n</div>","import { Component, Input, OnInit, Output, EventEmitter, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\ninterface IResultDateTime{\r\n start: any;\r\n stop: any;\r\n}\r\n\r\n@Component({\n selector: 'range-date',\n templateUrl: './range-date.component.html',\n styleUrls: ['./range-date.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\r\nexport class TCloudUiRangeDateComponent implements OnInit {\r\n\r\n result = {} as IResultDateTime;\r\n\r\n options_date_time: any = [];\r\n use_validation_required: boolean = false;\r\n\r\n @Output() onChange = new EventEmitter<IResultDateTime>();\r\n\r\n @Input() defaultValuePeriodStartStop: string = '';\r\n @Input() required: string | undefined;\r\n\r\n @Input() descriptionStart: string = '';\r\n @Input() descriptionStop: string = '';\r\n\r\n mode: string = 'select';\r\n\r\n isValid = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.setOptionsDateTime();\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'1-last-time', description: 'Última 1 hora'},\r\n {value:'3-last-time', description: 'Últimas 3 horas'},\r\n {value:'6-last-time', description: 'Últimas 6 horas'},\r\n {value:'24-last-time', description: 'Últimas 24 horas'},\r\n\r\n {value:'7-days', description: 'Últimos 7 dias'},\r\n {value:'15-days', description: 'Últimos 15 dias'},\r\n {value:'30-days', description: 'Últimos 30 dias'},\r\n {value:'current-month', description: 'Mês atual'},\r\n {value:'current-year', description: 'Ano atual'}\r\n ]\r\n setTimeout(() => {\r\n if( this.defaultValuePeriodStartStop !== '' ){\r\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\r\n }\r\n });\r\n \r\n }\r\n\r\n onChangeOptionsDateTime(event?: any){\r\n this.isValid = false;\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n event = (event && event.value) ? `${event.value}` : `${event}`;\r\n\r\n let now = new Date();\r\n let current_date = new Date();\r\n let filter_date: any = undefined;\r\n\r\n\r\n if( event === '1-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 1 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '3-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 3 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '6-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 6 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '24-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 24 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.result = {\r\n start: this.getTransformDate(filter_date),\r\n stop: this.getTransformDate(now)\r\n } as IResultDateTime;\r\n\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n \r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n this.isValid = false;\r\n \r\n }\r\n\r\n }\r\n\r\n getTransformDate(dt: any){\r\n //return (dt).toLocaleString('pt-BR');\r\n return dt;\r\n /*\r\n const ano = dt.getFullYear();\r\n const mes = dt.getMonth();\r\n const dia = dt.getDate();\r\n const horas = dt.getHours();\r\n const minutos = dt.getMinutes();\r\n return new Date(Date.UTC(ano, mes, dia, horas, minutos));\r\n */\r\n }\r\n\r\n onChangeStartDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.start){\r\n this.result.start = event.value = this.getTransformDate(event.value);\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n }\r\n }\r\n\r\n onChangeStopDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.stop ){\r\n this.result.stop = event.value = this.getTransformDate(event.value);\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n }\r\n }\r\n\r\n toggle(){\r\n const mode = ( `${this.mode}` === 'select' ) ? 'datepickers' : 'select';\r\n this.defaultValuePeriodStartStop = '';\r\n this.isValid = false;\r\n this.result = {} as IResultDateTime;\r\n this.mode = mode;\r\n this.onChange.emit(this.result);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n //this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.result && this.result.start && this.result.stop ){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-filters-range-date area-range-date\">\r\n <tr>\r\n\r\n <td>\r\n <div *ngIf=\"mode === 'select'\">\r\n <div class=\"description-period\">Período</div>\r\n <select name=\"periodo\" class=\"tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\r\n <option value=\"\"></option> \r\n <ng-container *ngFor=\"let item of options_date_time\">\r\n <option [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div *ngIf=\"mode === 'datepickers'\">\r\n\r\n <table class=\"area-range-datepickers\">\r\n <tr>\r\n <td>\r\n <div class=\"description-start\">{{ descriptionStart }}</div>\r\n <tcloud-ui-datepicker-time \r\n #_input_start \r\n [(ngModel)]=\"result.start\" \r\n name=\"input_start\" \r\n (eventChange)=\"onChangeStartDateTime(_input_start)\">\r\n </tcloud-ui-datepicker-time>\r\n </td>\r\n <td>\r\n <div class=\"description-stop\">{{ descriptionStop }}</div>\r\n <tcloud-ui-datepicker-time \r\n #_input_stop\r\n [(ngModel)]=\"result.stop\" \r\n name=\"input_stop\" \r\n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\r\n </tcloud-ui-datepicker-time>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n </td>\r\n\r\n <td>\r\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\r\n\r\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calendário\"></i>\r\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar período\"></i>\r\n\r\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calendário</div> -->\r\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Período</div> -->\r\n </button>\r\n </td>\r\n\r\n </tr>\r\n</table>","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\r\n\r\n@Component({\n selector: 'tcloud-ui-filters',\n templateUrl: './tcloud-ui-filters.component.html',\n styleUrls: ['./tcloud-ui-filters.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\r\n\r\n datepickers = [] as any;\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined;\r\n\r\n inputs: string[] = [];\r\n\r\n show_filters: boolean = false;\r\n\r\n search_data: any | undefined;\r\n\r\n @Input() border: boolean = true;\r\n\r\n private _data: any | undefined;\r\n @Input() set data(data: any){\r\n // this._data = JSON.parse(JSON.stringify(data));\r\n }\r\n get data(): any{ return this._data; }\r\n\r\n private _filters: TCDataFilters | undefined;\r\n @Input() set filters(filters: any){\r\n //this._filters = filters;\r\n }\r\n get filters(): any{ return this._filters; }\r\n\r\n private _submitText: string = 'Filtrar';\r\n @Input() set submitText(v: string){ \r\n if( v && v !== this._submitText ){\r\n this._submitText = v;\r\n }\r\n }\r\n get submitText():string{ return this._submitText; }\r\n\r\n @Input() btnSubmitClass: string = 'tc-btn-primary';\r\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\r\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\r\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\r\n @Input() useRangeDate: boolean = true;\r\n @Input() useFilterAccept: boolean = false;\r\n\r\n @Output() result = new EventEmitter<any>();\r\n @Output() onFilter = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onSubmit = new EventEmitter<any>();\r\n\r\n descriptionStart: string = '';\r\n descriptionStop: string = '';\r\n\r\n private first_active_filter: boolean = false;\r\n\r\n start_stop: boolean = false;\r\n start_stop_width: number = 0;\r\n start_stop_und: string = ''; // px ou %\r\n\r\n constructor(\r\n private datepipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n if( this.filters && (this.filters).length > 0 ){\r\n for(let i = 0; i < (this.filters).length; i++){\r\n if( this.filters[i].value ){\r\n if( this.filters[i].type === 'datetime-local' ){\r\n try {\r\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\r\n } catch (error) {}\r\n }else{\r\n this.filters[i].searchText = this.filters[i].value;\r\n }\r\n this.first_active_filter = true;\r\n }\r\n } \r\n }\r\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\r\n this.toSubmit();\r\n });\r\n }\r\n\r\n is_start_stop_datetime(){\r\n let start = false;\r\n let stop = false;\r\n if( this.filters && (this.filters).length > 0 ){\r\n this.start_stop_width = 0;\r\n for(let i = 0; i < (this.filters).length; i++){\r\n if( this.filters[i].id === 'start' ){\r\n start = true;\r\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\r\n this.start_stop_und = this.getUnidade(this.filters[i].width);\r\n this.descriptionStart = this.filters[i].description;\r\n }\r\n if( this.filters[i].id === 'stop' ){\r\n stop = true;\r\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\r\n this.descriptionStop = this.filters[i].description;\r\n }\r\n }\r\n }\r\n return ( start && stop ) ? true : false;\r\n }\r\n\r\n getValueWidth(v: string):number {\r\n let und = this.getUnidade(v);\r\n v = (v).replace(und, '');\r\n return +(v);\r\n }\r\n\r\n getUnidade(v: string):string {\r\n let und = '%';\r\n if( v && (v).includes('px') ){\r\n und = 'px';\r\n }\r\n return und;\r\n }\r\n \r\n\r\n ngOnChanges(changes: SimpleChanges) { \r\n \r\n if( changes && changes['data'] ){\r\n const data = changes['data'].currentValue;\r\n if( this._data !== data ){\r\n this._data = JSON.parse(JSON.stringify(data));\r\n this.search_data = JSON.parse(JSON.stringify(data));\r\n this.init();\r\n }\r\n }\r\n\r\n if( changes && changes['filters'] ){\r\n const filters = changes['filters'].currentValue;\r\n if( this._filters !== filters ){\r\n this._filters = JSON.parse(JSON.stringify(filters));\r\n this.init();\r\n }\r\n }\r\n }\r\n\r\n private init(){\r\n if( this.data && this.filters ){\r\n this.show_filters = true;\r\n if( this.filters && (this.filters).length > 0 ){\r\n (this.filters).forEach((filter: TCDataFilters) => { \r\n this.searchIn(filter, 'sync');\r\n });\r\n } \r\n if( !this.useOnChangeSubmit ){\r\n this.result_accept(this.data);\r\n }\r\n\r\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\r\n this.start_filter();\r\n }\r\n }\r\n }\r\n\r\n private normalize(text: any): string{\r\n if( this.useNormalizeCaseSensitive ){\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n return text;\r\n }\r\n\r\n toSubmit(){\r\n if( this.filters && (this.filters).length > 0 ){\r\n this.init();\r\n }\r\n this.emitSubmitFilters();\r\n }\r\n\r\n private emitSubmitFilters(){\r\n let filters = JSON.parse(JSON.stringify(this.filters));\r\n if( filters && (filters).length > 0 ){\r\n (filters).forEach((filter: TCDataFilters, i: number) => {\r\n\r\n if( filter.width ){ delete(filters[i].width); }\r\n if( filter.placeholder ){ delete(filters[i].placeholder); }\r\n if( filter.description ){ delete(filters[i].description); }\r\n\r\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\r\n delete(filters[i]);\r\n }\r\n if( filter.type === \"boolean\" ){\r\n if( !filter.searchText ){\r\n filter.searchText = false;\r\n }\r\n }\r\n \r\n });\r\n } \r\n \r\n this.onSubmit.emit(this.filters);\r\n }\r\n\r\n\r\n private collectionFind(obj: any, path: any): any {\r\n const pathArray = path.split(\".\");\r\n let current = obj;\r\n for (let i = 0; i < pathArray.length; i++) {\r\n const key = pathArray[i];\r\n\r\n if (key.includes('[') && key.includes(']')) {\r\n const nextKeys = pathArray.slice(i + 1);\r\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\r\n const arrayKey = key.substring(0, key.indexOf('['));\r\n if( current && current[arrayKey] && current[arrayKey][index] ){\r\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\r\n }\r\n }\r\n\r\n\r\n if (key.includes(\"[]\")) {\r\n const arrayKey = key.replace(\"[]\", \"\");\r\n current = current[arrayKey] || [];\r\n const nextKeys = pathArray.slice(i + 1);\r\n const results = [];\r\n for (let j = 0; j < current.length; j++) {\r\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\r\n if (result !== undefined) {\r\n results.push(result); \r\n }\r\n }\r\n if (results.length === 0) {\r\n return undefined;\r\n }\r\n return results;\r\n } else {\r\n if( !current || (current && !current[key]) ){\r\n return undefined;\r\n }\r\n current = current[key];\r\n if (current === undefined) {\r\n return undefined;\r\n }\r\n }\r\n }\r\n return current;\r\n }\r\n \r\n first: boolean = true;\r\n start_filter_fc: any = undefined;\r\n\r\n start_value: any | undefined;\r\n stop_value: any | undefined;\r\n\r\n searchInRange( range_date: any){\r\n \r\n if( this.filters && (this.filters).length > 0 ){\r\n\r\n let event = {} as any; \r\n event.datepickertime = true;\r\n\r\n for( let i = 0; i < (this.filters).length; i++ ){\r\n\r\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\r\n this.filters[i].value = range_date?.result?.start!;\r\n this.filters[i].searchText = range_date?.result?.start!;\r\n event.innerValue = this.start_value = range_date?.result?.start!;\r\n this.searchIn(this.filters[i], event);\r\n }\r\n\r\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\r\n this.filters[i].value = range_date?.result?.stop!;\r\n this.filters[i].searchText = range_date?.result?.stop!;\r\n event.innerValue = this.stop_value = range_date?.result?.stop!;\r\n this.searchIn(this.filters[i], event);\r\n }\r\n }\r\n if( this.first || this.useOnChangeSubmit ){\r\n this.toSubmit();\r\n }\r\n \r\n }\r\n this.first = false;\r\n\r\n }\r\n\r\n convertDataToNumber(dataString: string): number {\r\n try {\r\n const [dia, mes, ano] = dataString.split('/');\r\n return +(`${ano}${mes}${dia}`);\r\n } catch (error) {}\r\n return 0;\r\n }\r\n\r\n searchIn(item: TCDataFilters, event?: any){\r\n\r\n \r\n\r\n this.start_filter_fc = undefined;\r\n\r\n let isValid = true;\r\n\r\n if( event === 'sync' && isValid ){\r\n isValid = false;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( typeof event === 'boolean' && isValid ){\r\n isValid = false;\r\n item.searchText = event;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( (event === undefined || event === null || event === '') && isValid ){\r\n isValid = false;\r\n item.searchText = '';\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( event?.datepickertime && isValid ){\r\n isValid = false;\r\n item.searchText = event?.innerValue; \r\n this.onChange.emit(true);\r\n }\r\n\r\n if(event?.target?.value && isValid ){\r\n isValid = false;\r\n item.searchText = this.normalize(event.target.value);\r\n this.onChange.emit(true);\r\n }\r\n\r\n if(event?.target?.value === '' && isValid ){\r\n isValid = false;\r\n item.searchText = '';\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( item.type === 'date-local' && item.value ){\r\n isValid = false;\r\n item.searchText = `${this.convertDataToNumber( item.value )}`;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( event && event.result && ( event.result.start || event.result.stop ) ){\r\n isValid = false;\r\n this.onChange.emit(true);\r\n }\r\n\r\n \r\n \r\n if( this.useOnChangeSubmit || this.first_active_filter ){ \r\n this.start_filter_fc = this.start_filter();\r\n this.first_active_filter = false;\r\n }\r\n\r\n if( !this.useButtonSubmit ){\r\n this.emitSubmitFilters();\r\n } \r\n }\r\n\r\n getDateUTC(dt: any){\r\n const ano = dt.getFullYear();\r\n const mes = dt.getMonth();\r\n const dia = dt.getDate();\r\n const horas = dt.getHours();\r\n const minutos = dt.getMinutes();\r\n const segundos = dt.getSeconds();\r\n return new Date(Date.UTC(ano, mes, dia, horas, minutos, segundos));\r\n }\r\n\r\n \r\n start_filter(){\r\n for( let i = 0; i < (this.data).length; i++ ){\r\n\r\n this.setDataIndex(i, true);\r\n\r\n for( let j = 0; j < (this.filters).length; j++ ){ \r\n const filter_item = this.filters[j]; \r\n\r\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\r\n \r\n filter_item.searchText = this.normalize(filter_item.searchText); \r\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\r\n if( item_value ){\r\n item_value = this.normalize(item_value); \r\n\r\n if( typeof filter_item.notIn === 'boolean' && filter_item.notIn ){\r\n if( ( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }else{\r\n\r\n if( filter_item.type === TCFiltersType.select ){\r\n // Exclusivo para select\r\n if( filter_item.data && (filter_item.data).length > 0 ){\r\n\r\n // uso do select com o notValues: string[]\r\n let current_option = [];\r\n for( let k = 0; k < (filter_item.data).length; k++ ){\r\n const k_item = filter_item.data[k];\r\n if( `${k_item?.value}` === `${filter_item.searchText}` ){\r\n current_option = k_item?.notValues!;\r\n break;\r\n }\r\n }\r\n if( current_option && (current_option).length > 0 ){\r\n for( let v = 0; v < (current_option).length; v++ ){\r\n const v_item = current_option[v]; \r\n if( ( item_value === v_item ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }else{\r\n\r\n // uso normal do select\r\n if( !( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n\r\n } \r\n\r\n \r\n }else{\r\n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n \r\n\r\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\r\n \r\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\r\n\r\n try { item_value = new Date(item_value); } catch (error) {}\r\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\r\n let is_accept = false;\r\n\r\n const dt_target = ( (filter_item.searchText).getTime() ).toString().substring(0, 10); /* + (3 * 60 * 60 * 1000); */\r\n const dt_current = ( (item_value).getTime() ).toString().substring(0, 10);\r\n if( filter_item.condition ){\r\n switch (filter_item.condition) {\r\n case TCCondition.gt: is_accept = ( Number(dt_target) > Number(dt_current) ); break;\r\n case TCCondition.lt: is_accept = ( Number(dt_target) < Number(dt_current) ); break;\r\n case TCCondition.gte: is_accept = ( Number(dt_target) <= Number(dt_current) ); break;\r\n case TCCondition.lte: is_accept = ( Number(dt_target) >= Number(dt_current) ); break;\r\n case TCCondition.equal: is_accept = ( Number(dt_target) === Number(dt_current) ); break;\r\n case TCCondition.notEqual: is_accept = ( Number(dt_target) != Number(dt_current) ); break;\r\n default: is_accept = ( Number(dt_target) == Number(dt_current) );\r\n }\r\n }else{\r\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\r\n }\r\n if( !is_accept ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n if( filter_item.searchText && typeof Number(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\r\n \r\n filter_item.searchText = Number(filter_item.searchText);\r\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\r\n\r\n if( typeof Number(item_value) === 'number' ){ \r\n item_value = Number(item_value); \r\n let is_accept = false;\r\n if( filter_item.condition ){\r\n\r\n switch (filter_item.condition) {\r\n case TCCondition.gt: is_accept = ( Number(filter_item.searchText) > Number(item_value) ); break;\r\n case TCCondition.lt: is_accept = ( Number(filter_item.searchText) < Number(item_value) ); break;\r\n case TCCondition.gte: is_accept = ( Number(filter_item.searchText) <= Number(item_value) ); break;\r\n case TCCondition.lte: is_accept = ( Number(filter_item.searchText) >= Number(item_value) ); break;\r\n case TCCondition.equal: is_accept = ( Number(filter_item.searchText) === Number(item_value) ); break; \r\n case TCCondition.notEqual: is_accept = ( Number(filter_item.searchText) != Number(item_value) ); break;\r\n default: is_accept = ( Number(filter_item.searchText) == Number(item_value) );\r\n }\r\n }else{\r\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\r\n }\r\n if( !is_accept ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n \r\n \r\n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText === true ){\r\n\r\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\r\n \r\n if( item_value && (item_value).length > 0 ){ \r\n let qtd_is_true = 0; \r\n for( let i = 0; i < ((item_value).length); i++ ){\r\n const item = item_value[i];\r\n if( item === filter_item.searchText ){\r\n qtd_is_true++;\r\n }\r\n }\r\n if( qtd_is_true === 0 ){\r\n this.setDataIndex(i, false);\r\n }\r\n }else{\r\n if( !( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n }\r\n \r\n }\r\n\r\n } // end for\r\n \r\n this.toResult();\r\n \r\n }\r\n\r\n private toResult(){\r\n\r\n\r\n const search_data = [];\r\n\r\n let is_filter = false;\r\n for( let i = 0; i < (this.filters).length; i++ ){\r\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\r\n is_filter = true; break;\r\n }\r\n }\r\n\r\n if( is_filter ){\r\n for( let i = 0; i < (this.data).length; i++ ){\r\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\r\n (search_data).push(this.data[i]);\r\n }\r\n }\r\n\r\n this.result_accept(search_data);\r\n this.onFilter.emit({...this.filters});\r\n return;\r\n }\r\n\r\n this.result_accept(this.data);\r\n this.onFilter.emit({...this.filters});\r\n }\r\n\r\n setDataIndex(index: number, value: boolean ){\r\n if( this.data && this.data[index] ){\r\n this.data[index]['tc_filter_accept'] = value;\r\n }\r\n }\r\n\r\n result_accept(data: any){\r\n if( !this.useFilterAccept && data && (data).length > 0 ){\r\n for( let i = 0; i < (data).length; i++ ){\r\n delete data[i]['tc_filter_accept'];\r\n }\r\n }\r\n this.result.emit(data);\r\n }\r\n\r\n}\r\n","<div *ngIf=\"show_filters\" class=\"tcloud-ui-filters area-filter\" [class.no-border]=\"!border\">\r\n <ng-container *ngFor=\"let item of filters; let i = index\">\r\n\r\n <ng-container *ngIf=\"!item.type || (item.type && item.type !== 'boolean')\">\r\n\r\n <ng-container *ngIf=\"item.type === 'date-local'\">\r\n\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <tcloud-ui-datepicker \r\n #_input\r\n name=\"input_{{i+1}}\"\r\n [modeInput]=\"true\"\r\n [(ngModel)]=\"item.value\"\r\n (ngModelChange)=\"searchIn(item, _input)\">\r\n </tcloud-ui-datepicker>\r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item.type !== 'date-local'\">\r\n <ng-container *ngIf=\"item.type === 'datetime-local'\">\r\n\r\n <ng-container *ngIf=\"(item.id === 'start' || item.id === 'stop') && useRangeDate\">\r\n <!-- PERIOD RANGE DATE -->\r\n <ng-container *ngIf=\"item.id === 'start'\">\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+start_stop_width+''+start_stop_und : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(_range_date && _range_date.result && _range_date.result.start && _range_date.result.stop )\" class=\"fas fa-filter icon-filter\"></i> </div>\r\n <range-date \r\n #_range_date ngModel name=\"input_{{i+1}}\" \r\n [defaultValuePeriodStartStop]=\"item.defaultValuePeriodStartStop\"\r\n [descriptionStart]=\"descriptionStart\"\r\n [descriptionStop]=\"descriptionStop\"\r\n required \r\n (onChange)=\"searchInRange(_range_date); searchIn(item, _range_date)\">\r\n </range-date>\r\n </div>\r\n </ng-container> \r\n <input *ngIf=\"item.id === 'start'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"start_value\"> \r\n <input *ngIf=\"item.id === 'stop'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"stop_value\"> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!item.id || !useRangeDate\">\r\n\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <tcloud-ui-datepicker-time \r\n #_input \r\n [(ngModel)]=\"item.value\" \r\n name=\"input_{{i+1}}\" \r\n [useOptionsDateTime]=\"(item && item.useOptionsDateTime) ? true : false\"\r\n (eventChange)=\"searchIn(item, _input)\" >\r\n </tcloud-ui-datepicker-time>\r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"item.type !== 'select' && item.type !== 'datetime-local' && item.type !== 'date-local'\">\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <input \r\n #_input\r\n [(ngModel)]=\"item.value\"\r\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\r\n name=\"input_{{i+1}}\" \r\n type=\"{{ (item.type === 'number') ? 'text' : item.type }}\" \r\n class=\"tc-form-control\" \r\n (keyup)=\"searchIn(item, $event)\"> \r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"_input.value === ''\" (click)=\"searchIn(item, null); _input.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item.type === 'select' && item.data && (item.data).length > 0\" >\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <select \r\n #_input\r\n [(ngModel)]=\"item.value\"\r\n name=\"input_{{i+1}}\" \r\n class=\"tc-form-control\" \r\n (change)=\"searchIn(item, $event)\">\r\n <option [ngValue]=\"\"></option>\r\n <ng-container *ngFor=\"let v of item.data\">\r\n <option [value]=\"v.value\">{{ v.description }}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngIf=\"item.type && item.type === 'boolean'\">\r\n \r\n <div class=\"box-filter-input\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis\" title=\"{{ item.description }}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.checked === true\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"area-input-checkbox\">\r\n <div class=\"tc-form-control\">\r\n <label>\r\n {{ item.placeholder }}\r\n <input \r\n #_input\r\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\r\n name=\"input_{{i+1}}\" \r\n type=\"checkbox\" \r\n (change)=\"searchIn(item, _input.checked)\"> \r\n </label>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n\r\n </ng-container>\r\n\r\n <div class=\"text-right mb-1 mr-1\" *ngIf=\"useButtonSubmit\">\r\n <button type=\"button\" class=\"tc-btn {{ btnSubmitClass }}\" (click)=\"toSubmit()\" >{{ submitText }}</button>\r\n </div>\r\n\r\n</div>\r\n\r\n<!-- <pre>{{ inputs | json }}</pre> -->\r\n<!-- <pre> {{ data | json }} </pre> -->\r\n\r\n<!-- <p>FILTERS</p><pre> {{ filters | json }}</pre> -->\r\n\r\n<!--\r\n <pre>start_stop: {{ start_stop }}</pre>\r\n <pre>start_stop_width: {{ start_stop_width }}</pre>\r\n <pre>start_stop_und: {{ start_stop_und }}</pre>\r\n-->","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiDatepickerComponent } from './tcloud-ui-datepicker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerTimeComponent } from './tcloud-ui-datepicker-time.component';\r\nimport { TCloudUiDatepickerModule } from './../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TCloudUiDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\r\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\r\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiFiltersComponent,\r\n TCloudUiRangeDateComponent\r\n ],\r\n exports: [\r\n TCloudUiFiltersComponent,\r\n TCloudUiRangeDateComponent \r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiDatepickerModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiFiltersModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TCloudUiAccordionService {\r\n\r\n private disabled: boolean | undefined;\r\n private loading: boolean | undefined;\r\n private show: boolean | undefined;\r\n\r\n private _stateToggle = new Subject<boolean>();\r\n public stateToggle$ = this._stateToggle.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateDisabled = new Subject<boolean>();\r\n public stateDisabled$ = this._stateDisabled.asObservable();\r\n\r\n\r\n toggle(action: boolean): void{\r\n this._stateToggle.next( action );\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n getShow(){\r\n return this.show;\r\n }\r\n\r\n setDisabled(disabled: boolean): void{\r\n this._stateDisabled.next( disabled );\r\n }\r\n\r\n getDisabled(){\r\n return this.disabled;\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { TCloudUiAccordionService } from './services/tcloud-ui-accordion.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-accordion',\n templateUrl: './tcloud-ui-accordion.component.html',\n styleUrls: ['./tcloud-ui-accordion.component.css'],\n providers: [\n TCloudUiAccordionService\n ],\n standalone: false\n})\r\nexport class TCloudUiAccordionComponent implements OnInit, OnDestroy {\r\n\r\n theme: string | undefined;\r\n\r\n subscription_01: Subscription | undefined;\r\n subscription_02: Subscription | undefined;\r\n \r\n private _disabled: boolean = false;\r\n @Input() set disabled(v: boolean){ \r\n this._disabled = v;\r\n if( this._disabled ){ \r\n setTimeout(() => { \r\n this._tCloudUiAccordionService.setDisabled(this._disabled);\r\n this._tCloudUiAccordionService.toggle(false); \r\n });\r\n }\r\n }\r\n get disabled(){ return this._disabled; }\r\n\r\n\r\n private _show: boolean = false;\r\n @Input() set show(v: boolean){ \r\n if( this._show !== v ){\r\n this._show = v;\r\n if( !this.disabled ){\r\n setTimeout(() => { this._tCloudUiAccordionService.toggle(this._show); }); \r\n } \r\n }\r\n }\r\n\r\n get show(){ return this._show; }\r\n\r\n\r\n @Output() onAction = new EventEmitter<'open'|'close'>();\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this._tCloudUiAccordionService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n\r\n constructor(\r\n private _tCloudUiAccordionService: TCloudUiAccordionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\r\n this.loading = loading; \r\n });\r\n \r\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\r\n this.onAction.emit( (show === true) ? 'open' : 'close' );\r\n })\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\r\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-accordion tc-accordion\" [class.tc-accordion-disabled]=\"disabled\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\r\n\r\n@Component({\n selector: 'tcloud-ui-accordion-title',\n templateUrl: './tcloud-ui-accordion-title.component.html',\n styleUrls: ['./tcloud-ui-accordion-title.component.css'],\n standalone: false\n})\r\nexport class TCloudUiAccordionTitleComponent implements OnInit, OnDestroy {\r\n\r\n subscription_01: Subscription | undefined;\r\n subscription_02: Subscription | undefined;\r\n subscription_03: Subscription | undefined;\r\n\r\n show: boolean = false;\r\n loading: boolean = false;\r\n disabled: boolean = false;\r\n \r\n\r\n constructor(\r\n private _tCloudUiAccordionService: TCloudUiAccordionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loading = this._tCloudUiAccordionService.getLoading() || false;\r\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.show = this._tCloudUiAccordionService.getShow() || false;\r\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\r\n this.show = show;\r\n });\r\n\r\n this.disabled = this._tCloudUiAccordionService.getDisabled() || false;\r\n this.subscription_03 = this._tCloudUiAccordionService.stateDisabled$.subscribe((disabled: boolean) => {\r\n this.disabled = disabled;\r\n });\r\n\r\n }\r\n\r\n toggle(){\r\n if( this.disabled ){ return; }\r\n\r\n this.show = !this.show;\r\n this._tCloudUiAccordionService.toggle(this.show); \r\n \r\n }\r\n\r\n toggle_title(){\r\n this.toggle();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\r\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\r\n if( this.subscription_03 ){ this.subscription_03.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-accordion-title tc-accordion-title\">\r\n <table class=\"tc-accordion-table\">\r\n <tr>\r\n <td class=\"area-title\" (click)=\"toggle_title()\" >\r\n <ng-content></ng-content>\r\n </td>\r\n <td class=\"tc-accordion-actions\">\r\n <button type=\"button\" class=\"tc-btn-accordion-toggle\" [disabled]=\"disabled\" (click)=\"toggle()\" >\r\n\r\n <i class=\"fas fa-chevron-right icon-toggle\" *ngIf=\"!show\"></i>\r\n <i class=\"fas fa-chevron-down icon-toggle\" *ngIf=\"show\"></i>\r\n\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\n@Component({\n selector: 'tcloud-ui-accordion-body',\n templateUrl: './tcloud-ui-accordion-body.component.html',\n styleUrls: ['./tcloud-ui-accordion-body.component.scss'],\n animations: [\n trigger('expandAccordion', [\n state('close', style({ height: '0' })),\n state('open', style({ height: '*' })),\n transition('close <=> open', animate('0.35s ease-in-out')),\n ]),\n ],\n standalone: false\n})\r\nexport class TCloudUiAccordionBodyComponent implements OnInit {\r\n\r\n show: boolean = false;\r\n \r\n constructor(\r\n private _tCloudUiAccordionService: TCloudUiAccordionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.show = this._tCloudUiAccordionService.getShow() || false;\r\n this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\r\n this.show = show;\r\n })\r\n\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\r\n <ng-content></ng-content>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\r\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\r\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiAccordionComponent,\r\n TCloudUiAccordionTitleComponent,\r\n TCloudUiAccordionBodyComponent\r\n ],\r\n exports: [\r\n TCloudUiAccordionComponent,\r\n TCloudUiAccordionTitleComponent,\r\n TCloudUiAccordionBodyComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ]\r\n})\r\nexport class TCloudUiAccordionModule { }\r\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\n selector: '[TCalign]',\n standalone: false\n})\r\nexport class TCloudUiAlignDirective implements OnInit{\r\n\r\n private _direction: 'start' | 'center' | 'end' | 'justify' = 'start';\r\n\r\n @Input() set TCalign (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n this.setStyle(this.el.nativeElement);\r\n }\r\n }\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n setStyle(el: any){\r\n if( this._direction === 'start' ){\r\n this.renderer.setStyle(el, 'text-align', 'left');\r\n }\r\n\r\n if( this._direction === 'center' ){\r\n this.renderer.setStyle(el, 'text-align', 'center');\r\n }\r\n\r\n if( this._direction === 'end' ){\r\n this.renderer.setStyle(el, 'text-align', 'right');\r\n }\r\n\r\n if( this._direction === 'justify' ){\r\n this.renderer.setStyle(el, 'text-align', 'justify');\r\n }\r\n }\r\n\r\n\r\n}","\r\nimport { Directive, Input, Renderer2, HostListener } from '@angular/core';\r\n\r\n@Directive({\n selector: '[TCHoverParent]',\n standalone: false\n})\r\nexport class TCloudUiHoverParentDirective {\r\n\r\n private CLASS: string | undefined;\r\n private ID: string | undefined;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.addClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n } \r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.removeClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n \r\n } \r\n }\r\n\r\n @Input() set TCHoverParent (id: string){\r\n if (id){ this.ID = id; }\r\n }\r\n\r\n @Input() set TCHoverParentClass (clss: any){\r\n if (clss){\r\n this.CLASS = clss;\r\n }\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n if( this.ID ){\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n}","import { Directive, ElementRef, Renderer2, Input, HostListener } from '@angular/core';\r\n\r\n@Directive({\n selector: '[TCtooltip]',\n standalone: false\n})\r\nexport class TCloudUiTooltipDirective {\r\n\r\n @Input() tooltipMode: 'click' | 'hover' = 'hover';\r\n remove: boolean = false;\r\n info_text: string = '';\r\n tooltipVisible: boolean = false;\r\n private tooltipElement: HTMLElement | null = null;\r\n\r\n private _direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n\r\n @Input() set TCtooltip(tooltip: any) {\r\n\r\n if (tooltip) {\r\n this.info_text = typeof tooltip === 'object' ? '' : tooltip;\r\n if (this.tooltipVisible && this.tooltipElement) {\r\n // Atualiza o conteúdo do tooltip diretamente\r\n this.tooltipElement.innerHTML = this.info_text;\r\n\r\n // Reaplica a posição calculada anteriormente para manter a centralização\r\n this.repositionTooltip();\r\n }\r\n }\r\n }\r\n\r\n @Input() set TCdirection(direction: any) {\r\n if (direction) {\r\n this._direction = direction;\r\n }\r\n }\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\r\n if (this.tooltipMode === 'click' && this.tooltipVisible && this.info_text) {\r\n const clickedInside = this.el.nativeElement.contains(event.target) || (this.tooltipElement?.contains(event.target as Node));\r\n if (!clickedInside) {\r\n this.removeTooltip();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseover', ['$event']) onMouseOver(event: MouseEvent) {\r\n if (this.tooltipMode === 'hover' && !this.tooltipVisible && this.info_text) {\r\n this.createTooltip(event);\r\n this.tooltipVisible = true;\r\n }\r\n }\r\n\r\n @HostListener('mouseout', ['$event']) onMouseOut(event: MouseEvent) {\r\n if (this.tooltipVisible) {\r\n const relatedTarget = event.relatedTarget as Node;\r\n if (!this.el.nativeElement.contains(relatedTarget) && !this.tooltipElement?.contains(relatedTarget)) {\r\n this.removeTooltip();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: MouseEvent) {\r\n if (this.tooltipMode === 'click') {\r\n if (this.tooltipVisible) {\r\n this.removeTooltip();\r\n } else {\r\n this.createTooltip(event);\r\n }\r\n this.tooltipVisible = !this.tooltipVisible;\r\n }\r\n }\r\n\r\n private createTooltip(event: MouseEvent) {\r\n const scrollTop = window?.scrollY || window?.pageYOffset;\r\n const tooltip = this.renderer.createElement('div');\r\n const rect = this.el.nativeElement?.getBoundingClientRect();\r\n const direction = this._direction || 'top';\r\n const el_position_x = rect?.left || 0;\r\n const el_position_y = rect?.top + scrollTop || 0;\r\n\r\n let width = 0;\r\n let height = 0;\r\n if (event && event.target) {\r\n const _event = event.target as any;\r\n height = _event.offsetHeight;\r\n width = _event.offsetWidth;\r\n }\r\n\r\n this.renderer.setStyle(tooltip, 'top', '0px');\r\n this.renderer.setStyle(tooltip, 'left', '0px');\r\n this.renderer.setStyle(tooltip, 'opacity', '0');\r\n this.renderer.addClass(tooltip, 'tc-directive-tooltip');\r\n this.renderer.addClass(tooltip, `tc-directive-tooltip-${direction}`);\r\n const id = this.generateID();\r\n this.renderer.setAttribute(tooltip, 'id', id);\r\n tooltip.innerHTML = this.info_text;\r\n this.renderer.appendChild(document.body, tooltip);\r\n this.start_tooltip(id, height, width, el_position_x, el_position_y, direction);\r\n this.tooltipElement = tooltip;\r\n\r\n tooltip.addEventListener('mouseenter', () => this.tooltipVisible = true);\r\n tooltip.addEventListener('mouseleave', () => this.removeTooltip());\r\n }\r\n\r\n private removeTooltip() {\r\n const customDivAll = <any>document.querySelectorAll('.tc-directive-tooltip');\r\n if (customDivAll && customDivAll.length > 0) {\r\n setTimeout(() => {\r\n customDivAll.forEach((_customDiv: any) => {\r\n if (_customDiv) { _customDiv.remove(); }\r\n });\r\n }, 25);\r\n }\r\n this.tooltipVisible = false;\r\n this.tooltipElement = null;\r\n }\r\n\r\n private repositionTooltip() {\r\n if (!this.tooltipElement) return;\r\n\r\n const rect = this.el.nativeElement?.getBoundingClientRect();\r\n const height = this.el.nativeElement.offsetHeight;\r\n const width = this.el.nativeElement.offsetWidth;\r\n const tooltipHeight = this.tooltipElement.clientHeight;\r\n const tooltipWidth = this.tooltipElement.clientWidth;\r\n\r\n let p_y = 0;\r\n let p_x = 0;\r\n const scrollTop = window?.scrollY || window?.pageYOffset;\r\n const center_position = (rect.left + (width / 2)) - (tooltipWidth / 2);\r\n\r\n if (this._direction === 'top') {\r\n p_y = (rect.top + scrollTop - tooltipHeight) - 15;\r\n p_x = center_position;\r\n } else if (this._direction === 'bottom') {\r\n p_y = (rect.top + scrollTop + height) + 15;\r\n p_x = center_position;\r\n } else if (this._direction === 'left') {\r\n p_y = (rect.top + scrollTop - (tooltipHeight / 2) + (height / 2));\r\n p_x = rect.left - tooltipWidth - 15;\r\n } else if (this._direction === 'right') {\r\n p_y = (rect.top + scrollTop - (tooltipHeight / 2) + (height / 2));\r\n p_x = rect.left + width + 15;\r\n }\r\n\r\n this.renderer.setStyle(this.tooltipElement, 'top', `${p_y}px`);\r\n this.renderer.setStyle(this.tooltipElement, 'left', `${p_x}px`);\r\n }\r\n\r\n private generateID(target?: string): string {\r\n const ref = target ? `-${target}` : '';\r\n return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\r\n }\r\n\r\n private start_tooltip(id: string, height: number, width: number, el_position_x: number, el_position_y: number, direction: string) {\r\n setTimeout(() => {\r\n const tooltip: any = document.getElementById(id);\r\n const tooltip_height = tooltip.clientHeight;\r\n const tooltip_width = tooltip.clientWidth;\r\n\r\n let p_y = 0;\r\n let p_x = 0;\r\n const center_position = (el_position_x + (width / 2)) - (tooltip_width / 2);\r\n\r\n if (direction === 'top') {\r\n p_y = (el_position_y - tooltip_height) - 15;\r\n p_x = center_position;\r\n }\r\n\r\n if (direction === 'bottom') {\r\n p_y = (el_position_y + height) + 15;\r\n p_x = center_position;\r\n }\r\n\r\n if (direction === 'left') {\r\n p_y = el_position_y - (tooltip_height / 2) + (height / 2);\r\n p_x = center_position - tooltip_width / 2 - width / 2 - 15;\r\n }\r\n\r\n if (direction === 'right') {\r\n p_y = el_position_y - (tooltip_height / 2) + (height / 2);\r\n p_x = center_position + tooltip_width / 2 + width / 2 + 15;\r\n }\r\n\r\n this.renderer.setStyle(tooltip, 'top', `${p_y}px`);\r\n this.renderer.setStyle(tooltip, 'left', `${p_x}px`);\r\n this.renderer.addClass(tooltip, 'tc-tooltip-fade-in');\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\n selector: '[TCCopy]',\n standalone: false\n})\r\nexport class TCloudUiElCopyDirective implements OnInit{\r\n\r\n private _isCopy: boolean = false;\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.setItemFuncCopy();\r\n }\r\n\r\n setItemFuncCopy(){\r\n\r\n const btn_copy = this.renderer.createElement('i');\r\n\r\n var copyText = ()=>{ \r\n const elementWithCopyAttribute = document.querySelector(`[data-el-copy=\"${id}\"]`) as any;\r\n let copyText = ''\r\n if( elementWithCopyAttribute && elementWithCopyAttribute.tagName && (elementWithCopyAttribute.tagName).toUpperCase() === 'INPUT' ){\r\n copyText = elementWithCopyAttribute?.value!;\r\n }else{\r\n copyText = elementWithCopyAttribute?.textContent!;\r\n } \r\n navigator.clipboard.writeText(copyText);\r\n this.renderer.removeClass(btn_copy, 'fa-copy');\r\n this.renderer.addClass(btn_copy, 'fa-check');\r\n setTimeout(() => {\r\n this.renderer.removeClass(btn_copy, 'fa-check');\r\n this.renderer.addClass(btn_copy, 'fa-copy');\r\n }, 3000);\r\n \r\n }\r\n\r\n const id = this.generateID();\r\n this.renderer.setAttribute(this.el.nativeElement, 'data-el-copy', `${id}`);\r\n\r\n \r\n this.renderer.setStyle(btn_copy, 'cursor', 'pointer');\r\n this.renderer.setStyle(btn_copy, 'margin-left', '3px');\r\n this.renderer.addClass(btn_copy, 'fas');\r\n this.renderer.addClass(btn_copy, 'fa-copy');\r\n\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-copy');\r\n this.renderer.setAttribute(btn_copy, 'id', id);\r\n this.renderer.setAttribute(btn_copy, 'title', 'Copy');\r\n this.renderer.listen(btn_copy, 'click', () => { copyText(); });\r\n\r\n if( ((this.el.nativeElement).tagName).toUpperCase() === 'INPUT' ){\r\n let classList = this.el.nativeElement?.classList!\r\n if( classList && (classList).length > 0 && ('tc-form-control').indexOf(classList) > -1 ){\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy-tc-form-control');\r\n }else{\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy');\r\n } \r\n this.renderer.appendChild(this.el.nativeElement.parentNode, btn_copy);\r\n }else{\r\n this.renderer.appendChild(this.el.nativeElement, btn_copy);\r\n }\r\n\r\n \r\n\r\n \r\n }\r\n\r\n generateID(target?: string): string{\r\n const ref = (target) ? `-${target}` : '';\r\n return `tc-el-copy-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\r\n }\r\n\r\n}","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\n@Directive({\n selector: '[TCcurrency]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: TCloudUiCurrencyDirective,\n multi: true\n }],\n standalone: false\n})\r\nexport class TCloudUiCurrencyDirective implements ControlValueAccessor {\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n // ngAfterViewInit() {\r\n // setTimeout(() => {\r\n // let unmaskedValue = this.unmask( this.el.nativeElement.value );\r\n // console.log('Valor do input:', unmaskedValue);\r\n // this.onChange(Number(unmaskedValue));\r\n // this.writeValue(unmaskedValue);\r\n // }); \r\n // }\r\n\r\n writeValue(value: any): void {\r\n this.renderer.setProperty(this.el.nativeElement, 'type', 'text');\r\n this.renderer.setStyle(this.el.nativeElement, 'text-align', 'right');\r\n if (value !== undefined && value !== null) {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', this.formatCurrency(value));\r\n } else {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus(): void {\r\n this.setCursorToEnd();\r\n }\r\n\r\n private setCursorToEnd(): void {\r\n const nativeInput = this.el.nativeElement as HTMLInputElement;\r\n const length = nativeInput.value.length;\r\n nativeInput.setSelectionRange(length, length);\r\n }\r\n\r\n private setInInput(){\r\n\r\n }\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value: string): void {\r\n const unmaskedValue = this.unmask(value);\r\n this.onChange(Number(unmaskedValue));\r\n this.writeValue(unmaskedValue);\r\n }\r\n\r\n private formatCurrency(value: any): string { \r\n \r\n const posicaoPonto = `${value}`.indexOf('.');\r\n if (posicaoPonto !== -1) {\r\n let part = `${value}`.split('.');\r\n let decimalPart = (part && part[1]) ? part[1] : '';\r\n if( (decimalPart).length < 2 ){\r\n value = value + '0';\r\n } \r\n }else{\r\n value = value + '.00';\r\n }\r\n\r\n return 'R$ '+ this.formatReal(value);\r\n }\r\n\r\n private unmask(value: string): any {\r\n if( value === undefined || value === null || value === \"\" ){\r\n return \"\";\r\n }\r\n value = value.replace(/[^\\d]/g, '');\r\n value = value.replace(/^0+/, '');\r\n if( value && value[0] ){\r\n if( (value[0] === ',' || value[0] === '.') ){\r\n value = '0'+value;\r\n } \r\n }\r\n value = this.toDecimal(value); \r\n return value;\r\n }\r\n\r\n private formatarNumero(numero: any): string {\r\n return numero.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.') as string;\r\n }\r\n\r\n private formatReal(value: any): string {\r\n var delimiter = ',';\r\n \r\n if( !value! ){ return `0${delimiter}00`; }\r\n if( value === `0${delimiter}00` ){ value = ''; }\r\n value = `${value}`;\r\n value = value.replace(/^0+/, '');\r\n const cleanValue = value.replace(/[^\\d]/g, '');\r\n if (cleanValue.length <= 2) { \r\n let _value = `${delimiter}${cleanValue.padStart(2, '0')}`;\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n return _value;\r\n }\r\n\r\n let integerPart = cleanValue.slice(0, -2) || '0';\r\n const decimalPart = cleanValue.slice(-2).padStart(2, '0');\r\n if( (integerPart).length > 3 ){\r\n integerPart = this.formatarNumero(integerPart);\r\n }\r\n let _value = `${integerPart}${delimiter}${decimalPart}`;\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n\r\n return _value;\r\n }\r\n\r\n private toDecimal(numero: any) { \r\n const numeroStr = numero.toString();\r\n let parteInteira = numeroStr.slice(0, -2) || '0';\r\n let parteDecimal = numeroStr.slice(-2);\r\n if(Number(parteDecimal) > 0 && Number(parteDecimal) < 10 ){\r\n parteDecimal = `0${Number(parteDecimal)}`;\r\n }\r\n let _value = `${parteInteira}.${parteDecimal}`; \r\n if( _value === ',' || _value === ',0' || _value === '0,' || _value === '0,0' || _value === '0,00' ){ return '0'; }\r\n if( _value === '.' || _value === '.0' || _value === '0.' || _value === '0.0' || _value === '0.00' ){ return '0'; }\r\n _value = _value.replace(/^0+/, '');\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n \r\n return _value;\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { UserServiceInterface } from '../_interfaces/user.service.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiCheckAccessService {\r\n\r\n private userService = {} as UserServiceInterface;\r\n\r\n constructor(\r\n @Optional() @Inject('UserService') private _UserService: any\r\n ) {\r\n this.userService = this._UserService;\r\n }\r\n\r\n check(checkAccess: any){\r\n const temp_user = this.getImpersonalizeUserInfo();\r\n if( temp_user ){\r\n // Para uso com impersonalização - Visualização do T-Cloud por outro usuário\r\n return this.checkImpersonalizeMode(checkAccess, temp_user);\r\n } \r\n // Utilização para usuário logado\r\n return this.checkDefaultMode(checkAccess);\r\n }\r\n\r\n checkDefaultMode(checkAccess: any){\r\n let hasAccess = false;\r\n if ( Array.isArray(checkAccess[0]) ){\r\n if (checkAccess[1]){\r\n let features = checkAccess[1].ui_topology;\r\n if (features){\r\n checkAccess[0].forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n }\r\n }else{\r\n let features = this.userService?.getCurrentEnv()?.ui;\r\n console.log('features ui', features);\r\n checkAccess.forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n return hasAccess;\r\n }\r\n\r\n checkImpersonalizeMode(checkAccess: any, temp_user: any){\r\n let hasAccess = false;\r\n if ( Array.isArray(checkAccess[0]) ){\r\n if (checkAccess[1]){\r\n let features = checkAccess[1].ui_topology;\r\n if (features){\r\n checkAccess[0].forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n }\r\n }else{\r\n let features = temp_user.ui;\r\n checkAccess.forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n return hasAccess;\r\n }\r\n\r\n checkFeatureFlags(_feature: string | string[] | any): boolean{\r\n let enable = false;\r\n let isEnabled = [];\r\n\r\n // tcloud_features - features do componente tcloud\r\n let tcloud_features = [];\r\n if( _feature ){\r\n if( typeof _feature === 'string' ){\r\n (tcloud_features).push(_feature);\r\n }else if( _feature && (_feature).length > 0 ) {\r\n tcloud_features = _feature;\r\n }\r\n\r\n let feature_flags_topology = undefined;\r\n if ( Array.isArray(_feature[0]) ){\r\n if (_feature[1]){\r\n tcloud_features = _feature[0];\r\n if( _feature[1] && _feature[1].feature_flags_topology && (_feature[1]?.feature_flags_topology).length >= 0 ){\r\n feature_flags_topology = _feature[1].feature_flags_topology;\r\n }\r\n }\r\n } \r\n\r\n let feature_flags = [];\r\n if( feature_flags_topology && (feature_flags_topology).length >= 0 ){\r\n // feature_flags - obtendo de topology (infProduto) -> feature_flags_topology\r\n feature_flags = feature_flags_topology;\r\n }else{\r\n // feature_flags - obtendo de user info\r\n feature_flags = this.userService?.getCurrentEnv()?.feature_flags || [];\r\n }\r\n console.log('feature_flags', feature_flags);\r\n\r\n for( let i = 0; i < (tcloud_features).length; i++ ){\r\n const tcloud_feature = tcloud_features[i];\r\n if( tcloud_feature[0] === '!' ){\r\n let qtd_exist = 0;\r\n for( let j = 0; j < (feature_flags).length; j++ ){\r\n const feature_flag = feature_flags[j]; \r\n if( tcloud_feature === '!'+feature_flag ){\r\n (isEnabled).push(false); \r\n qtd_exist++;\r\n }\r\n }\r\n if( qtd_exist === 0 ){\r\n (isEnabled).push(true);\r\n } \r\n }else{\r\n let qtd_exist = 0;\r\n for( let j = 0; j < (feature_flags).length; j++ ){\r\n const feature_flag = feature_flags[j]; \r\n if( tcloud_feature === feature_flag ){\r\n (isEnabled).push(true); \r\n qtd_exist++;\r\n } \r\n }\r\n if( qtd_exist === 0 ){\r\n (isEnabled).push(false);\r\n }\r\n }\r\n }\r\n\r\n if( isEnabled && (isEnabled).length > 0 ){\r\n enable = true;\r\n for( let i = 0; i < (isEnabled).length; i++ ){\r\n if( isEnabled[i] === false ){\r\n enable = false; break;\r\n } \r\n }\r\n }\r\n }\r\n return enable; \r\n }\r\n\r\n\r\n\r\n /* */\r\n private getImpersonalizeUserInfo(){\r\n // return this.getLocalStorage();\r\n \r\n // remover do localstorage se não existir cCode ????\r\n const cCode = this.userService?.getCurrentEnv()?.currentCloudID?.cloud_id || '';\r\n if( cCode && cCode !== '' ){\r\n return this.getLocalStorage();\r\n }\r\n this.removeLocalStorage();\r\n return undefined; \r\n }\r\n\r\n private getLocalStorage(){\r\n let info: any = localStorage.getItem('temp_user_info');\r\n let user_info = {} as any;\r\n try {\r\n user_info = JSON.parse(info);\r\n } catch (error) {\r\n user_info = undefined; \r\n }\r\n return user_info;\r\n }\r\n \r\n private removeLocalStorage(){\r\n localStorage.removeItem('temp_user_info');\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n@Directive({\n selector: '[TCCheckAccess]',\n standalone: false\n})\r\nexport class TCloudUiCheckAccessDirective implements OnInit{\r\n @Input() set TCCheckAccess (checkAccess: any){\r\n if (checkAccess){\r\n this.check(checkAccess);\r\n }\r\n };\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n check(checkAccess: any){\r\n let hasAccess = false;\r\n hasAccess = this.checkAccessService.check(checkAccess);\r\n\r\n let elemento = this.el.nativeElement;\r\n if (elemento){\r\n if (!hasAccess){\r\n this.setStyle(elemento);\r\n }else{\r\n this.normalStyle(elemento);\r\n }\r\n }else{\r\n // console.log(\"TCL: checkAccessDirective -> elemento\", this.el.nativeElement)\r\n }\r\n }\r\n\r\n setStyle(el: any){\r\n this.renderer.setStyle(el, 'background-color', 'rgb(255, 219, 94)');\r\n // this.renderer.setStyle(el, 'display', 'none');\r\n this.renderer.setAttribute(el, 'style', 'display:none !important');\r\n this.removeElement(el);\r\n }\r\n normalStyle(el: any){\r\n // this.renderer.setStyle(el, 'color', '');\r\n // this.renderer.setStyle(el, 'border', '1px solid darkorange');\r\n // this.renderer.setStyle(el, 'padding', '');\r\n this.renderer.setStyle(el, 'background-color', '');\r\n this.renderer.setStyle(el, 'display', '');\r\n // el.innerHTML = \"Sem acesso\";\r\n }\r\n\r\n removeElement(el: any) {\r\n if( el ){\r\n try {\r\n this.renderer.removeChild(el.parentNode, el);\r\n } catch (error) {} \r\n }\r\n }\r\n\r\n}","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n\r\n\r\n/*\r\n// Verificação checkAccess\r\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]\" >\r\n Conteudo protegido\r\n</ng-container>\r\n\r\n// Verificação checkAccess com condição adicional\r\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]; ngIf: topologie?.product == 'winthor'\" >\r\n Conteudo protegido\r\n</ng-container>\r\n*/\r\n\r\n@Directive({\n selector: '[ngTCCheckAccess]',\n standalone: false\n})\r\nexport class TCloudUiNgCheckAccessDirective {\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) { }\r\n\r\n private isCondition: boolean = true;\r\n\r\n @Input() set ngTCCheckAccess(checkAccess: any | boolean) {\r\n const isCheckAccess = ( typeof checkAccess === 'boolean' ) ? checkAccess : this.checkAccessService.check(checkAccess);\r\n setTimeout(() => { this.check_view( isCheckAccess ); }); \r\n }\r\n\r\n @Input() set ngTCCheckAccessNgIf(check: boolean){ \r\n this.isCondition = check;\r\n }\r\n\r\n private check_view(isView: boolean){\r\n if ( isView && this.isCondition ) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n/*\r\n <div *ngTCFeatureFlags=\"['pipeline_flow_pusher']\">\r\n\t\tTem pipeline_flow_pusher\r\n\t</div>\r\n*/\r\n\r\n@Directive({\n selector: '[ngTCFeatureFlags]',\n standalone: false\n})\r\nexport class TCloudUiNgFeatureFlagsDirective {\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) { }\r\n\r\n private isCondition: boolean = true;\r\n\r\n @Input() set ngTCFeatureFlags(FeatureFlags: any | boolean) {\r\n const isFeatureFlags = ( typeof FeatureFlags === 'boolean' ) ? FeatureFlags : this.checkAccessService.checkFeatureFlags(FeatureFlags);\r\n setTimeout(() => { this.check_view( isFeatureFlags ); }); \r\n }\r\n\r\n \r\n\r\n @Input() set TCNgFeatureFlagsNgIf(check: boolean){ \r\n this.isCondition = check;\r\n }\r\n\r\n private check_view(isView: boolean){\r\n if ( isView && this.isCondition ) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\n selector: '[TCDigitOnly]',\n standalone: false\n})\r\nexport class TCloudUiDigitOnlyDirective {\r\n inputElement: HTMLElement;\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n if( event && event.clipboardData){\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document?.execCommand('insertText', false, pastedInput);\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n if( event && event.dataTransfer){\r\n const textData = event.dataTransfer.getData('text').replace(/\\D/g, '');\r\n this.inputElement.focus();\r\n document?.execCommand('insertText', false, textData);\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\n selector: '[TCHighlight]',\n standalone: false\n})\r\nexport class TCloudUiHighLightDirective implements OnInit{\r\n\r\n @Input() TCHighlight: string | undefined;\r\n inputElement: HTMLElement;\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n let block = document.createElement('div');\r\n if (!this.TCHighlight){\r\n block.appendChild(document.createTextNode('PRECISA FINALIZAR IMPLEMENTAÇÃO!!'));\r\n }else{\r\n block.appendChild(document.createTextNode(this.TCHighlight));\r\n }\r\n\r\n if( block && block.style ){\r\n block.style.backgroundColor = '#F00';\r\n block.style.color = '#FFF';\r\n block.style.padding = '15px';\r\n block.style.textAlign = 'center';\r\n block.style.fontWeight = '600';\r\n }\r\n\r\n this.inputElement.insertBefore(block, this.inputElement.firstChild);\r\n }\r\n\r\n\r\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\n selector: '[TCIpMask]',\n standalone: false\n})\r\nexport class TCloudUiIpMaskDirective{\r\n constructor(public el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: any) {\r\n // console.log(\"IpMaskDirective -> onKeyDown -> e.keyCode\", e.keyCode);\r\n if (\r\n [190, 108, 191, 110, 111].indexOf(e.keyCode) !== -1 || // Allow: ponto(.), ponto(.) Teclado numérico, barra(/) , barra(/) Teclado numérico\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n if( event && event.clipboardData ){\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document?.execCommand('insertText', false, pastedInput);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { TCloudUiAlignDirective } from './align/align.directive';\r\nimport { TCloudUiHoverParentDirective } from './hover-parent/hover-parent.directive';\r\nimport { TCloudUiTooltipDirective } from './tooltip/tooltip.directive';\r\nimport { TCloudUiElCopyDirective } from './el-copy/el-copy.directive';\r\nimport { TCloudUiCurrencyDirective } from './currency/currency.directive';\r\nimport { TCloudUiCheckAccessDirective } from './tcloud-access/tcloud-ui-check-access.directive';\r\nimport { TCloudUiNgCheckAccessDirective } from './tcloud-access/tcloud-ui-ng-check-access.directive';\r\nimport { TCloudUiNgFeatureFlagsDirective } from './tcloud-access/tcloud-ui-ng-feature-flags.directive';\r\nimport { TCloudUiCheckAccessService } from '../_services/tcloud-ui-check-access.service';\r\nimport { TCloudUiDigitOnlyDirective } from './tcloud-ui-digit-only.directive';\r\nimport { TCloudUiHighLightDirective } from './tcloud-ui-highlight.diretive';\r\nimport { TCloudUiIpMaskDirective } from './tcloud-ui-ip-mask.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective,\r\n TCloudUiCurrencyDirective,\r\n TCloudUiCheckAccessDirective, \r\n TCloudUiNgCheckAccessDirective,\r\n TCloudUiNgFeatureFlagsDirective,\r\n TCloudUiDigitOnlyDirective,\r\n TCloudUiHighLightDirective,\r\n TCloudUiIpMaskDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective,\r\n TCloudUiCurrencyDirective,\r\n TCloudUiCheckAccessDirective, \r\n TCloudUiNgCheckAccessDirective,\r\n TCloudUiNgFeatureFlagsDirective,\r\n TCloudUiDigitOnlyDirective,\r\n TCloudUiHighLightDirective,\r\n TCloudUiIpMaskDirective\r\n ],\r\n providers: [\r\n TCloudUiCheckAccessService\r\n ]\r\n})\r\nexport class TCloudUiDirectiveModule {}","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\n\r\nimport { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe, ToTextPipe } from '../_pipes';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n ],\r\n declarations: [\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ],\r\n exports: [ \r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ],\r\n providers: [\r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ]\r\n})\r\nexport class TCloudUiPipesModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiLoadingTransitionsService {\r\n\r\n \r\n\r\n private ID: string = 'tcloud-ui-loading-transitions';\r\n\r\n constructor(\r\n ) {}\r\n\r\n /**\r\n * Inicia a tela de bloqueio para carregamento de tarefa\r\n */\r\n start(){\r\n this.create_loading_transition();\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.add('tcloud-ui-start-loading');\r\n }\r\n }\r\n\r\n /**\r\n * Encerra a tela de bloqueio\r\n */\r\n stop(){\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.remove('tcloud-ui-start-loading');\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('tcloud-ui-body-loading-transitions');\r\n }\r\n }\r\n\r\n private create_loading_transition(){\r\n let box = null as any;\r\n if( document.getElementById(this.ID) ){\r\n box = document.getElementById(this.ID);\r\n }else{\r\n box = document.createElement(\"div\");\r\n box.setAttribute('id', this.ID);\r\n \r\n } \r\n\r\n box.style.display = 'none';\r\n box.innerHTML = `<div class=\"tc-loading-icon\"><i class=\"fas fa-spinner fa-spin\"></i></div>`;\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.appendChild(box);\r\n body.classList.add('tcloud-ui-body-loading-transitions');\r\n }\r\n\r\n\r\n\r\n}","import { Component, Input, OnDestroy, OnInit, forwardRef, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-multiples-values',\n templateUrl: './tcloud-ui-multiples-values.component.html',\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\r\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n search_text: string = '';\r\n\r\n id: string = '';\r\n show_itens: boolean = false;\r\n show_component: boolean = false;\r\n \r\n\r\n input_items: string = '';\r\n\r\n items = [] as string[];\r\n\r\n private _listItems: any | undefined;\r\n @Input() set listItems(v: any | undefined){\r\n if( v !== this._listItems ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():any | undefined { return this._listItems; }\r\n \r\n @Input() openValuesInChange: boolean = true;\r\n @Input() useBtnAdd: boolean = true;\r\n\r\n @Input() pattern: RegExp | any = null;\r\n @Input() delimiter: string = ',';\r\n @Input() placeholder: string = '';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Input() search: boolean = true;\r\n @Input() uppercase: boolean = false;\r\n @Input() lowercase: boolean = false;\r\n\r\n @Input() maxWidthLabel: string | undefined;\r\n\r\n @Output() tcChange = new EventEmitter<any>();\r\n\r\n use_validation_required: boolean = false;\r\n\r\n placeholder_list: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.id = this.generateID();\r\n setTimeout(() => { \r\n this.show_component = true;\r\n this.toResize();\r\n this.toClick();\r\n this.set_placeholder_list(); \r\n }); \r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.items ){\r\n return ((this.items).length > 0) ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n generateID(): string{\r\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n remove_duplicates(items: string[]): string[] {\r\n return [...new Set(items)];\r\n }\r\n\r\n \r\n add_items_by_data_list(e: any){\r\n this.input_items = e;\r\n this.add_items();\r\n }\r\n\r\n add_items(){\r\n\r\n if( this.disabled ){ return; }\r\n\r\n const input_items = this.input_items;\r\n\r\n this.input_items = '';\r\n \r\n let items = [];\r\n if( input_items && input_items !== '' ){\r\n\r\n items = <any> (input_items).split(this.delimiter);\r\n\r\n }\r\n\r\n if( (items).length === 0 ){\r\n if( input_items && input_items !== '' ){\r\n let txt = `${(input_items).trim()}`;\r\n items = [txt];\r\n }\r\n }\r\n\r\n //items = [...new Set(items)];\r\n\r\n for( let i = 0; i < (items).length; i++){\r\n let txt = `${(items[i]).trim()}`;\r\n\r\n if( this.uppercase ){\r\n if( txt && txt !== '' ){\r\n txt = (txt).toLocaleUpperCase();\r\n } \r\n }\r\n\r\n if( this.lowercase ){\r\n if( txt && txt !== '' ){\r\n txt = (txt).toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if( txt && txt !== '' ){\r\n (this.items).push(txt);\r\n }\r\n \r\n }\r\n\r\n this.items = this.remove_duplicates(this.items);\r\n this.set_placeholder_list();\r\n }\r\n\r\n set_placeholder_list(){\r\n let placeholder_list = '';\r\n let delimiter = '';\r\n const items = this.items;\r\n if( items && (items).length > 0 ){\r\n for( let i = 0; i < (items).length; i++){\r\n placeholder_list += delimiter + `${(items[i]).trim()}`;\r\n delimiter = `${this.delimiter} `;\r\n }\r\n }\r\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\r\n this.onChangeTouched();\r\n this.onChangeCallback(this.items);\r\n this.onChange();\r\n }\r\n\r\n\r\n removeItem(item: any, index: number): void{\r\n if( this.disabled ){ return; }\r\n if( this.items ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const row = this.items[i];\r\n if( item === row && i === index ){\r\n (this.items).splice(index,1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if( (this.items).length === 0 ){\r\n this.show_itens = false\r\n }\r\n\r\n this.set_placeholder_list();\r\n }\r\n\r\n remove_all(){\r\n if( this.disabled ){ return; }\r\n this.items = [];\r\n this.set_placeholder_list();\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n\r\n if( this.show_itens ){ \r\n try {\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n if( 'box-action' !== e.target.parentElement.className ){\r\n this.show_itens = false;\r\n } \r\n \r\n }\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n });\r\n\r\n const boxsub = `${this.id}-options`;\r\n }\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.show_itens);\r\n });\r\n }\r\n\r\n toOpen(){\r\n if( this.items.length === 0 ){\r\n this.show_itens = false;\r\n return;\r\n }\r\n\r\n this.show_itens = !this.show_itens; \r\n this.resolve_position_dropdown(this.show_itens);\r\n }\r\n\r\n toClose(){\r\n this.show_itens = false;\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n let li = ul.getElementsByTagName(\"label\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n\r\n toEnterKey(input_items: string | string[] ){\r\n\r\n if( !input_items ){ return; }\r\n\r\n let valid = true;\r\n if( this.pattern ){\r\n valid = (this.pattern).test(this.input_items);\r\n\r\n }\r\n\r\n if( valid ){\r\n this.add_items();\r\n if( this.openValuesInChange ){\r\n this.toOpen();\r\n } \r\n }\r\n \r\n\r\n }\r\n\r\n checkIsDisabled(item: any){\r\n if( item?.disabled ){\r\n return true;\r\n }\r\n const value = `${item.value}`;\r\n if( (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n if( `${this.items[i]}` === value ){\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n onChange(){\r\n this.tcChange.emit(this.items);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n toSetDefault(v:any){\r\n this.items = v;\r\n this.add_items();\r\n }\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.toSetDefault(v); \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n\r\n}\r\n","<div *ngIf=\"show_component\" class=\"tcloud-ui-multiples-values tc-dropdown\" id=\"area-{{ id }}\" [class.tc-parent-validation]=\"use_validation_required\">\r\n\r\n\r\n <form #_formulario=\"ngForm\">\r\n\r\n <!-- {{ input_items }} -->\r\n\r\n <div class=\"dropdown-toggle\" id=\"{{id}}\" [attr.aria-haspopup]=\"'true'\" [attr.aria-expanded]=\"'false'\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n <table class=\"group-input-action\">\r\n <tr>\r\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <div class=\"input\" (click)=\"show_itens = false\">\r\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [search]=\"search\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [(ngModel)]=\"input_items\" (onChange)=\"toEnterKey(input_items)\">\r\n <ng-container *ngFor=\"let item of listItems\"> \r\n <tcloud-ui-data-list-option [value]=\"'' + item.value\" [disabled]=\"checkIsDisabled(item)\">{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </tcloud-ui-data-list>\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\r\n <div class=\"input\">\r\n <input \r\n required\r\n [pattern]=\"pattern\"\r\n (keydown.enter)=\"toEnterKey(input_items)\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\" \r\n type=\"text\" name=\"items\" class=\"tc-form-control area-text\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\r\n \r\n </div>\r\n </ng-container>\r\n </td>\r\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\r\n <div class=\"input\">\r\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \r\n </div>\r\n </td>\r\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\r\n <div class=\"input\"><input type=\"text\" class=\"info-no-value\" value=\"Vazio\" disabled readonly></div> \r\n </td>\r\n <td class=\"action-input-arrow bc-r\">\r\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\r\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\r\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\r\n </button>\r\n </td>\r\n \r\n </tr>\r\n </table> \r\n </td>\r\n <td style=\"width: 45px;\" *ngIf=\"useBtnAdd\">\r\n <table>\r\n <tr>\r\n <td class=\"action-input\" *ngIf=\"!disabled\">\r\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\r\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items()\" title=\"Adicionar item\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n \r\n <!-- <pre>\r\n {{ items | json }}\r\n </pre> -->\r\n\r\n </form> \r\n\r\n <!-- box-itens-selected -->\r\n <div class=\"tc-dropdown-menu box-itens-selected {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!show_itens\" [style]=\"box_style\">\r\n \r\n\r\n <div class=\"line-search\">\r\n <table class=\"box-search\" *ngIf=\"items && (items).length > 5\">\r\n <tr>\r\n \r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n \r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button class=\"box-action\" type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n\r\n <div class=\"area-options\" id=\"{{ id }}-options\">\r\n <ng-container *ngFor=\"let item of items; let i = index\">\r\n \r\n <label class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\r\n <div class=\"box-value\" [title]=\"item\" >\r\n {{ item }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n class=\"box-action\"\r\n [disabled]=\"items === undefined || (items && items.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item, i)\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </label>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mt-5\" *ngIf=\"items && (items).length > 5\">\r\n <div class=\"btn-remove-all\">\r\n <button class=\"box-action\" type=\"button\" (click)=\"remove_all()\">\r\n Limpar toda a lista\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiMultiplesValuesComponent\r\n ],\r\n exports: [\r\n TCloudUiMultiplesValuesComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiplesValuesModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-welcome',\n templateUrl: './tcloud-ui-welcome.component.html',\n styleUrls: ['./tcloud-ui-welcome.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiWelcomeComponent implements OnInit {\r\n\r\n col4: string = 'col-md-4';\r\n\r\n col8: string = 'col-md-8';\r\n col12: string = 'col-md-12';\r\n\r\n @Input() imgSrc: string = '';\r\n @Input() title: string = ''; \r\n @Input() description: string = ''; \r\n @Input() size: 'small'|'normal'|'big' = 'small';\r\n @Input() font: 'small'|'normal'|'big' = 'normal';\r\n\r\n @Input() mirrored: boolean = false;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-welcome\">\r\n <div class=\"row\">\r\n\r\n <ng-container>\r\n <div class=\"{{ col4 }} text-center\" *ngIf=\"imgSrc !== ''\" >\r\n <img class=\"containt-img-{{ size }}\" src=\"{{ imgSrc }}\">\r\n </div>\r\n <div class=\"{{ (imgSrc === '') ? col12 : col8 }} text-center\">\r\n <div>\r\n\r\n <div class=\"w-info-text\" *ngIf=\"title !== ''\" [innerHTML]=\"title\" ></div>\r\n \r\n <div class=\"info-{{ font }}\" *ngIf=\"description !== ''\" [innerHTML]=\"description\"></div>\r\n \r\n <div class=\"mt-5 text-center\">\r\n <ng-content></ng-content>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiWelcomeComponent\r\n ],\r\n exports: [\r\n TCloudUiWelcomeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiWelcomeModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiInputPasswordComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\n selector: 'tcloud-ui-input-password',\n templateUrl: './tcloud-ui-input-password.component.html',\n styleUrls: ['./tcloud-ui-input-password.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\r\nexport class TCloudUiInputPasswordComponent implements OnInit {\r\n\r\n @Input() actionView: boolean = true;\r\n @Input() actionCopy: boolean = true;\r\n @Input() actionGeneratePassword: boolean = true;\r\n\r\n @Input() numberOfCharacter: number = 14;\r\n\r\n @Input() atLeastOneUppercaseLetter: boolean = true;\r\n @Input() atLeastOneLowercaseLetter: boolean = true;\r\n @Input() atLeastOneSpecialCharacter: boolean = true;\r\n\r\n \r\n innerValue: string = '';\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.innerValue = v; \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n mode: string = 'password';\r\n isCopy: boolean = false;\r\n passwordRegex: any | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.passwordRegex = this.getRegexValidation();\r\n }\r\n\r\n toggleMode(){\r\n if( this.mode === 'password' ){\r\n this.mode = 'text';\r\n }else{\r\n this.mode = 'password';\r\n }\r\n }\r\n\r\n copyText(): void {\r\n this.isCopy = true;\r\n navigator.clipboard.writeText(this.innerValue);\r\n setTimeout(() => { this.isCopy = false; }, 3000);\r\n }\r\n\r\n generatePassword(){\r\n this.innerValue = this.createNewPass();\r\n }\r\n\r\n private createNewPass() {\r\n const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz';\r\n const numbers = '0123456789';\r\n const specialCharacters = '!@#$%^&*()_+{}[]:;<>,.?/~';\r\n \r\n const allCharacters = uppercaseLetters + lowercaseLetters + numbers + specialCharacters;\r\n \r\n const getRandomCharacter = (characters: string) => {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n return characters[randomIndex];\r\n };\r\n \r\n let password = '';\r\n password += getRandomCharacter(uppercaseLetters);\r\n password += getRandomCharacter(numbers);\r\n password += getRandomCharacter(specialCharacters);\r\n \r\n const remainingLength = this.numberOfCharacter - password.length; \r\n for (let i = 0; i < remainingLength; i++) {\r\n password += getRandomCharacter(allCharacters);\r\n } \r\n password = password.split('').sort(() => Math.random() - 0.5).join(''); \r\n return password;\r\n }\r\n \r\n\r\n getRegexValidation() {\r\n /*\r\n (?=.*[A-Z]): Pelo menos uma letra maiúscula.\r\n (?=.*[0-9]): Pelo menos um número.\r\n (?=.*[!@#$%^&*()_+{}[\\]:;<>,.?\\/~]): Pelo menos um caractere especial.\r\n (?!.*\\s): Não contém espaços em branco.\r\n .{14,}: Pelo menos 14 caracteres no total.\r\n */\r\n\r\n const maiusculas = (this.atLeastOneUppercaseLetter) ? `(?=.*[A-Z])` : '';\r\n const minusculas = (this.atLeastOneLowercaseLetter) ? `(?=.*[a-z])` : '';\r\n const especiais = (this.atLeastOneSpecialCharacter) ? `(?=.*[!@#$%^&*\\\\(\\\\)_+\\\\{\\\\}\\\\[\\\\]:;<>,.?\\\\/~])(?!.*\\\\s)`: '';\r\n\r\n return `^${maiusculas}${minusculas}${especiais}.{${this.numberOfCharacter},}$`;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n}\r\n","<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiInputPasswordComponent } from './tcloud-ui-input-password.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiInputPasswordComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiInputPasswordComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiInputPasswordModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-progress-bar',\n templateUrl: './tcloud-ui-progress-bar.component.html',\n styleUrls: ['./tcloud-ui-progress-bar.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiProgressBarComponent implements OnInit {\r\n\r\n value_100: number = 100;\r\n\r\n private _limit: any = undefined;\r\n @Input() set limit(limit: any){\r\n this._limit = (limit) ? `${limit}` : undefined\r\n }\r\n get limit(){ return this._limit; }\r\n\r\n /*\r\n status\r\n */\r\n private _status: any = '0';\r\n @Input() set status(status: any){\r\n let value = `${status}`;\r\n if( value ){\r\n setTimeout(() => {\r\n this._status = value;\r\n this.toCalcLimit();\r\n }); \r\n }\r\n }\r\n get status():string { return this._status } \r\n\r\n /*\r\n mode\r\n */\r\n private _mode: string = 'primary';\r\n @Input() set mode(mode: string){\r\n if( mode ){\r\n this._mode = mode; \r\n this.setMode();\r\n } \r\n }\r\n get mode():string { return this._mode } \r\n\r\n /*\r\n height\r\n */\r\n private _height: string = 'normal';\r\n @Input() set height(height: string){\r\n if( height ){\r\n this._height = height; \r\n this.setheight(); \r\n } \r\n }\r\n get height():string { return this._height }\r\n\r\n progress_class: string = '';\r\n height_class: string = '';\r\n\r\n @Input() useDefaultBackground: boolean = true;\r\n @Input() showValue: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.setMode();\r\n this.setheight();\r\n }\r\n\r\n setMode(): void{\r\n const mode = this.mode;\r\n let progress_class = 'progress-primary';\r\n switch (mode) {\r\n case 'primary': progress_class = 'progress-primary'; break;\r\n case 'danger': progress_class = 'progress-danger'; break;\r\n case 'warning': progress_class = 'progress-warning'; break;\r\n case 'info': progress_class = 'progress-info'; break;\r\n case 'success': progress_class = 'progress-success'; break;\r\n case 'gray': progress_class = 'progress-gray'; break;\r\n\r\n case 'gradient-success': progress_class = 'progress-gradient-success'; break;\r\n case 'gradient-danger': progress_class = 'progress-gradient-danger'; break;\r\n case 'gradient-warning': progress_class = 'progress-gradient-warning'; break;\r\n case 'gradient-info': progress_class = 'progress-gradient-info'; break;\r\n }\r\n this.progress_class = progress_class;\r\n }\r\n\r\n setheight(): void{\r\n const height = this.height;\r\n let height_class = 'height-normal';\r\n switch (height) {\r\n case 'normal': height_class = 'height-normal'; break;\r\n case 'slim': height_class = 'height-slim'; break;\r\n case 'fat': height_class = 'height-fat'; break;\r\n case 'very-fat': height_class = 'height-very-fat'; break;\r\n }\r\n this.height_class = height_class;\r\n }\r\n\r\n toCalcLimit_exceeded(){\r\n let vp: number = 100;\r\n let percentual: number = +(this.status);\r\n\r\n if( percentual > 100 ){\r\n let v100 = vp / (percentual / 100);\r\n this.value_100 = +((v100).toFixed(2));\r\n }\r\n this.new_status = 100;\r\n }\r\n\r\n toCalcLimit(){\r\n\r\n if( this.limit ){\r\n\r\n if( +(this.status) > +(this.limit) ){\r\n this.toCalcLimit_exceeded();\r\n return;\r\n }\r\n\r\n let vp: number = 100;\r\n let percentual: number = +(this.limit);\r\n\r\n if( percentual > 100 ){\r\n let v100 = vp / (percentual / 100);\r\n this.value_100 = +((v100).toFixed(2));\r\n }\r\n\r\n this.toCalcStatus();\r\n }\r\n }\r\n\r\n new_status: number = 0;\r\n toCalcStatus(){\r\n \r\n let valorBase: number = +(this.status);\r\n let percentual: number = +(this.limit);\r\n\r\n // Calcula o valor correspondente ao percentual do valor base\r\n let resultado = valorBase / (percentual / 100);\r\n this.new_status = resultado;\r\n // console.log('new_status', this.new_status);\r\n \r\n }\r\n\r\n}\r\n","<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \r\n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\r\n\r\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\r\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\r\n\r\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \r\n [class.fixed-left]=\"(+status >= 12)\" \r\n [style]=\"'left: '+ (70) +'px'\" \r\n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\r\n </label>\r\n </div>\r\n</div>\r\n<div *ngIf=\"limit && (+limit > 100)\" >\r\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\r\n <label>100%</label>\r\n </div> \r\n</div>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiProgressBarComponent } from './tcloud-ui-progress-bar.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TCloudUiProgressBarComponent],\r\n exports: [TCloudUiProgressBarComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiProgressBarModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-cubes',\n templateUrl: './tcloud-ui-cubes.component.html',\n styleUrls: ['./tcloud-ui-cubes.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiCubesComponent {\r\n\r\n}\r\n","<div class=\"loadingio-spinner-cube\"><div class=\"tc-cube-loading\">\r\n <div></div><div></div><div></div><div></div></div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-loading',\n templateUrl: './tcloud-ui-loading.component.html',\n styleUrls: ['./tcloud-ui-loading.component.css'],\n standalone: false\n})\r\nexport class TCloudUiLoadingComponent {\r\n\r\n @Input() full: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n if( this._loading !== loading ){\r\n this._loading = loading;\r\n } \r\n }\r\n get loading(): boolean{ return this._loading; } \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}","<div *ngIf=\"full && loading\" class=\"tc-loading-full\">\r\n <div class=\"tc-state-loading-backdrop\"></div>\r\n <div class=\"tc-state-loading-main\">\r\n <div class=\"tc-state-loading-artifact\">\r\n \r\n <tcloud-ui-cubes></tcloud-ui-cubes>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"!full && loading\">\r\n <div class=\"tc-state-loading-backdrop\"></div>\r\n <div class=\"tc-state-loading-main\">\r\n <div class=\"tc-state-loading-artifact\">\r\n \r\n <tcloud-ui-cubes></tcloud-ui-cubes>\r\n \r\n </div>\r\n </div>\r\n </ng-container>\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLoadingComponent } from './tcloud-ui-loading.component';\r\nimport { TCloudUiCubesComponent } from './components/tcloud-ui-cubes/tcloud-ui-cubes.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\r\n exports: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TCloudUiLoadingModule { }\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-reorder-items',\n templateUrl: './tcloud-ui-reorder-items.component.html',\n styleUrls: ['./tcloud-ui-reorder-items.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiReorderItemsComponent implements OnInit {\r\n sort_items = [] as any[];\r\n\r\n // psg\r\n private _items = [] as any[];\r\n @Input() set items(v: any){\r\n if( v ){\r\n this._items = v;\r\n this.set_sort_items();\r\n }\r\n }\r\n get items(){ return this._items; }\r\n\r\n @Output() itemsChange = new EventEmitter<any>();\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n set_sort_items(){\r\n this.sort_items = [];\r\n if( this.items && (this.items).length > 0 ){\r\n\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const item = this.items[i];\r\n if( item.name ){\r\n (this.sort_items).push( item.name );\r\n }else{\r\n (this.sort_items).push( `${item}` );\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n \r\n get_description(name: string){\r\n if( name ){\r\n if( this.items && (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const item = this.items[i];\r\n if( name === item.name && item.description ){\r\n return item.description;\r\n }\r\n } \r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n get_item(name: string){\r\n if( name ){\r\n if( this.items && (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const item = this.items[i];\r\n if( name === item.name && item.description ){\r\n return item;\r\n }\r\n } \r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n move(item: any, index: number, toIndex: number){\r\n if( toIndex < 0 ){ return; }\r\n if( toIndex > ((this.sort_items).length - 1) ){ return; }\r\n if( (this.sort_items).length > 0 ){\r\n for(let i = 0; i < (this.sort_items).length; i++){\r\n if( i === index){\r\n \r\n let aux = this.sort_items[index];\r\n this.sort_items[index] = this.sort_items[toIndex];\r\n this.sort_items[toIndex] = aux;\r\n break;\r\n\r\n \r\n }\r\n }\r\n }\r\n\r\n if( this.items && (this.items).length > 0 && this.items[0] && this.items[0].name ){\r\n this.items = this.result_items();\r\n }else{\r\n this.items = this.sort_items;\r\n }\r\n this.itemsChange.emit( this.items );\r\n \r\n }\r\n\r\n result_items(){\r\n let items = [];\r\n if( this.sort_items && (this.sort_items).length > 0 ){\r\n for( let i = 0; i < (this.sort_items).length; i++ ){\r\n (items).push( this.get_item( `${this.sort_items[i]}` ) );\r\n }\r\n }\r\n return items;\r\n }\r\n}\r\n","<ng-container *ngIf=\"sort_items\">\r\n\r\n\r\n\r\n <table class=\"table-sort-items\">\r\n\r\n \r\n\r\n\r\n <ng-container *ngFor=\"let item of sort_items; let i = index\">\r\n\r\n <tr>\r\n\r\n <td class=\"area-name-description-item\">\r\n {{ item }}\r\n <div *ngIf=\"get_description(item)\" class=\"item-description\">\r\n {{ get_description(item) }}\r\n </div>\r\n </td>\r\n\r\n <td class=\"area-action-item\">\r\n \r\n <ng-container>\r\n <div class=\"order-control\">\r\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i-1))\" title=\"Alterar para cima\" [disabled]=\"i===0\">\r\n <i class=\"fas fa-caret-up p-up\" ></i>\r\n </button>\r\n </div>\r\n \r\n <div class=\"order-control\">\r\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i+1))\" title=\"Alterar para baixo\" [disabled]=\"(i+1) === (sort_items).length\">\r\n <i class=\"fas fa-caret-down p-down\"></i>\r\n </button>\r\n \r\n </div>\r\n </ng-container>\r\n </td>\r\n\r\n </tr>\r\n </ng-container> \r\n\r\n </table>\r\n \r\n </ng-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiReorderItemsComponent } from './tcloud-ui-reorder-items.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiReorderItemsComponent\r\n ],\r\n exports: [\r\n TCloudUiReorderItemsComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TCloudUiReorderItemsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\n selector: 'tcloud-ui-label-token',\n templateUrl: './tcloud-ui-label-token.component.html',\n styleUrls: ['./tcloud-ui-label-token.component.scss'],\n standalone: false\n})\r\nexport class TCloudUiLabelTokenComponent implements OnInit {\r\n\r\n @Input() copy: boolean = false;\r\n @Input() value: any = '';\r\n @Output() onClick = new EventEmitter<any>();\r\n\r\n show: boolean = false;\r\n isCopy: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public copyText(): void {\r\n this.isCopy = true;\r\n // Copy the text inside the text field\r\n navigator.clipboard.writeText(this.value);\r\n this.onClick.emit(this.value);\r\n\r\n setTimeout(() => {\r\n this.isCopy = false;\r\n }, 3000);\r\n\r\n }\r\n\r\n}","<div>\r\n\r\n <div class=\"mb-2 box-area\">\r\n <table>\r\n <tr>\r\n\r\n <td class=\"area-value\">\r\n <div *ngIf=\"show\">{{ value }}</div>\r\n <div class=\"no-show\" *ngIf=\"!show\">#*#*#*#*#*#*#*#*#</div>\r\n </td>\r\n\r\n <td class=\"area-action\">\r\n <div class=\"options-area-actions\">\r\n <button type=\"button\" *ngIf=\"show\" class=\"btn-icon-smart\" (click)=\"show = !show\" ><i class=\"fas fa-eye\"></i></button>\r\n <button type=\"button\" *ngIf=\"!show\" class=\"btn-icon-smart\" (click)=\"show = !show\"><i class=\"fas fa-eye-slash\"></i></button>\r\n\r\n <ng-container *ngIf=\"copy\">\r\n <button type=\"button\" [title]=\"'Copiar texto'\" *ngIf=\"!isCopy\" class=\"btn-icon-smart\" (click)=\"copyText()\" ><i class=\"fas fa-copy\"></i></button>\r\n <button type=\"button\" [title]=\"'Texto copiado'\" *ngIf=\"isCopy\" class=\"btn-icon-smart\"><i class=\"fas fa-check\"></i></button>\r\n </ng-container>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n </div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLabelTokenComponent } from './tcloud-ui-label-token.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLabelTokenComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiLabelTokenComponent\r\n ]\r\n})\r\nexport class TCloudUiLabelTokenModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { LineStepTitleData } from './tcloud-ui-line-step-title';\r\n\r\n@Component({\n selector: 'tcloud-ui-line-step-title',\n templateUrl: './tcloud-ui-line-step-title.component.html',\n styleUrls: ['./tcloud-ui-line-step-title.component.scss'],\n animations: [\n trigger('progressBarEntering', [\n state('in', style({ width: '*' })),\n transition('void => *', [\n style({ width: 0 }),\n animate('1.5s 0s ease')\n ])\n ])\n ],\n standalone: false\n})\r\nexport class TCloudUiLineStepTitleComponent implements OnInit {\r\n @Input() showStepCounter: boolean = true;\r\n @Input() steps!: LineStepTitleData[];\r\n @Input() currentStep?: number;\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public get completedSteps(): number {\r\n return this.steps.filter(x => x.completed).length;\r\n }\r\n}\r\n","<div class=\"tcloud-ui-line-step\">\r\n <div class=\"steps-title-wrapper\">\r\n <ng-container *ngFor=\"let step of steps; let i = index\">\r\n <span\r\n class=\"step-title\"\r\n [ngStyle]=\"{ 'flex-basis' : 100 / steps.length + '%' }\"\r\n [ngClass]=\"{ 'completed' : currentStep ? i < currentStep : step.completed }\">\r\n <ng-container *ngIf=\"showStepCounter\">{{i + 1}}.</ng-container> {{step.title}}\r\n </span>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"line-wrapper\">\r\n <div class=\"background-line\"></div>\r\n <div\r\n @progressBarEntering\r\n class=\"progress-line\"\r\n [ngStyle]=\"{ 'width.%' : currentStep ? ((currentStep / steps.length) * 100) : ((completedSteps / steps.length) * 100) }\">\r\n </div>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepTitleComponent } from './tcloud-ui-line-step-title.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiLineStepTitleComponent],\r\n imports: [CommonModule],\r\n exports: [TCloudUiLineStepTitleComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLineStepTitleModule { }\r\n","import { Inject, Injectable, Optional, signal } from '@angular/core';\r\nimport { ThemeServiceInterface } from '../_interfaces/theme.service.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiThemeService {\r\n\r\n private themeService = {} as ThemeServiceInterface;\r\n\r\n private _theme = signal('');\r\n readonly signal_theme:any = this._theme.asReadonly();\r\n\r\n constructor(\r\n @Optional() @Inject('ThemeService') private _ThemeService: any\r\n ) {\r\n this.themeService = this._ThemeService;\r\n }\r\n\r\n getName(): string{\r\n return this.themeService?.getName();\r\n }\r\n\r\n public set_signal_theme(v: string){\r\n this._theme.set(v);\r\n }\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { TCloudUiLinhaLogoModule } from './_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\r\nimport { TCloudUiTabMenuModule } from './_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\r\nimport { TCloudUiModalModule } from './_modules/tcloud-ui-modal/tcloud-ui-modal.module';\r\nimport { TCloudUiLineStepCircleModule } from './_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\r\nimport { TCloudUiMultiSelectModule } from './_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\r\nimport { TCloudUiDataListModule } from './_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\r\nimport { TCloudUiChoiceIssuesModule } from './_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\r\nimport { TCloudUiMultiInputModule } from './_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\r\nimport { TCloudUiInputSearchModule } from './_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\r\nimport { TCloudUiNotFoundModule } from './_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\r\nimport { TCloudUiTableModule } from './_modules/tcloud-ui-table/tcloud-ui-table.module';\r\nimport { TCloudUiNumberStepModule } from './_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\r\nimport { TCloudUiScrollBoxModule } from './_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\r\nimport { TCloudUiFiltersModule } from './_modules/tcloud-ui-filters/tcloud-ui-filters.module';\r\nimport { TCloudUiAccordionModule } from './_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\r\nimport { TCloudUiDatepickerModule } from './_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDatepickerTimeModule } from './_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\n\r\nimport { TCloudUiDirectiveModule } from './_directives/directives.module';\r\n\r\nimport { TCloudUiPipesModule } from './_pipes/tcloud-pipes.module';\r\n\r\nimport { TCloudUiLoadingTransitionsService } from './_services/loading-transitions.service';\r\nimport { TCloudUiSearchInObjectService } from './_services/search-in-object.service';\r\nimport { TCloudUiMultiplesValuesModule } from './_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\r\nimport { TCloudUiWelcomeModule } from './_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\r\nimport { TCloudUiInputPasswordModule } from './_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\r\nimport { TCloudUiProgressBarModule } from './_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\r\nimport { TCloudUiLoadingModule } from './_modules/tcloud-ui-loading/tcloud-ui-loading.module';\r\nimport { TCloudUiReorderItemsModule } from './_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\r\nimport { TCloudUiLabelTokenModule } from './_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\r\nimport { TCloudUiLineStepTitleModule } from './_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\r\nimport { TCloudUiConfig } from './tcloud-ui.config';\r\nimport { TCloudUiCheckAccessService } from './_services/tcloud-ui-check-access.service';\r\nimport { TCloudUiThemeService } from './_services/tcloud-ui-theme.services';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n TCloudUiModalModule,\r\n TCloudUiTabMenuModule,\r\n TCloudUiLinhaLogoModule,\r\n TCloudUiLineStepCircleModule,\r\n TCloudUiMultiSelectModule,\r\n TCloudUiDataListModule,\r\n TCloudUiMultiInputModule,\r\n TCloudUiChoiceIssuesModule,\r\n TCloudUiInputSearchModule,\r\n TCloudUiNotFoundModule,\r\n TCloudUiTableModule,\r\n TCloudUiNumberStepModule,\r\n TCloudUiScrollBoxModule,\r\n TCloudUiFiltersModule,\r\n TCloudUiAccordionModule,\r\n TCloudUiDatepickerModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiMultiplesValuesModule,\r\n TCloudUiWelcomeModule,\r\n TCloudUiInputPasswordModule,\r\n TCloudUiProgressBarModule,\r\n TCloudUiLoadingModule,\r\n TCloudUiReorderItemsModule,\r\n TCloudUiLabelTokenModule,\r\n TCloudUiLineStepTitleModule,\r\n\r\n // Directives\r\n TCloudUiDirectiveModule,\r\n\r\n // Pipes\r\n TCloudUiPipesModule\r\n ],\r\n exports: [\r\n TCloudUiModalModule,\r\n TCloudUiTabMenuModule,\r\n TCloudUiLinhaLogoModule,\r\n TCloudUiLineStepCircleModule,\r\n TCloudUiMultiSelectModule,\r\n TCloudUiDataListModule,\r\n TCloudUiMultiInputModule,\r\n TCloudUiChoiceIssuesModule,\r\n TCloudUiInputSearchModule,\r\n TCloudUiNotFoundModule,\r\n TCloudUiTableModule,\r\n TCloudUiNumberStepModule,\r\n TCloudUiScrollBoxModule,\r\n TCloudUiFiltersModule,\r\n TCloudUiAccordionModule,\r\n TCloudUiDatepickerModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiMultiplesValuesModule,\r\n TCloudUiWelcomeModule,\r\n TCloudUiInputPasswordModule,\r\n TCloudUiProgressBarModule,\r\n TCloudUiLoadingModule,\r\n TCloudUiReorderItemsModule,\r\n TCloudUiLabelTokenModule,\r\n TCloudUiLineStepTitleModule,\r\n\r\n // Directives\r\n TCloudUiDirectiveModule,\r\n\r\n // Pipes\r\n TCloudUiPipesModule\r\n ],\r\n providers: [\r\n TCloudUiLoadingTransitionsService,\r\n TCloudUiSearchInObjectService,\r\n TCloudUiCheckAccessService,\r\n TCloudUiThemeService\r\n ]\r\n})\r\nexport class TCloudUiModule {\r\n\r\n static forRoot(config: TCloudUiConfig): ModuleWithProviders<TCloudUiModule> {\r\n return {\r\n ngModule: TCloudUiModule,\r\n providers: [\r\n { provide: 'TCloudUiConfig', useValue: config.data },\r\n { provide: 'UserService', useExisting: config?.services?.userService },\r\n { provide: 'ThemeService', useExisting: config?.services?.themeService }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of tcloud-ui\r\n */\r\n\r\nexport * from './lib/tcloud-ui.module';\r\nexport * from './lib/tcloud-ui.config';\r\n\r\n// UI-MODAL\r\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module';\r\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n// UI-TAB-MENU\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\n\r\n// UI-LINHA-LOGO\r\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\r\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component';\r\n\r\n// UI-STEP-CIRCLE\r\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\r\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component';\r\n\r\n// UI-MULTI-SELECT\r\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\r\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component';\r\n\r\n// UI-TOOLTIP\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component';\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n// UI-MULTI-INPUT\r\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\r\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component';\r\n\r\n// UI-CHOICE-ISSUES\r\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\r\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component';\r\n\r\n// UI-INPUT-SEARCH\r\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\r\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component';\r\n\r\n// UI-NOT-FOUND\r\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\r\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component';\r\n\r\n// UI-TABLE\r\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.module';\r\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.component';\r\n\r\n// UI-NUMBER-STEP\r\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\r\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component';\r\n\r\n// UI-SCROLL-BOX\r\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\r\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component';\r\n\r\n// UI-FILTERS\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters';\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module';\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component';\r\nexport * from './lib/_modules/tcloud-ui-filters/components/range-date/range-date.component';\r\n\r\n// UI-ACCORDION\r\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\r\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component';\r\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\r\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\r\n\r\n// UI-DATEPICKER\r\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component';\r\n\r\n// UI-DATEPICKER-TIME\r\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component';\r\n\r\n// UI-MULTIPLES-VALUES\r\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\r\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component';\r\n\r\n// UI-WELCOME\r\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\r\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component';\r\n\r\n// UI-INPUT-PASSWORD\r\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\r\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component';\r\n\r\n// UI-PROGRESS-BAR\r\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\r\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component';\r\n\r\n// UI-LOADING\r\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module';\r\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component';\r\nexport * from './lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component';\r\n\r\n// UI-REORDER-ITEMS\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items';\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component';\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\r\n\r\n// UI-LABEL-TOKEN\r\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\r\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component';\r\n\r\n// UI-LINE-STEP-TITLE\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title';\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component';\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/_directives/directives.module';\r\nexport * from './lib/_directives/tooltip/tooltip.directive';\r\nexport * from './lib/_directives/align/align.directive';\r\nexport * from './lib/_directives/hover-parent/hover-parent.directive';\r\nexport * from './lib/_directives/el-copy/el-copy.directive';\r\nexport * from './lib/_directives/currency/currency.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-check-access.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive';\r\nexport * from './lib/_directives/tcloud-ui-digit-only.directive';\r\nexport * from './lib/_directives/tcloud-ui-highlight.diretive'; \r\nexport * from './lib/_directives/tcloud-ui-ip-mask.directive';\r\n\r\n// PIPES\r\nexport * from './lib/_pipes/tcloud-pipes.module';\r\nexport * from './lib/_pipes/index';\r\n\r\n// SERVICES\r\nexport * from './lib/_services/loading-transitions.service';\r\nexport * from './lib/_services/search-in-object.service';\r\nexport * from './lib/_services/tcloud-ui-check-access.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","CUSTOM_INPUT_VALIDATORS","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","noop","i1.DataListService","i4.TCloudUiDataListOptionComponent","i2.StatusInfoPipe","i1.TCloudUiSearchInObjectService","i1.DateBRPipe","i2.TCloudUiDatepickerComponent","i4.TCloudUiDataListComponent","i3.TCloudUiDatepickerTimeComponent","i4.TCloudUiDatepickerComponent","i5.TCloudUiRangeDateComponent","i1.TCloudUiAccordionService","i1.TCloudUiCheckAccessService","i3.TCloudUiDataListComponent","i2.TCloudUiCubesComponent"],"mappings":";;;;;;;;;;MAQa,0BAA0B,CAAA;AAUrC,IAAA,WAAA,GAAA;QARS,IAAA,CAAA,GAAG,GAAQ,GAAG,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,CAAA,CAAG,GAAC,GAAG,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,CAAA,CAAG,GAAC,GAAG,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,OAAA,CAAS,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,KAAA,CAAO,GAAC,KAAK,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,EAAA,CAAI,GAAC,GAAG,GAAC,CAAA,IAAA,CAAM,GAAC,CAAA,CAAA,CAAG,GAAC,GAAG,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,SAAA,CAAW,GAAC,GAAG,GAAC,CAAA,GAAA,CAAK,GAAC,CAAA,CAAA,CAAG;QAChI,IAAA,CAAA,OAAO,GAAW,EAAE;QAE7B,IAAA,CAAA,SAAS,GAAW,EAAE;QACtB,IAAA,CAAA,YAAY,GAAW,EAAE;QACzB,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,SAAS,GAAW,EAAE;IAEN;IAEhB,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE;QAEzC,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;AAEzD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE;IAC1C;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAG;AACxB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO;YACvB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC;AAC9B,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;AAC3B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,EAAE;IACX;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAG;AACxB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO;YACvB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC;AAC9B,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;YAC3B,OAAO,aAAa,GAAC,IAAI;QAC3B;AACA,QAAA,OAAO,EAAE;IACX;IAEA,gBAAgB,GAAA;QACd,IAAI,IAAI,GAAG,EAAE;QACb,IAAI,QAAQ,GAAG,IAAI;QACnB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM;AAExC,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,QAAQ,GAAG,EAAE;QACf;AAEA,QAAA,IAAI,KAAK,GAAG,EAAE,EAAE;AACd,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAE,KAAK,GAAC,CAAC,CAAC,CAAC,IAAK,GAAG;AACvC,YAAA,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;QACvB;AAEA,QAAA,IAAI,KAAK,GAAG,EAAE,EAAE;AACd,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAE,KAAK,GAAC,CAAC,CAAC,CAAC,IAAK,GAAG;AACxC,YAAA,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;QACvB;QAIA,OAAO,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAI;IACxB;+GAhEW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,6HCRvC,ihBAQM,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,CAAA,EAAA,CAAA,CAAA;;4FDAO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cAGpB,KAAK,EAAA,QAAA,EAAA,ihBAAA,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA;wDAIV,GAAG,EAAA,CAAA;sBAAX;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;MEOU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,CAVhC,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAG1B,YAAY,aAGZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAIjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAPhC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAOH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCTY,cAAc,CAAA;IAwBzB,WAAA,CACU,MAAsB,EACtB,OAAe,EAAA;QADf,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,OAAO,GAAP,OAAO;QAxBT,IAAA,CAAA,QAAQ,GAAW,EAAE;AAGrB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW;AACvC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;AAG/C,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,OAAO,EAAW;AAC5C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AAGzD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAU;AACnC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;AAGzC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAW;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AAGjD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAW;AACrC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;IAOnD;AAEA,IAAA,YAAY,CAAC,MAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC;IAEA,YAAY,GAAA;QACV,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,gBAAgB,CAAC,WAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAC/B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3C;IAEA,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA,IAAA,aAAa,CAAC,OAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;IACnC;IAEA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA,IAAA,UAAU,CAAC,IAAa,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;IAEA,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,KAAK;IACnB;IAEA,WAAW,CAAC,GAAW,EAAE,aAAkC,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;QACf,IAAI,aAAa,EAAE;AAAE,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;QAAE;AACjD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3B;IAEA,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,IAAI;IAClB;IAEA,cAAc,CAAC,EAAU,EAAE,QAAiB,EAAA;QAC1C,IAAI,MAAM,GAAG,IAAI;AACjB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ;oBACpC,MAAM,GAAG,KAAK;oBACd;gBACF;YACF;QACF;QACA,IAAI,MAAM,EAAE;AACV,YAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACrD;IACF;AAEA,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAClC;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAA;;;AAG1B,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM;AACvB,YAAA,WAAW,EAAE;gBACX,GAAG,EAAE,CAAA,EAAG,GAAG,CAAA;AACZ,aAAA;AACD,YAAA,mBAAmB,EAAE,OAAO;;AAE5B,YAAA,kBAAkB,EAAE;;AAErB,SAAA,CAAC;IACH;+GArHW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAd,cAAc,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;MCIY,wBAAwB,CAAA;IAKnC,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACvB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;IACjD;IACA,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IAG9C,IAAa,MAAM,CAAC,MAAc,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YACtB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC;AAClE,YAAA,CAAC,CAAC;QAEJ;IACF;IACA,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAG3C,IAAa,IAAI,CAAC,IAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACjB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3C;IACA,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AAOxC,IAAA,WAAA,CACU,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;QAlCf,IAAA,CAAA,aAAa,GAAY,KAAK;QAE/B,IAAA,CAAA,QAAQ,GAAY,KAAK;QAOzB,IAAA,CAAA,OAAO,GAAW,EAAE;QAYpB,IAAA,CAAA,KAAK,GAAY,KAAK;AAQpB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU;IAM3C;IAEJ,QAAQ,GAAA;QAEN,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;AAC7C,QAAA,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACzB;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;AACzE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AACzB,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE;IAC5D;+GArDW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAHtB,CAAC,cAAc,CAAC,0BCR/B,gKAEM,EAAA,MAAA,EAAA,CAAA,+IAAA,CAAA,EAAA,CAAA,CAAA;;4FDSO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,SAAA,EAGnB,CAAC,cAAc,CAAC,cACf,KAAK,EAAA,QAAA,EAAA,gKAAA,EAAA,MAAA,EAAA,CAAA,+IAAA,CAAA,EAAA;gFAIV,aAAa,EAAA,CAAA;sBAArB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAOY,MAAM,EAAA,CAAA;sBAAlB;gBAYY,IAAI,EAAA,CAAA;sBAAhB;gBAOS,QAAQ,EAAA,CAAA;sBAAjB;;;MEhCU,2BAA2B,CAAA;AAStC,IAAA,WAAA,CACU,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;QARf,IAAA,CAAA,WAAW,GAAY,KAAK;QAC5B,IAAA,CAAA,GAAG,GAAW,EAAE;QAEzB,IAAA,CAAA,MAAM,GAAY,KAAK;IAMnB;IAEJ,QAAQ,GAAA;AAEN,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;AAE7C,QAAA,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAE;AAE/C,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;YACzE,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE;AACpC,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE;IAC5D;+GA3BW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,sICVxC,6KAIA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cAGrB,KAAK,EAAA,QAAA,EAAA,6KAAA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA;gFAIV,WAAW,EAAA,CAAA;sBAAnB;gBACQ,GAAG,EAAA,CAAA;sBAAX;;;MEFU,yBAAyB,CAAA;IAUpC,IAAa,QAAQ,CAAC,QAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAE;IAChE;IACA,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AAMjD,IAAA,WAAA,CACU,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;QAnBf,IAAA,CAAA,GAAG,GAAW,EAAE;QAEhB,IAAA,CAAA,MAAM,GAAY,KAAK;QAEhC,IAAA,CAAA,OAAO,GAAY,KAAK;QACxB,IAAA,CAAA,WAAW,GAAY,KAAK;QAEpB,IAAA,CAAA,SAAS,GAAY,KAAK;AAS1B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE;IAIrC;IAEJ,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE;YACpC;YAEA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;AAC1D,YAAA,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE;AACpC,gBAAA,IAAI,CAAC,WAAW,GAAG,WAAW;YAChC;QACF;AAEA,QAAA,IAAI,CAAC,YAAY,EAAE,GAAG,CACpB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;AACrD,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE;YACpC;QACF,CAAC,CAAC,CACH;QAED,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;AACxD,QAAA,IAAI,CAAC,YAAY,EAAE,GAAG,CACpB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAG;AAC9D,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACxB,CAAC,CAAC,CACH;AAED,QAAA,IAAI,CAAC,YAAY,EAAE,GAAG,CACpB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,WAAoB,KAAG;AACtE,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;QAChC,CAAC,CAAC,CACH;IACH;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3C;QACF;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE;IAC5D;+GAtEW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,gKCXtC,6UAGwE,EAAA,MAAA,EAAA,CAAA,qmBAAA,CAAA,EAAA,CAAA,CAAA;;4FDQ3D,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,cAGnB,KAAK,EAAA,QAAA,EAAA,6UAAA,EAAA,MAAA,EAAA,CAAA,qmBAAA,CAAA,EAAA;gFAIV,GAAG,EAAA,CAAA;sBAAX;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAMY,QAAQ,EAAA,CAAA;sBAApB;;;MEVU,4BAA4B,CAAA;IAMvC,IAAa,QAAQ,CAAC,QAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAE;IAChE;IACA,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AAMjD,IAAA,WAAA,CACU,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;QAff,IAAA,CAAA,GAAG,GAAW,EAAE;QAChB,IAAA,CAAA,MAAM,GAAY,KAAK;QAExB,IAAA,CAAA,SAAS,GAAY,KAAK;QAOlC,IAAA,CAAA,OAAO,GAAY,KAAK;QACxB,IAAA,CAAA,WAAW,GAAY,KAAK;AACpB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE;IAIrC;IAEJ,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE;YACpC;YAEA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;AAC1D,YAAA,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE;AACpC,gBAAA,IAAI,CAAC,WAAW,GAAG,WAAW;YAChC;QAEF;AAEA,QAAA,IAAI,CAAC,YAAY,EAAE,GAAG,CACpB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;AACrD,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE;YACpC;QACF,CAAC,CAAC,CACH;QAED,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;AACxD,QAAA,IAAI,CAAC,YAAY,EAAE,GAAG,CACpB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAG;AAC9D,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACxB,CAAC,CAAC,CACH;AAED,QAAA,IAAI,CAAC,YAAY,EAAE,GAAG,CACpB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,WAAoB,KAAG;AACtE,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW;QAChC,CAAC,CAAC,CACH;IACH;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3C;QACF;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE;IAC5D;+GAnEW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,mJCXzC,yVAIuE,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA,CAAA,CAAA;;4FDO1D,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,yVAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA;gFAIV,GAAG,EAAA,CAAA;sBAAX;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAGY,QAAQ,EAAA,CAAA;sBAApB;;;MERU,wBAAwB,CAAA;IAGnC,IAAa,MAAM,CAAC,MAAe,EAAA;AACjC,QAAA,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC;QAC1C;IACF;IACA,IAAI,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAQ7C,IAAa,WAAW,CAAC,WAAoB,EAAA;AAC3C,QAAA,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE;AACpC,YAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAC/B,YAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACnD;IACF;IACA,IAAI,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AAEvD,IAAA,WAAA,CACU,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;QAxBhB,IAAA,CAAA,OAAO,GAAY,IAAI;QAS/B,IAAA,CAAA,EAAE,GAAW,EAAE;QACN,IAAA,CAAA,UAAU,GAAY,IAAI;AAE1B,QAAA,IAAA,CAAA,eAAe,GAA8C,aAAa,CAAC;QAE5E,IAAA,CAAA,YAAY,GAAY,KAAK;IAWjC;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE;AACpC,gBAAA,IAAI,CAAC,eAAe,GAAG,SAAS;YAClC;iBAAK;AACH,gBAAA,IAAI,CAAC,eAAe,GAAG,SAAS;YAClC;QACF;AAEA,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;IAC7B;IAEA,UAAU,GAAA;QACR,OAAO,CAAA,mBAAA,EAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE;IACnG;AAEA,IAAA,SAAS,CAAC,MAAqB,EAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IAC9C;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,GAAG,GAAS,QAAQ,CAAC,gBAAgB,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;QACxD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW;IACpD;AAEQ,IAAA,WAAW,CAAC,GAAO,EAAE,GAAO,EAAE,GAAO,EAAE,GAAO,EAAA;QACnD,MAAM,KAAK,GAAG,IAAI;QAClB,IAAI,YAAY,GAAG,CAAC,CAAK,KAAI,EAAG,OAAO,CAAC,EAAE,CAAC,IAAE,CAAC,GAAC,CAAC,GAAC,CAAC,CAAA,CAAC,CAAC;AACpD,QAAA,GAAG,IAAI,CAAC,CAAC;QACT,IAAI,IAAI,GAAG,YAAY,CAAC,GAAG,GAAC,GAAG,CAAC;AAChC,QAAA,IAAI,GAAG,GAAG,GAAG,GAAC,GAAG;QACjB,GAAG,IAAI,IAAI;QACX,GAAG,IAAI,GAAG;AACV,QAAA,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AACpB,QAAA,IAAG,GAAG,GAAG,GAAG,EAAC;AACX,YAAA,MAAM,CAAC,qBAAqB,CAAC,MAAK;gBAChC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACvC,YAAA,CAAC,CAAC;QACJ;IACF;IAEQ,UAAU,CAAC,MAAW,EAAE,GAAW,EAAA;AACzC,QAAA,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;AAClD,QAAA,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AAChB,QAAA,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU;QAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,GAAG,GAAG,GAAC,KAAK,GAAG,KAAK,GAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAC5E;+GA3EY,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,uMCTrC,wrBAuBA,EAAA,MAAA,EAAA,CAAA,8kCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDda,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAGlB,KAAK,EAAA,QAAA,EAAA,wrBAAA,EAAA,MAAA,EAAA,CAAA,8kCAAA,CAAA,EAAA;gFAKN,MAAM,EAAA,CAAA;sBAAlB;gBASQ,UAAU,EAAA,CAAA;sBAAlB;gBAEQ,eAAe,EAAA,CAAA;sBAAvB;gBAGY,WAAW,EAAA,CAAA;sBAAvB;;;MEIU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAlB9B,wBAAwB;YACxB,2BAA2B;YAC3B,yBAAyB;YACzB,4BAA4B;YAC5B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAGxB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,wBAAwB;YACxB,2BAA2B;YAC3B,yBAAyB;YACzB,4BAA4B;YAC5B,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAIf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAX9B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAWH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBApBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,2BAA2B;wBAC3B,yBAAyB;wBACzB,4BAA4B;wBAC5B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,2BAA2B;wBAC3B,yBAAyB;wBACzB,4BAA4B;wBAC5B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCxBY,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;QAKU,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,aAAa,GAAa,EAAc;AAExC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAW;AACrC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;AAE5C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAY;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;AAEhD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAW;AAC3C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAExD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW;AACvC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;AAEhD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAU;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;AAiDnD,IAAA;AA9CC,IAAA,OAAO,CAAC,MAAsB,EAAA;AAC5B,QAAA,IAAG,MAAM,KAAK,OAAO,EAAC;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxB;QACA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAG,MAAM,KAAK,MAAM,EAAG;IAC9C;AAEA,IAAA,aAAa,CAAC,IAAa,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;IACnC;IAEA,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,aAAa;IAC3B;AAEA,IAAA,SAAS,CAAC,OAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;IAClC;AAEA,IAAA,MAAM,CAAC,IAAY,EAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B;IAEA,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;IAClC;AAEA,IAAA,UAAU,CAAC,KAAiB,EAAA;QAC1B,IAAI,IAAI,GAAS,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzD,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;YACjC;AACA,YAAA,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,gBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC;YACzC;QACF;IACF;+GAnEW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;MCsBY,sBAAsB,CAAA;AAejC;;AAEG;IACH,IAAa,OAAO,CAAC,CAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;QACjB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ;QAC1C,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY;IACpD;AAEA;;AAEG;IACH,IAAa,WAAW,CAAC,CAAS,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY;QAClD,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ;IAC5C;AAsBA;;AAEG;IACH,IAAa,MAAM,CAAE,IAAmD,EAAA;QACtE,QAAQ,IAAI;AACV,YAAA,KAAK,OAAO;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAK,GAAG;gBAAE;AACrC,YAAA,KAAK,QAAQ;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAI,GAAG;gBAAE;AACrC,YAAA,KAAK,OAAO;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAK,GAAG;gBAAE;AACrC,YAAA,KAAK,KAAK;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAO,IAAI;gBAAE;AACtC,YAAA,KAAK,MAAM;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAO,IAAI;gBAAE;;IAE3C;AAMA;;AAEG;IACH,IAAa,IAAI,CAAC,IAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,WAAW,EAAE;AAElB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC;IAC3D;IACA,IAAI,IAAI,KAAc,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AAGzC;;AAEG;IACH,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC;IAC7C;IACA,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;AAQ/C,IAAA,WAAA,CACU,kBAAsC,EAAA;QAAtC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;AAjG3B;;;;;;AAME;QAEH,IAAA,CAAA,aAAa,GAAa,EAAc;;QAEhC,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,YAAY,GAAW,UAAU;;AAsBzC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE;AAEjC;;AAEG;QACM,IAAA,CAAA,SAAS,GAAY,IAAI;AAOlC;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAW,GAAG;QAiB/B,IAAA,CAAA,IAAI,GAAW,EAAE;QACjB,IAAA,CAAA,YAAY,GAAY,KAAK;QACrB,IAAA,CAAA,KAAK,GAAY,KAAK;QAatB,IAAA,CAAA,QAAQ,GAAY,KAAK;AAUvB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW;AAExC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAgC;IAIjE;IAEJ,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CACjE,CAAC,IAAa,KAAG;YACf,IAAI,IAAI,EAAE;;YAEV;YAEA,IAAI,CAAC,IAAI,EAAE;;gBAET,IAAI,CAAC,OAAO,EAAE;YAChB;QACF,CAAC,CAAC,CACH;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CACjD,CAAC,IAAa,KAAG;YACf,IAAI,IAAI,EAAE;;AAER,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAE3B;YAEA,IAAI,CAAC,IAAI,EAAE;;AAET,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxB;QACF,CAAC,CACF,CACF;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CACnB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAC1C,CAAC,IAAY,KAAG;AACd,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAClB,CAAC,CACF,CACF;QAED,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAE,IAAI,CAAC,aAAa,CAAE;IACzD;AAEA,IAAA,OAAO,CAAC,MAAwB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B;AAEA,QAAA,MAAM,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,OAAO;AACpC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC;IAC3C;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1C;aAAK;AACH,YAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3C;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE;IAC5D;+GA1KW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAhBpB;YACP;AACH,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZL,40DAqDG,EAAA,MAAA,EAAA,CAAA,6/BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDxCa;YACR,OAAO,CAAC,MAAM,EAAE;gBACZ,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,gBAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;gBACjD,UAAU,CAAC,iBAAiB,EAAE;oBAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;oBAClC,OAAO,CAAC,eAAe;iBAC1B,CAAC;AACF,gBAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC;aACzD;AACJ,SAAA,EAAA,CAAA,CAAA;;4FAGQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBApBlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,SAAA,EAGhB;wBACP;qBACH,EAAA,UAAA,EACW;wBACR,OAAO,CAAC,MAAM,EAAE;4BACZ,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;4BACjD,UAAU,CAAC,iBAAiB,EAAE;gCAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gCAClC,OAAO,CAAC,eAAe;6BAC1B,CAAC;AACF,4BAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC;yBACzD;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,40DAAA,EAAA,MAAA,EAAA,CAAA,6/BAAA,CAAA,EAAA;oFAoBN,OAAO,EAAA,CAAA;sBAAnB;gBASY,WAAW,EAAA,CAAA;sBAAvB;gBAaQ,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,QAAQ,EAAA,CAAA;sBAAhB;gBAMY,MAAM,EAAA,CAAA;sBAAlB;gBAiBY,IAAI,EAAA,CAAA;sBAAhB;gBAaY,OAAO,EAAA,CAAA;sBAAnB;gBAMS,UAAU,EAAA,CAAA;sBAAnB;gBAES,SAAS,EAAA,CAAA;sBAAlB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;;;MEjHU,4BAA4B,CAAA;AAKvC,IAAA,WAAA,CACU,mBAAuC,EAAA;QAAvC,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;QAJpB,IAAA,CAAA,IAAI,GAA4D,MAAM;IAK3E;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAE,IAAI,CAAC,IAAI,CAAE;IAC9C;+GAXW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,6HCTzC,4LAMA,EAAA,MAAA,EAAA,CAAA,0WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,0WAAA,CAAA,EAAA;oFAIV,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;;;MEJU,0BAA0B,CAAA;AAErC,IAAA,WAAA,GAAA,EAAgB;IAEhB,QAAQ,GAAA;IACR;+GALW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,iFCRvC,6FAEM,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,CAAA,CAAA;;4FDMO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cAGpB,KAAK,EAAA,QAAA,EAAA,6FAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA;;;MEMR,4BAA4B,CAAA;AAevC,IAAA,WAAA,CACU,kBAAsC,EAAA;QAAtC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAdnB,IAAA,CAAA,YAAY,GAAW,QAAQ;QAC/B,IAAA,CAAA,aAAa,GAAW,UAAU;QAClC,IAAA,CAAA,cAAc,GAAW,WAAW;QAG7C,IAAA,CAAA,SAAS,GAAW,EAAE;QAEtB,IAAA,CAAA,aAAa,GAAa,EAAc;QAExC,IAAA,CAAA,OAAO,GAAY,KAAK;IAMpB;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE;QAE9D,IAAI,CAAC,cAAc,EAAE;IACvB;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1C;AAEA,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;AAC9F,gBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC;AAC3C,gBAAA,IAAI,CAAC,SAAS,GAAG,EAAE;YACrB;QACF;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC;IAC9C;IAEA,cAAc,GAAA;QACZ,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAI,EAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAE;IACzH;IAGA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC;AACzC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QAAE;IAC5D;+GApDW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,2SCZzC,ynDA8BA,EAAA,MAAA,EAAA,CAAA,iUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,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,EAAAE,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlBa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,ynDAAA,EAAA,MAAA,EAAA,CAAA,iUAAA,CAAA,EAAA;oFAIV,YAAY,EAAA,CAAA;sBAApB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBAE0B,WAAW,EAAA,CAAA;sBAArC,SAAS;uBAAC,aAAa;;;MEab,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAlB5B,sBAAsB;YACtB,4BAA4B;YAC5B,0BAA0B;AAC1B,YAAA,4BAA4B,aAG5B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAGnB,sBAAsB;YACtB,4BAA4B;YAC5B,0BAA0B;YAC1B,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAInB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAZ5B,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAUV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBApB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,4BAA4B;wBAC5B,0BAA0B;wBAC1B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,4BAA4B;wBAC5B,0BAA0B;wBAC1B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;AC5BD,MAAM,IAAI,CAAA;AAER,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;IACxB;AAMD;MAQY,+BAA+B,CAAA;IAK1C,IAAa,MAAM,CAAE,MAAc,EAAA;QACjC,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;YACrB,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IACA,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAG3C,IAAa,SAAS,CAAE,SAA+B,EAAA;QACrD,IAAI,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9C,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IACA,IAAI,SAAS,KAA2B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IAIhE,IAAa,QAAQ,CAAE,QAAiB,EAAA;QACtC,IAAI,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;YACzB,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;IACA,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AAIhD,IAAA,WAAA,GAAA;QAhCS,IAAA,CAAA,IAAI,GAAW,CAAC;QAEjB,IAAA,CAAA,OAAO,GAAW,CAAC;QASnB,IAAA,CAAA,UAAU,GAAG,EAA0B;QAUvC,IAAA,CAAA,SAAS,GAAY,KAAK;AASlC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,KAAK,EAAQ;IAEV;IAEhB,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,MAAM,GAAG,IAAI,KAAK,EAAQ;QAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;AAC9B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAClC,gBAAA,CAAC,MAAM,EAAE,IAAI,CAAC;AACZ,oBAAA,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,CAAC,GAAC,CAAC;AACV,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,YAAY,EAAE,EAAE;AACjB,iBAAA,CAAC;YACJ;QACF;QAEA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACtB;QAEA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe;AACjC,gBAAA,IAAI,CAAC,CAAC,GAAC,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC3C,oBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa;gBACjC;YACF;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9B,gBAAA,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE;oBACpB,MAAM,EAAE,IAAI,GAAC,CAAC,EAAE,CAAC,YAAY,GAAG,eAAe;gBACjD;YACF;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACtB;+GA7EW,+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,SAAA,EAAA,IAAA,EAAA,+BAA+B,iLCvB5C,umBAcQ,EAAA,MAAA,EAAA,CAAA,uxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDSK,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,cAG1B,KAAK,EAAA,QAAA,EAAA,umBAAA,EAAA,MAAA,EAAA,CAAA,uxBAAA,CAAA,EAAA;wDAIV,IAAI,EAAA,CAAA;sBAAZ;gBAGY,MAAM,EAAA,CAAA;sBAAlB;gBASY,SAAS,EAAA,CAAA;sBAArB;gBAUY,QAAQ,EAAA,CAAA;sBAApB;;;ME7BU,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,CAVrC,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAG/B,YAAY,aAGZ,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAItB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAPrC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAOH,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAZxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;ACdD,MAAOC,yBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MASY,4BAA4B,CAAA;AAqBvC,IAAA,WAAA,GAAA;QAhBS,IAAA,CAAA,WAAW,GAAW,mBAAmB;QACzC,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,OAAO,GAAY,KAAK;QAIxB,IAAA,CAAA,sBAAsB,GAAY,KAAK;QACvC,IAAA,CAAA,SAAS,GAAY,KAAK;AAEzB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAS;QAE9C,IAAA,CAAA,uBAAuB,GAAY,KAAK;QAExC,IAAA,CAAA,aAAa,GAAW,CAAC;AAgFf,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;;;QAMpC,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;IApFlC;IAEf,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC;AAEA,IAAA,OAAO,CAAC,IAAS,EAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE;oBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI;oBAC5B;gBACF;YACF;YACA,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;AAEA,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE;oBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK;oBAC7B;gBACF;YACF;YACA,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IAEQ,QAAQ,GAAA;QACd,IAAI,aAAa,GAAG,CAAC;QACrB,IAAI,KAAK,GAAU,EAAE;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,GAAG,CAAC,MAAM,EAAE;AACd,oBAAA,aAAa,EAAE;AACf,oBAAA,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;gBACnB;YACF;QACF;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC;IAGA,cAAc,GAAA;QACZ,IAAI,MAAM,GAAG,CAAC;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3B,gBAAA,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAC;AAC9C,oBAAA,MAAM,EAAE;oBACR;gBACF;YACF;QACF;AACA,QAAA,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;IACpC;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAkBA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1B;IACF;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1B;IACF;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC7B;AAEA,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;AAEO,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU;QACpD;AACA,QAAA,OAAO,IAAI;IACb;IAEA,WAAW,GAAA;IAEX;+GA7JW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,mWAH1B,CAACD,qCAAmC,EAAED,yBAAuB,CAAC,0BCtB7E,49EA2DA,EAAA,MAAA,EAAA,CAAA,syCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlCa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,aAGvB,CAACC,qCAAmC,EAAED,yBAAuB,CAAC,cAC7D,KAAK,EAAA,QAAA,EAAA,49EAAA,EAAA,MAAA,EAAA,CAAA,syCAAA,CAAA,EAAA;wDAMV,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,sBAAsB,EAAA,CAAA;sBAA9B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAES,QAAQ,EAAA,CAAA;sBAAjB;gBAoFS,QAAQ,EAAA,CAAA;sBAAjB;;;ME5GU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAzB,yBAAyB,EAAA,YAAA,EAAA,CATrB,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAGzC,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAJX,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAQ3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YANlC,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAIV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;oBAC5C,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCVY,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,iBAAiB,GAAiB,IAAI,OAAO,EAAO;AACrD,QAAA,IAAA,CAAA,WAAW,GAA6B,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAE5E,QAAA,IAAA,CAAA,uBAAuB,GAAiB,IAAI,OAAO,EAAO;AAC3D,QAAA,IAAA,CAAA,iBAAiB,GAA6B,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE;AAExF,QAAA,IAAA,CAAA,mBAAmB,GAAiB,IAAI,OAAO,EAAO;AACvD,QAAA,IAAA,CAAA,aAAa,GAA6B,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;AAEhF,QAAA,IAAA,CAAA,kBAAkB,GAAiB,IAAI,OAAO,EAAO;AACtD,QAAA,IAAA,CAAA,YAAY,GAA6B,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AA0BvF,IAAA;AAtBQ,IAAA,YAAY,CAAC,CAAM,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC;AACtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC;AAEO,IAAA,kBAAkB,CAAC,CAAM,EAAA;AAC9B,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC;AAEO,IAAA,mCAAmC,CAAC,CAAM,EAAA;AAC/C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC;AAEO,IAAA,aAAa,CAAC,CAAM,EAAA;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC;IAEO,aAAa,GAAA;;QAElB,OAAO,IAAI,CAAC,aAAa;IAC3B;+GAnCW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAf,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;MCHY,cAAc,CAAA;AAI1B;;MCQY,+BAA+B,CAAA;AAY1C,IAAA,WAAA,CAAqB,eAAgC,EAAA;QAAhC,IAAA,CAAA,eAAe,GAAf,eAAe;QAVpC,IAAA,CAAA,EAAE,GAAW,EAAE;AAEf,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,cAAc,EAAE;QAG5B,IAAA,CAAA,QAAQ,GAAwB,KAAK;AAGpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;IAG5C;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;AACzD,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAG;AACzE,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC;AACxB,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QAC3B,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,UAAU,GAAA;QACR,OAAO,CAAA,iBAAA,EAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE;IACjG;AAEA,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,KAAK,KAAK,EAAE,EAAE;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE;QAAE;QAErC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,QAAA,MAAM,WAAW,GAAS,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE;AAC3E,QAAA,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,CAAC;QACpD,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,gBAAgB,GAAA;QACd,UAAU,CAAC,MAAK;AACd,YAAA,IAAI;AACF,gBAAA,MAAM,WAAW,GAAS,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS;gBACrE,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AACtC,gBAAA,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,WAAW;gBAC7C,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAAC,IAAI,CAAC,cAAc,CAAC;YAC/E;AAAE,YAAA,OAAO,KAAK,EAAE,EAAE;AACpB,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAAE,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;QAAE;IAC1E;+GAnDW,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,eAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,+BAA+B,4KCZ5C,gkBAeA,EAAA,MAAA,EAAA,CAAA,wVAAA,CAAA,EAAA,CAAA,CAAA;;4FDHa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,cAG1B,KAAK,EAAA,QAAA,EAAA,gkBAAA,EAAA,MAAA,EAAA,CAAA,wVAAA,CAAA,EAAA;iFASV,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAES,QAAQ,EAAA,CAAA;sBAAjB;;;AEhBH,MAAMF,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MAaY,yBAAyB,CAAA;IAWpC,IAAa,QAAQ,CAAC,CAAC,EAAA;QACrB,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;AAClD,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC;;;YAGlB,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IACA,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IAGhD,IAAa,OAAO,CAAC,CAAU,EAAA;QAC7B,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;;;YAGjB,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IACA,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IAO9C,IAAa,SAAS,CAAC,CAAmB,EAAA;QACxC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;IACF;IACA,IAAI,SAAS,KAAsB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IAG3D,IAAa,IAAI,CAAC,CAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC;YACd,IAAI,CAAC,EAAE;AACL,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,gBAAA,UAAU,CAAC,MAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC;QACF;IACF;IACA,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAaxC,IAAa,OAAO,CAAC,CAAM,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAkBA,WAAA,CACU,eAAgC,EAChC,WAAwB,EAAA;QADxB,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,WAAW,GAAX,WAAW;QAxFrB,IAAA,CAAA,cAAc,GAAW,CAAC;QAC1B,IAAA,CAAA,eAAe,GAAW,CAAC;QAC3B,IAAA,CAAA,UAAU,GAAW,CAAC;QACtB,IAAA,CAAA,SAAS,GAAW,EAAE;QACtB,IAAA,CAAA,WAAW,GAAW,EAAE;QAEf,IAAA,CAAA,WAAW,GAAW,EAAE;QAEzB,IAAA,CAAA,SAAS,GAAY,KAAK;QAW1B,IAAA,CAAA,QAAQ,GAAY,KAAK;QAYxB,IAAA,CAAA,SAAS,GAAY,IAAI;QACzB,IAAA,CAAA,MAAM,GAAY,IAAI;QAEvB,IAAA,CAAA,UAAU,GAAqB,EAAE;QAQjC,IAAA,CAAA,KAAK,GAAY,KAAK;QAcrB,IAAA,CAAA,MAAM,GAAY,IAAI;AAErB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAkB;AAClD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAkB;AAE7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;AAOlC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO;AAEjD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,KAAK,EAAkB;QASnD,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,EAAE,GAAW,EAAE;;;QA4ML,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;AApMjD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAG;AACvE,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC;YACtB,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAC7C,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAG;AACnF,YAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC;AAC/B,QAAA,CAAC,CAAC;AAGF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAK,KAAI;AACjF,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;gBAChB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC;AACF,QAAA,CAAC,CAAC;IAEJ;IAEA,QAAQ,GAAA;AAIN,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QAE3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACvC,YAAA,eAAe,EAAE,IAAI,WAAW,CAAC,EAAE,EAAC,EAAE,CAAC;AACxC,SAAA,CAAC;QAIF,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,OAAO,EAAE;IAChB;IAGA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,SAAS;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,EAAE;IAC7C;IAEA,wBAAwB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,EAAE;AACzE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;oBACrC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAC,WAAW,EAAE;AAClD,wBAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,oBAAoB,EAAE;4BACtE,UAAU,CAAC,MAAK;AACd,gCAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW;gCAC5C,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;AACxD,4BAAA,CAAC,CAAC;wBACJ;oBACF;oBACA;gBACF;YACF;QACF;IACF;IAEA,UAAU,GAAA;QACR,OAAO,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE;IAC1F;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAAE,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;QAAE;AACtE,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAAE,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE;QAAE;AAClF,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAAE,YAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE;QAAE;IAC5E;AAEA,IAAA,QAAQ,CAAC,CAAM,EAAA;QACb,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;QAEnE,IAAI,MAAM,GAAG,CAAE,CAAE,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE;AAClG,QAAA,IAAI,EAAE,GAAS,QAAQ,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;QAC5D,IAAI,EAAE,EAAE;YACN,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;AAC1C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChC,gBAAA,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACf,gBAAA,MAAM,QAAQ,GAAG,CAAE,CAAE,CAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,EAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE;gBAC/H,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;gBAC5B;qBAAO;oBACH,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;gBAChC;YACJ;QACF;IACF;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,EAAE;AACzE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;AACrC,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW;oBAC5C,IAAI,CAAC,QAAQ,EAAE;oBACf;gBACF;YACF;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE;AAChG,YAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE;YAC9B,IAAI,CAAC,QAAQ,EAAE;QACjB;IAEF;AAGA,IAAA,OAAO,CAAC,CAAM,EAAA;QACZ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB;IAEA,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AACnE,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE;YACzB;AACA,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;YACrB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;YAEtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAElD,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;;AAEnE,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACpD;AACF,QAAA,CAAC,CAAC;IACJ;IAGA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnB;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;AAChC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC;AAC9C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;AAEA,IAAA,yBAAyB,CAAC,IAAa,EAAA;QACrC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,YAAA,MAAM,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE;AACvB,YAAA,MAAM,GAAG,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,EAAE,EAAE;AAC5B,YAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU;YAC1C;YACA,MAAM,IAAI,GAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE;AAClE,YAAA,MAAM,YAAY,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC;YACtC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,UAAU,GAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,IAAI,CAAC;AAClE,gBAAA,IAAI,CAAE,IAAI,CAAC,eAAe,GAAG,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5D,oBAAA,IAAI,CAAC,WAAW,GAAG,aAAa;AAChC,oBAAA,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,GAAW,IAAI,CAAC,UAAU,EAAE,YAAA,EAAe,IAAI,CAAC,UAAU,KAAK;gBAClF;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;IAGA,QAAQ,GAAA;AACN,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;AACrC,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU;AACvC,YAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW;AACzC,YAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC;AAChD,QAAA,CAAC,CAAC;IACJ;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,GAAG,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,EAAE,EAAE;QAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,CAAM,KAAI;AACzC,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;oBACvD,IAAI,CAAC,OAAO,EAAE;gBAChB;YACF;AACF,QAAA,CAAC,CAAC;IACJ;;AAUE,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,aAAa;IAC7B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACZ,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC;AACtB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5B;IACJ;;IAGA,MAAM,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE;IAC5B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;AAC9B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC9B;IACJ;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC9B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC/B;+GApUS,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EANvB;YACP,eAAe;YACfF;AACH,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBL,siFA0DA,EAAA,MAAA,EAAA,CAAA,6pDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,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,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,+BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDhCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,SAAA,EAGpB;wBACP,eAAe;wBACfH;AACH,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,siFAAA,EAAA,MAAA,EAAA,CAAA,6pDAAA,CAAA,EAAA;2GAUV,WAAW,EAAA,CAAA;sBAAnB;gBAGY,QAAQ,EAAA,CAAA;sBAApB;gBAWY,OAAO,EAAA,CAAA;sBAAnB;gBAWQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBAGY,SAAS,EAAA,CAAA;sBAArB;gBAQY,IAAI,EAAA,CAAA;sBAAhB;gBAaQ,MAAM,EAAA,CAAA;sBAAd;gBAES,aAAa,EAAA,CAAA;sBAAtB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBAES,QAAQ,EAAA,CAAA;sBAAjB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBAGY,OAAO,EAAA,CAAA;sBAAnB;gBAIS,aAAa,EAAA,CAAA;sBAAtB;;;MExEU,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAd/B,yBAAyB;AACzB,YAAA,+BAA+B,aAO/B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aANnB,yBAAyB;YACzB,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAStB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAN/B,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAIV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAhBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;wBACzB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;ACpBD,MAAMA,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC5D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MASY,6BAA6B,CAAA;AAkBxC,IAAA,WAAA,GAAA;QAfS,IAAA,CAAA,IAAI,GAAY,KAAK;QACrB,IAAA,CAAA,MAAM,GAAW,EAAE;QACnB,IAAA,CAAA,SAAS,GAAW,EAAE;QAEtB,IAAA,CAAA,QAAQ,GAAY,KAAK;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;QAM5C,IAAA,CAAA,UAAU,GAAY,KAAK;;;QASjB,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;QALjD,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE;;AAOE,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAU,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5B;IACJ;;IAGA,MAAM,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE;IAC5B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QAC3B;IACJ;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC9B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC/B;AAEA,IAAA,IAAI,CAAC,CAAM,EAAA;AACP,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB;IAEA,QAAQ,GAAA;;;;AAIJ,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD;+GAvES,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,oMAH3B,CAACD,qCAAmC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAevB,IAAI,6BChCjC,yjDAyCM,EAAA,MAAA,EAAA,CAAA,s0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDrBO,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAAA,SAAA,EAGxB,CAACA,qCAAmC,CAAC,cACpC,KAAK,EAAA,QAAA,EAAA,yjDAAA,EAAA,MAAA,EAAA,CAAA,s0BAAA,CAAA,EAAA;wDAKV,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBAIkD,QAAQ,EAAA,CAAA;sBAA1D,SAAS;uBAAC,OAAO,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;;;MEXrC,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAZnC,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAM7B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aALnB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AASpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YANnC,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAIV,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAdtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;ACjBD,MAAOD,yBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MASY,2BAA2B,CAAA;AAqBtC,IAAA,WAAA,GAAA;QAfS,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,OAAO,GAAY,KAAK;QAGxB,IAAA,CAAA,SAAS,GAAY,KAAK;QAGnC,IAAA,CAAA,aAAa,GAAW,CAAC;QAEzB,IAAA,CAAA,uBAAuB,GAAY,KAAK;AAG9B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAS;AAmEpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;;;QAMpC,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;IAxEjC;IAEhB,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,OAAO,CAAC,IAAS,EAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;QAClB;AACA,QAAA,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE;AACf,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;IACvB;IAGA,UAAU,CAAC,IAAS,EAAE,KAAa,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE;oBACrC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;oBAC7B;gBACF;YACF;YACA,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IAEQ,QAAQ,GAAA;QACd,IAAI,aAAa,GAAG,CAAC;QACrB,IAAI,KAAK,GAAU,EAAE;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,gBAAA,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;YACnB;QACF;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QAClD;AACA,QAAA,OAAO,KAAK;IACd;IAEA,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAkBA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1B;IACF;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1B;IACF;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC7B;AAEA,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;IACrB;AAEO,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU;QACpD;AACA,QAAA,OAAO,IAAI;IACb;IAEA,WAAW,GAAA;IAEX;+GAjJW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,gTAHzB,CAACD,qCAAmC,EAAED,yBAAuB,CAAC,0BCtB7E,qxDAoDA,EAAA,MAAA,EAAA,CAAA,4xCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,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,CAAA,CAAA;;4FD3Ba,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,aAGtB,CAACI,qCAAmC,EAAED,yBAAuB,CAAC,cAC7D,KAAK,EAAA,QAAA,EAAA,qxDAAA,EAAA,MAAA,EAAA,CAAA,4xCAAA,CAAA,EAAA;wDAMV,MAAM,EAAA,CAAA;sBAAd;gBAEQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAQS,QAAQ,EAAA,CAAA;sBAAjB;gBAmES,QAAQ,EAAA,CAAA;sBAAjB;;;MEhGU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAxB,wBAAwB,EAAA,YAAA,EAAA,CATpB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAGxC,WAAW;YACX,mBAAmB;AACnB,YAAA,YAAY,aAJJ,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAQ1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YANjC,WAAW;YACX,mBAAmB;YACnB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;oBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACtC,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX,mBAAmB;wBACnB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCRY,aAAa,CAAA;AAJ1B,IAAA,WAAA,GAAA;QAMI,IAAA,CAAA,KAAK,GAAa,CAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,CAAC;AAiBvI,IAAA;AAdG,IAAA,SAAS,CAAC,OAAe,EAAA;AAEvB,QAAA,IAAI,OAAO,KAAK,EAAE,EAAE;YAElB,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,IAAI,IAAI,GAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,IAAI,EAAE,GAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEpB,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,GAAC,CAAC,EAAE;YAC3B;QACF;AACA,QAAA,OAAO,EAAE;IACX;+GAlBS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAb,aAAa,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAMI,QAAA,IAAA,CAAA,cAAc,GAAG;AACf,YAAA,EAAE,GAAG,EAAE,WAAW,EAAM,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,UAAU,EAAE;AAC3C,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,EAAE;AACvC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,cAAc,EAAE;AAC/C,YAAA,EAAE,GAAG,EAAE,cAAc,EAAG,KAAK,EAAE,mBAAmB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,UAAU,EAAO,KAAK,EAAE,WAAW,EAAE;SAC7C;AAED,QAAA,IAAA,CAAA,eAAe,GAAG;AAChB,YAAA,EAAE,GAAG,EAAE,WAAW,EAAM,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,sBAAsB,EAAE;AACvD,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,EAAE;AACvC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,yBAAyB,EAAE;AAC1D,YAAA,EAAE,GAAG,EAAE,cAAc,EAAG,KAAK,EAAE,mBAAmB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,yBAAyB,EAAE;AAC1D,YAAA,EAAE,GAAG,EAAE,UAAU,EAAO,KAAK,EAAE,WAAW,EAAE;SAC7C;AAqDJ,IAAA;IAnDG,SAAS,CAAC,WAAgB,EAAE,IAAa,EAAA;AAEvC,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc;AAElC,QAAA,IAAI,IAAI,IAAI,IAAI,KAAK,SAAS,EAAC;YAC7B,QAAQ,IAAI;AACV,gBAAA,KAAK,UAAU;AAAE,oBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe;oBAAE;;QAEtD;QAEA,IAAI,qBAAqB,GAAG,EAAE;AAC9B,QAAA,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAC;AAEzB,YAAA,QAAQ,GAAG,IAAI,CAAC,cAAc;AAC9B,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,CAAA,EAAG,WAAW,CAAA,CAAE,KAAK,EAAE,EAAE;AAChF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,WAAW,CAAA,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,CAAE,EAAE,WAAW,EAAE,EAAE;wBAC7E,qBAAqB,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wBAChD;oBACF;gBACF;YACF;AAEA,YAAA,QAAQ,GAAG,IAAI,CAAC,eAAe;AAC/B,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,CAAA,EAAG,WAAW,CAAA,CAAE,KAAK,EAAE,EAAE;AAChF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,WAAW,CAAA,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,CAAE,EAAE,WAAW,EAAE,EAAE;wBAC7E,qBAAqB,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wBAChD;oBACF;gBACF;YACF;QAEF;aAAK;AACH,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,CAAA,EAAG,WAAW,CAAA,CAAE,KAAK,EAAE,EAAE;AAChF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,WAAW,CAAA,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,CAAE,EAAE,WAAW,EAAE,EAAE;wBAC7E,qBAAqB,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wBAChD;oBACF;gBACF;YACF;QACF;AAGA,QAAA,IAAI,qBAAqB,KAAK,EAAE,EAAE;AAChC,YAAA,OAAO,qBAAqB;QAC9B;AAEA,QAAA,OAAO,WAAW;IACpB;+GA1ES,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAMI,QAAA,IAAA,CAAA,GAAG,GAAG;;AAEJ,YAAA,EAAE,GAAG,EAAE,YAAY,EAAG,KAAK,EAAE,UAAU,EAAE;AACzC,YAAA,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE;AAChD,YAAA,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;;AAGjC,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAG,KAAK,EAAE,YAAY,EAAE;AACvC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;;AAGpC,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,YAAA,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;AAC9B,YAAA,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;;AAG7B,YAAA,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;AAC7B,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACpC,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;AAClD,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;AACrC,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;;AAGpC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAG,KAAK,EAAE,SAAS,EAAE;AACrC,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;AAGhC,YAAA,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC5D,YAAA,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE;AACxD,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB;SAEnD;AA4BJ,IAAA;AAzBG,IAAA,SAAS,CAAC,CAAM,EAAA;AAEd,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAE7C,YAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACzB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,QAAQ,GAAG,CAAC;AAChB,oBAAA,QAAQ,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE;AACnC,oBAAA,QAAQ,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;oBAC5B,QAAQ,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACzC,oBAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;oBACzD,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE;wBAC5C,OAAO,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE;oBAC/B;gBACF;YACF;iBAAK;AACH,gBAAA,OAAO,EAAE;YACX;QAGF;QACA,OAAO,CAAA,EAAG,CAAC,CAAA,CAAE;IACf;+GAxES,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,QAAQ,CAAA;AAJrB,IAAA,WAAA,GAAA;QAKI,IAAA,CAAA,OAAO,GAAW,oBAAoB;AAsBzC,IAAA;AArBG,IAAA,UAAU,CAAC,CAAM,EAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE;AAChB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB;qBAAK;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB;YACJ;QACJ;aAAK;AACD,YAAA,OAAO,CAAC;QACZ;AACA,QAAA,OAAO,OAAO;IAClB;AACA,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC;+GAtBS,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAR,QAAQ,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,OAAO,CAAA;AAJpB,IAAA,WAAA,GAAA;QAKI,IAAA,CAAA,OAAO,GAAW,gBAAgB;AAsBrC,IAAA;AArBG,IAAA,UAAU,CAAC,CAAM,EAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE;AAChB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB;qBAAK;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB;YACJ;QACJ;aAAK;AACD,YAAA,OAAO,CAAC;QACZ;AACA,QAAA,OAAO,OAAO;IAClB;AACA,IAAA,SAAS,CAAC,GAAW,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IAC/B;+GAtBS,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAP,OAAO,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBAJnB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,SAAS,CAAA;AAEpB,IAAA,WAAW,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAA;AAC1B,QAAA,IAAI,CAAC,CAAC;AAAE,YAAA,OAAO,KAAK;QACpB,IAAI,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,SAAS;AAC7B,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5H;IAEA,SAAS,CAAC,KAAU,EAAE,SAAkB,EAAA;AAEtC,QAAA,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE;YAErE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;AACtC,gBAAA,KAAK,GAAG,KAAK,GAAG,IAAI;YACtB;YAEA,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;gBACtC,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI;YAC/B;QACF;AAEA,QAAA,MAAM,CAAC,GAAW,CAAC,KAAK;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9B;+GAxBW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAT,SAAS,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAJrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,UAAU,CAAA;AAJvB,IAAA,WAAA,GAAA;QAKI,IAAA,CAAA,OAAO,GAAW,YAAY;AA2EjC,IAAA;AA1EG,IAAA,UAAU,CAAC,CAAM,EAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE;AAChB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB;qBAAK;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB;YACJ;QACJ;aAAK;AACD,YAAA,OAAO,CAAC;QACZ;AACA,QAAA,OAAO,OAAO;IAClB;AAEA,IAAA,WAAW,CAAC,CAAM,EAAA;QACd,MAAM,IAAI,GAAG,OAAO;QACpB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE;AAChB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB;qBAAK;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB;YACJ;QACJ;aAAK;AACD,YAAA,OAAO,CAAC;QACZ;AACA,QAAA,OAAO,OAAO;IAClB;IAEA,WAAW,CAAC,CAAS,EAAE,KAAa,EAAA;QAChC,MAAM,IAAI,GAAG,KAAK;QAClB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE;AAChB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB;qBAAK;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB;YACJ;QACJ;aAAK;AACD,YAAA,OAAO,CAAC;QACZ;AACA,QAAA,OAAO,OAAO;IAClB;AAEA,IAAA,SAAS,CAAC,CAAS,EAAA;QAEf,IAAI,CAAC,EAAE;YAEH,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YAE1B,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,GAAG,CAAC;YAAE;YACxD,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,KAAK,CAAC;YAAE;YAC1D,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,MAAM,CAAC;YAAE;YAC3D,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,OAAO,CAAC;YAAE;YAC5D,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,SAAS,CAAC;YAAE;YAC9D,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,UAAU,CAAC;YAAE;YAC/D,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,WAAW,CAAC;YAAE;YAChE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,YAAY,CAAC;QAC3C;AACA,QAAA,OAAO,EAAE;IACb;+GA3ES,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAV,UAAU,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,UAAU,CAAA;AAErB,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,CAAC,GAAG,EAAE;QACV,IAAI,CAAC,GAAG,EAAE;AACV,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,CAAC,IAAI,CAAC,GAAG,CAAA,EAAG,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE;YAEtB,CAAC,GAAG,IAAI;AACR,YAAA,IAAI,CAAC,CAAC,GAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE;gBAChC,CAAC,GAAG,KAAK;YACb;QACJ;AACA,QAAA,OAAO,CAAC;IACV;AAEA,IAAA,SAAS,CAAC,KAAU,EAAA;QAClB,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAClC;AACA,QAAA,OAAO,KAAK;IACd;+GArBW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAV,UAAU,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCEY,6BAA6B,CAAA;IAExC,WAAA,CACU,QAAkB,EAClB,UAA0B,EAAA;QAD1B,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,UAAU,GAAV,UAAU;IAChB;AAEI,IAAA,OAAO,CAAC,CAAM,EAAA;AACpB,QAAA,IAAI,CAAC,IAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AACnD,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE;gBAAC;gBAC1D,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AACtB,oBAAA,OAAO,KAAK;gBACd;qBAAO;AACL,oBAAA,OAAO,IAAI;gBACb;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,SAAS,CAAC,IAAS,EAAA;AACzB,QAAA,MAAM,CAAC,GAAG,CAAE,CAAE,CAAC,CAAA,EAAG,IAAI,CAAA,CAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE;AACnG,QAAA,OAAO,CAAC;IACV;AAEA;;;;;AAKG;AACH,IAAA,IAAI,CAAC,KAAa,EAAE,QAAa,EAAE,aAAmB,EAAA;AACpD,QAAA,IAAI,KAAK,IAAI,EAAE,EAAC;AAEd,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,OAAO,QAAQ;YACjB;YACA,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE;gBACzD,aAAa,GAAG,EAAE;gBAClB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;AAC7B,oBAAA,aAAa,CAAC,IAAI,CAAE,GAAG,CAAE;gBAC3B;YACF;AAEA,YAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,gBAAA,OAAO,QAAQ;YACjB;YAEA,IAAI,QAAQ,GAAG,KAAK;AAEpB,YAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC7B,IAAI,MAAM,GAAC,EAAE;AACb,YAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AAC1B,gBAAA,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC3B,IAAI,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE;oBAC5C,QAAQ,GAAG,IAAI;AACf,oBAAA,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;wBACvC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACzC,wBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,UAAU,EAAE;AAC7D,4BAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,kBAAkB,CAAC;AAC7D,4BAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC;AACnD,4BAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAC,GAAG,GAAC,KAAK,GAAC,GAAG,GAAC,OAAO,CAAC,WAAW,CAAC,CAAC;4BAC1E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACpE,gCAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gCAAE;4BACxB;wBACF;6BAAO;4BACL,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAC,EAAE,CAAC;4BAC3F,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACpE,gCAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gCAAE;4BACxB;wBACF;oBACF;gBACF;YACF;AAEA,YAAA,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;;gBAEpF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC;AACpC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,oBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;oBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;wBAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1B;gBACF;YACF;AAGA,YAAA,OAAO,MAAM;QACf;AACA,QAAA,OAAO,QAAQ;IACjB;+GA1FW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA;;4FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCGY,4BAA4B,CAAA;IAiBvC,IAAa,WAAW,CAAC,WAAgB,EAAA;QACvC,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,YAAY,GAAG,WAAW;AAE/B,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,aAAa,GAAG,WAAW;gBAChC,IAAI,CAAC,OAAO,EAAE;YAChB;QACF;IACF;IACA,IAAI,WAAW,KAAI,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AAM7C,IAAA,WAAA,CACU,qBAAoD,EAAA;QAApD,IAAA,CAAA,qBAAqB,GAArB,qBAAqB;AAhC/B;;;;;;AAMG;QAEM,IAAA,CAAA,WAAW,GAAW,aAAa;QAEnC,IAAA,CAAA,MAAM,GAAY,IAAI;QAE/B,IAAA,CAAA,WAAW,GAAW,EAAE;AAiBd,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAO;IAIrC;IAEJ,QAAQ,GAAA;IACR;AAEA,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA,EAAG,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC;AAC5E,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB;aAAK;AACH,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE;YACvB,IAAI,CAAC,OAAO,EAAE;QAChB;AACA,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;IACvB;IAEA,OAAO,GAAA;QACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,aAAa,CAAE;IACvC;+GA1DW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,6BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,sMCTzC,4vBAaQ,EAAA,MAAA,EAAA,CAAA,gdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,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,EAAAE,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDJK,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,4vBAAA,EAAA,MAAA,EAAA,CAAA,gdAAA,CAAA,EAAA;+FAYV,WAAW,EAAA,CAAA;sBAAnB;gBAEQ,MAAM,EAAA,CAAA;sBAAd;gBAKY,WAAW,EAAA,CAAA;sBAAvB;gBAcS,KAAK,EAAA,CAAA;sBAAd;;;MEnBU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAzB,yBAAyB,EAAA,YAAA,EAAA,CAZlC,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAM5B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aALnB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AASnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YANlC,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAIV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAdrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCZY,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,OAAO,GAAW,6BAA6B;QAEjD,IAAA,CAAA,SAAS,GAAQ,EAAE;AAK3B,IAAA;IAHC,QAAQ,GAAA;IAER;+GATW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,gHCRtC,4QAKM,EAAA,MAAA,EAAA,CAAA,mTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,CAAA,EAAA,CAAA,CAAA;;4FDGO,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,cAGnB,KAAK,EAAA,QAAA,EAAA,4QAAA,EAAA,MAAA,EAAA,CAAA,mTAAA,CAAA,EAAA;8BAKV,OAAO,EAAA,CAAA;sBAAf;;;MEKU,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,CAV/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAGzB,YAAY,aAGZ,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAIhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAP/B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAOH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCPY,sBAAsB,CAAA;AAKjC,IAAA,WAAA,GAAA;QAHS,IAAA,CAAA,UAAU,GAAY,IAAI;QAC1B,IAAA,CAAA,OAAO,GAAY,KAAK;IAEjB;IAEhB,QAAQ,GAAA;IACR;+GARW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,sICRnC,4PAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDIa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cAGf,KAAK,EAAA,QAAA,EAAA,4PAAA,EAAA;wDAIV,UAAU,EAAA,CAAA;sBAAlB;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;MEOU,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,CAV5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAMtB,YAAY,aAHZ,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAOb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAJ5B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCTY,2BAA2B,CAAA;AANxC,IAAA,WAAA,GAAA;QAYW,IAAA,CAAA,SAAS,GAAa,EAAE;AACvB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU;AAOjD,IAAA;AALQ,IAAA,UAAU,CAAC,WAAmB,EAAA;AAEnC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;QAC7D,OAAO,UAAU,GAAG,IAAI,GAAG,KAAK;IAClC;+GAbW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,+OCRxC,wjCA+BA,EAAA,MAAA,EAAA,CAAA,8wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvBa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cAGrB,KAAK,EAAA,QAAA,EAAA,wjCAAA,EAAA,MAAA,EAAA,CAAA,8wBAAA,CAAA,EAAA;8BAIQ,IAAI,EAAA,CAAA;sBAA9B,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChB,MAAM,EAAA,CAAA;sBAAd;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACS,SAAS,EAAA,CAAA;sBAAlB;;;MEIU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,CAbjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAG3B,YAAY,aAGZ,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAOlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAVjC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAUH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB;AACD,qBAAA;AACF,iBAAA;;;MCVY,0BAA0B,CAAA;AAQrC,IAAA,WAAA,GAAA;QANS,IAAA,CAAA,MAAM,GAAY,IAAI;QACtB,IAAA,CAAA,SAAS,GAAoB,KAAK;QAE3C,IAAA,CAAA,OAAO,GAAW,IAAI;IAGN;IAEhB,QAAQ,GAAA;QACN,IAAI,GAAG,GAAG,EAAE;AACZ,QAAA,IAAI,GAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EAAE;YACvB,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC;QAChD;;AAGA,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;AAC1C,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;aAAK;YACH,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE;QACpC;AAEA,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAE,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AAChE,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,OAAO,EAAC;QAC7D;aAAK;AACH,YAAA,IAAI,CAAC,YAAY,GAAG,EAAC,YAAY,EAAE,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,OAAO,EAAC;QACjE;IACF;AAEA,IAAA,cAAc,CAAC,GAAW,EAAA;;QAExB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACxC,QAAA,OAAO,SAAS;IACpB;+GAnCa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,uICRvC,6NAIM,EAAA,MAAA,EAAA,CAAA,ggBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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;;4FDIO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cAGpB,KAAK,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,ggBAAA,CAAA,EAAA;wDAIV,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;MEOU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,CAVhC,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAM1B,YAAY,aAHZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAOjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAJhC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;ICWW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,gBAA2B;AAC3B,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,YAAmB;AACvB,CAAC,EARW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;IAUb;AAAZ,CAAA,UAAY,WAAW,EAAA;AACnB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,WAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACT,IAAA,WAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACT,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACzB,CAAC,EAPW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;;AC/BvB,IAAI,WAAW,GAAG;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;AAC5E,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5D,QAAA,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QACrI,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACjG,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,SAAS,EAAE;AACZ;CACF;AAED,MAAME,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MAcY,2BAA2B,CAAA;IA0CtC,IAAa,OAAO,CAAC,CAAM,EAAA;QAEzB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC;YAC3B,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACzD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,EAAE,MAAM;YAC1C;AACA,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvB;IACF;AAUA,IAAA,WAAA,CACU,WAAuB,EAAA;QAAvB,IAAA,CAAA,WAAW,GAAX,WAAW;;QA7DZ,IAAA,CAAA,QAAQ,GAAY,KAAK;;;QAIzB,IAAA,CAAA,gBAAgB,GAAW,CAAC;;QAG5B,IAAA,CAAA,kBAAkB,GAAa,EAAE;;QAGjC,IAAA,CAAA,OAAO,GAAW,EAAE;;QAGpB,IAAA,CAAA,OAAO,GAAW,EAAE;;QAGpB,IAAA,CAAA,aAAa,GAAa,EAAE;;QAG5B,IAAA,CAAA,SAAS,GAAY,KAAK;QAE1B,IAAA,CAAA,SAAS,GAAY,IAAI;QAEzB,IAAA,CAAA,kBAAkB,GAAY,KAAK;QAEnC,IAAA,CAAA,kBAAkB,GAAY,KAAK;QAEnC,IAAA,CAAA,kBAAkB,GAAY,KAAK;QAEnC,IAAA,CAAA,QAAQ,GAAY,KAAK;;AAGxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiB;QAItD,IAAA,CAAA,sBAAsB,GAAW,CAAC;AAgBxB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAiB;AAEjD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;QAItC,IAAA,CAAA,IAAI,GAAW,sBAAsB;QAM9C,IAAA,CAAA,EAAE,GAAW,EAAE;;;QA8WP,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;IAjX7C;IAIJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QAC3B,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;QAC1C,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,UAAU,GAAA;QACR,OAAO,CAAA,qBAAA,EAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE;IACrG;AAEA,IAAA,SAAS,CAAC,CAAS,EAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACtC;IAEA,cAAc,CAAC,UAAe,EAAE,MAAe,EAAA;QAC7C,IAAI,CAAC,MAAM,EAAE;YAAE,MAAM,GAAG,GAAG;QAAE;AAC7B,QAAA,MAAM,CAAC,GAAG,EAAG,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AACpD,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC;AAEA,IAAA,eAAe,CAAC,IAAS,EAAA;AACvB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3D,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACnD,QAAA,OAAO,GAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAK,IAAI,EAAE;IACnC;IAEA,WAAW,GAAA;;AAET,QAAA,MAAM,eAAe,GAAG,CAAC,IAAS,KAAI;AACpC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAC1D,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACnD,YAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,EAAE;AAClC,QAAA,CAAC;;AAGD,QAAA,MAAM,cAAc,GAAG,CAAC,UAAe,KAAI;AACzC,YAAA,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;YAChD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;AACvC,QAAA,CAAC;AAED,QAAA,IAAI,OAAO,GAAG;AACZ,YAAA,SAAS,EAAE,CAAA,kCAAA,CAAoC;AAC/C,YAAA,SAAS,EAAE,CAAA,iCAAA,CAAmC;AAC9C,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,qBAAqB,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AAC5B,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,cAAc;AACrB;SACK;QAER,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,CAAC,EAAE;AACxC,YAAA,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB;QACzD;QAEA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;AACnC,YAAA,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa;QAC/C;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE;AACvB,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO;QACnC;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE;AACvB,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO;QACnC;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;AAC1B,YAAA,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK;AAC3B,YAAA,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB;QACrD;AAEA,QAAA,OAAO,OAAO;IAChB;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;QAAE;IACjE;IAEA,gBAAgB,GAAA;QACd,UAAU,CAAC,MAAK;AACd,YAAA,MAAM,gBAAgB,GAAS,IAAI,CAAC,gBAAgB,EAAE,aAAa;YACnE,IAAI,gBAAgB,EAAE;AACpB,gBAAA,gBAAgB,CAAC,YAAY,CAAC,aAAa,EAAC,YAAY,CAAC;AAEzD,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,oBAAA,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAC,gEAAgE,CAAC;gBACzG;AAEA,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAE;gBACxE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;AAC7C,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;gBACxC;gBAEA,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAU,KAAI;AACxD,oBAAA,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE;oBACtE,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,EAAE;AAC5C,wBAAA,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;wBACtD,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;wBAChC,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,EAAE;AAE5B,4BAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACtB,4BAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACtB,4BAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;4BAEtB,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG;4BACvC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG;AAEvC,4BAAA,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC;4BACxC,IAAI,EAAE,EAAE;gCACN,gBAAgB,EAAE,UAAU;gCAC5B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;gCACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gCACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;4BAC1C;wBACF;oBACF;yBAAK;AACH,wBAAA,IAAI,CAAC,UAAU,GAAG,SAAS;wBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC1C;AACF,gBAAA,CAAC,CAAC;gBAGF,gBAAgB,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,KAAU,KAAI;AAE7D,oBAAA,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;wBAEvB,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;AAEpC,wBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AAEjB,4BAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gCAAA,IAAI,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;gCACjD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAM,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA,CAAE,KAAK,CAAA,EAAG,EAAE,CAAA,CAAE,CAAE,EAAE;oCAC5G,GAAG,GAAG,CAAC;gCACT;4BACF;AAEA,4BAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAE,IAAI,CAAC,6BAA6B,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;AAEzF,4BAAA,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,EAAE;gCACrC,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,MAAM,CAAC,QAAQ;AAC1C,gCAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAE,IAAI,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAE;AAEvE,gCAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oCACpB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;oCAC9C,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,oCAAA,OAAO,EAAE,IAAI;oCACb,QAAQ,EAAE,IAAI,CAAC;AAChB,iCAAA,CAAC;4BACJ;iCAAK;AAEH,gCAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;oCACjB,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAE;oCACpG,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE;AAEzB,wCAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACnD,wCAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACpB,4CAAA,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;4CACZ,IAAI,EAAE,IAAI,CAAC,YAAY;AACvB,4CAAA,OAAO,EAAE,KAAK;4CACd,QAAQ,EAAE,IAAI,CAAC;AAChB,yCAAA,CAAC;oCACJ;gCACF;AAEA,gCAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAE,IAAI,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAE;4BACzE;wBACF;6BAAK;AAGH,4BAAA,IAAI,CAAC,cAAc,CAAE,KAAK,CAAC,MAAM,CAAE;wBACrC;oBACF;yBAAK;AACH,wBAAA,IAAI,CAAC,UAAU,GAAG,EAAE;wBACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC1C;AACF,gBAAA,CAAC,CAAC;YACJ;AACF,QAAA,CAAC,CAAC;IACJ;AAGA,IAAA,gBAAgB,CAAC,IAAuB,EAAA;AAEtC,QAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;YACtD,IAAI,CAAC,SAAS,EAAE;YAChB;QACF;QAEA,IAAI,KAAK,GAAG,EAAc;AAE1B,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACxB,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;gBAC/B,IAAI,GAAG,KAAK;AACZ,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC1C;YACF;QACF;AAEA,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,YAAA,CAAC,KAAK,EAAE,IAAI,CAAE,IAAI,CAAE;QACtB;aAAK;YACH,KAAK,GAAmB,IAAI;QAC9B;AACA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AAEnB,YAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC9C,gBAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,oBAAA,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;gBACzC;AAAM,qBAAA,IAAG,IAAI,CAAC,kBAAkB,EAAC;AAC/B,oBAAA,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBACxC;YACF;AACA,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC;IACF;AAEA,IAAA,YAAY,CAAC,YAAmB,EAAA;AAC9B,QAAA,MAAM,UAAU,GAAG,CAAC,UAAe,KAAI;AACrC,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;YAChD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;AACvC,QAAA,CAAC;QACD,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/C,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1G,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;QACpD;aAAK;YACH,OAAO,CAAC,YAAY,CAAC;QACvB;IACF;AAEA,IAAA,mBAAmB,CAAC,YAAmB,EAAA;AACrC,QAAA,MAAM,UAAU,GAAG,CAAC,UAAe,KAAI;AACrC,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;YAChD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;AACvC,QAAA,CAAC;QACD,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAK,EAAE,CAAM,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;AAC/J,QAAA,MAAM,wBAAwB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC1E,QAAA,OAAO,wBAAwB;IACjC;AAEA,IAAA,kBAAkB,CAAC,YAAmB,EAAA;AACpC,QAAA,MAAM,UAAU,GAAG,CAAC,UAAe,KAAI;AACrC,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;YAChD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;AACvC,QAAA,CAAC;QACD,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAK,EAAE,CAAM,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;AAC/J,QAAA,MAAM,wBAAwB,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC1E,QAAA,OAAO,wBAAwB;IACjC;AAEA,IAAA,cAAc,CAAC,MAAW,EAAA;AACxB,QAAA,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AACnE,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,KAAK,GAAG,EAAE;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzD,MAAM,SAAS,GAAY,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,oBAAA,CAAC,KAAK,EAAE,IAAI,CAAE,IAAI,CAAC,WAAW,CAAE,SAAS,CAAE,CAAE;gBAC/C;AACA,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC;iBAAK;gBACH,MAAM,SAAS,GAAY,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAE,SAAS,CAAE;AAC1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;YACxB;QACF;aAAK;YACH,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC;AACA,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1C;AAEA,IAAA,WAAW,CAAC,SAAiB,EAAA;AAC3B,QAAA,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;QAE9B,IAAI,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAA,CAAE;QAChC,IAAI,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,EAAE;QAEjC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG;QACvC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG;QAEvC,MAAM,UAAU,GAAG,CAAA,EAAG,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE;AACzC,QAAA,OAAO,UAAU;IACnB;AAEA,IAAA,SAAS,CAAC,EAAU,EAAA;QAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAQ;QAClD,UAAU,CAAC,MAAK;AACd,YAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;AAC7B,QAAA,CAAC,CAAC;IACJ;IAIA,eAAe,CAAC,MAAW,EAAE,MAAW,EAAA;AACtC,QAAA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;AACrD,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpG;AAIA,IAAA,gBAAgB,CAAC,WAAgB,EAAA;QAC/B,IAAI,SAAS,GAAG,EAAE;QAClB,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE;AAC3C,YAAA,MAAM,eAAe,GAAG,CAAC,IAAS,KAAI;AACpC,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3D,gBAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACnD,gBAAA,OAAO,GAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,IAAI,EAAE;AAClC,YAAA,CAAC;AACD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,gBAAA,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;gBACzB,CAAC,SAAS,EAAE,IAAI,CAAE,eAAe,CAAC,EAAE,CAAC,CAAE;YACzC;QACF;AACA,QAAA,OAAO,SAAS;IAClB;;AAoCA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AAEd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1B;aAAK;;QAEL;IACF;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC9B;IACF;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC7B;+GAzdW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAJzB,CAACN,qCAAmC,CAAC,gJCvCpD,4hDA2CA,EAAA,MAAA,EAAA,CAAA,6vBAAA,EAAA,w7JAAA,EAAA,qQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,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;;4FDAa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;+BACI,sBAAsB,EAAA,SAAA,EAOrB,CAACI,qCAAmC,CAAC,iBACjC,iBAAiB,CAAC,IAAI,EAAA,UAAA,EACzB,KAAK,EAAA,QAAA,EAAA,4hDAAA,EAAA,MAAA,EAAA,CAAA,6vBAAA,EAAA,w7JAAA,EAAA,qQAAA,CAAA,EAAA;4EAKV,QAAQ,EAAA,CAAA;sBAAhB;gBAIQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAGQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,aAAa,EAAA,CAAA;sBAArB;gBAGQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAEQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAEQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;gBAGS,QAAQ,EAAA,CAAA;sBAAjB;gBAOY,OAAO,EAAA,CAAA;sBAAnB;gBAaS,aAAa,EAAA,CAAA;sBAAtB;gBAES,WAAW,EAAA,CAAA;sBAApB;gBAE+C,gBAAgB,EAAA,CAAA;sBAA/D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;gBAErC,IAAI,EAAA,CAAA;sBAAZ;;;AEpGH,MAAMA,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,+BAA+B,CAAC;AAC9D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MASY,+BAA+B,CAAA;AAP5C,IAAA,WAAA,GAAA;QASE,IAAA,CAAA,gBAAgB,GAAY,IAAI;AAQtB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAQ;AAExC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ;AACnC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;;QAGtC,IAAA,CAAA,OAAO,GAAW,EAAE;;QAGpB,IAAA,CAAA,OAAO,GAAW,EAAE;QAEpB,IAAA,CAAA,kBAAkB,GAAG,KAAK;QAEnC,IAAA,CAAA,UAAU,GAAW,EAAE;QACvB,IAAA,CAAA,EAAE,GAAW,IAAI;QACjB,IAAA,CAAA,EAAE,GAAW,IAAI;QAEjB,IAAA,CAAA,EAAE,GAAW,EAAE;QAOf,IAAA,CAAA,iBAAiB,GAAsB,EAAE;QACzC,IAAA,CAAA,sBAAsB,GAAY,KAAK;QAGvC,IAAA,CAAA,6BAA6B,GAAQ,EAAE;QACvC,IAAA,CAAA,uBAAuB,GAAQ,EAAE;;;QA4QzB,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;AA+ClD,IAAA;IA9VC,IAAa,OAAO,CAAC,CAAM,EAAA;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;IACF;IAgCA,QAAQ,GAAA;QAGN,IAAI,CAAC,kBAAkB,EAAE;AAEzB,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACvC;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,iBAAiB,GAAG;AACvB,YAAA,EAAC,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAC;AACvC,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;AACzC,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;AACzC,YAAA,EAAC,KAAK,EAAC,eAAe,EAAE,WAAW,EAAE,qBAAqB,EAAC;AAC3D,YAAA,EAAC,KAAK,EAAC,cAAc,EAAE,WAAW,EAAE,qBAAqB;SAC1D;IACH;IAEA,UAAU,GAAA;QACR,OAAO,CAAA,0BAAA,EAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE;IAC1G;AAEA,IAAA,WAAW,CAAC,CAAS,EAAA;QACnB,IAAI,EAAE,GAAG,EAAE;AACX,QAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,YAAA,IAAI,CAAC,GAAG,EAAE,EAAE;gBACV,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAE,CAAC;YACpB;iBAAK;gBACH,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA,EAAG,CAAC,CAAA,CAAE,CAAC;YACnB;QACF;AACA,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,SAAS,CAAC,IAAY,EAAA;AACpB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;IACnC;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,KAAK,EAAE,EAAC;AAC9D,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YACjD,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AACjC,YAAA,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AACrB,YAAA,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AACrB,YAAA,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AACrB,YAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAA,EAAG,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC;AAC9C,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACnC;QACF;IACF;AAEA,IAAA,sBAAsB,CAAC,IAAY,EAAA;QAEjC,IAAI,IAAI,EAAE;YACR,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YAChC,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AACjC,YAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AAEtB,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,EAAE,EAAE;gBACP,EAAE,GAAG,IAAI;YACX;iBAAK;AACH,gBAAA,KAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAI;oBAChC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,EAAE,EAAE,CAAC,CAAA,CAAE,GAAG,CAAA,EAAG,EAAE,EAAE,CAAC,CAAA,CAAE;gBAC/C;qBAAK;oBACH,EAAE,GAAG,IAAI;gBACX;YACF;AAEA,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,EAAE,EAAE;gBACP,EAAE,GAAG,IAAI;YACX;iBAAK;AACH,gBAAA,KAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAI;oBAChC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,EAAE,EAAE,CAAC,CAAA,CAAE,GAAG,CAAA,EAAG,EAAE,EAAE,CAAC,CAAA,CAAE;gBAC/C;qBAAK;oBACH,EAAE,GAAG,IAAI;gBACX;YACF;AAEA,YAAA,IAAI,EAAE,KAAK,IAAI,EAAE;AAAE,gBAAA,IAAI,CAAC,EAAE,GAAG,EAAE;YAAE;AACjC,YAAA,IAAI,EAAE,KAAK,IAAI,EAAE;AAAE,gBAAA,IAAI,CAAC,EAAE,GAAG,EAAE;YAAE;YAEjC,MAAM,QAAQ,GAAG,IAAI;AAErB,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,QAAQ,EAAE;AAC/D,YAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAE,QAAQ,CAAE;AAErC,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ;YAC5B;iBAAK;AACH,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC7B;;;;;;YASA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAE;QAE7D;aAAK;AAEH,YAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE;AACvC,YAAA,IAAI,CAAC,uBAAuB,GAAG,EAAE;AAEjC,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAE;QAC7D;AAEA,QAAA,IAAI,CAAA,EAAG,IAAI,CAAC,sBAAsB,CAAA,CAAE,KAAK,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAE,EAAE;;;QAG/D;IAEF;;AAGA,IAAA,aAAa,CAAC,CAAO,EAAA;QACnB,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA,CAAE;QAC5B,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG;AACvC,QAAA,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAC,CAAC,CAAA,CAAE;QAC/B,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG;QAEvC,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA,CAAE;QAChC,IAAI,EAAE,GAAI,CAAA,EAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAA,CAAE;QAC7B,IAAI,EAAE,GAAI,CAAA,EAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAA,CAAE;AAE/B,QAAA,IAAI,EAAE,KAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,EAAE;YAAE,EAAE,GAAG,IAAI;QAAE;AACpD,QAAA,EAAE,GAAG,CAAC,EAAE,KAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,EAAE,EAAE,GAAG,EAAE,IAAK,IAAI;AAEpD,QAAA,IAAI,EAAE,KAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,EAAE;YAAE,EAAE,GAAG,IAAI;QAAE;AACpD,QAAA,EAAE,GAAG,CAAC,EAAE,KAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,EAAE,EAAE,GAAG,EAAE,IAAK,IAAI;AAEpD,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE;AACZ,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE;QAEZ,IAAI,CAAC,UAAU,GAAG,CAAA,EAAG,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE;IAC1C;AAEA,IAAA,WAAW,CAAC,CAAM,EAAA;AAEhB,QAAA,IAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE;AACxD,YAAA,IAAG,KAAK,CAAC,CAAC,CAAC,EAAE;AAAE,gBAAA,OAAO,KAAK;YAAE;iBAAO;AAAE,gBAAA,OAAO,IAAI;YAAE;QACrD;AACA,QAAA,OAAO,KAAK;IACd;IAGA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI;AACd,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI;AACd,QAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE;AACvC,QAAA,IAAI,CAAC,uBAAuB,GAAG,EAAE;IACnC;AAEA,IAAA,SAAS,CAAC,EAAU,EAAA;QAClB,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;IACtC;IAEA,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;IACrC;AAGA,IAAA,uBAAuB,CAAC,KAAU,EAAA;;;AAGhC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAE7B,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE;QACpB,IAAI,WAAW,GAAQ,SAAS;AAChC,QAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAE,CAAE;AACtE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE;QACvD;AAEA,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE;AACvE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE;QACvD;AAEA,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE;AACvE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE;QACvD;AAEA,QAAA,IAAI,KAAK,KAAK,eAAe,EAAE;AAC7B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9D;AAEA,QAAA,IAAI,KAAK,KAAK,cAAc,EAAE;AAC5B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD;QAEA,IAAG,WAAW,EAAC;AACb,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW;AAC7B,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBACjC,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;AAC/B,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/B,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,oBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;AACpC,oBAAA,IAAI,CAAC,sBAAsB,GAAG,WAAkB;oBAChD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC;AACpF,gBAAA,CAAC,CAAC;YACJ;QACF;IAEF;AAGA,IAAA,iCAAiC,CAAC,KAAa,EAAA;AAC7C,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,CAAC,EAAE;AACjE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtC,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxB,OAAO,IAAI,CAAC,WAAW;gBACzB;YACF;QACF;AACA,QAAA,OAAO,EAAE;IACX;IAGA,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,uBAAuB,GAAG,EAAE;AACjC,QAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE;IACzC;;AA8BA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1B;IACF;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAE7B,YAAA,IAAI;gBACF,KAAK,GAAG,IAAI,IAAI,CAAE,GAAG,KAAK,CAAA,CAAE,CAAE;YAChC;AAAE,YAAA,OAAO,KAAK,EAAE,EAAC;AAEjB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3B;iBAAK;gBACH,IAAI,CAAC,KAAK,EAAE;YACd;QACF;IACF;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC7B;+GAjWW,+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,SAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAH7B,CAACD,qCAAmC,CAAC,6ICjBpD,8uJAgGM,EAAA,MAAA,EAAA,CAAA,u1DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5EO,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAP3C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,SAAA,EAG1B,CAACR,qCAAmC,CAAC,cACpC,KAAK,EAAA,QAAA,EAAA,8uJAAA,EAAA,MAAA,EAAA,CAAA,u1DAAA,CAAA,EAAA;8BAON,OAAO,EAAA,CAAA;sBAAnB;gBAKS,aAAa,EAAA,CAAA;sBAAtB;gBAES,QAAQ,EAAA,CAAA;sBAAjB;gBACS,WAAW,EAAA,CAAA;sBAApB;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAGQ,OAAO,EAAA,CAAA;sBAAf;gBAEQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAW8C,cAAc,EAAA,CAAA;sBAA5D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;;;AEjD/C,MAAOD,yBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MAeY,0BAA0B,CAAA;AAmBrC,IAAA,WAAA,GAAA;QAjBA,IAAA,CAAA,MAAM,GAAG,EAAqB;QAE9B,IAAA,CAAA,iBAAiB,GAAQ,EAAE;QAC3B,IAAA,CAAA,uBAAuB,GAAY,KAAK;AAE9B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAmB;QAE/C,IAAA,CAAA,2BAA2B,GAAW,EAAE;QAGxC,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,eAAe,GAAW,EAAE;QAErC,IAAA,CAAA,IAAI,GAAW,QAAQ;QAEvB,IAAA,CAAA,OAAO,GAAG,KAAK;;;QAqLP,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;IApLjC;IAEhB,QAAQ,GAAA;QACN,IAAI,CAAC,kBAAkB,EAAE;IAC3B;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,iBAAiB,GAAG;AACvB,YAAA,EAAC,KAAK,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC;AACnD,YAAA,EAAC,KAAK,EAAC,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAC;AACrD,YAAA,EAAC,KAAK,EAAC,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAC;AACrD,YAAA,EAAC,KAAK,EAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAC;AAEvD,YAAA,EAAC,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAC;AAC/C,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAC;AACjD,YAAA,EAAC,KAAK,EAAC,eAAe,EAAE,WAAW,EAAE,WAAW,EAAC;AACjD,YAAA,EAAC,KAAK,EAAC,cAAc,EAAE,WAAW,EAAE,WAAW;SAChD;QACD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,2BAA2B,KAAK,EAAE,EAAE;AAC3C,gBAAA,IAAI,CAAC,uBAAuB,CAAE,IAAI,CAAC,2BAA2B,CAAE;YAClE;AACF,QAAA,CAAC,CAAC;IAEJ;AAEA,IAAA,uBAAuB,CAAC,KAAW,EAAA;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;;QAGpB,KAAK,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,CAAA,CAAE,GAAG,CAAA,EAAG,KAAK,CAAA,CAAE;AAE9D,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE;AACpB,QAAA,IAAI,YAAY,GAAG,IAAI,IAAI,EAAE;QAC7B,IAAI,WAAW,GAAQ,SAAS;AAGhC,QAAA,IAAI,KAAK,KAAK,aAAa,EAAE;AAC3B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrE;AAEA,QAAA,IAAI,KAAK,KAAK,aAAa,EAAE;AAC3B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrE;AAEA,QAAA,IAAI,KAAK,KAAK,aAAa,EAAE;AAC3B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrE;AAEA,QAAA,IAAI,KAAK,KAAK,cAAc,EAAE;AAC5B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACtE;AAEA,QAAA,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAE,CAAE;AAC/E,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE;QACvD;AAEA,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE;AAChF,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE;QACvD;AAEA,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE;AAChF,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE;QACvD;AAEA,QAAA,IAAI,KAAK,KAAK,eAAe,EAAE;AAC7B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9D;AAEA,QAAA,IAAI,KAAK,KAAK,cAAc,EAAE;AAC5B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD;QAEA,IAAG,WAAW,EAAC;YACb,IAAI,CAAC,MAAM,GAAG;AACZ,gBAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;AACzC,gBAAA,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG;aACb;YAEpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;aAAK;AAEH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QAEtB;IAEF;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;;AAEtB,QAAA,OAAO,EAAE;AACT;;;;;;;AAOE;IACJ;AAEA,IAAA,qBAAqB,CAAC,KAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;aAAK;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC;IACF;AAEA,IAAA,oBAAoB,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACrB;aAAK;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC;IACF;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,IAAI,GAAG,CAAE,GAAG,IAAI,CAAC,IAAI,CAAA,CAAE,KAAK,QAAQ,IAAK,aAAa,GAAG,QAAQ;AACvE,QAAA,IAAI,CAAC,2BAA2B,GAAG,EAAE;AACrC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAqB;AACnC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACjC;;AA4CA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1B;IACF;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;QAEzB;IACF;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC7B;AAEO,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU;QACpD;AACA,QAAA,OAAO,IAAI;IACb;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACxD,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,KAAK;IACd;+GA1PW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,qQAHxB,CAACD,qCAAmC,EAAED,yBAAuB,CAAC,0BC5B7E,4mFAqDQ,EAAA,MAAA,EAAA,CAAA,k3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDtBK,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,aAGX,CAACT,qCAAmC,EAAED,yBAAuB,CAAC,cAC7D,KAAK,EAAA,QAAA,EAAA,4mFAAA,EAAA,MAAA,EAAA,CAAA,k3BAAA,CAAA,EAAA;wDAST,QAAQ,EAAA,CAAA;sBAAjB;gBAEQ,2BAA2B,EAAA,CAAA;sBAAnC;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBAEQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;;;MEjCU,wBAAwB,CAAA;IAenC,IAAa,IAAI,CAAC,IAAS,EAAA;;IAE3B;IACA,IAAI,IAAI,KAAS,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAGpC,IAAa,OAAO,CAAC,OAAY,EAAA;;IAEjC;IACA,IAAI,OAAO,KAAS,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;IAG1C,IAAa,UAAU,CAAC,CAAS,EAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC;QACtB;IACF;IACA,IAAI,UAAU,KAAW,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;AAuBlD,IAAA,WAAA,CACU,QAAkB,EAAA;QAAlB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAtDlB,IAAA,CAAA,WAAW,GAAG,EAAS;QAIvB,IAAA,CAAA,MAAM,GAAa,EAAE;QAErB,IAAA,CAAA,YAAY,GAAY,KAAK;QAIpB,IAAA,CAAA,MAAM,GAAY,IAAI;QAcvB,IAAA,CAAA,WAAW,GAAW,SAAS;QAQ9B,IAAA,CAAA,cAAc,GAAW,gBAAgB;AACzC,QAAA,IAAA,CAAA,iBAAiB,GAAY,IAAI,CAAC;AAClC,QAAA,IAAA,CAAA,eAAe,GAAY,KAAK,CAAC;AACjC,QAAA,IAAA,CAAA,yBAAyB,GAAY,IAAI,CAAC;QAC1C,IAAA,CAAA,YAAY,GAAY,IAAI;QAC5B,IAAA,CAAA,eAAe,GAAY,KAAK;AAE/B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;QAE5C,IAAA,CAAA,gBAAgB,GAAW,EAAE;QAC7B,IAAA,CAAA,eAAe,GAAW,EAAE;QAEpB,IAAA,CAAA,mBAAmB,GAAY,KAAK;QAE5C,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,gBAAgB,GAAW,CAAC;AAC5B,QAAA,IAAA,CAAA,cAAc,GAAW,EAAE,CAAC;QA0L5B,IAAA,CAAA,KAAK,GAAY,IAAI;QACrB,IAAA,CAAA,eAAe,GAAQ,SAAS;IAvL5B;IAEJ,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,gBAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;oBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBACzB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAC7C,4BAAA,IAAI;gCACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,CAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE,CAAE;4BACrE;AAAE,4BAAA,OAAO,KAAK,EAAE,EAAC;wBACnB;6BAAK;AACH,4BAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;wBACpD;AACA,wBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;oBACjC;gBACF;YACF;AACA,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,EAAE,GAAG,KAAK;YAC7E,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,CAAC;IACJ;IAEA,sBAAsB,GAAA;QACpB,IAAI,KAAK,GAAG,KAAK;QACjB,IAAI,IAAI,GAAG,KAAK;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC;AACzB,YAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;oBAClC,KAAK,GAAG,IAAI;AACZ,oBAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClE,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;gBACrD;gBACA,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE;oBACjC,IAAI,GAAG,IAAI;AACX,oBAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;gBACpD;YACF;QACF;AACA,QAAA,OAAO,CAAE,KAAK,IAAI,IAAI,IAAK,IAAI,GAAG,KAAK;IACzC;AAEA,IAAA,aAAa,CAAC,CAAS,EAAA;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5B,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACxB,QAAA,OAAO,EAAE,CAAC,CAAC;IACb;AAEA,IAAA,UAAU,CAAC,CAAS,EAAA;QAClB,IAAI,GAAG,GAAG,GAAG;QACb,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3B,GAAG,GAAG,IAAI;QACZ;AACA,QAAA,OAAO,GAAG;IACZ;AAGA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY;AACzC,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7C,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,EAAE;YACb;QACF;AAEA,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY;AAC/C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC7B,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,EAAE;YACb;QACF;IACF;IAEQ,IAAI,GAAA;QACV,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;gBAC7C,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAqB,KAAI;AAC/C,oBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;AAC/B,gBAAA,CAAC,CAAC;YACJ;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;YAEA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,EAAE;gBAClD,IAAI,CAAC,YAAY,EAAE;YACrB;QACF;IACF;AAEQ,IAAA,SAAS,CAAC,IAAS,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAClC,YAAA,MAAM,CAAC,GAAG,CAAE,CAAE,CAAC,CAAA,EAAG,IAAI,CAAA,CAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE;AACnG,YAAA,OAAO,CAAC;QACV;AACA,QAAA,OAAO,IAAI;IACb;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,IAAI,EAAE;QACb;QACA,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YACnC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAqB,EAAE,CAAS,KAAI;AAErD,gBAAA,IAAI,MAAM,CAAC,KAAK,EAAE;oBAAE,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE;AAC9C,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE;oBAAE,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAAE;AAC1D,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE;oBAAE,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAAE;gBAE1D,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACtG,oBAAA,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpB;AACA,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7B,oBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AACtB,wBAAA,MAAM,CAAC,UAAU,GAAG,KAAK;oBAC3B;gBACF;AAEF,YAAA,CAAC,CAAC;QACJ;QAEA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAClC;IAGQ,cAAc,CAAC,GAAQ,EAAE,IAAS,EAAA;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACjC,IAAI,OAAO,GAAG,GAAG;AACjB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,YAAA,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;AAExB,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnE,gBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnD,gBAAA,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE;AAC5D,oBAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1E;YACF;AAGA,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACtC,gBAAA,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,EAAE;AAClB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,oBAAA,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE,oBAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,wBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtB;gBACF;AACA,gBAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,oBAAA,OAAO,SAAS;gBAClB;AACA,gBAAA,OAAO,OAAO;YAChB;iBAAO;AACL,gBAAA,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAC1C,oBAAA,OAAO,SAAS;gBAClB;AACA,gBAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;AACtB,gBAAA,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,oBAAA,OAAO,SAAS;gBAClB;YACF;QACF;AACA,QAAA,OAAO,OAAO;IAChB;AAQA,IAAA,aAAa,CAAE,UAAe,EAAA;AAE5B,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YAE7C,IAAI,KAAK,GAAG,EAAS;AACrB,YAAA,KAAK,CAAC,cAAc,GAAG,IAAI;AAE3B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;AAC3E,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,EAAE,MAAM,EAAE,KAAM;AAClD,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,KAAM;AACvD,oBAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,UAAU,EAAE,MAAM,EAAE,KAAM;AAChE,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;gBACvC;gBAEA,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE;AAC1E,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,EAAE,MAAM,EAAE,IAAK;AACjD,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,IAAK;AACtD,oBAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,EAAE,MAAM,EAAE,IAAK;AAC9D,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;gBACvC;YACF;YACA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxC,IAAI,CAAC,QAAQ,EAAE;YACjB;QAEF;AACA,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IAEpB;AAEA,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACpC,QAAA,IAAI;AACF,YAAA,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7C,OAAO,EAAE,CAAA,EAAG,GAAG,CAAA,EAAG,GAAG,CAAA,EAAG,GAAG,CAAA,CAAE,CAAC;QAChC;AAAE,QAAA,OAAO,KAAK,EAAE,EAAC;AACjB,QAAA,OAAO,CAAC;IACV;IAEA,QAAQ,CAAC,IAAmB,EAAE,KAAW,EAAA;AAIvC,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS;QAEhC,IAAI,OAAO,GAAG,IAAI;AAElB,QAAA,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,EAAE;YAC/B,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;AAEA,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,EAAE;YACzC,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;AAEA,QAAA,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE;YACtE,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;AAEA,QAAA,IAAI,KAAK,EAAE,cAAc,IAAK,OAAO,EAAE;YACrC,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,UAAU;AACnC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;QAEA,IAAG,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,OAAO,EAAE;YAClC,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACpD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;QAEA,IAAG,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,IAAI,OAAO,EAAE;YACzC,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;QAEA,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5C,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,mBAAmB,CAAE,IAAI,CAAC,KAAK,CAAE,EAAE;AAC7D,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;QAEA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAM,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAE,EAAE;YACxE,OAAO,GAAG,KAAK;AACf,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B;QAIA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,EAAE;AACtD,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE;AAC1C,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;QAClC;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,iBAAiB,EAAE;QAC1B;IACF;AAEA,IAAA,UAAU,CAAC,EAAO,EAAA;AAChB,QAAA,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE;AAC5B,QAAA,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE;AACzB,QAAA,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE;AACxB,QAAA,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC3B,QAAA,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,EAAE;AAC/B,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,EAAE;QAChC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE;IAGA,YAAY,GAAA;AACV,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAE3C,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC;AAE1B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnC,gBAAA,IAAI,WAAW,CAAC,UAAU,IAAI,QAAQ,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,KAAK,EAAE,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE;oBAEnM,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC;AAC/D,oBAAA,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC;oBACxE,IAAI,UAAU,EAAE;AACd,wBAAA,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;wBAEvC,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,EAAE;4BAC/D,KAAM,UAAU,KAAK,WAAW,CAAC,UAAU,GAAI;AAC7C,gCAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;4BAC7B;wBACF;6BAAK;4BAEH,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,EAAE;;AAE7C,gCAAA,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;;oCAGrD,IAAI,cAAc,GAAG,EAAE;AACvB,oCAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;wCAClD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,wCAAA,IAAI,CAAA,EAAG,MAAM,EAAE,KAAK,CAAA,CAAE,KAAK,CAAA,EAAG,WAAW,CAAC,UAAU,CAAA,CAAE,EAAG;AACvD,4CAAA,cAAc,GAAG,MAAM,EAAE,SAAU;4CACnC;wCACF;oCACF;oCACA,IAAI,cAAc,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,EAAE;AACjD,wCAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,4CAAA,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;AAChC,4CAAA,KAAM,UAAU,KAAK,MAAM,GAAI;AAC7B,gDAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;4CAC7B;wCACF;oCACF;yCAAK;;wCAGH,IAAI,EAAG,UAAU,KAAK,WAAW,CAAC,UAAU,CAAE,EAAE;AAC9C,4CAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;wCAC7B;oCACF;gCAEF;4BAGF;iCAAK;AACH,gCAAA,IAAI,EAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,WAAW,CAAC,UAAU,CAAE,EAAE;AAC7F,oCAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;gCAC7B;4BACF;wBACF;oBAEF;yBAAK;AACH,wBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;oBAC7B;gBACF;AAGA,gBAAA,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,YAAY,IAAI,IAAI,CAAC,KAAK,CAAE,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE;AAEhK,oBAAA,IAAI,UAAU,GAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC;AAE7E,oBAAA,IAAI;AAAE,wBAAA,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC;oBAAE;AAAE,oBAAA,OAAO,KAAK,EAAE,EAAC;AAC1D,oBAAA,IAAI,UAAU,IAAK,UAAU,YAAY,IAAI,IAAI,CAAC,KAAK,CAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;wBAC9E,IAAI,SAAS,GAAG,KAAK;wBAErB,MAAM,SAAS,GAAK,CAAE,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,EAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvF,MAAM,UAAU,GAAI,CAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAG,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1E,wBAAA,IAAI,WAAW,CAAC,SAAS,EAAE;AACzB,4BAAA,QAAQ,WAAW,CAAC,SAAS;gCAC3B,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,GAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAClF,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,GAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAClF,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAClF,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAClF,KAAK,WAAW,CAAC,KAAK;AAAE,oCAAA,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCACnF,KAAK,WAAW,CAAC,QAAQ;AAAE,oCAAA,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;AACrF,gCAAA,SAAS,SAAS,IAAK,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;;wBAEpE;6BAAK;AACH,4BAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,CAAE;wBACvE;wBACA,IAAI,CAAC,SAAS,EAAE;AACd,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;wBAC7B;oBACF;gBACF;AAIA,gBAAA,IAAI,WAAW,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ,KAAM,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAE,EAAE;oBAE5K,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;AACvD,oBAAA,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC;oBAExE,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;AAC1C,wBAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;wBAC/B,IAAI,SAAS,GAAG,KAAK;AACrB,wBAAA,IAAI,WAAW,CAAC,SAAS,EAAE;AAEzB,4BAAA,QAAQ,WAAW,CAAC,SAAS;gCAC3B,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAC/F,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAC/F,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAE;gCAC9F,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAG;gCAC/F,KAAK,WAAW,CAAC,KAAK;AAAE,oCAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAE;gCAC/F,KAAK,WAAW,CAAC,QAAQ;AAAE,oCAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;oCAAE;AACjG,gCAAA,SAAS,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAE;;wBAEjF;6BAAK;AACH,4BAAA,SAAS,IAAK,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,CAAE;wBACvE;wBACA,IAAI,CAAC,SAAS,EAAE;AACd,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;wBAC7B;oBACF;gBACF;AAGA,gBAAA,IAAI,QAAQ,WAAW,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,EAAE;AAEpF,oBAAA,IAAI,UAAU,GAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC;oBAE7E,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;wBACzC,IAAI,WAAW,GAAG,CAAC;AACnB,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,4BAAA,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;AAC1B,4BAAA,IAAI,IAAI,KAAK,WAAW,CAAC,UAAU,EAAE;AACnC,gCAAA,WAAW,EAAE;4BACf;wBACF;AACA,wBAAA,IAAI,WAAW,KAAK,CAAC,EAAE;AACrB,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;wBAC7B;oBACF;yBAAK;wBACH,IAAI,EAAG,UAAU,KAAK,WAAW,CAAC,UAAU,CAAE,EAAE;AAC9C,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;wBAC7B;oBACF;gBACF;YAEF;AAEF,QAAA,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE;IAEjB;IAEQ,QAAQ,GAAA;QAGd,MAAM,WAAW,GAAG,EAAE;QAEtB,IAAI,SAAS,GAAG,KAAK;AACrB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,EAAE;gBACnE,SAAS,GAAG,IAAI;gBAAE;YACpB;QACF;QAEA,IAAI,SAAS,EAAE;AACb,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE;AACjE,oBAAA,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClC;YACF;AAEA,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,CAAC,OAAO,EAAC,CAAC;YACrC;QACF;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,CAAC,OAAO,EAAC,CAAC;IACvC;IAEA,YAAY,CAAC,KAAa,EAAE,KAAc,EAAA;QACxC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,KAAK;QAC9C;IACF;AAEA,IAAA,aAAa,CAAC,IAAS,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;AACtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,gBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACpC;QACF;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB;+GA9iBW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,knBCXrC,urTAyJG,EAAA,MAAA,EAAA,CAAA,gzBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,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,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,6BAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD9IU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cAGjB,KAAK,EAAA,QAAA,EAAA,urTAAA,EAAA,MAAA,EAAA,CAAA,gzBAAA,CAAA,EAAA;6EAMQ,WAAW,EAAA,CAAA;sBAArC,SAAS;uBAAC,aAAa;gBAQf,MAAM,EAAA,CAAA;sBAAd;gBAGY,IAAI,EAAA,CAAA;sBAAhB;gBAMY,OAAO,EAAA,CAAA;sBAAnB;gBAMY,UAAU,EAAA,CAAA;sBAAtB;gBAOQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBACQ,yBAAyB,EAAA,CAAA;sBAAjC;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,eAAe,EAAA,CAAA;sBAAvB;gBAES,MAAM,EAAA,CAAA;sBAAf;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;gBACS,QAAQ,EAAA,CAAA;sBAAjB;;;MElCU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAxB,wBAAwB,EAAA,YAAA,EAAA,CAZjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAM3B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aALnB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AASlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YANjC,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAIV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAdpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCGY,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA5B,4BAA4B,EAAA,YAAA,EAAA,CAdrC,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAM/B,YAAY;YACZ,wBAAwB;YACxB,WAAW;YACX,mBAAmB;AACnB,YAAA,sBAAsB,aAPtB,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAWtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YARrC,YAAY;YACZ,wBAAwB;YACxB,WAAW;YACX,mBAAmB;YACnB,sBAAsB,CAAA,EAAA,CAAA,CAAA;;4FAIb,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhBxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,WAAW;wBACX,mBAAmB;wBACnB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCMY,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAhB9B,wBAAwB;AACxB,YAAA,0BAA0B,aAO1B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,4BAA4B;AAC5B,YAAA,wBAAwB,aARxB,wBAAwB;YACxB,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAWjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAR9B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,4BAA4B;YAC5B,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAIf,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,4BAA4B;wBAC5B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCvBY,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAW;AACtC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAE9C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW;AACvC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;AAEhD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAW;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AA4B3D,IAAA;AAzBC,IAAA,MAAM,CAAC,MAAe,EAAA;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,MAAM,CAAE;IAClC;IAEA,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;IAClC;IAEA,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,IAAI;IAClB;AAEA,IAAA,WAAW,CAAC,QAAiB,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAE,QAAQ,CAAE;IACtC;IAEA,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;+GAvCW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAxB,wBAAwB,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;MCUY,0BAA0B,CAAA;IAQrC,IAAa,QAAQ,CAAC,CAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1D,gBAAA,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9C,YAAA,CAAC,CAAC;QACJ;IACF;IACA,IAAI,QAAQ,KAAI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;IAIvC,IAAa,IAAI,CAAC,CAAU,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,UAAU,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E;QACF;IACF;IAEA,IAAI,IAAI,KAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AAM/B;;AAEG;IACH,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,OAAO,CAAC;IACpD;IACA,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE/C,IAAA,WAAA,CACU,yBAAmD,EAAA;QAAnD,IAAA,CAAA,yBAAyB,GAAzB,yBAAyB;QAvC3B,IAAA,CAAA,SAAS,GAAY,KAAK;QAa1B,IAAA,CAAA,KAAK,GAAY,KAAK;AAapB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAkB;QAE/C,IAAA,CAAA,QAAQ,GAAY,KAAK;IAY7B;IAEJ,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAI;AACjG,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACxB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAa,KAAI;AAC7F,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,OAAO,CAAE;AAC1D,QAAA,CAAC,CAAC;IAEJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;QAAE;AAChE,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;QAAE;IAClE;+GAhEW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EALxB;YACP;AACH,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVL,wIAEM,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA,CAAA,CAAA;;4FDWO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBATtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,SAAA,EAGpB;wBACP;AACH,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA;0FAUN,QAAQ,EAAA,CAAA;sBAApB;gBAaY,IAAI,EAAA,CAAA;sBAAhB;gBAYS,QAAQ,EAAA,CAAA;sBAAjB;gBAMY,OAAO,EAAA,CAAA;sBAAnB;;;ME1CU,+BAA+B,CAAA;AAW1C,IAAA,WAAA,CACU,yBAAmD,EAAA;QAAnD,IAAA,CAAA,yBAAyB,GAAzB,yBAAyB;QANnC,IAAA,CAAA,IAAI,GAAY,KAAK;QACrB,IAAA,CAAA,OAAO,GAAY,KAAK;QACxB,IAAA,CAAA,QAAQ,GAAY,KAAK;IAKrB;IAEJ,QAAQ,GAAA;QAEN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,IAAI,KAAK;AACnE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAI;AACjG,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACxB,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,KAAK;AAC7D,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAa,KAAI;AAC7F,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,IAAI,KAAK;AACrE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAiB,KAAI;AACnG,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC1B,QAAA,CAAC,CAAC;IAEJ;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAE7B,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;QACtB,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAElD;IAEA,YAAY,GAAA;QACV,IAAI,CAAC,MAAM,EAAE;IACf;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;QAAE;AAChE,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;QAAE;AAChE,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;QAAE;IAClE;+GAlDW,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,wBAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,+BAA+B,sFCV5C,usBAgBM,EAAA,MAAA,EAAA,CAAA,4WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAhB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDNO,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAGzB,KAAK,EAAA,QAAA,EAAA,usBAAA,EAAA,MAAA,EAAA,CAAA,4WAAA,CAAA,EAAA;;;MESR,8BAA8B,CAAA;AAIzC,IAAA,WAAA,CACU,yBAAmD,EAAA;QAAnD,IAAA,CAAA,yBAAyB,GAAzB,yBAAyB;QAHnC,IAAA,CAAA,IAAI,GAAY,KAAK;IAIjB;IAEJ,QAAQ,GAAA;QAEN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,KAAK;QAC7D,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAa,KAAI;AACtE,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,QAAA,CAAC,CAAC;IAEJ;+GAfW,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgB,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA9B,8BAA8B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB3C,mLAEM,EAAA,MAAA,EAAA,CAAA,6GAAA,CAAA,EAAA,UAAA,EDMU;YACR,OAAO,CAAC,iBAAiB,EAAE;gBACvB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACrC,gBAAA,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;aAC7D,CAAC;AACL,SAAA,EAAA,CAAA,CAAA;;4FAGQ,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAb1C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,UAAA,EAGxB;wBACR,OAAO,CAAC,iBAAiB,EAAE;4BACvB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;4BACtC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACrC,4BAAA,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;yBAC7D,CAAC;AACL,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,mLAAA,EAAA,MAAA,EAAA,CAAA,6GAAA,CAAA,EAAA;;;MESR,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAdhC,0BAA0B;YAC1B,+BAA+B;YAC/B,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAQ9B,YAAY,CAAA,EAAA,OAAA,EAAA,CALZ,0BAA0B;YAC1B,+BAA+B;YAC/B,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAOrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAJhC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAhBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,+BAA+B;wBAC/B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,+BAA+B;wBAC/B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MChBY,sBAAsB,CAAA;IAIjC,IAAa,OAAO,CAAE,SAAc,EAAA;QAClC,IAAI,SAAS,EAAC;AACZ,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACtC;IACF;IAEA,WAAA,CACU,EAAc,EACd,QAAmB,EAAA;QADnB,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAXV,IAAA,CAAA,UAAU,GAA2C,OAAO;IAY/D;IAEL,QAAQ,GAAA;IAER;AAEA,IAAA,QAAQ,CAAC,EAAO,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC;QACpD;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC;QACtD;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC;QACrD;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC;QACvD;IACA;+GApCW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE;AACf,iBAAA;uGAKc,OAAO,EAAA,CAAA;sBAAnB;;;MCJU,4BAA4B,CAAA;AAKvC,IAAA,WAAA,CACU,QAAmB,EAAA;QAAnB,IAAA,CAAA,QAAQ,GAAR,QAAQ;IACf;IAEwB,WAAW,GAAA;AACpC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,EAAE,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC;YAC/E;QACF;IACF;IAE0B,UAAU,GAAA;AAClC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,EAAE,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC;YAClF;QAEF;IACF;IAEA,IAAa,aAAa,CAAE,EAAU,EAAA;QACpC,IAAI,EAAE,EAAC;AAAE,YAAA,IAAI,CAAC,EAAE,GAAG,EAAE;QAAE;IACzB;IAEA,IAAa,kBAAkB,CAAE,IAAS,EAAA;QACxC,IAAI,IAAI,EAAC;AACP,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACnB;IACF;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS;QACxD;AACA,QAAA,OAAO,SAAS;IAClB;+GA3CW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACf,iBAAA;8EAU4B,WAAW,EAAA,CAAA;sBAArC,YAAY;uBAAC,WAAW;gBASC,UAAU,EAAA,CAAA;sBAAnC,YAAY;uBAAC,UAAU;gBAUX,aAAa,EAAA,CAAA;sBAAzB;gBAIY,kBAAkB,EAAA,CAAA;sBAA9B;;;MCjCU,wBAAwB,CAAA;IAUnC,IAAa,SAAS,CAAC,OAAY,EAAA;QAEjC,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,GAAG,EAAE,GAAG,OAAO;YAC3D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;;gBAE9C,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;;gBAG9C,IAAI,CAAC,iBAAiB,EAAE;YAC1B;QACF;IACF;IAEA,IAAa,WAAW,CAAC,SAAc,EAAA;QACrC,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;QAC7B;IACF;IAEA,WAAA,CACU,EAAc,EACd,QAAmB,EAAA;QADnB,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QA9BT,IAAA,CAAA,WAAW,GAAsB,OAAO;QACjD,IAAA,CAAA,MAAM,GAAY,KAAK;QACvB,IAAA,CAAA,SAAS,GAAW,EAAE;QACtB,IAAA,CAAA,cAAc,GAAY,KAAK;QACvB,IAAA,CAAA,cAAc,GAAuB,IAAI;QAEzC,IAAA,CAAA,UAAU,GAAwC,KAAK;IAyB5D;AAEyC,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC3E,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE;YACzE,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,CAAC;YAC3H,IAAI,CAAC,aAAa,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE;YACtB;QACF;IACF;AAEuC,IAAA,WAAW,CAAC,KAAiB,EAAA;AAClE,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1E,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC5B;IACF;AAEsC,IAAA,UAAU,CAAC,KAAiB,EAAA;AAChE,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAAqB;YACjD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACnG,IAAI,CAAC,aAAa,EAAE;YACtB;QACF;IACF;AAEmC,IAAA,OAAO,CAAC,KAAiB,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE;AAChC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,aAAa,EAAE;YACtB;iBAAO;AACL,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3B;AACA,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;QAC5C;IACF;AAEQ,IAAA,aAAa,CAAC,KAAiB,EAAA;QACrC,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,WAAW;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE;AAC3D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK;AAC1C,QAAA,MAAM,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,EAAE,GAAG,GAAG,SAAS,IAAI,CAAC;QAEhD,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,MAAM,GAAG,CAAC;AACd,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACzB,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAa;AAClC,YAAA,MAAM,GAAG,MAAM,CAAC,YAAY;AAC5B,YAAA,KAAK,GAAG,MAAM,CAAC,WAAW;QAC5B;QAEA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,CAAE,CAAC;AACpE,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;AAC7C,QAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;QAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;AACjD,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC;AAC9E,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO;AAE7B,QAAA,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AACxE,QAAA,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACpE;IAEQ,aAAa,GAAA;QACnB,MAAM,YAAY,GAAQ,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;QAC5E,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,UAAU,CAAC,MAAK;AACd,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,UAAe,KAAI;oBACvC,IAAI,UAAU,EAAE;wBAAE,UAAU,CAAC,MAAM,EAAE;oBAAE;AACzC,gBAAA,CAAC,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC;QACR;AACA,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;IAC5B;IAEQ,iBAAiB,GAAA;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW;AAC/C,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY;AACtD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW;QAEpD,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,GAAG,GAAG,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,WAAW;AACxD,QAAA,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC;AAEtE,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AAC7B,YAAA,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,aAAa,IAAI,EAAE;YACjD,GAAG,GAAG,eAAe;QACvB;AAAO,aAAA,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;AACvC,YAAA,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,IAAI,EAAE;YAC1C,GAAG,GAAG,eAAe;QACvB;AAAO,aAAA,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YACrC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,SAAS,IAAI,aAAa,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,GAAG,EAAE;QACrC;AAAO,aAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;YACtC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,SAAS,IAAI,aAAa,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;YACjE,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE;QAC9B;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;IACjE;AAEQ,IAAA,UAAU,CAAC,MAAe,EAAA;AAChC,QAAA,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,GAAG,EAAE;AACtC,QAAA,OAAO,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,EAAG,GAAG,CAAA,CAAE;IACjG;IAEQ,aAAa,CAAC,EAAU,EAAE,MAAc,EAAE,KAAa,EAAE,aAAqB,EAAE,aAAqB,EAAE,SAAiB,EAAA;QAC9H,UAAU,CAAC,MAAK;YACd,MAAM,OAAO,GAAQ,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;AAChD,YAAA,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY;AAC3C,YAAA,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW;YAEzC,IAAI,GAAG,GAAG,CAAC;YACX,IAAI,GAAG,GAAG,CAAC;AACX,YAAA,MAAM,eAAe,GAAG,CAAC,aAAa,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,aAAa,GAAG,CAAC,CAAC;AAE3E,YAAA,IAAI,SAAS,KAAK,KAAK,EAAE;gBACvB,GAAG,GAAG,CAAC,aAAa,GAAG,cAAc,IAAI,EAAE;gBAC3C,GAAG,GAAG,eAAe;YACvB;AAEA,YAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;gBAC1B,GAAG,GAAG,CAAC,aAAa,GAAG,MAAM,IAAI,EAAE;gBACnC,GAAG,GAAG,eAAe;YACvB;AAEA,YAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,gBAAA,GAAG,GAAG,aAAa,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;AACzD,gBAAA,GAAG,GAAG,eAAe,GAAG,aAAa,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE;YAC5D;AAEA,YAAA,IAAI,SAAS,KAAK,OAAO,EAAE;AACzB,gBAAA,GAAG,GAAG,aAAa,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;AACzD,gBAAA,GAAG,GAAG,eAAe,GAAG,aAAa,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE;YAC5D;AAEA,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;AAClD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;AACvD,QAAA,CAAC,CAAC;IACJ;+GA3LW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAxB,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE;AACf,iBAAA;uGAGU,WAAW,EAAA,CAAA;sBAAnB;gBAQY,SAAS,EAAA,CAAA;sBAArB;gBAcY,WAAW,EAAA,CAAA;sBAAvB;gBAW2C,eAAe,EAAA,CAAA;sBAA1D,YAAY;uBAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;gBASH,WAAW,EAAA,CAAA;sBAAjD,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;gBAOC,UAAU,EAAA,CAAA;sBAA/C,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;gBASD,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;MC3DtB,uBAAuB,CAAA;IAIlC,WAAA,CACU,EAAc,EACd,QAAmB,EAAA;QADnB,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAJV,IAAA,CAAA,OAAO,GAAY,KAAK;IAK3B;IAEL,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,EAAE;IACxB;IAEA,eAAe,GAAA;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;QAEjD,IAAI,QAAQ,GAAG,MAAI;YACf,MAAM,wBAAwB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA,eAAA,EAAkB,EAAE,CAAA,EAAA,CAAI,CAAQ;YACxF,IAAI,QAAQ,GAAG,EAAE;AACjB,YAAA,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE;AAChI,gBAAA,QAAQ,GAAG,wBAAwB,EAAE,KAAM;YAC7C;iBAAK;AACH,gBAAA,QAAQ,GAAG,wBAAwB,EAAE,WAAY;YACnD;AACA,YAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC5C,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC/C,CAAC,EAAE,IAAI,CAAC;AAEZ,QAAA,CAAC;AAED,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,CAAA,CAAE,CAAC;QAG1E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;QAE3C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9D,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE;YAC/D,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAU;YACjD,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBACtF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,yCAAyC,CAAC;YAC7E;iBAAK;gBACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;YAC7D;AACA,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC;QACvE;aAAK;AACH,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;QAC5D;IAKF;AAEA,IAAA,UAAU,CAAC,MAAe,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,GAAG,EAAE;AACxC,QAAA,OAAO,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,EAAG,GAAG,CAAA,CAAE;IACjG;+GArEW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCMY,yBAAyB,CAAA;IAEpC,WAAA,CAAoB,EAAc,EAAU,QAAmB,EAAA;QAA3C,IAAA,CAAA,EAAE,GAAF,EAAE;QAAsB,IAAA,CAAA,QAAQ,GAAR,QAAQ;AAEpD,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAQ,MAAK,EAAE,CAAC;IAH2C;;;;;;;;;AAclE,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;AAChE,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;QACpE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvF;aAAO;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC;QAC/D;IACF;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;IACnB;IAGA,OAAO,GAAA;QACL,IAAI,CAAC,cAAc,EAAE;IACvB;IAEQ,cAAc,GAAA;AACpB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAiC;AAC7D,QAAA,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM;AACvC,QAAA,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/C;IAEQ,UAAU,GAAA;IAElB;AAGA,IAAA,OAAO,CAAC,KAAa,EAAA;QACnB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAChC;AAEQ,IAAA,cAAc,CAAC,KAAU,EAAA;QAE/B,MAAM,YAAY,GAAG,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC;AAC5C,QAAA,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;YACvB,IAAI,IAAI,GAAG,CAAA,EAAG,KAAK,CAAA,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC;YAChC,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE;AAC5B,gBAAA,KAAK,GAAG,KAAK,GAAG,GAAG;YACrB;QACF;aAAK;AACH,YAAA,KAAK,GAAG,KAAK,GAAG,KAAK;QACvB;QAEA,OAAO,KAAK,GAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACtC;AAEQ,IAAA,MAAM,CAAC,KAAa,EAAA;AAC1B,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AACzD,YAAA,OAAO,EAAE;QACX;QACA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAChC,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AACrB,YAAA,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG;AAC1C,gBAAA,KAAK,GAAG,GAAG,GAAC,KAAK;YACnB;QACF;AACA,QAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7B,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,cAAc,CAAC,MAAW,EAAA;QAChC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAW;IAC1E;AAEQ,IAAA,UAAU,CAAC,KAAU,EAAA;QAC3B,IAAI,SAAS,GAAG,GAAG;QAEnB,IAAI,CAAC,KAAM,EAAE;YAAE,OAAO,CAAA,CAAA,EAAI,SAAS,CAAA,EAAA,CAAI;QAAE;AACzC,QAAA,IAAI,KAAK,KAAK,CAAA,CAAA,EAAI,SAAS,CAAA,EAAA,CAAI,EAAE;YAAE,KAAK,GAAG,EAAE;QAAE;AAC/C,QAAA,KAAK,GAAG,CAAA,EAAG,KAAK,CAAA,CAAE;QAClB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC9C,QAAA,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1B,YAAA,IAAI,MAAM,GAAG,CAAA,EAAG,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AACzD,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAA,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG;AAC5C,oBAAA,MAAM,GAAG,GAAG,GAAC,MAAM;gBACrB;YACF;AACA,YAAA,OAAO,MAAM;QACf;AAEA,QAAA,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG;AAChD,QAAA,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE;AAC5B,YAAA,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAChD;QACA,IAAI,MAAM,GAAG,CAAA,EAAG,WAAW,GAAG,SAAS,CAAA,EAAG,WAAW,CAAA,CAAE;AACvD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;AACvB,YAAA,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG;AAC5C,gBAAA,MAAM,GAAG,GAAG,GAAC,MAAM;YACrB;QACF;AAEA,QAAA,OAAO,MAAM;IACf;AAEQ,IAAA,SAAS,CAAC,MAAW,EAAA;AAC3B,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE;AACnC,QAAA,IAAI,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG;QAChD,IAAI,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtC,QAAA,IAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE;AACxD,YAAA,YAAY,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,YAAY,CAAC,EAAE;QAC3C;AACA,QAAA,IAAI,MAAM,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,YAAY,EAAE;QAC9C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE;AAAE,YAAA,OAAO,GAAG;QAAE;QACjH,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,EAAE;AAAE,YAAA,OAAO,GAAG;QAAE;QACjH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClC,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;AACvB,YAAA,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG;AAC5C,gBAAA,MAAM,GAAG,GAAG,GAAC,MAAM;YACrB;QACF;AAEA,QAAA,OAAO,MAAM;IACf;+GA9IW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,oJAPvB,CAAC;AACJ,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,yBAAyB;AACtC,gBAAA,KAAK,EAAE;aACV,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGG,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE,CAAC;AACJ,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,yBAA2B;AACtC,4BAAA,KAAK,EAAE;yBACV,CAAC;AACN,oBAAA,UAAU,EAAE;AACf,iBAAA;uGAoCC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO;gBAgBrB,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC;;;MCvDnC,0BAA0B,CAAA;AAInC,IAAA,WAAA,CAC+C,YAAiB,EAAA;QAAjB,IAAA,CAAA,YAAY,GAAZ,YAAY;QAHnD,IAAA,CAAA,WAAW,GAAG,EAA0B;AAK5C,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY;IACxC;AAEA,IAAA,KAAK,CAAC,WAAgB,EAAA;AAClB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,EAAE;QACjD,IAAI,SAAS,EAAE;;YAEX,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC;QAC9D;;AAEA,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;IAC7C;AAEA,IAAA,gBAAgB,CAAC,WAAgB,EAAA;QAC7B,IAAI,SAAS,GAAG,KAAK;QACrB,IAAK,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;AAChC,YAAA,IAAI,WAAW,CAAC,CAAC,CAAC,EAAC;gBACnB,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gBACzC,IAAI,QAAQ,EAAC;oBACT,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAQ,KAAI;AACpC,wBAAA,SAAS,GAAG,SAAS,KAAM,CAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CAAE,IAAI,CAAC,CAAC,IAAK,IAAI,GAAG,KAAK,CAAE;AAC7G,oBAAA,CAAC,CAAC;gBACN;YACA;QACJ;aAAK;YACD,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE;AACpD,YAAA,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC;AACpC,YAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAQ,KAAI;AACjC,gBAAA,SAAS,GAAG,SAAS,KAAM,CAAE,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CAAE,IAAI,CAAC,CAAC,IAAK,IAAI,GAAG,KAAK,CAAE;AACzH,YAAA,CAAC,CAAC;QACN;AACA,QAAA,OAAO,SAAS;IACpB;IAEA,sBAAsB,CAAC,WAAgB,EAAE,SAAc,EAAA;QACnD,IAAI,SAAS,GAAG,KAAK;QACrB,IAAK,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;AAChC,YAAA,IAAI,WAAW,CAAC,CAAC,CAAC,EAAC;gBACf,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW;gBACzC,IAAI,QAAQ,EAAC;oBACT,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAQ,KAAI;AACpC,wBAAA,SAAS,GAAG,SAAS,KAAM,CAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CAAE,IAAI,CAAC,CAAC,IAAK,IAAI,GAAG,KAAK,CAAE;AAC7G,oBAAA,CAAC,CAAC;gBACN;YACJ;QACJ;aAAK;AACD,YAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,EAAE;AAC3B,YAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAQ,KAAI;AAC7B,gBAAA,SAAS,GAAG,SAAS,KAAM,CAAE,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAY,KAAK,OAAO,KAAK,IAAI,CAAE,IAAI,CAAC,CAAC,IAAK,IAAI,GAAG,KAAK,CAAE;AAC7H,YAAA,CAAC,CAAC;QACN;AACA,QAAA,OAAO,SAAS;IACpB;AAEA,IAAA,iBAAiB,CAAC,QAAiC,EAAA;QAC/C,IAAI,MAAM,GAAG,KAAK;QAClB,IAAI,SAAS,GAAG,EAAE;;QAGlB,IAAI,eAAe,GAAG,EAAE;QACxB,IAAI,QAAQ,EAAE;AACV,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAClC,gBAAA,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC;YAChC;iBAAM,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAG;gBAC9C,eAAe,GAAG,QAAQ;YAC1B;YAEA,IAAI,sBAAsB,GAAG,SAAS;YACtC,IAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;AACjC,gBAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAC;AACZ,oBAAA,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC;oBAC7B,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC,EAAE;AAC5G,wBAAA,sBAAsB,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB;oBAC3D;gBACJ;YACA;YAEA,IAAI,aAAa,GAAG,EAAE;YACtB,IAAI,sBAAsB,IAAI,CAAC,sBAAsB,EAAE,MAAM,IAAI,CAAC,EAAE;;gBAEpE,aAAa,GAAG,sBAAsB;YACtC;iBAAK;;gBAEL,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,aAAa,IAAI,EAAE;YACtE;AACA,YAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;AAE3C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,gBAAA,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC;AACzC,gBAAA,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAC3B,IAAI,SAAS,GAAG,CAAC;AACjB,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACjD,wBAAA,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC;AACrC,wBAAA,IAAI,cAAc,KAAK,GAAG,GAAC,YAAY,EAAE;AACrC,4BAAA,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;AACvB,4BAAA,SAAS,EAAE;wBACf;oBACA;AACA,oBAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACrB,wBAAA,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;oBACtB;gBACJ;qBAAK;oBACD,IAAI,SAAS,GAAG,CAAC;AACjB,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACjD,wBAAA,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC;AACrC,wBAAA,IAAI,cAAc,KAAK,YAAY,EAAE;AACjC,4BAAA,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;AACtB,4BAAA,SAAS,EAAE;wBACf;oBACA;AACA,oBAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACrB,wBAAA,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;oBACvB;gBACJ;YACA;YAEA,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;gBACzC,MAAM,GAAG,IAAI;AACb,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,oBAAA,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;wBAC5B,MAAM,GAAG,KAAK;wBAAE;oBAChB;gBACJ;YACA;QACJ;AACA,QAAA,OAAO,MAAM;IACjB;;IAKQ,wBAAwB,GAAA;;;AAI5B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,QAAQ,IAAI,EAAE;AAC/E,QAAA,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE;QAC/B;QACA,IAAI,CAAC,kBAAkB,EAAE;AACzB,QAAA,OAAO,SAAS;IACpB;IAEQ,eAAe,GAAA;QACnB,IAAI,IAAI,GAAQ,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACtD,IAAI,SAAS,GAAG,EAAS;AACzB,QAAA,IAAI;AACF,YAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC9B;QAAE,OAAO,KAAK,EAAE;YACd,SAAS,GAAG,SAAS;QACvB;AACC,QAAA,OAAO,SAAS;IACrB;IAEQ,kBAAkB,GAAA;AACtB,QAAA,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAC7C;AAnKS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAKX,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAL5B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BAMQ;;0BAAY,MAAM;2BAAC,aAAa;;;MCJ5B,4BAA4B,CAAA;IACvC,IAAa,aAAa,CAAE,WAAgB,EAAA;QAC1C,IAAI,WAAW,EAAC;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACzB;IACF;;AAEA,IAAA,WAAA,CACU,EAAc,EACd,QAAmB,EACnB,kBAA8C,EAAA;QAF9C,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;IACvB;AAEL,IAAA,QAAQ,KAAU;AAElB,IAAA,KAAK,CAAC,WAAgB,EAAA;QACpB,IAAI,SAAS,GAAG,KAAK;QACrB,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;AAEtD,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;QACpC,IAAI,QAAQ,EAAC;YACX,IAAI,CAAC,SAAS,EAAC;AACb,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzB;iBAAK;AACH,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC5B;QACF;aAAK;;QAEL;IACF;AAEA,IAAA,QAAQ,CAAC,EAAO,EAAA;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;;QAEnE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,yBAAyB,CAAC;AAClE,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;IACxB;AACA,IAAA,WAAW,CAAC,EAAO,EAAA;;;;QAIjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;;IAE3C;AAEA,IAAA,aAAa,CAAC,EAAO,EAAA;QACnB,IAAI,EAAE,EAAE;AACN,YAAA,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;YAC9C;AAAE,YAAA,OAAO,KAAK,EAAE,EAAC;QACnB;IACF;+GApDW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACf,iBAAA;6IAEc,aAAa,EAAA,CAAA;sBAAzB;;;ACHH;;;;;;;;;;AAUE;MAMW,8BAA8B,CAAA;AAEzC,IAAA,WAAA,CACU,WAA6B,EAC7B,aAA+B,EAC/B,kBAA8C,EAAA;QAF9C,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAGpB,IAAA,CAAA,WAAW,GAAY,IAAI;IAF/B;IAIJ,IAAa,eAAe,CAAC,WAA0B,EAAA;QACrD,MAAM,aAAa,GAAG,CAAE,OAAO,WAAW,KAAK,SAAS,IAAK,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;AACrH,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,UAAU,CAAE,aAAa,CAAE,CAAC,CAAC,CAAC,CAAC;IACzD;IAEA,IAAa,mBAAmB,CAAC,KAAc,EAAA;AAC7C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEQ,IAAA,UAAU,CAAC,MAAe,EAAA;AAChC,QAAA,IAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAG;YAChC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACzD;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;QAC5B;IACF;+GAzBW,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA9B,8BAA8B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE;AACf,iBAAA;qJAWc,eAAe,EAAA,CAAA;sBAA3B;gBAKY,mBAAmB,EAAA,CAAA;sBAA/B;;;ACjCH;;;;AAIE;MAMW,+BAA+B,CAAA;AAE1C,IAAA,WAAA,CACU,WAA6B,EAC7B,aAA+B,EAC/B,kBAA8C,EAAA;QAF9C,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAGpB,IAAA,CAAA,WAAW,GAAY,IAAI;IAF/B;IAIJ,IAAa,gBAAgB,CAAC,YAA2B,EAAA;QACvD,MAAM,cAAc,GAAG,CAAE,OAAO,YAAY,KAAK,SAAS,IAAK,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC;AACrI,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,UAAU,CAAE,cAAc,CAAE,CAAC,CAAC,CAAC,CAAC;IAC1D;IAIA,IAAa,oBAAoB,CAAC,KAAc,EAAA;AAC9C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;IAC1B;AAEQ,IAAA,UAAU,CAAC,MAAe,EAAA;AAChC,QAAA,IAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAG;YAChC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;QACzD;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;QAC5B;IACF;+GA3BW,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA/B,+BAA+B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAJ3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE;AACf,iBAAA;qJAWc,gBAAgB,EAAA,CAAA;sBAA5B;gBAOY,oBAAoB,EAAA,CAAA;sBAAhC;;;MCxBU,0BAA0B,CAAA;AAErC,IAAA,WAAA,CAAmB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,aAAa;IACtC;AAGA,IAAA,SAAS,CAAC,CAAgB,EAAA;QACxB,IACE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;UACpC;;YAEA;QACF;;AAEA,QAAA,IACE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;AACjD,aAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,EACnC;YACA,CAAC,CAAC,cAAc,EAAE;QACpB;IACF;AAGA,IAAA,OAAO,CAAC,KAAqB,EAAA;QAC3B,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,EAAC;AAC/B,YAAA,MAAM,WAAW,GAAW,KAAK,CAAC;iBAC/B,OAAO,CAAC,YAAY;AACpB,iBAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtB,QAAQ,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC;QACzD;IACF;AAGA,IAAA,MAAM,CAAC,KAAgB,EAAA;QACrB,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY,EAAC;AAC9B,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACtE,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YACzB,QAAQ,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC;QACtD;IACF;+GAnDW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE;AACf,iBAAA;+EAQC,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;gBA2BnC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;gBAYjC,MAAM,EAAA,CAAA;sBADL,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;MC3CrB,0BAA0B,CAAA;AAKrC,IAAA,WAAA,CAAmB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,aAAa;IACtC;IAEA,QAAQ,GAAA;QACN,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAC;YACpB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;QACjF;aAAK;AACH,YAAA,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D;AAEA,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE;AACxB,YAAA,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM;AACpC,YAAA,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM;AAC1B,YAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAC5B,YAAA,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;AAChC,YAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK;QAChC;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IACrE;+GA1BW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA1B,0BAA0B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE;AACf,iBAAA;+EAGU,WAAW,EAAA,CAAA;sBAAnB;;;MCFU,uBAAuB,CAAA;AAClC,IAAA,WAAA,CAAmB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;IACrB;AAGA,IAAA,SAAS,CAAC,CAAM,EAAA;;QAEd,IACE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5C,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,aAAC,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;UACpC;;YAEA;QACF;;AAGA,QAAA,IACE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;AACjD,aAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,EACnC;YACA,CAAC,CAAC,cAAc,EAAE;QACpB;IACF;AAGA,IAAA,OAAO,CAAC,KAAqB,EAAA;QAC3B,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE;AAChC,YAAA,MAAM,WAAW,GAAW,KAAK,CAAC;iBAC/B,OAAO,CAAC,YAAY;AACpB,iBAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtB,QAAQ,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC;QACzD;IACF;+GA1CW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE;AACf,iBAAA;+EAMC,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;gBA8BnC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;MCOtB,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBA7BhC,wBAAwB;YACxB,sBAAsB;YACtB,4BAA4B;YAC5B,uBAAuB;YACvB,yBAAyB;YACzB,4BAA4B;YAC5B,8BAA8B;YAC9B,+BAA+B;YAC/B,0BAA0B;YAC1B,0BAA0B;AAC1B,YAAA,uBAAuB,aAGvB,wBAAwB;YACxB,sBAAsB;YACtB,4BAA4B;YAC5B,uBAAuB;YACvB,yBAAyB;YACzB,4BAA4B;YAC5B,8BAA8B;YAC9B,+BAA+B;YAC/B,0BAA0B;YAC1B,0BAA0B;YAC1B,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAMd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,SAAA,EAJvB;YACT;AACD,SAAA,EAAA,CAAA,CAAA;;4FAEU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA/BnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,sBAAsB;wBACtB,4BAA4B;wBAC5B,uBAAuB;wBACvB,yBAAyB;wBACzB,4BAA4B;wBAC5B,8BAA8B;wBAC9B,+BAA+B;wBAC/B,0BAA0B;wBAC1B,0BAA0B;wBAC1B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,sBAAsB;wBACtB,4BAA4B;wBAC5B,uBAAuB;wBACvB,yBAAyB;wBACzB,4BAA4B;wBAC5B,8BAA8B;wBAC9B,+BAA+B;wBAC/B,0BAA0B;wBAC1B,0BAA0B;wBAC1B;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT;AACD;AACF,iBAAA;;;MCAY,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAlC5B,aAAa;YACb,cAAc;YACd,cAAc;YACd,QAAQ;YACR,OAAO;YACP,SAAS;YACT,UAAU;YACV,UAAU,CAAA,EAAA,OAAA,EAAA,CAXV,YAAY,CAAA,EAAA,OAAA,EAAA,CAcZ,QAAQ;YAER,aAAa;YACb,cAAc;YACd,cAAc;YACd,QAAQ;YACR,OAAO;YACP,SAAS;YACT,UAAU;YACV,UAAU,CAAA,EAAA,CAAA,CAAA;AAeD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,SAAA,EAbnB;YACT,QAAQ;YAER,aAAa;YACb,cAAc;YACd,cAAc;YACd,QAAQ;YACR,OAAO;YACP,SAAS;YACT,UAAU;YACV;AACD,SAAA,EAAA,OAAA,EAAA,CApCC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAsCH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAxC/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBAEZ,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,QAAQ;wBACR,OAAO;wBACP,SAAS;wBACT,UAAU;wBACV;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,QAAQ;wBAER,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,QAAQ;wBACR,OAAO;wBACP,SAAS;wBACT,UAAU;wBACV;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,QAAQ;wBAER,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,QAAQ;wBACR,OAAO;wBACP,SAAS;wBACT,UAAU;wBACV;AACD;AACF,iBAAA;;;MCvCY,iCAAiC,CAAA;AAM1C,IAAA,WAAA,GAAA;QAFQ,IAAA,CAAA,EAAE,GAAW,+BAA+B;IAGjD;AAEH;;AAEG;IACH,KAAK,GAAA;QACD,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5C,YAAA,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACjD;IACJ;AAEA;;AAEG;IACH,IAAI,GAAA;QACA,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5C,YAAA,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC;YAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrD,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAoC,CAAC;QAC/D;IACJ;IAEQ,yBAAyB,GAAA;QAC7B,IAAI,GAAG,GAAG,IAAW;QACrB,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClC,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C;aAAK;AACD,YAAA,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;YACnC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAEnC;AAEA,QAAA,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAC1B,QAAA,GAAG,CAAC,SAAS,GAAG,CAAA,yEAAA,CAA2E;QAE3F,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC;IAC5D;+GAjDS,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;;4FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACDD,MAAO,uBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,IAAA,KAAK,EAAE;CACR;AAED,MAAMb,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,IAAA,KAAK,EAAE;CACR;AAED,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC;MASY,gCAAgC,CAAA;IAmB3C,IAAa,SAAS,CAAC,CAAkB,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;IACF;IACA,IAAI,SAAS,KAAqB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;AAuB1D,IAAA,WAAA,GAAA;QA7CA,IAAA,CAAA,cAAc,GAAW,CAAC;QAC1B,IAAA,CAAA,eAAe,GAAW,CAAC;QAC3B,IAAA,CAAA,UAAU,GAAW,CAAC;QACtB,IAAA,CAAA,SAAS,GAAW,EAAE;QACtB,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,WAAW,GAAW,EAAE;QAExB,IAAA,CAAA,EAAE,GAAW,EAAE;QACf,IAAA,CAAA,UAAU,GAAY,KAAK;QAC3B,IAAA,CAAA,cAAc,GAAY,KAAK;QAG/B,IAAA,CAAA,WAAW,GAAW,EAAE;QAExB,IAAA,CAAA,KAAK,GAAG,EAAc;QAUb,IAAA,CAAA,kBAAkB,GAAY,IAAI;QAClC,IAAA,CAAA,SAAS,GAAY,IAAI;QAEzB,IAAA,CAAA,OAAO,GAAiB,IAAI;QAC5B,IAAA,CAAA,SAAS,GAAW,GAAG;QACvB,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,QAAQ,GAAY,KAAK;QACzB,IAAA,CAAA,OAAO,GAAY,KAAK;QAExB,IAAA,CAAA,MAAM,GAAY,IAAI;QACtB,IAAA,CAAA,SAAS,GAAY,KAAK;QAC1B,IAAA,CAAA,SAAS,GAAY,KAAK;AAIzB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO;QAE5C,IAAA,CAAA,uBAAuB,GAAY,KAAK;QAExC,IAAA,CAAA,gBAAgB,GAAW,EAAE;;;QAuRrB,IAAA,CAAA,iBAAiB,GAAeA,MAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqBA,MAAI;IAtRjC;IAEhB,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;QAC3B,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC1B,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,CAAC,CAAC;IACJ;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QACjD;AACA,QAAA,OAAO,KAAK;IACd;IAEA,UAAU,GAAA;QACR,OAAO,CAAA,gBAAA,EAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE;IAChG;AAEA,IAAA,iBAAiB,CAAC,KAAe,EAAA;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B;AAGA,IAAA,sBAAsB,CAAC,CAAM,EAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,SAAS,GAAA;AAEP,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAE7B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;AAEpC,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;QAErB,IAAI,KAAK,GAAG,EAAE;AACd,QAAA,IAAI,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;YAErC,KAAK,GAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEnD;QAEA,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;AACxB,YAAA,IAAI,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;gBACrC,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA,CAAE;AACnC,gBAAA,KAAK,GAAG,CAAC,GAAG,CAAC;YACf;QACF;;AAIA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;AACtC,YAAA,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;AAEhC,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE;AACrB,oBAAA,GAAG,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE;gBACjC;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE;AACrB,oBAAA,GAAG,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE;gBACjC;YACF;AAEA,YAAA,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE;gBACrB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;YACxB;QAEF;QAEA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,oBAAoB,EAAE;IAC7B;IAEA,oBAAoB,GAAA;QAClB,IAAI,gBAAgB,GAAG,EAAE;QACzB,IAAI,SAAS,GAAG,EAAE;AAClB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACxB,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;AACtC,gBAAA,gBAAgB,IAAK,SAAS,GAAG,CAAA,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;AACvD,gBAAA,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,SAAS,GAAG;YAClC;QACF;AACA,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,gBAAgB,KAAK,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC,WAAW;QACvF,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE;IACjB;IAGA,UAAU,CAAC,IAAS,EAAE,KAAa,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE;oBAC/B,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC;oBAC5B;gBACF;YACF;QACF;QAEA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QACzB;QAEA,IAAI,CAAC,oBAAoB,EAAE;IAC7B;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QAAQ;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;QACf,IAAI,CAAC,oBAAoB,EAAE;IAC7B;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,GAAG,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,EAAE,EAAE;QAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,CAAM,KAAI;AAEzC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI;AACF,oBAAA,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;wBACvD,IAAI,YAAY,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;AACrD,4BAAA,IAAI,CAAC,UAAU,GAAG,KAAK;wBACzB;oBAEF;gBACF;gBAAE,OAAO,KAAK,EAAE;gBAEhB;YAEF;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,UAAU;IACrC;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;AACrC,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU;AACvC,YAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW;AACzC,YAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC;AACjD,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB;QACF;AAEA,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;AAClC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC;IACjD;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;AAEA,IAAA,yBAAyB,CAAC,IAAa,EAAA;QACrC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE;AACnB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,YAAA,MAAM,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE;AACvB,YAAA,MAAM,GAAG,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,EAAE,EAAE;AAC5B,YAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU;YAC1C;YACA,MAAM,IAAI,GAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE;AAClE,YAAA,MAAM,YAAY,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC;YACtC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,UAAU,GAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,IAAI,CAAC;AAClE,gBAAA,IAAI,CAAE,IAAI,CAAC,eAAe,GAAG,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5D,oBAAA,IAAI,CAAC,WAAW,GAAG,aAAa;AAChC,oBAAA,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,GAAW,IAAI,CAAC,UAAU,EAAE,YAAA,EAAe,IAAI,CAAC,UAAU,KAAK;gBAClF;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAIA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnB;AAEA,IAAA,QAAQ,CAAC,CAAM,EAAA;QACb,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;QAEnE,IAAI,MAAM,GAAG,CAAE,CAAE,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE;AAClG,QAAA,IAAI,EAAE,GAAS,QAAQ,CAAC,cAAc,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;QAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC;AACzC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACf,YAAA,MAAM,QAAQ,GAAG,CAAE,CAAE,CAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,EAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE;YAC/H,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;YAC5B;iBAAO;gBACH,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;YAChC;QACJ;IACF;AAGA,IAAA,UAAU,CAAC,WAA8B,EAAA;QAEvC,IAAI,CAAC,WAAW,EAAE;YAAE;QAAQ;QAE5B,IAAI,KAAK,GAAG,IAAI;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAE/C;QAEA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,MAAM,EAAE;YACf;QACF;IAGF;AAEA,IAAA,eAAe,CAAC,IAAS,EAAA;AACvB,QAAA,IAAI,IAAI,EAAE,QAAQ,EAAE;AAClB,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,EAAE;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAI,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAE,KAAK,KAAK,EAAE;AAChC,oBAAA,OAAO,IAAI;gBACb;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;IAGA,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;IAYA,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE;IAC1B;AAGA,IAAA,YAAY,CAAC,CAAK,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;QACd,IAAI,CAAC,SAAS,EAAE;IAClB;;AASA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1B;IACF;;IAGA,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE;IAC1B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC1B;IACF;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC5B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC7B;AAIO,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU;QACpD;AACA,QAAA,OAAO,IAAI;IACb;IAGA,WAAW,GAAA;IAEX;+GAzXW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,6bAH9B,CAACD,qCAAmC,EAAE,uBAAuB,CAAC,0BCtB7E,gmQA0IM,EAAA,MAAA,EAAA,CAAA,wjIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAX,+BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDjHO,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,aAG3B,CAACH,qCAAmC,EAAE,uBAAuB,CAAC,cAC7D,KAAK,EAAA,QAAA,EAAA,gmQAAA,EAAA,MAAA,EAAA,CAAA,wjIAAA,CAAA,EAAA;wDAqBN,SAAS,EAAA,CAAA;sBAArB;gBAOQ,kBAAkB,EAAA,CAAA;sBAA1B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,aAAa,EAAA,CAAA;sBAArB;gBAES,QAAQ,EAAA,CAAA;sBAAjB;;;ME3CU,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA7B,6BAA6B,EAAA,YAAA,EAAA,CAbtC,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAMhC,YAAY;YACZ,WAAW;YACX,mBAAmB;AACnB,YAAA,sBAAsB,aANtB,gCAAgC,CAAA,EAAA,CAAA,CAAA;AAUvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAPtC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,sBAAsB,CAAA,EAAA,CAAA,CAAA;;4FAIb,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAfzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCdY,wBAAwB,CAAA;AAgBnC,IAAA,WAAA,GAAA;QAdA,IAAA,CAAA,IAAI,GAAY,UAAU;QAE1B,IAAA,CAAA,IAAI,GAAY,UAAU;QAC1B,IAAA,CAAA,KAAK,GAAW,WAAW;QAElB,IAAA,CAAA,MAAM,GAAW,EAAE;QACnB,IAAA,CAAA,KAAK,GAAW,EAAE;QAClB,IAAA,CAAA,WAAW,GAAW,EAAE;QACxB,IAAA,CAAA,IAAI,GAA2B,OAAO;QACtC,IAAA,CAAA,IAAI,GAA2B,QAAQ;QAEvC,IAAA,CAAA,QAAQ,GAAY,KAAK;IAGlB;IAEhB,QAAQ,GAAA;IACR;+GAnBW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,0MCRrC,64BAuBM,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,CAAA,EAAA,CAAA,CAAA;;4FDfO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cAGjB,KAAK,EAAA,QAAA,EAAA,64BAAA,EAAA,MAAA,EAAA,CAAA,2dAAA,CAAA,EAAA;wDASV,MAAM,EAAA,CAAA;sBAAd;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBAEQ,QAAQ,EAAA,CAAA;sBAAhB;;;MEHU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,CAV9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAMxB,YAAY,aAHZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAOf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAJ9B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAZjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;ACdM,MAAM,mCAAmC,GAAQ;AACtD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,8BAA8B,CAAC;AAC7D,IAAA,KAAK,EAAE;;AAGT,MAAM,IAAI,GAAG,MAAK;AAClB,CAAC;MASY,8BAA8B,CAAA;IAgBvC,IAAa,OAAO,CAAC,CAAM,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;IACvB;AAOA,IAAA,WAAA,GAAA;QAvBS,IAAA,CAAA,UAAU,GAAY,IAAI;QAC1B,IAAA,CAAA,UAAU,GAAY,IAAI;QAC1B,IAAA,CAAA,sBAAsB,GAAY,IAAI;QAEtC,IAAA,CAAA,iBAAiB,GAAW,EAAE;QAE9B,IAAA,CAAA,yBAAyB,GAAY,IAAI;QACzC,IAAA,CAAA,yBAAyB,GAAY,IAAI;QACzC,IAAA,CAAA,0BAA0B,GAAY,IAAI;QAGnD,IAAA,CAAA,UAAU,GAAW,EAAE;AAMb,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO;QAEjD,IAAA,CAAA,IAAI,GAAW,UAAU;QACzB,IAAA,CAAA,MAAM,GAAY,KAAK;;;QAgFf,IAAA,CAAA,iBAAiB,GAAe,IAAI;QACpC,IAAA,CAAA,gBAAgB,GAAqB,IAAI;IA9EjC;IAEhB,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE;IAClD;IAEA,UAAU,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AAC1B,YAAA,IAAI,CAAC,IAAI,GAAG,MAAM;QACtB;aAAK;AACD,YAAA,IAAI,CAAC,IAAI,GAAG,UAAU;QAC1B;IACJ;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;QAClB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACpD;IAEA,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;IAC1C;IAEQ,aAAa,GAAA;QACjB,MAAM,gBAAgB,GAAG,4BAA4B;QACrD,MAAM,gBAAgB,GAAG,4BAA4B;QACrD,MAAM,OAAO,GAAG,YAAY;QAC5B,MAAM,iBAAiB,GAAG,2BAA2B;QAErD,MAAM,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,GAAG,iBAAiB;AAEvF,QAAA,MAAM,kBAAkB,GAAG,CAAC,UAAkB,KAAI;AAClD,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;AACjE,YAAA,OAAO,UAAU,CAAC,WAAW,CAAC;AAC9B,QAAA,CAAC;QAED,IAAI,QAAQ,GAAG,EAAE;AACjB,QAAA,QAAQ,IAAI,kBAAkB,CAAC,gBAAgB,CAAC;AAChD,QAAA,QAAQ,IAAI,kBAAkB,CAAC,OAAO,CAAC;AACvC,QAAA,QAAQ,IAAI,kBAAkB,CAAC,iBAAiB,CAAC;QAEjD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM;AAChE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;AAC1C,YAAA,QAAQ,IAAI,kBAAkB,CAAC,aAAa,CAAC;QAC7C;QACA,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACtE,QAAA,OAAO,QAAQ;IACnB;IAGA,kBAAkB,GAAA;AACd;;;;;;AAME;AAEF,QAAA,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAA,WAAA,CAAa,GAAG,EAAE;AACxE,QAAA,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAA,WAAA,CAAa,GAAG,EAAE;AACxE,QAAA,MAAM,SAAS,GAAI,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAA,wDAAA,CAA0D,GAAE,EAAE;QAErH,OAAO,CAAA,CAAA,EAAI,UAAU,CAAA,EAAG,UAAU,CAAA,EAAG,SAAS,CAAA,EAAA,EAAK,IAAI,CAAC,iBAAiB,CAAA,GAAA,CAAK;IAClF;;AAgBA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;IAC1B;;;IAGA,IAAI,KAAK,CAAC,CAAM,EAAA;AACZ,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5B;IACJ;;IAGA,MAAM,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE;IAC5B;;AAGA,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;QAC3B;IACJ;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;IAC9B;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE;IAC/B;+GA1IS,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAH5B,CAAC,mCAAmC,CAAC,0BChBpD,q3DAqCM,EAAA,MAAA,EAAA,CAAA,kqBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlBO,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAAA,SAAA,EAGzB,CAAC,mCAAmC,CAAC,cACpC,KAAK,EAAA,QAAA,EAAA,q3DAAA,EAAA,MAAA,EAAA,CAAA,kqBAAA,CAAA,EAAA;wDAIR,UAAU,EAAA,CAAA;sBAAlB;gBACQ,UAAU,EAAA,CAAA;sBAAlB;gBACQ,sBAAsB,EAAA,CAAA;sBAA9B;gBAEQ,iBAAiB,EAAA,CAAA;sBAAzB;gBAEQ,yBAAyB,EAAA,CAAA;sBAAjC;gBACQ,yBAAyB,EAAA,CAAA;sBAAjC;gBACQ,0BAA0B,EAAA,CAAA;sBAAlC;gBAMY,OAAO,EAAA,CAAA;sBAAnB;gBAGS,aAAa,EAAA,CAAA;sBAAtB;;;MEjBQ,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA3B,2BAA2B,EAAA,YAAA,EAAA,CAZpC,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAG9B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAGnB,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAIrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YATpC,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAOV,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAdvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCZY,4BAA4B,CAAA;IAKvC,IAAa,KAAK,CAAC,KAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAA,EAAG,KAAK,CAAA,CAAE,GAAG,SAAS;IAChD;IACA,IAAI,KAAK,KAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAMjC,IAAa,MAAM,CAAC,MAAW,EAAA;AAC7B,QAAA,IAAI,KAAK,GAAG,CAAA,EAAG,MAAM,EAAE;QACvB,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;gBACpB,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,CAAC,CAAC;QACJ;IACF;IACA,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC;IAM1C,IAAa,IAAI,CAAC,IAAY,EAAA;QAC5B,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,IAAI,CAAC,OAAO,EAAE;QAChB;IACF;IACA,IAAI,IAAI,KAAY,OAAO,IAAI,CAAC,KAAK,CAAA,CAAC;IAMtC,IAAa,MAAM,CAAC,MAAc,EAAA;QAChC,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;YACrB,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;IACA,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC;AAQ1C,IAAA,WAAA,GAAA;QArDA,IAAA,CAAA,SAAS,GAAW,GAAG;QAEf,IAAA,CAAA,MAAM,GAAQ,SAAS;AAM/B;;AAEE;QACM,IAAA,CAAA,OAAO,GAAQ,GAAG;AAY1B;;AAEE;QACM,IAAA,CAAA,KAAK,GAAW,SAAS;AASjC;;AAEE;QACM,IAAA,CAAA,OAAO,GAAW,QAAQ;QASlC,IAAA,CAAA,cAAc,GAAW,EAAE;QAC3B,IAAA,CAAA,YAAY,GAAW,EAAE;QAEhB,IAAA,CAAA,oBAAoB,GAAY,IAAI;QACpC,IAAA,CAAA,SAAS,GAAY,KAAK;QAwEnC,IAAA,CAAA,UAAU,GAAW,CAAC;IAtEN;IAEhB,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,SAAS,EAAE;IAClB;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;QACtB,IAAI,cAAc,GAAG,kBAAkB;QACvC,QAAQ,IAAI;AACV,YAAA,KAAK,SAAS;gBAAE,cAAc,GAAG,kBAAkB;gBAAE;AACrD,YAAA,KAAK,QAAQ;gBAAE,cAAc,GAAG,iBAAiB;gBAAE;AACnD,YAAA,KAAK,SAAS;gBAAE,cAAc,GAAG,kBAAkB;gBAAE;AACrD,YAAA,KAAK,MAAM;gBAAE,cAAc,GAAG,eAAe;gBAAE;AAC/C,YAAA,KAAK,SAAS;gBAAE,cAAc,GAAG,kBAAkB;gBAAE;AACrD,YAAA,KAAK,MAAM;gBAAE,cAAc,GAAG,eAAe;gBAAE;AAE/C,YAAA,KAAK,kBAAkB;gBAAE,cAAc,GAAG,2BAA2B;gBAAE;AACvE,YAAA,KAAK,iBAAiB;gBAAE,cAAc,GAAG,0BAA0B;gBAAE;AACrE,YAAA,KAAK,kBAAkB;gBAAE,cAAc,GAAG,2BAA2B;gBAAE;AACvE,YAAA,KAAK,eAAe;gBAAE,cAAc,GAAG,wBAAwB;gBAAE;;AAEnE,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;IACtC;IAEA,SAAS,GAAA;AACP,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;QAC1B,IAAI,YAAY,GAAG,eAAe;QAClC,QAAQ,MAAM;AACZ,YAAA,KAAK,QAAQ;gBAAE,YAAY,GAAG,eAAe;gBAAE;AAC/C,YAAA,KAAK,MAAM;gBAAE,YAAY,GAAG,aAAa;gBAAE;AAC3C,YAAA,KAAK,KAAK;gBAAE,YAAY,GAAG,YAAY;gBAAE;AACzC,YAAA,KAAK,UAAU;gBAAE,YAAY,GAAG,iBAAiB;gBAAE;;AAErD,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;IAClC;IAEA,oBAAoB,GAAA;QAClB,IAAI,EAAE,GAAW,GAAG;QACpB,IAAI,UAAU,GAAW,EAAE,IAAI,CAAC,MAAM,CAAC;AAEvC,QAAA,IAAI,UAAU,GAAG,GAAG,EAAE;YACpB,IAAI,IAAI,GAAG,EAAE,IAAI,UAAU,GAAG,GAAG,CAAC;AAClC,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG;IACvB;IAEA,WAAW,GAAA;AAET,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AAEd,YAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,oBAAoB,EAAE;gBAC3B;YACF;YAEA,IAAI,EAAE,GAAW,GAAG;YACpB,IAAI,UAAU,GAAW,EAAE,IAAI,CAAC,KAAK,CAAC;AAEtC,YAAA,IAAI,UAAU,GAAG,GAAG,EAAE;gBACpB,IAAI,IAAI,GAAG,EAAE,IAAI,UAAU,GAAG,GAAG,CAAC;AAClC,gBAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC;YAEA,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IAGA,YAAY,GAAA;QAEV,IAAI,SAAS,GAAW,EAAE,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,UAAU,GAAW,EAAE,IAAI,CAAC,KAAK,CAAC;;QAGtC,IAAI,SAAS,GAAG,SAAS,IAAI,UAAU,GAAG,GAAG,CAAC;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;IAG7B;+GAxIW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,uOCRzC,8iCAmBA,EAAA,MAAA,EAAA,CAAA,qvHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,CAAA,EAAA,CAAA,CAAA;;4FDXa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAGtB,KAAK,EAAA,QAAA,EAAA,8iCAAA,EAAA,MAAA,EAAA,CAAA,qvHAAA,CAAA,EAAA;wDAON,KAAK,EAAA,CAAA;sBAAjB;gBASY,MAAM,EAAA,CAAA;sBAAlB;gBAeY,IAAI,EAAA,CAAA;sBAAhB;gBAYY,MAAM,EAAA,CAAA;sBAAlB;gBAWQ,oBAAoB,EAAA,CAAA;sBAA5B;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;ME/CU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,CAPrB,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAGzC,YAAY,aAFJ,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAM3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAJlC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIH,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;oBAC5C,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAE,sBAAsB,EAAE,gBAAgB;AACpD,iBAAA;;;MCLY,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,4ECRnC,yIAEM,EAAA,MAAA,EAAA,CAAA,g/BAAA,CAAA,EAAA,CAAA,CAAA;;4FDMO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cAGf,KAAK,EAAA,QAAA,EAAA,yIAAA,EAAA,MAAA,EAAA,CAAA,g/BAAA,CAAA,EAAA;;;MEER,wBAAwB,CAAA;IAKnC,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACzB;IACF;IACA,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE9C,IAAA,WAAA,GAAA;QAVS,IAAA,CAAA,IAAI,GAAY,KAAK;QAEtB,IAAA,CAAA,QAAQ,GAAY,KAAK;IAQjB;IAEhB,QAAQ,GAAA;IACR;+GAfW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4HCRrC,unBAqBE,EAAA,MAAA,EAAA,CAAA,sbAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,WAAA,EAAA,IAAA,EAAAe,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDbW,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cAGjB,KAAK,EAAA,QAAA,EAAA,unBAAA,EAAA,MAAA,EAAA,CAAA,sbAAA,CAAA,EAAA;wDAIV,IAAI,EAAA,CAAA;sBAAZ;gBAGY,OAAO,EAAA,CAAA;sBAAnB;;;MEAU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CANjB,wBAAwB,EAAE,sBAAsB,aAG7D,YAAY,CAAA,EAAA,OAAA,EAAA,CAFJ,wBAAwB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAK/C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAH9B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAChE,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAC3D,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;MCJY,6BAA6B,CAAA;AAN1C,IAAA,WAAA,GAAA;QAOE,IAAA,CAAA,UAAU,GAAG,EAAW;;QAGhB,IAAA,CAAA,MAAM,GAAG,EAAW;AASlB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AAsFhD,IAAA;IA9FC,IAAa,KAAK,CAAC,CAAM,EAAA;QACvB,IAAI,CAAC,EAAE;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IACA,IAAI,KAAK,KAAI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAKjC,QAAQ,GAAA;IACR;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAEzC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAE,IAAI,CAAC,IAAI,CAAE;gBACrC;qBAAK;oBACH,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAE,CAAA,EAAG,IAAI,CAAA,CAAE,CAAE;gBACrC;YACF;QAEF;IAEF;AAEA,IAAA,eAAe,CAAC,IAAY,EAAA;QAC1B,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AACzC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1B,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;wBAC1C,OAAO,IAAI,CAAC,WAAW;oBACzB;gBACF;YACF;QACF;AACA,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,QAAQ,CAAC,IAAY,EAAA;QACnB,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AACzC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1B,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1C,wBAAA,OAAO,IAAI;oBACb;gBACF;YACF;QACF;AACA,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,IAAI,CAAC,IAAS,EAAE,KAAa,EAAE,OAAe,EAAA;AAC5C,QAAA,IAAI,OAAO,GAAG,CAAC,EAAE;YAAE;QAAQ;AAC3B,QAAA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE;YAAE;QAAQ;QACxD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;AAChC,YAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;AAC/C,gBAAA,IAAI,CAAC,KAAK,KAAK,EAAC;oBAEd,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAChC,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACjD,oBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG;oBAC9B;gBAGF;YACF;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAChF,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;QAClC;aAAK;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;QAC9B;QACA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAE,IAAI,CAAC,KAAK,CAAE;IAErC;IAEA,YAAY,GAAA;QACV,IAAI,KAAK,GAAG,EAAE;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;AACnD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACjD,gBAAA,CAAC,KAAK,EAAE,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA,CAAE,CAAE,CAAE;YAC1D;QACF;AACA,QAAA,OAAO,KAAK;IACd;+GAlGW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,yJCR1C,wjDA2CiB,EAAA,MAAA,EAAA,CAAA,giBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDnCJ,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,cAGvB,KAAK,EAAA,QAAA,EAAA,wjDAAA,EAAA,MAAA,EAAA,CAAA,giBAAA,CAAA,EAAA;8BAON,KAAK,EAAA,CAAA;sBAAjB;gBAQS,WAAW,EAAA,CAAA;sBAApB;;;MEJU,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,CATnC,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAM7B,YAAY,aAHZ,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAMpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAHnC,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGH,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAXtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;MCRY,2BAA2B,CAAA;AAStC,IAAA,WAAA,GAAA;QAPS,IAAA,CAAA,IAAI,GAAY,KAAK;QACrB,IAAA,CAAA,KAAK,GAAQ,EAAE;AACd,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAO;QAE3C,IAAA,CAAA,IAAI,GAAY,KAAK;QACrB,IAAA,CAAA,MAAM,GAAY,KAAK;IAEP;IAEhB,QAAQ,GAAA;IACR;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;QAElB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAE7B,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACrB,CAAC,EAAE,IAAI,CAAC;IAEV;+GAxBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,6JCRxC,sqCA2BQ,EAAA,MAAA,EAAA,CAAA,0iBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,CAAA,EAAA,CAAA,CAAA;;4FDnBK,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cAGrB,KAAK,EAAA,QAAA,EAAA,sqCAAA,EAAA,MAAA,EAAA,CAAA,0iBAAA,CAAA,EAAA;wDAIV,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACS,OAAO,EAAA,CAAA;sBAAhB;;;MEQU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAxB,wBAAwB,EAAA,YAAA,EAAA,CAXjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAG3B,YAAY;YACZ,WAAW;AACX,YAAA,mBAAmB,aAGnB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YARjC,YAAY;YACZ,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAMV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD;AACF,iBAAA;;;MCAY,8BAA8B,CAAA;AAf3C,IAAA,WAAA,GAAA;QAgBW,IAAA,CAAA,eAAe,GAAY,IAAI;AAWzC,IAAA;IAPC,QAAQ,GAAA;IAER;AAEA,IAAA,IAAW,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;IACnD;+GAXW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA9B,8BAA8B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB3C,0zBAqBA,EAAA,MAAA,EAAA,CAAA,+qBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDbgB;YACR,OAAO,CAAC,qBAAqB,EAAE;gBAC3B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClC,UAAU,CAAC,WAAW,EAAE;AACpB,oBAAA,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBACnB,OAAO,CAAC,cAAc;iBACzB;aACJ;AACJ,SAAA,EAAA,CAAA,CAAA;;4FAGQ,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAf1C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,UAAA,EAGzB;wBACR,OAAO,CAAC,qBAAqB,EAAE;4BAC3B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;4BAClC,UAAU,CAAC,WAAW,EAAE;AACpB,gCAAA,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gCACnB,OAAO,CAAC,cAAc;6BACzB;yBACJ;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,0zBAAA,EAAA,MAAA,EAAA,CAAA,+qBAAA,CAAA,EAAA;8BAGV,eAAe,EAAA,CAAA;sBAAvB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,WAAW,EAAA,CAAA;sBAAnB;;;MEZU,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,CALvB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CACnC,YAAY,aACZ,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAG7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YAJ5B,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIX,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;oBAC9C,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,8BAA8B,CAAC;AACzC,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,gBAAgB;AACnD,iBAAA;;;MCHY,oBAAoB,CAAA;AAO7B,IAAA,WAAA,CACgD,aAAkB,EAAA;QAAlB,IAAA,CAAA,aAAa,GAAb,aAAa;QANrD,IAAA,CAAA,YAAY,GAAG,EAA2B;AAE1C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAClB,QAAA,IAAA,CAAA,YAAY,GAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AAKhD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa;IAC1C;IAEA,OAAO,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;IACvC;AAEO,IAAA,gBAAgB,CAAC,CAAS,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB;AAnBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAQL,cAAc,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAR7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BASQ;;0BAAY,MAAM;2BAAC,cAAc;;;MCmG7B,cAAc,CAAA;IAEvB,OAAO,OAAO,CAAC,MAAsB,EAAA;QACjC,OAAO;AACH,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,SAAS,EAAE;gBACP,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE;gBACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE;gBACtE,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY;AACzE;SACJ;IACL;+GAXS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAxEnB,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;YACvB,4BAA4B;YAC5B,yBAAyB;YACzB,sBAAsB;YACtB,wBAAwB;YACxB,0BAA0B;YAC1B,yBAAyB;YACzB,sBAAsB;YACtB,mBAAmB;YACnB,wBAAwB;YACxB,uBAAuB;YACvB,qBAAqB;YACrB,uBAAuB;YACvB,wBAAwB;YACxB,4BAA4B;YAC5B,6BAA6B;YAC7B,qBAAqB;YACrB,2BAA2B;YAC3B,yBAAyB;YACzB,qBAAqB;YACrB,0BAA0B;YAC1B,wBAAwB;YACxB,2BAA2B;;YAG3B,uBAAuB;;AAGvB,YAAA,mBAAmB,aAGnB,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;YACvB,4BAA4B;YAC5B,yBAAyB;YACzB,sBAAsB;YACtB,wBAAwB;YACxB,0BAA0B;YAC1B,yBAAyB;YACzB,sBAAsB;YACtB,mBAAmB;YACnB,wBAAwB;YACxB,uBAAuB;YACvB,qBAAqB;YACrB,uBAAuB;YACvB,wBAAwB;YACxB,4BAA4B;YAC5B,6BAA6B;YAC7B,qBAAqB;YACrB,2BAA2B;YAC3B,yBAAyB;YACzB,qBAAqB;YACrB,0BAA0B;YAC1B,wBAAwB;YACxB,2BAA2B;;YAG3B,uBAAuB;;YAGvB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AASd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAAA,SAAA,EAPZ;YACP,iCAAiC;YACjC,6BAA6B;YAC7B,0BAA0B;YAC1B;AACH,SAAA,EAAA,OAAA,EAAA,CAtEG,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;YACvB,4BAA4B;YAC5B,yBAAyB;YACzB,sBAAsB;YACtB,wBAAwB;YACxB,0BAA0B;YAC1B,yBAAyB;YACzB,sBAAsB;YACtB,mBAAmB;YACnB,wBAAwB;YACxB,uBAAuB;YACvB,qBAAqB;YACrB,uBAAuB;YACvB,wBAAwB;YACxB,4BAA4B;YAC5B,6BAA6B;YAC7B,qBAAqB;YACrB,2BAA2B;YAC3B,yBAAyB;YACzB,qBAAqB;YACrB,0BAA0B;YAC1B,wBAAwB;YACxB,2BAA2B;;YAG3B,uBAAuB;;AAGvB,YAAA,mBAAmB,EAGnB,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;YACvB,4BAA4B;YAC5B,yBAAyB;YACzB,sBAAsB;YACtB,wBAAwB;YACxB,0BAA0B;YAC1B,yBAAyB;YACzB,sBAAsB;YACtB,mBAAmB;YACnB,wBAAwB;YACxB,uBAAuB;YACvB,qBAAqB;YACrB,uBAAuB;YACvB,wBAAwB;YACxB,4BAA4B;YAC5B,6BAA6B;YAC7B,qBAAqB;YACrB,2BAA2B;YAC3B,yBAAyB;YACzB,qBAAqB;YACrB,0BAA0B;YAC1B,wBAAwB;YACxB,2BAA2B;;YAG3B,uBAAuB;;YAGvB,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FASd,cAAc,EAAA,UAAA,EAAA,CAAA;kBA1E1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,mBAAmB;wBACnB,qBAAqB;wBACrB,uBAAuB;wBACvB,4BAA4B;wBAC5B,yBAAyB;wBACzB,sBAAsB;wBACtB,wBAAwB;wBACxB,0BAA0B;wBAC1B,yBAAyB;wBACzB,sBAAsB;wBACtB,mBAAmB;wBACnB,wBAAwB;wBACxB,uBAAuB;wBACvB,qBAAqB;wBACrB,uBAAuB;wBACvB,wBAAwB;wBACxB,4BAA4B;wBAC5B,6BAA6B;wBAC7B,qBAAqB;wBACrB,2BAA2B;wBAC3B,yBAAyB;wBACzB,qBAAqB;wBACrB,0BAA0B;wBAC1B,wBAAwB;wBACxB,2BAA2B;;wBAG3B,uBAAuB;;wBAGvB;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,mBAAmB;wBACnB,qBAAqB;wBACrB,uBAAuB;wBACvB,4BAA4B;wBAC5B,yBAAyB;wBACzB,sBAAsB;wBACtB,wBAAwB;wBACxB,0BAA0B;wBAC1B,yBAAyB;wBACzB,sBAAsB;wBACtB,mBAAmB;wBACnB,wBAAwB;wBACxB,uBAAuB;wBACvB,qBAAqB;wBACrB,uBAAuB;wBACvB,wBAAwB;wBACxB,4BAA4B;wBAC5B,6BAA6B;wBAC7B,qBAAqB;wBACrB,2BAA2B;wBAC3B,yBAAyB;wBACzB,qBAAqB;wBACrB,0BAA0B;wBAC1B,wBAAwB;wBACxB,2BAA2B;;wBAG3B,uBAAuB;;wBAGvB;AACH,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,iCAAiC;wBACjC,6BAA6B;wBAC7B,0BAA0B;wBAC1B;AACH;AACJ,iBAAA;;;AChHD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"dev-tcloud-tcloud-ui.mjs","sources":["../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/monthname.ts","../../../projects/tcloud-ui/src/lib/_pipes/statusinfo.ts","../../../projects/tcloud-ui/src/lib/_pipes/respective.ts","../../../projects/tcloud-ui/src/lib/_pipes/cnpj.ts","../../../projects/tcloud-ui/src/lib/_pipes/cpf.ts","../../../projects/tcloud-ui/src/lib/_pipes/bytes.ts","../../../projects/tcloud-ui/src/lib/_pipes/datebr.ts","../../../projects/tcloud-ui/src/lib/_pipes/array-to-text.ts","../../../projects/tcloud-ui/src/lib/_services/search-in-object.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts","../../../projects/tcloud-ui/src/lib/_directives/align/align.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/el-copy/el-copy.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/currency/currency.directive.ts","../../../projects/tcloud-ui/src/lib/_services/tcloud-ui-check-access.service.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-digit-only.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-highlight.diretive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-ip-mask.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/directives.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts","../../../projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.ts","../../../projects/tcloud-ui/src/lib/_services/tcloud-ui-theme.services.ts","../../../projects/tcloud-ui/src/lib/tcloud-ui.module.ts","../../../projects/tcloud-ui/src/public-api.ts","../../../projects/tcloud-ui/src/dev-tcloud-tcloud-ui.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-linha-logo',\n templateUrl: './tcloud-ui-linha-logo.component.html',\n styleUrls: ['./tcloud-ui-linha-logo.component.scss'],\n standalone: false\n})\nexport class TCloudUiLinhaLogoComponent implements OnInit {\n\n @Input() url: any = `h`+`t`+`t`+`p`+`s`+`:`+`/`+`/`+`ateleia`+`-`+`email`+`.s3`+`-`+`sa`+`-`+`east`+`-`+`1`+`.`+`amazonaws`+`.`+`com`+`/`; \n @Input() product: string = '';\n\n logo_name: string = '';\n product_name: string = '';\n alt_product_name: string = '';\n font_size: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n\n this.logo_name = this.getLogoName();\n this.product_name = this.getProductName();\n \n this.alt_product_name = (this.product_name).toUpperCase();\n\n this.font_size = this.getWidthFontSize();\n }\n\n getProductName(){\n if( this.product !== '' ){\n let name = this.product;\n name = (name).replace('_',' ');\n name = (name).toLowerCase();\n return name;\n }\n return '';\n }\n\n getLogoName(){\n if( this.product !== '' ){\n let name = this.product;\n name = (name).replace('_','-');\n name = (name).toLowerCase();\n return 'logo-linha-'+name;\n }\n return '';\n }\n\n getWidthFontSize(){\n let size = 28;\n let new_size = size;\n const count = (this.product_name).length; \n\n if( count > 8 ){\n new_size = 28;\n }\n\n if( count > 12 ){\n const p = (size * (5+(count*2)) ) / 100;\n new_size = (size - p);\n }\n\n if( count > 15 ){\n const p = (size * (10+(count*2)) ) / 100;\n new_size = (size - p);\n }\n\n\n\n return `${new_size}px`;\n }\n\n}\n","<!-- <div class=\"logo-product\" *ngIf=\"product !== ''\">\n <img class=\"img-logo\" src=\"/assets/img/logo-totvs.svg\" alt=\"{{ alt_product_name }}\">\n <p class=\"text-small\">Linha</p>\n <p class=\"text-product\" [style]=\"'font-size:'+font_size+';'\" >{{ product_name }}</p>\n</div> -->\n\n<div class=\"tcloud-ui-linha-logo logo-product\" *ngIf=\"product !== ''\">\n <img class=\"img-logo\" [attr.data-name-image]=\"logo_name\" [attr.src]=\"url+logo_name+'.svg'\" alt=\"{{ alt_product_name }}\">\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiLinhaLogoComponent } from './tcloud-ui-linha-logo.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiLinhaLogoComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n TCloudUiLinhaLogoComponent\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiLinhaLogoModule { }\n","import { ITab } from './../tcloud-ui-tab-menu';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n\n\n@Injectable()\nexport class TabMenuService {\n\n private info_tab: ITab[] = [];\n\n private _scroll: boolean | undefined;\n private scrollSubject = new Subject<boolean>(); \n public scrollState$ = this.scrollSubject.asObservable();\n\n private _bottom_line: boolean | undefined;\n private bottom_lineSubject = new Subject<boolean>(); \n public bottom_lineState$ = this.bottom_lineSubject.asObservable();\n\n private _tab: string | undefined;\n private tabSubject = new Subject<string>(); \n public tabState$ = this.tabSubject.asObservable();\n\n private _loading: boolean | undefined;\n private loadingSubject = new Subject<boolean>(); \n public loadingState$ = this.loadingSubject.asObservable();\n\n private _full: boolean | undefined;\n private fullSubject = new Subject<boolean>(); \n public fullState$ = this.fullSubject.asObservable();\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router\n ){\n\n }\n\n setTabScroll(scroll: boolean){\n this._scroll = scroll;\n this.scrollSubject.next(scroll);\n }\n\n getTabScroll(){\n return this._scroll;\n }\n\n setTabBottomLine(bottom_line: boolean){\n this._bottom_line = bottom_line;\n this.bottom_lineSubject.next(bottom_line);\n }\n\n getTabBottomLine(){\n return this._bottom_line;\n } \n\n setTabLoading(loading: boolean){\n this._loading = loading;\n this.loadingSubject.next(loading);\n }\n\n getTabLoading(){\n return this._loading;\n }\n\n setTabfull(full: boolean){\n this._full = full;\n this.fullSubject.next(full);\n }\n\n getTabFull(){\n return this._full;\n }\n\n setTabState(tab: string, registerInUrl?:boolean | undefined){\n this._tab = tab;\n if( registerInUrl ){ this.set_to_param_url(tab); } \n this.tabSubject.next(tab);\n }\n\n getTabState(){\n return this._tab;\n }\n\n setTabDisabled(id: string, disabled: boolean ){\n let create = true;\n if( this.info_tab && (this.info_tab).length > 0 ){\n for( let i = 0; i < (this.info_tab).length; i++ ){\n if( this.info_tab[i].id === id ){\n this.info_tab[i].disabled = disabled;\n create = false;\n break;\n }\n }\n }\n if( create ){\n (this.info_tab).push({ id:id, disabled: disabled });\n } \n }\n\n getIsDisabled(id: string){\n if( this.info_tab && (this.info_tab).length > 0 ){\n for( let i = 0; i < (this.info_tab).length; i++ ){\n if( this.info_tab[i].id === id ){\n return this.info_tab[i].disabled;\n }\n }\n }\n return false;\n }\n\n set_to_param_url(tab: string){\n // changes the route without moving from the current view or\n // triggering a navigation event,\n this._router.navigate([], {\n relativeTo: this._route,\n queryParams: {\n tab: `${tab}`\n },\n queryParamsHandling: 'merge',\n // preserve the existing query params in the route\n skipLocationChange: false\n // do not trigger navigation\n });\n }\n\n}","import { Subscription } from 'rxjs';\nimport { TabMenuService } from './services/tab-menu.service';\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-tab-menu',\n templateUrl: './tcloud-ui-tab-menu.component.html',\n styleUrls: ['./tcloud-ui-tab-menu.component.scss'],\n providers: [TabMenuService],\n standalone: false\n})\nexport class TCloudUiTabMenuComponent implements OnInit, OnDestroy {\n\n @Input() registerInUrl: boolean = false;\n\n private _loading: boolean = false;\n @Input() set loading(loading: boolean){\n this._loading = loading;\n this.tabMenuService.setTabLoading(this.loading);\n }\n get loading(): boolean{ return this._loading; }\n\n private _active: string = '';\n @Input() set active(active: string){\n this._active = active;\n if( this.active !== '' ){\n setTimeout(() => {\n this.tabMenuService.setTabState(this.active, this.registerInUrl);\n });\n \n }\n }\n get active(): string{ return this._active; }\n\n private _full: boolean = false;\n @Input() set full(full: boolean){\n this._full = full;\n this.tabMenuService.setTabfull(this.full);\n }\n get full(): boolean{ return this._full; }\n\n\n @Output() onChange = new EventEmitter<string>();\n\n private subscription: Subscription | undefined;\n\n constructor(\n private tabMenuService: TabMenuService\n ) { }\n\n ngOnInit(): void {\n\n const tab = this.tabMenuService.getTabState();\n if( tab === this._active ){\n this.onChange.emit(tab);\n }\n\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\n this.onChange.emit(tab);\n })\n }\n\n ngOnDestroy(){\n if( this.subscription ){ this.subscription.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-tab-menu tc-tab-menu\" [class.loading]=\"loading\" [class.tcloud-ui-tab-block-full]=\"full\" >\n <ng-content></ng-content>\n</div>","import { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TabMenuService } from '../../services/tab-menu.service';\n\n@Component({\n selector: 'tcloud-ui-tab-content',\n templateUrl: './tcloud-ui-tab-content.component.html',\n styleUrls: ['./tcloud-ui-tab-content.component.scss'],\n standalone: false\n})\nexport class TCloudUiTabContentComponent implements OnInit {\n\n @Input() hideContent: boolean = false;\n @Input() tab: string = '';\n\n active: boolean = false;\n \n private subscription: Subscription | undefined;\n\n constructor(\n private tabMenuService: TabMenuService\n ) { }\n\n ngOnInit(): void {\n\n const disabled = this.tabMenuService.getIsDisabled(this.tab);\n const tab = this.tabMenuService.getTabState();\n\n this.active = ( tab === this.tab && !disabled );\n\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\n this.active = ( tab === this.tab );\n });\n }\n\n ngOnDestroy(){\n if( this.subscription ){ this.subscription.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-tab-content tc-tabmenu-content\" *ngIf=\"active || hideContent\" [class.tc-table-hide]=\"!active\">\n <ng-content></ng-content>\n</div>\n\n","import { OnDestroy } from '@angular/core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TabMenuService } from '../../services/tab-menu.service';\n\n@Component({\n selector: 'tcloud-ui-tab-title',\n templateUrl: './tcloud-ui-tab-title.component.html',\n styleUrls: ['./tcloud-ui-tab-title.component.scss'],\n standalone: false\n})\nexport class TCloudUiTabTitleComponent implements OnInit, OnDestroy {\n\n @Input() tab: string = '';\n @Input() title: string | undefined;\n @Input() active: boolean = false;\n\n loading: boolean = false;\n bottom_line: boolean = false;\n\n private _disabled: boolean = false;\n @Input() set disabled(disabled){\n this._disabled = disabled;\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\n }\n get disabled(): boolean { return this._disabled; }\n\n \n\n private subscription = new Subscription();\n\n constructor(\n private tabMenuService: TabMenuService\n ) { }\n\n ngOnInit(): void {\n\n if( !this.disabled ){\n const tab = this.tabMenuService.getTabState();\n if( this.tab !== '' ){\n this.active = ( tab === this.tab );\n }\n\n const bottom_line = this.tabMenuService.getTabBottomLine();\n if( typeof bottom_line === 'boolean' ){\n this.bottom_line = bottom_line;\n }\n }\n \n this.subscription?.add(\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\n if( this.tab !== '' ){\n this.active = ( tab === this.tab );\n }\n })\n )\n\n this.loading = <any> this.tabMenuService.getTabLoading();\n this.subscription?.add(\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\n this.loading = loading;\n })\n )\n\n this.subscription?.add(\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\n this.bottom_line = bottom_line;\n })\n )\n }\n\n toTab(){\n if( !this.disabled ){\n if( this.tab && this.tab !== '' ){\n this.tabMenuService.setTabState(this.tab);\n }\n }\n }\n\n ngOnDestroy(){\n if( this.subscription ){ this.subscription.unsubscribe(); }\n }\n\n}\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-title-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-title tab-title\" >\n <ng-content></ng-content>\n</button>\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\" ></div>","import { OnDestroy } from '@angular/core';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TabMenuService } from '../../services/tab-menu.service';\n\n@Component({\n selector: 'tcloud-ui-tab-subtitle',\n templateUrl: './tcloud-ui-tab-subtitle.component.html',\n styleUrls: ['./tcloud-ui-tab-subtitle.component.scss'],\n standalone: false\n})\nexport class TCloudUiTabSubtitleComponent implements OnInit, OnDestroy {\n\n @Input() tab: string = '';\n @Input() active: boolean = false;\n\n private _disabled: boolean = false;\n @Input() set disabled(disabled){\n this._disabled = disabled;\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\n }\n get disabled(): boolean { return this._disabled; }\n\n loading: boolean = false;\n bottom_line: boolean = false;\n private subscription = new Subscription();\n\n constructor(\n private tabMenuService: TabMenuService\n ) { }\n\n ngOnInit(): void {\n\n if( !this.disabled ){\n const tab = this.tabMenuService.getTabState();\n if( this.tab !== '' ){\n this.active = ( tab === this.tab );\n }\n\n const bottom_line = this.tabMenuService.getTabBottomLine();\n if( typeof bottom_line === 'boolean' ){\n this.bottom_line = bottom_line;\n }\n\n }\n\n this.subscription?.add(\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\n if( this.tab !== '' ){\n this.active = ( tab === this.tab );\n }\n })\n )\n\n this.loading = <any> this.tabMenuService.getTabLoading();\n this.subscription?.add(\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\n this.loading = loading;\n })\n )\n\n this.subscription?.add(\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\n this.bottom_line = bottom_line;\n })\n )\n }\n\n toTab(){\n if( !this.disabled ){\n if( this.tab && this.tab !== '' ){\n this.tabMenuService.setTabState(this.tab);\n }\n }\n }\n\n ngOnDestroy(){\n if( this.subscription ){ this.subscription.unsubscribe(); }\n }\n\n}\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-subtitle-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-subtitle tab-subtitle\" >\n <ng-content></ng-content>\n</button>\n\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\"></div>","import { Component, Input, OnInit } from '@angular/core';\nimport { TabMenuService } from '../../services/tab-menu.service';\n\n@Component({\n selector: 'tcloud-ui-tab-head',\n templateUrl: './tcloud-ui-tab-head.component.html',\n styleUrls: ['./tcloud-ui-tab-head.component.scss'],\n standalone: false\n})\nexport class TCloudUiTabHeadComponent implements OnInit {\n\n private _scroll: boolean = true;\n @Input() set scroll(scroll: boolean){\n if( typeof scroll === 'boolean' ){\n this._scroll = scroll;\n this.tabMenuService.setTabScroll(scroll);\n }\n }\n get scroll(): boolean { return this._scroll; }\n\n ID: string = '';\n @Input() background: boolean = true;\n\n @Input() backgroundColor: '#FFFFFF'|'#F1F1F1'|'white'|'transparent' = 'transparent'; // var(--cinza4)\n\n private _bottom_line: boolean = false;\n @Input() set bottom_line(bottom_line: boolean){\n if( typeof bottom_line === 'boolean' ){\n this._bottom_line = bottom_line;\n this.tabMenuService.setTabBottomLine(bottom_line);\n }\n }\n get bottom_line(): boolean { return this._bottom_line; }\n\n constructor(\n private tabMenuService: TabMenuService\n ) { }\n\n ngOnInit(): void {\n if( this.background ){\n if( this.backgroundColor === 'white' ){\n this.backgroundColor = '#FFFFFF';\n }else{\n this.backgroundColor = '#F1F1F1';\n }\n }\n\n this.ID = this.generateID();\n }\n\n generateID(): string{\n return `tc-head-scroll-box-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n to_scroll(action: 'prev'|'next'){\n this.moveScroll(action, this.width_scroll());\n }\n\n private width_scroll(): number{\n var ele = <any> document.querySelectorAll(`.${this.ID}`);\n return ele[0].querySelector(\"button\").offsetWidth;\n }\n\n private scrollSuave(old:any, des:any, atu:any, ele:any){\n const _this = this;\n var easeOutCubic = (t:any) => { return (--t)*t*t+1 };\n atu += 5; // move de 5 em 5 pixel. Aumentando o valor da velocidade\n var ease = easeOutCubic(atu/100);\n var del = des-old;\n del *= ease;\n del += old;\n ele.scrollTo(del, 0);\n if(atu < 100){\n window.requestAnimationFrame(() => {\n _this.scrollSuave(old, des, atu, ele);\n });\n }\n }\n\n private moveScroll(action: any, wid: number){\n var ele = document.querySelectorAll(`.${this.ID}`);\n var ccs = ele[0];\n var ccs_s = ccs.scrollLeft;\n this.scrollSuave(ccs_s, action == 'next' ? wid+ccs_s : ccs_s-wid, 0, ccs);\n }\n\n}","\n\n<table class=\"tcloud-ui-tab-head area-navigation\">\n <tr>\n <td *ngIf=\"scroll\">\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\n </td>\n\n <td>\n\n </td>\n\n <td *ngIf=\"scroll\">\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\n </td>\n </tr>\n</table>\n\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" [class.tab-subtitle-line-bottom]=\"bottom_line\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"hr-border-bottom\" *ngIf=\"bottom_line\"></div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiTabMenuComponent } from './tcloud-ui-tab-menu.component';\nimport { TCloudUiTabContentComponent } from './components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\nimport { TCloudUiTabTitleComponent } from './components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\nimport { TCloudUiTabSubtitleComponent } from './components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\nimport { TCloudUiTabHeadComponent } from './components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiTabMenuComponent,\n TCloudUiTabContentComponent,\n TCloudUiTabTitleComponent,\n TCloudUiTabSubtitleComponent,\n TCloudUiTabHeadComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n TCloudUiTabMenuComponent,\n TCloudUiTabContentComponent,\n TCloudUiTabTitleComponent,\n TCloudUiTabSubtitleComponent,\n TCloudUiTabHeadComponent\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiTabMenuModule { }\n","import { IConfirm } from './../tcloud-ui-modal';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class TcloudModalService {\n\n private loading: boolean | undefined;\n\n private param_mode: string = '';\n private param_confirm: IConfirm = {} as IConfirm;\n\n private _stateClose = new Subject<boolean>();\n public stateClose$ = this._stateClose.asObservable();\n\n private _stateConfirm = new Subject<IConfirm>();\n public stateConfirm$ = this._stateConfirm.asObservable();\n\n private _stateRespConfirm = new Subject<boolean>();\n public stateRespConfirm$ = this._stateRespConfirm.asObservable();\n\n private _stateLoading = new Subject<boolean>();\n public stateLoading$ = this._stateLoading.asObservable();\n\n private _stateMode = new Subject<string>();\n public stateMode$ = this._stateMode.asObservable();\n\n\n toModal(action: 'open'|'close'): void{\n if(action === 'close'){\n this.fixed_body('off');\n }\n this._stateClose.next( (action === 'open') );\n }\n\n toRespConfirm(resp: boolean){ \n this._stateRespConfirm.next(resp);\n }\n\n getParamConfirm(): IConfirm{\n return this.param_confirm;\n }\n\n toConfirm(confirm: IConfirm){\n this.param_confirm = confirm;\n this._stateConfirm.next(confirm);\n }\n\n toMode(mode: string){\n this.param_mode = mode;\n this._stateMode.next(mode);\n }\n\n getLoading(){\n return this.loading;\n }\n\n setLoading(loading: boolean){\n this.loading = loading;\n this._stateLoading.next(loading);\n }\n\n fixed_body(fixed: 'on'|'off'){ \n let body = <any> document.getElementsByTagName(\"BODY\")[0];\n if( body && body.style ){\n if( fixed === 'on' ){\n body.style.overflowY = \"hidden\";\n }\n if( fixed === 'off' ){\n body.style.removeProperty('overflow-y');\n }\n }\n }\n\n}","import { Subscription } from 'rxjs';\nimport { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core';\nimport { TcloudModalService } from './services/tcloud-modal.service';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { IConfirm } from './tcloud-ui-modal';\n\n@Component({\n selector: 'tcloud-ui-modal',\n templateUrl: './tcloud-ui-modal.component.html',\n styleUrls: ['./tcloud-ui-modal.component.scss'],\n providers: [\n TcloudModalService\n ],\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hide', style({ opacity: 0, top: '-38%' })),\n transition('void => visible', [\n style({ opacity: 0, top: '-38%' }),\n animate('0.3s ease-out')\n ]),\n transition('visible => hide', animate('0.3s ease-out'))\n ])\n ],\n standalone: false\n})\nexport class TCloudUiModalComponent implements OnInit, OnDestroy {\n\n /**\n * tcloud-ui-modal - Cria e exibe um modal\n * \n * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'\n * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true\n * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false\n */\n\n param_confirm: IConfirm = {} as IConfirm;\n /* BEGIN - Parametros para modo confirmacao */\n private _confirm: boolean = false;\n private _confirmText: string = 'Confirmo';\n\n /**\n * confirm boolean - Indica se será um modal do tipo confirmação - default false\n */\n @Input() set confirm(v: boolean){\n this._confirm = v;\n this.param_confirm.confirm = this._confirm;\n this.param_confirm.confirmText = this._confirmText;\n }\n\n /**\n * confirmText string - Texto que deverá ser digitado - defualt Confirmo\n */\n @Input() set confirmText(v: string){\n this._confirmText = v;\n this.param_confirm.confirmText = this._confirmText;\n this.param_confirm.confirm = this._confirm; \n }\n\n /* END --- Parametros para modo confirmacao */\n\n subscription = new Subscription();\n\n /**\n * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true\n */\n @Input() autoClose: boolean = true;\n\n /**\n * title - string - Título a ser exibido no topo do modal\n */\n @Input() title: any | undefined;\n\n /**\n * maxWidth - number - Largura máxima do modal - default 500px\n */\n @Input() maxWidth: number = 500;\n\n\n /**\n * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)\n */\n @Input() set window( size: 'small' | 'medium' | 'large' | 'big' | 'full' ){\n switch (size) {\n case 'small': this.maxWidth = 300; break;\n case 'medium': this.maxWidth = 500; break;\n case 'large': this.maxWidth = 900; break;\n case 'big': this.maxWidth = 1100; break;\n case 'full': this.maxWidth = 1400; break;\n }\n }\n\n \n mode: string = '';\n control_open: boolean = false;\n private _open: boolean = false;\n /**\n * open - boolean - Variável de controle para exibição do modal - obrigatório\n */\n @Input() set open(open: boolean){\n this.control_open = open;\n this.checkIsOpen();\n\n this._open = open;\n this.tcloudModalService.fixed_body((open) ? 'on' : 'off');\n }\n get open(): boolean { return this._open; }\n\n private _loading: boolean = false;\n /**\n * loading - boolean - Coloca o modal em modo de carregamento - default false\n */\n @Input() set loading(loading: boolean){ \n this._loading = loading;\n this.tcloudModalService.setLoading(loading);\n }\n get loading(): boolean { return this._loading; }\n \n @Output() openChange = new EventEmitter<boolean>();\n\n @Output() toConfirm = new EventEmitter<boolean>();\n @Output() toCancel = new EventEmitter<boolean>();\n @Output() toAction = new EventEmitter<'confirmed'|'cancel'|'close'>();\n\n constructor(\n private tcloudModalService: TcloudModalService\n ) { }\n\n ngOnInit(): void {\n\n this.subscription.add(this.tcloudModalService.stateClose$.subscribe(\n (open: boolean)=>{\n if( open ){\n /* OPEN */\n }\n\n if( !open ){\n /* CLOSE */\n this.toClose();\n }\n })\n );\n\n this.subscription.add(\n this.tcloudModalService.stateRespConfirm$.subscribe(\n (resp: boolean)=>{\n if( resp ){\n /* CONFIRMADO */\n this.toConfirm.emit(resp);\n this.toClose('confirmed');\n\n }\n\n if( !resp ){\n /* CANCELADO */\n this.toCancel.emit(resp);\n this.toClose('cancel');\n }\n }\n )\n )\n\n this.subscription.add(\n this.tcloudModalService.stateMode$.subscribe(\n (resp: string)=>{\n this.mode = resp;\n }\n )\n )\n \n this.tcloudModalService.toConfirm( this.param_confirm );\n }\n\n toClose(action?: any | undefined){\n if( this.autoClose ){\n this.control_open = false;\n this.open = false;\n this.openChange.emit(false);\n }\n \n action = (action) ? action : 'close';\n this.toAction.emit(action);\n this.tcloudModalService.fixed_body('off');\n }\n\n checkIsOpen(){\n if( this.control_open ){\n this.tcloudModalService.fixed_body('on');\n }else{\n this.tcloudModalService.fixed_body('off');\n }\n }\n\n ngOnDestroy(){\n this.checkIsOpen();\n if( this.subscription ){ this.subscription.unsubscribe(); }\n }\n\n\n}\n","<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\n\n<div class=\"tcloud-ui-modal base-modal\" *ngIf=\"open\">\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\n </button>\n </div>\n\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\n\n <ng-content></ng-content>\n\n </div>\n </div>\n</div>\n\n<!-- Ex: Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open\">\n\n <tcloud-ui-modal-header title=\"Título do Modal\" ></tcloud-ui-modal-header>\n\n <tcloud-ui-modal-body>\n Conteúdo do modal aqui\n </tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\n-->\n\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n<!-- ****** -->\n\n<!-- Ex: Confirm Modal -->\n<!-- \n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Atenção'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\n\n <tcloud-ui-modal-body>Deseja realmente executar esta ação?</tcloud-ui-modal-body>\n\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\n\n </tcloud-ui-modal>\n\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\n-->","import { Component, Input, OnInit } from '@angular/core';\nimport { TcloudModalService } from '../../services/tcloud-modal.service';\n\n@Component({\n selector: 'tcloud-ui-modal-header',\n templateUrl: './tcloud-ui-modal-header.component.html',\n styleUrls: ['./tcloud-ui-modal-header.component.scss'],\n standalone: false\n})\nexport class TCloudUiModalHeaderComponent implements OnInit {\n\n @Input() mode: 'colorless' | 'info' | 'success' | 'danger' | 'warning' = 'info';\n @Input() title: any | undefined;\n \n constructor(\n private _tcloudModalService: TcloudModalService\n ) { }\n\n ngOnInit(): void {\n this._tcloudModalService.toMode( this.mode );\n }\n\n}\n","<div class=\"tcloud-ui-modal-header tc-modal-header tc-mode-{{ mode }}\" >\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\n <ng-content></ng-content>\n\n <hr>\n</div>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-modal-body',\n templateUrl: './tcloud-ui-modal-body.component.html',\n styleUrls: ['./tcloud-ui-modal-body.component.scss'],\n standalone: false\n})\nexport class TCloudUiModalBodyComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tcloud-ui-modal-body tc-modal-body\">\n <ng-content></ng-content>\n</div>","import { Subscription } from 'rxjs';\nimport { TcloudModalService } from './../../services/tcloud-modal.service';\nimport { Component, OnInit, ViewChild, Input, OnDestroy } from '@angular/core';\nimport { IConfirm } from '../../tcloud-ui-modal';\nimport { NgForm } from '@angular/forms';\n\n@Component({\n selector: 'tcloud-ui-modal-footer',\n templateUrl: './tcloud-ui-modal-footer.component.html',\n styleUrls: ['./tcloud-ui-modal-footer.component.scss'],\n standalone: false\n})\nexport class TCloudUiModalFooterComponent implements OnInit, OnDestroy {\n\n @Input() btnCloseText: string = 'Fechar';\n @Input() btnCancelText: string = 'Cancelar';\n @Input() btnConfirmText: string = 'Confirmar';\n\n @ViewChild('_formulario') _formulario: NgForm | undefined; \n txt_value: string = '';\n\n param_confirm: IConfirm = {} as IConfirm;\n\n loading: boolean = false;\n\n subscription: Subscription |undefined\n\n constructor(\n private tcloudModalService: TcloudModalService\n ) { }\n\n ngOnInit(): void {\n this.txt_value = '';\n this.param_confirm = this.tcloudModalService.getParamConfirm();\n\n this.toStateLoading();\n }\n\n toClose(){\n this.tcloudModalService.toModal('close');\n }\n\n toConfirm(valid: boolean | any){\n if( typeof valid === 'boolean' ){\n if( valid && (this.txt_value).toLowerCase() === (this.param_confirm.confirmText).toLowerCase() ){\n this.tcloudModalService.toRespConfirm(true);\n this.txt_value = ''; \n }\n }\n }\n\n toCancel(){\n this.tcloudModalService.toRespConfirm(false);\n }\n\n toStateLoading(){\n this.loading = <any> this.tcloudModalService.getLoading();\n this.subscription = this.tcloudModalService.stateLoading$.subscribe((loading: boolean) => { this.loading = loading; } )\n }\n\n\n ngOnDestroy(): void {\n this.tcloudModalService.fixed_body('off');\n if( this.subscription ){ this.subscription.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-modal-footer tc-modal-footer\">\n\n <div class=\"input-confirm\" *ngIf=\"param_confirm && param_confirm.confirmText\">\n <p>Digite a palavra <strong>"{{ param_confirm.confirmText }}"</strong> para confirmar.</p>\n \n <form #_formulario=\"ngForm\" (ngSubmit)=\"toConfirm(_formulario.valid)\">\n <input \n [disabled]=\"loading\"\n placeholder=\"{{ param_confirm.confirmText }}\"\n name=\"txt_value\" \n [(ngModel)]=\"txt_value\" \n type=\"text\" \n class=\"tc-form-confirm tc-form-control\" \n required \n [class.different-text]=\"(txt_value).length >= (param_confirm.confirmText).length && (txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase()\" >\n </form>\n\n </div>\n\n <hr>\n\n <div class=\"actions-footer {{ (loading) ? 'state-loading' : '' }}\">\n <!-- {{ param_confirm | json }} -->\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && !param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toClose()\">{{ btnCloseText }}</button>\n\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toCancel()\">{{ btnCancelText }}</button>\n <button [disabled]=\"(txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase() || loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn tc-btn-primary margin-l-5\" (click)=\"toConfirm(_formulario?.valid)\">{{ btnConfirmText }}</button>\n\n </div>\n</div>\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiModalComponent } from './tcloud-ui-modal.component';\nimport { TCloudUiModalHeaderComponent } from './components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\nimport { TCloudUiModalBodyComponent } from './components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\nimport { TCloudUiModalFooterComponent } from './components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiModalComponent,\n TCloudUiModalHeaderComponent,\n TCloudUiModalBodyComponent,\n TCloudUiModalFooterComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [\n TCloudUiModalComponent,\n TCloudUiModalHeaderComponent,\n TCloudUiModalBodyComponent,\n TCloudUiModalFooterComponent\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiModalModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\nclass Step {\n\n constructor(){\n this.status = '';\n this.index = 0;\n this.class = '';\n this.second_class = '';\n }\n\n status: string;\n index: number;\n class: string;\n second_class: string;\n}\n\n@Component({\n selector: 'tcloud-ui-line-step-circle',\n templateUrl: './tcloud-ui-line-step-circle.component.html',\n styleUrls: ['./tcloud-ui-line-step-circle.component.scss'],\n standalone: false\n})\nexport class TCloudUiLineStepCircleComponent implements OnInit {\n\n @Input() step: number = 7;\n \n private _active: number = 0;\n @Input() set active( active: number ){\n if( active && active !== this._active ){\n this._active = active;\n this.build_steps();\n } \n }\n get active(): number{ return this._active; }\n\n private _inactives = [] as number[] | undefined;\n @Input() set inactives( inactives: number[] | undefined){\n if( inactives && inactives !== this._inactives ){\n this._inactives = inactives;\n this.build_steps();\n }\n }\n get inactives(): number[] | undefined { return this._inactives; }\n\n\n private _complete: boolean = false;\n @Input() set complete( complete: boolean ){\n if( complete && complete !== this._complete ){\n this._complete = complete;\n this.build_steps();\n } \n }\n get complete(): boolean{ return this._complete; }\n\n trilha = new Array<Step>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => { this.build_steps(); }); \n }\n\n build_steps(){\n let trilha = new Array<Step>();\n if( this.step && this.step > 0 ){\n for( let i = 0; i < this.step; i++ ){\n (trilha).push({\n status: '',\n index: i+1,\n class: 'step-default',\n second_class: '',\n })\n }\n }\n\n if( this.active > this.step ){\n this.active = this.step;\n this.complete = true;\n }\n\n if( this.active && this.active > 0 ){\n for( let i = 0; i < this.active; i++ ){ \n trilha[i].class = \"step-progress\"; \n if( (i+1) === this.active && !this.complete ){\n trilha[i].class = \"step-active\";\n }\n }\n }\n \n if( this.inactives && (this.inactives).length > 0 ){\n for( let i = 0; i < (this.inactives).length; i++ ){\n const icon = this.inactives[i];\n if( icon && icon > 0 ){\n trilha[(icon-1)].second_class = \"step-inactive\"; \n } \n }\n }\n\n this.trilha = trilha;\n }\n\n}\n","<table class=\"tcloud-ui-line-step-circle table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\n <td class=\"area-circle\">\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\n\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\n \n </td>\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\n <div class=\"step-line {{ fase.class }}\"></div>\n </td>\n </ng-container>\n </tr>\n</table>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiLineStepCircleComponent } from './tcloud-ui-line-step-circle.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiLineStepCircleComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n TCloudUiLineStepCircleComponent\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiLineStepCircleModule { }\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, OnDestroy } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multi-select',\n templateUrl: './tcloud-ui-multi-select.component.html',\n styleUrls: ['./tcloud-ui-multi-select.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\nexport class TCloudUiMultiSelectComponent implements OnInit, OnDestroy, Validator {\n\n \n\n @Input() tcList: any[] | undefined;\n @Input() placeholder: string = 'Selecione um item';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n\n @Input() maxWidthLabel: string | undefined;\n @Input() showDescriptionInValue: boolean = false;\n @Input() showInput: boolean = false;\n\n @Output() tcChange = new EventEmitter<any[]>();\n\n use_validation_required: boolean = false;\n values: any[] | undefined;\n count_actives: number = 0;\n item_value: any | undefined;\n\n constructor() {}\n\n ngOnInit(): void {\n setTimeout(() => { this.toChange(); });\n }\n\n addItem(item: any): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value ){\n this.tcList[i].active = true;\n break;\n }\n }\n this.toChange();\n } \n }\n\n removeItem(item: any): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value ){\n this.tcList[i].active = false;\n break;\n }\n }\n this.toChange();\n }\n }\n\n private toChange(): void{\n let count_actives = 0;\n let itens: any[] = [];\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( row.active ){\n count_actives++;\n (itens).push(row);\n }\n }\n }\n this.item_value = null;\n this.count_actives = count_actives;\n this.tcChange.emit(itens);\n this.onChangeCallback(this.tcList);\n }\n\n\n check_is_valid(): boolean{\n let active = 0;\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const item = this.tcList[i];\n if( item && item.active && item.active === true){\n active++;\n break;\n }\n }\n }\n return (active > 0) ? true : false;\n }\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n\n\n\n\n\n @Output() onChange = new EventEmitter<any>();\n // @Output() ngModelChange = new EventEmitter<any>();\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n toSetDefault(value: any){\n this.tcList = value;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n ngOnDestroy(): void {\n \n }\n}\n","\n <div class=\"tcloud-ui-multi-select\">\n <table *ngIf=\"!showInput\">\n <tr *ngIf=\"tcList\">\n <td>\n <select\n class=\"tc-form-control\"\n [(ngModel)]=\"item_value\"\n [class.tc-parent-validation]=\"use_validation_required\"\n #_select\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n [title]=\"tcList.length === 0 ? 'Nenhum item disponível' : placeholder\">\n\n <option value=\"null\" disabled selected>{{ placeholder }}</option>\n\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\n </ng-container>\n </select>\n </td>\n <td>\n <button\n [disabled]=\"!item_value || tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(_select.value);onChangeTouched()\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0 && (tcList && tcList.length > 0)\">\n <ng-container *ngFor=\"let item of tcList\">\n\n <ng-container *ngIf=\"item.active\">\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\" >\n <div class=\"box-value\" [title]=\"item.value\" *ngIf=\"!showDescriptionInValue\">\n {{ item.value }}\n </div>\n <div class=\"box-value\" [title]=\"item.description\" *ngIf=\"showDescriptionInValue\">\n {{ item.description }}\n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value);onChangeTouched()\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n </div>\n </div>\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';\n\n@NgModule({\n declarations: [TCloudUiMultiSelectComponent],\n exports: [TCloudUiMultiSelectComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiMultiSelectModule { }\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class DataListService {\n private _stateSourceValue: Subject<any> = new Subject<any>();\n public stateValue$: Observable<Subject<any>> = this._stateSourceValue.asObservable();\n\n private _stateSourceDescription: Subject<any> = new Subject<any>();\n public stateDescription$: Observable<Subject<any>> = this._stateSourceDescription.asObservable();\n\n private _stateSourceOptions: Subject<any> = new Subject<any>();\n public stateOptions$: Observable<Subject<any>> = this._stateSourceOptions.asObservable();\n\n private _stateSourceActive: Subject<any> = new Subject<any>();\n public stateActive$: Observable<Subject<any>> = this._stateSourceActive.asObservable();\n\n private actived_value: any | undefined;\n\n public setItemValue(v: any): void {\n this.actived_value = v;\n this._stateSourceValue.next(v);\n }\n\n public setItemDescription(v: any): void {\n this._stateSourceDescription.next(v);\n }\n\n public registerSelectionOptionsDescription(v: any): void {\n this._stateSourceOptions.next(v);\n }\n\n public setActiveItem(v: any): void {\n this._stateSourceActive.next(v); \n }\n\n public getActiveItem(): any {\n // console.log('getActiveItem', this.actived_value);\n return this.actived_value;\n }\n \n}","export class ISelectOptions{\n description: any;\n value: any;\n disabled?: boolean;\n}","import { OnDestroy } from '@angular/core';\nimport { ISelectOptions } from './../tcloud-ui-data-list';\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { DataListService } from '../services/data-list.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'tcloud-ui-data-list-option',\n templateUrl: './tcloud-ui-data-list-option.component.html',\n styleUrls: ['./tcloud-ui-data-list-option.component.scss'],\n standalone: false\n})\nexport class TCloudUiDataListOptionComponent implements OnInit, OnDestroy {\n\n id: string = ''; \n actived_value: any;\n select_options = new ISelectOptions();\n private subscription_active: Subscription | undefined;\n\n @Input() disabled: boolean | undefined = false;\n @Input() value: any | undefined;\n\n @Output() selected = new EventEmitter<any>(); \n\n constructor( private dataListService: DataListService ) { \n }\n\n ngOnInit(): void {\n this.actived_value = this.dataListService.getActiveItem();\n this.subscription_active = this.dataListService.stateActive$.subscribe(v => { \n this.actived_value = v; \n });\n this.id = this.generateID();\n this.setSelectOptions();\n }\n\n generateID(): string{\n return `data-list-option-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n setSelectedItem(value: any){\n if( this.disabled ){ return; }\n if( value === '' ){ this.value = ''; } \n\n this.dataListService.setItemValue(this.value);\n const description = <any> document.getElementById(this.id)?.innerText || '';\n this.dataListService.setItemDescription(description);\n this.setSelectOptions(); \n }\n\n setSelectOptions(){\n setTimeout(() => {\n try {\n const description = <any> document.getElementById(this.id)?.innerText;\n this.select_options.value = this.value;\n this.select_options.description = description; \n this.dataListService.registerSelectionOptionsDescription(this.select_options);\n } catch (error) { }\n }); \n }\n\n ngOnDestroy() {\n if( this.subscription_active ){ this.subscription_active.unsubscribe(); } \n }\n\n}\n","<button \n [disabled]=\"disabled\"\n [title]=\"select_options.description\"\n id=\"{{id}}\"\n [attr.data-description]=\"select_options.description\"\n [attr.data-actived-value]=\"actived_value\"\n class=\"tcloud-ui-data-list-option dropdown-item\" \n [class.null-value]=\"value === undefined || value === null || value === ''\"\n [class.active]=\"value === actived_value\" \n [class.option-disabled]=\"disabled\"\n type=\"button\" \n [value]=\"value\"\n (click)=\"setSelectedItem(value)\" >\n <ng-content></ng-content>\n</button>\n","import { DataListService } from './services/data-list.service';\nimport { Component, forwardRef, OnInit, Output, EventEmitter, ViewChild, Input, OnDestroy, AfterViewChecked } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NgForm, FormGroup, FormBuilder, FormControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ISelectOptions } from './tcloud-ui-data-list';\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiDataListComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n\n@Component({\n selector: 'tcloud-ui-data-list',\n templateUrl: './tcloud-ui-data-list.component.html',\n styleUrls: ['./tcloud-ui-data-list.component.scss'],\n providers: [\n DataListService,\n CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR\n ],\n standalone: false\n})\nexport class TCloudUiDataListComponent implements OnInit, OnDestroy, AfterViewChecked {\n\n viewport_width: number = 0;\n viewport_height: number = 0;\n box_height: number = 0;\n box_style: string = '';\n menu_on_top: string = '';\n\n @Input() placeholder: string = '';\n\n private _disabled: boolean = false;\n @Input() set disabled(v){\n if( typeof v === 'boolean' && v !== this._disabled ){\n this._disabled = v; \n //this.selected_description = '';\n //this.selected_item ='';\n this.toChange();\n }\n }\n get disabled():boolean { return this._disabled; }\n\n private _loading: boolean = false;\n @Input() set loading(v: boolean){\n if( typeof v === 'boolean' && v !== this._loading ){\n this._loading = v; \n //this.selected_description = '';\n //this.selected_item = '';\n this.toChange();\n }\n }\n get loading():boolean { return this._loading; }\n\n\n @Input() showInput: boolean = true;\n @Input() search: boolean = true;\n \n private _listItems: ISelectOptions[] = [];\n @Input() set listItems(v: ISelectOptions[]){\n if( v && (v).length > 0 ){\n this._listItems = v;\n }\n }\n get listItems():ISelectOptions[] { return this._listItems; }\n\n private _open: boolean = false;\n @Input() set open(v: boolean){\n if( v !== this._open ){\n this._open = v;\n if( v ){\n this.menu_show = false;\n setTimeout(()=>{ this.toOpen(); }); \n }\n }\n }\n get open():boolean { return this._open; }\n\n \n \n @Input() border: boolean = true;\n\n @Output() onInputChange = new EventEmitter<ISelectOptions>();\n @Output() onChange = new EventEmitter<ISelectOptions>();\n\n @Output() onOpened = new EventEmitter<any>();\n @Output() onClosed = new EventEmitter<any>();\n\n private _ngModel: any | undefined;\n @Input() set ngModel(v: any){\n this.selected_item = v; \n this.selectDescription(); \n }\n @Output() ngModelChange = new EventEmitter<any>();\n\n list_selected_options = new Array<ISelectOptions>();\n\n selected_item: any | undefined;\n selected_description: any | undefined;\n\n private subscription_value: Subscription | undefined;\n private subscription_description: Subscription | undefined;\n private subscription_options: Subscription | undefined;\n\n menu_show: boolean = false;\n search_text: string = '';\n id: string = '';\n\n formulario: FormGroup | undefined;\n\n constructor(\n private dataListService: DataListService,\n private formBuilder: FormBuilder\n ){\n\n this.subscription_value = this.dataListService.stateValue$.subscribe(v => {\n this.selected_item = v; \n this.selectDescription();\n this.ngModelChange.emit(this.selected_item);\n })\n\n this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {\n this.selected_description = v; \n })\n\n\n this.subscription_options = this.dataListService.stateOptions$.subscribe((v:any) => {\n if( v && v.value ){\n (this.list_selected_options).push(v);\n }\n })\n\n }\n\n ngOnInit(){\n\n \n\n this.id = this.generateID();\n\n this.formulario = this.formBuilder.group({\n \"selected_item\": new FormControl('',[]),\n })\n\n \n\n this.toResize();\n this.toClick();\n }\n\n t_fc: any | undefined;\n ngAfterViewChecked(): void {\n this.t_fc = undefined;\n this.t_fc = this.get_selected_description();\n }\n\n get_selected_description(): void{\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\n const item = this.list_selected_options[i];\n if( item.value === this.selected_item ){ \n if( this.selected_description !== item.description ){\n if( item.description && item.description !== this.selected_description ){\n setTimeout(() => {\n this.selected_description = item.description; \n this.dataListService.setActiveItem(this.selected_item);\n });\n }\n } \n break;\n }\n }\n } \n }\n\n generateID(): string{\n return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n ngOnDestroy() {\n if( this.subscription_value ){ this.subscription_value.unsubscribe(); } \n if( this.subscription_description ){ this.subscription_description.unsubscribe(); } \n if( this.subscription_options ){ this.subscription_options.unsubscribe(); } \n }\n\n toSearch(e: any) {\n let input = (e && e.target && e.target.value) ? e.target.value : '';\n \n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n let ul = <any> document.getElementById(`${this.id}-options`);\n if( ul ){\n let li = ul.getElementsByTagName(\"button\");\n for (let i = 0; i < li.length; i++) {\n const a = li[i];\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n if (txtValue.indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n }\n\n selectDescription(){\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\n const item = this.list_selected_options[i];\n if( item.value === this.selected_item ){\n this.selected_description = item.description;\n this.toChange();\n return;\n }\n }\n }\n\n if( this.selected_item === undefined || this.selected_item === null || this.selected_item === '' ){\n this.selected_description = '';\n this.toChange();\n }\n \n }\n\n \n toInput(e: any){\n this.onInputChange.emit(this.selected_description);\n this.onChange.emit(e);\n }\n\n toChange(){\n setTimeout(() => {\n if( this.selected_item === undefined || this.selected_item === null ){\n this.selected_item = '';\n }\n this.toSearch('');\n this.search_text = '';\n this.dataListService.setActiveItem(this.selected_item);\n\n this.onInputChange.emit(this.selected_description);\n\n if( this.formulario ){\n this.formulario?.get('selected_item')?.setValue(this.selected_item);\n // const input_hidden = document.getElementById(`${this.id}-hidden`);\n this.toInput(this.formulario.get('selected_item'));\n } \n });\n }\n\n\n clearTextSearch(){\n this.search_text = '';\n this.toSearch('');\n }\n\n toOpen(){\n this.menu_show = !this.menu_show; \n this.resolve_position_dropdown(this.menu_show);\n this.onOpened.emit();\n }\n\n resolve_position_dropdown(open: boolean){\n if( open ){\n this.box_style = '';\n this.menu_on_top = ''; \n const id = `${this.id}`; \n const box = `box-${this.id}`;\n if( this.viewport_height === 0 ){\n this.viewport_height = window.innerWidth;\n }\n const rect = document.getElementById(id)?.getBoundingClientRect();\n const box_position = rect?.bottom || 0; \n setTimeout(() => {\n this.box_height = document.getElementById(box)?.clientHeight || 0;\n if( ( this.viewport_height - box_position) < this.box_height ){\n this.menu_on_top = 'menu-on-top';\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\n }\n }); \n }\n }\n\n toClose(){\n this.menu_show = false;\n this.onClosed.emit();\n }\n\n\n toResize(){\n window.addEventListener('resize', () => {\n this.viewport_width = window.innerWidth;\n this.viewport_height = window.innerHeight;\n this.resolve_position_dropdown(this.menu_show);\n });\n }\n\n toClick(){\n const box = `area-${this.id}`;\n window.addEventListener('click',(e: any) => { \n if( this.menu_show ){\n if( !(document.getElementById(box)?.contains(e.target)) ){ \n this.toClose();\n }\n }\n });\n }\n\n\n \n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.selected_item;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.selected_item) {\n this.selected_item = v;\n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.selected_item) {\n this.selected_item = value;\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n}\n\n","<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tcloud-ui-data-list tc-dropdown\" [class.disabled]=\"disabled || loading\">\n <div *ngIf=\"loading\" class=\"loading-area\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n </div>\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\n <button \n #_option\n [class.input-hidden]=\"!showInput\"\n [class.in-border]=\"border\"\n [class.loading-box]=\"loading\"\n [disabled]=\"disabled || loading\"\n class=\"dropdown-toggle button-select no-margin-bottom area-text\" \n type=\"button\" \n id=\"{{ id }}\" \n \n [attr.aria-haspopup]=\"'true'\" \n [attr.aria-expanded]=\"'false'\" \n (click)=\"toOpen();toInput(_option)\" >\n\n <i class=\"tc-placeholder area-text\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\n {{ selected_description }}\n <span><i class=\"fas fa-angle-down\"></i></span>\n </button>\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\n\n <div class=\"line-search\" *ngIf=\"search\">\n <table class=\"box-search\">\n <tr>\n\n <td class=\"area-input\">\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \n </td>\n\n <td class=\"area-icon\">\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\n </td>\n \n </tr>\n </table>\n </div>\n \n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\n <ng-content></ng-content> \n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <ng-container *ngFor=\"let item of listItems\">\n <tcloud-ui-data-list-option [value]=\"item.value\" [disabled]=\"item?.disabled\" >{{ item?.description }}</tcloud-ui-data-list-option>\n </ng-container>\n </ng-container> \n </div>\n </div>\n</div>\n\n<div *ngIf=\"formulario\">\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\n </form>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';\nimport { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiDataListComponent,\n TCloudUiDataListOptionComponent,\n ],\n exports: [\n TCloudUiDataListComponent,\n TCloudUiDataListOptionComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiDataListModule { }\n","import { Subscription } from 'rxjs';\nimport { Component, EventEmitter, Input, forwardRef, ViewChild, ElementRef, Output } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-choice-issues',\n templateUrl: './tcloud-ui-choice-issues.component.html',\n styleUrls: ['./tcloud-ui-choice-issues.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\nexport class TCloudUiChoiceIssuesComponent {\n\n \n @Input() view: boolean = false;\n @Input() titulo: string = '';\n @Input() subTitulo: string = '';\n\n @Input() disabled: boolean = false;\n @Output() onChange = new EventEmitter<any>();\n\n subscription: Subscription | undefined;\n // Referencia o campo (input,select,textarea)\n @ViewChild('campo',{ read: true, static: false }) inputRef: ElementRef | undefined;\n\n innerValue: boolean = false;\n\n ID: string;\n\n constructor(){\n this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);\n }\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): boolean {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: boolean) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n setV(v: any){\n this.value = v;\n this.onChange.emit(v);\n }\n\n createID() {\n // Math.random should be unique because of its seeding algorithm.\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\n // after the decimal.\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n\n}\n","<div class=\"tcloud-ui-choice-issues box p-2 mt-3 mb-2\">\n <input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\n <div class=\"row\">\n <div class=\"col-md-8\">\n <p class=\"titulo\">{{ titulo }}</p> \n </div>\n <div class=\"col-md-4 text-right\"> \n\n <table class=\"mt-2 mr-2\" *ngIf=\"!view\" >\n <tr>\n <td>\n <div class=\"form-fieldset\">\n <label [class.v-true]=\"value\" class=\"mr-1\"><input #campo name=\"{{ ID }}\" [value]=\"true\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(true)\" >Sim</label>\n </div>\n </td>\n <td>\n <div class=\"form-fieldset\">\n <label [class.v-true]=\"!value\" class=\"ml-2\"><input #campo name=\"{{ ID }}\" [value]=\"false\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(false)\" >Não</label>\n </div>\n </td>\n </tr>\n </table> \n\n <table class=\"mt-2 mr-2\" *ngIf=\"view\" >\n <tr>\n <td>\n <div class=\"form-fieldset view\" >\n <label *ngIf=\"value\" class=\"v-true disabled\" >Sim</label>\n <label *ngIf=\"!value\">Não</label>\n </div>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"col-md-12 mt-1\">\n <p class=\"sub-titulo\">{{ subTitulo }}</p>\n </div>\n <div class=\"col-md-12 mt-2 mb-1\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiChoiceIssuesComponent } from './tcloud-ui-choice-issues.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiChoiceIssuesComponent,\n ],\n exports: [\n TCloudUiChoiceIssuesComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiChoiceIssuesModule { }\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multi-input',\n templateUrl: './tcloud-ui-multi-input.component.html',\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\n\n input_value: any;\n\n @Input() tcList: any[] | undefined;\n\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n @Input() maxWidthLabel: string | undefined;\n @Input() showInput: boolean = false;\n\n values: any[] | undefined;\n count_actives: number = 0;\n\n use_validation_required: boolean = false;\n item_value: any | undefined;\n\n @Output() tcChange = new EventEmitter<any[]>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => {\n this.toChange();\n });\n }\n\n addItem(item: any): void{\n if( this.disabled ){ return; }\n if( !this.tcList ){\n this.tcList = [];\n }\n (this.tcList).push({value: item}); \n this.toChange(); \n this.input_value = '';\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value && i === index ){\n (this.tcList).splice(index,1);\n break;\n }\n }\n this.toChange();\n }\n }\n\n private toChange(): void{\n let count_actives = 0;\n let itens: any[] = [];\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n (itens).push(row);\n }\n }\n this.item_value = null;\n this.count_actives = count_actives;\n this.tcChange.emit(itens);\n this.onChangeCallback(this.tcList);\n }\n\n check_is_valid(): boolean{\n if( this.tcList ){\n return ((this.tcList).length > 0) ? true : false;\n }\n return false;\n }\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n\n\n\n\n\n @Output() onChange = new EventEmitter<any>();\n // @Output() ngModelChange = new EventEmitter<any>();\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n toSetDefault(value: any){\n this.tcList = value;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n ngOnDestroy(): void {\n \n }\n}\n","<div class=\"tcloud-ui-multi-input\">\n\n <table *ngIf=\"!showInput\">\n <tr>\n <td>\n <input\n class=\"tc-form-control\"\n (blur)=\"onChangeTouched()\"\n [(ngModel)]=\"item_value\"\n [class.tc-parent-validation]=\"use_validation_required\"\n type=\"text\"\n [(ngModel)]=\"input_value\"\n [disabled]=\"disabled || loading\"\n name=\"input_value\"\n [placeholder]=\"placeholder\">\n </td>\n\n <td>\n <button\n [disabled]=\"!item_value || disabled || loading\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value);onChangeTouched()\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n\n <div class=\"box-itens-selected\" *ngIf=\"(tcList && tcList.length > 0)\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\n <div class=\"box-value\" [title]=\"item.value\" >\n {{ item.value }}\n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i);onChangeTouched()\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [TCloudUiMultiInputComponent],\n exports: [TCloudUiMultiInputComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiMultiInputModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monthname',\n standalone: false\n})\nexport class MonthNamePipe implements PipeTransform {\n\n meses: string[] = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];\n \n\n transform(yyyy_mm: string): string{\n\n if( yyyy_mm !== '' ){\n\n let part = (yyyy_mm).split('-');\n if( (part).length === 2 ){\n let yyyy = +part[0];\n let mm = +part[1];\n\n return this.meses[(mm-1)];\n }\n }\n return '';\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'statusinfo',\n standalone: false\n})\nexport class StatusInfoPipe implements PipeTransform {\n\n status_default = [\n { key: 'SUCCEEDED', value: 'Finalizado' },\n { key: 'PENDING', value: 'Pendente' },\n { key: 'FAILED', value: 'Erro' },\n { key: 'RUNNING', value: 'Em andamento' },\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\n { key: 'SUCCEED', value: 'Finalizado' },\n { key: 'WAITING', value: 'Aguardando' },\n { key: 'REJECTED', value: 'Rejeitado' },\n ];\n\n status_proposal = [\n { key: 'SUCCEEDED', value: 'Finalizado' },\n { key: 'PENDING', value: 'Aguardando Aprovação' },\n { key: 'FAILED', value: 'Erro' },\n { key: 'RUNNING', value: 'Provisionando Ambientes' },\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\n { key: 'SUCCEED', value: 'Finalizado' },\n { key: 'WAITING', value: 'Provisionando Ambientes' },\n { key: 'REJECTED', value: 'Rejeitada' },\n ]; \n\n transform(status_name: any, tema?: string): string{\n\n let map_tema = this.status_default;\n\n if( tema && tema !== undefined){\n switch (tema) {\n case 'proposal': map_tema = this.status_proposal; break;\n }\n }\n\n let status_name_in_search = ''; \n if( tema && tema === 'ALL'){\n\n map_tema = this.status_default;\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\n for( let i = 0; i < (map_tema).length; i++ ){\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\n status_name_in_search += ' ' + map_tema[i].value;\n break;\n }\n }\n }\n\n map_tema = this.status_proposal;\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\n for( let i = 0; i < (map_tema).length; i++ ){\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\n status_name_in_search += ' ' + map_tema[i].value;\n break\n }\n }\n }\n\n }else{\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\n for( let i = 0; i < (map_tema).length; i++ ){\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\n status_name_in_search += ' ' + map_tema[i].value;\n break;\n }\n }\n }\n }\n\n\n if( status_name_in_search !== '' ){\n return status_name_in_search;\n }\n\n return status_name;\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'respective',\n standalone: false\n})\nexport class RespectivePipe implements PipeTransform {\n\n map = [\n // Tipos de Ambientes\n { key: 'production', value: 'Produção' },\n { key: 'development', value: 'Desenvolvimento' },\n { key: 'qa', value: 'Qualidade' },\n\n // Implantação / Migração\n { key: 'golive', value: 'Pré GoLive' },\n { key: 'kickoff', value: 'Kickoff' },\n\n // Tipos de Clientes\n { key: 'prime', value: 'Prime' },\n { key: 'p', value: 'Pequeno' },\n { key: 'm', value: 'Médio' },\n { key: 'g', value: 'Grande' },\n\n // Produtos\n { key: '2c', value: 'Carol' },\n { key: 'carol', value: 'carol' },\n { key: 'consinco', value: 'Consinco' },\n { key: 'datasul', value: 'Datasul' },\n { key: 'fluig', value: 'Fluig' },\n { key: 'license-server', value: 'License Server' },\n { key: 'pep', value: 'PEP' },\n { key: 'protheus', value: 'Protheus' },\n { key: 'pvi', value: 'PVI' },\n { key: 'rm', value: 'RM' },\n { key: 'sfa', value: 'SFA' },\n { key: 'smartrm', value: 'Smart RM' },\n { key: 'smartrmcluster', value: 'Smart RM Cluster' },\n { key: 'smartrmcontrol', value: 'Smart RM Control' },\n { key: 'taf', value: 'TAF' },\n { key: 'treports', value: 'Treports' },\n { key: 'tss', value: 'TSS' },\n { key: 'winthor', value: 'Winthor' },\n\n // Tipos de SO\n { key: 'windows', value: 'Windows' },\n { key: 'linux', value: 'Linux' },\n\n // Tipos responsaveis\n { key: 'prime_customer_success', value: 'Customer Success' },\n { key: 'project_manager', value: 'Gerente de Projetos' },\n { key: 'prime_engineer', value: 'Engenheiro Prime' }\n\n ];\n \n\n transform(v: any): string{\n\n if( v !== undefined && v !== null && v !== '' ){\n\n if( typeof v === 'string' ){\n for( let i = 0; i < (this.map).length; i++ ){\n let custom_v = v;\n custom_v = (custom_v).toLowerCase();\n custom_v = (custom_v).trim();\n custom_v = (custom_v).replace(/\\_/g, \"-\");\n const current_key = (this.map[i].key).replace(/\\_/g, \"-\");\n if( (custom_v).toLowerCase() === current_key ){\n return `${this.map[i].value}`;\n }\n }\n }else{\n return '';\n }\n \n \n }\n return `${v}`;\n }\n\n \n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cnpj',\n standalone: false\n})\nexport class CNPJPipe implements PipeTransform {\n mascara: string = \"##.###.###/####-##\";\n createMask(v: any){\n const mask = this.mascara;\n let str = v.replace(/\\s/g,'');\n let strMask = '';\n if( str.length == 14 ){\n let j = 0;\n for( let i = 0; i < mask.length; i++){\n if( mask[i] == '#' ){\n strMask += str[j++];\n }else{\n strMask += mask[i];\n }\n }\n }else{\n return v;\n }\n return strMask;\n }\n transform(cnpj: string): string{ \n return this.createMask(cnpj);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cpf',\n standalone: false\n})\nexport class CPFPipe implements PipeTransform {\n mascara: string = \"###.###.###-##\";\n createMask(v: any){\n const mask = this.mascara;\n let str = v.replace(/\\s/g,'');\n let strMask = '';\n if( str.length == 11 ){\n let j = 0;\n for( let i = 0; i < mask.length; i++){\n if( mask[i] == '#' ){\n strMask += str[j++];\n }else{\n strMask += mask[i];\n }\n }\n }else{\n return v;\n }\n return strMask;\n }\n transform(cpf: string): string{ \n return this.createMask(cpf);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bytes',\n standalone: false\n})\nexport class BytesPipe implements PipeTransform {\n\n formatBytes(a: number, b = 2): string {\n if (!a) return '---';\n if (0 === a) return '0 Bytes';\n const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));\n return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"][d];\n }\n \n transform(value: any, typeValue?: string): string{ \n \n if( typeValue !== undefined && typeValue !== null && typeValue !== '' ){\n \n if( (typeValue).toLowerCase() === 'kb' ){\n value = value * 1024\n }\n\n if( (typeValue).toLowerCase() === 'mb' ){\n value = (value * 1024) * 1024\n }\n }\n \n const b: number = +value; \n return this.formatBytes(b);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'datebr',\n standalone: false\n})\nexport class DateBRPipe implements PipeTransform {\n mascara: string = \"##/##/####\";\n createMask(v: any){\n const mask = this.mascara;\n let str = v.replace(/\\s/g,'');\n let strMask = '';\n if( str.length <= 10 ){\n let j = 0;\n for( let i = 0; i < mask.length; i++){\n if( mask[i] == '#' ){\n strMask += str[j++];\n }else{\n strMask += mask[i];\n }\n }\n }else{\n return v;\n }\n return strMask;\n }\n\n createMask4(v: any){\n const mask = \"##/##\";\n let str = v.replace(/\\s/g,'');\n let strMask = '';\n if( str.length <= 10 ){\n let j = 0;\n for( let i = 0; i < mask.length; i++){\n if( mask[i] == '#' ){\n strMask += str[j++];\n }else{\n strMask += mask[i];\n }\n }\n }else{\n return v;\n }\n return strMask;\n }\n\n create_mask(v: string, _mask: string){\n const mask = _mask;\n let str = v.replace(/\\s/g,'');\n let strMask = '';\n if( str.length <= 10 ){\n let j = 0;\n for( let i = 0; i < mask.length; i++){\n if( mask[i] == '#' ){\n strMask += str[j++];\n }else{\n strMask += mask[i];\n }\n }\n }else{\n return v;\n }\n return strMask;\n }\n\n transform(v: string): string{ \n \n if( v ){\n\n v = (v).replace(/\\//g, \"\");\n\n if( (v).length == 1 ){ return this.create_mask(v,'#'); }\n if( (v).length == 2 ){ return this.create_mask(v,'##/'); }\n if( (v).length == 3 ){ return this.create_mask(v,'##/#'); }\n if( (v).length == 4 ){ return this.create_mask(v,'##/##'); }\n if( (v).length == 5 ){ return this.create_mask(v,'##/##/#'); }\n if( (v).length == 6 ){ return this.create_mask(v,'##/##/##'); }\n if( (v).length == 7 ){ return this.create_mask(v,'##/##/###'); }\n return this.create_mask(v,'##/##/####');\n }\n return '';\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'toText',\n standalone: false\n})\nexport class ToTextPipe implements PipeTransform {\n\n formatBytes(value: any): string {\n let v = '';\n let t = '';\n for( let i = 0; i < (value).length; i++ ){\n t += v + `${value[i]}`;\n\n v = ', ';\n if( (i+1) === ((value).length) - 1 ){\n v = ' e ';\n }\n }\n return t\n }\n \n transform(value: any): any{ \n if( value && (value).length > 0 ){\n return this.formatBytes(value);\n }\n return value; \n }\n}","import { DatePipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { StatusInfoPipe } from '../_pipes';\n\n@Injectable({\n providedIn: 'root', \n})\nexport class TCloudUiSearchInObjectService {\n\n constructor(\n private datepipe: DatePipe,\n private statusinfo: StatusInfoPipe\n ) { }\n\n private isADate(d: any){\n if( d && d instanceof Date && !isNaN( d.valueOf()) ){\n if (Object.prototype.toString.call(d) === \"[object Date]\") {;\n if (isNaN(d.getTime())) {\n return false;\n } else {\n return true;\n }\n }\n }\n return false;\n }\n\n private normalize(text: any): string{\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n return v;\n }\n\n /**\n * meet - Procura em object - filtro utilizado para busca em tabelas\n * @param valor texto a ser procurado\n * @param emObject object alvo de onde procurar\n * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar \n */\n meet(valor: string, emObject: any, camposDebusca?: any): any{\n if (valor != \"\"){\n\n if( emObject.length < 1 ){\n return emObject;\n }\n if( camposDebusca === undefined || camposDebusca === null ){\n camposDebusca = [];\n for (const key in emObject[0]) {\n camposDebusca.push( key );\n }\n }\n\n if( camposDebusca.length < 1 ){\n return emObject;\n }\n \n let isObject = false;\n\n valor = this.normalize(valor);\n var result=[]; \n for (const key in emObject) {\n var oObject = emObject[key];\n if (oObject && (typeof oObject === 'object') ){\n isObject = true;\n for( const objectvalue of camposDebusca ){\n const dt = new Date(oObject[objectvalue])\n if( this.isADate(dt) && typeof ((dt).getMonth) === 'function' ){\n const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');\n const data2 = this.datepipe.transform(dt, 'medium');\n const strToTest = this.normalize(data1+\" \"+data2+\" \"+oObject[objectvalue]);\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\n result.push(oObject); break;\n }\n } else {\n const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL')+\"\"); \n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\n result.push(oObject); break;\n }\n }\n } \n }\n }\n\n if( emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject ){\n // is array \n const v = this.normalize(`${valor}`);\n for( let i = 0; i < (emObject).length; i++ ){\n const item = this.normalize(`${emObject[i]}`);\n if( item.includes(v) || item === v ){\n result.push(emObject[i]);\n }\n }\n }\n\n\n return result;\n }\n return emObject;\n }\n\n}\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { TCloudUiSearchInObjectService } from '../../_services/search-in-object.service';\n\n@Component({\n selector: 'tcloud-ui-input-search',\n templateUrl: './tcloud-ui-input-search.component.html',\n styleUrls: ['./tcloud-ui-input-search.component.scss'],\n standalone: false\n})\nexport class TCloudUiInputSearchComponent implements OnInit {\n\n /**\n * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado\n * @param placeholder string - placeholder no input\n * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados\n * @param base_object object - Objeto onde ser procurado \n * @param found - Emite o valor encontrado\n */\n\n @Input() placeholder: string = 'Procurar...';\n\n @Input() mirror: boolean = true;\n\n search_text: string = '';\n\n private _base_object: any;\n @Input() set base_object(base_object: any){\n if( base_object ){\n this._base_object = base_object;\n\n if( this.mirror ){\n this.result_object = base_object;\n this.toFound();\n }\n } \n }\n get base_object(){ return this._base_object; }\n\n result_object: any | undefined;\n\n @Output() found = new EventEmitter<any>();\n\n constructor(\n private searchInObjectService: TCloudUiSearchInObjectService\n ) { }\n\n ngOnInit(): void {\n }\n\n buscar(value: string){\n const result = this.searchInObjectService.meet(`${value}`, this.base_object);\n this.result_object = JSON.parse(JSON.stringify(result));\n this.toFound();\n }\n\n clean(){\n if( this.mirror ){\n this.buscar('');\n }else{\n this.result_object = []; \n this.toFound();\n }\n this.search_text = '';\n }\n\n toFound(){\n this.found.emit( this.result_object );\n }\n\n}\n","<table class=\"tcloud-ui-input-search tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiInputSearchComponent\n ],\n exports: [\n TCloudUiInputSearchComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiInputSearchModule { }\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-not-found',\n templateUrl: './tcloud-ui-not-found.component.html',\n styleUrls: ['./tcloud-ui-not-found.component.scss'],\n standalone: false\n})\nexport class TCloudUiNotFoundComponent \n{\n\n @Input() message: string = 'Nenhum registro encontrado.';\n\n public styleIcon: any = {};\n\n ngOnInit(): void\n {\n }\n}\n\n","<div class=\"tcloud-ui-not-found tc-container-empty\">\n <div class=\"tc-message-empty-icon\">\n <i class=\"fas fa-exclamation-triangle\"></i>\n </div>\n <div *ngIf=\"message !== ''\" class=\"tc-message-empty\" [innerHTML]=\"message\" ></div>\n</div>","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { TCloudUiNotFoundComponent } from './tcloud-ui-not-found.component';\n\n@NgModule({\n declarations: [\n TCloudUiNotFoundComponent\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n TCloudUiNotFoundComponent\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiNotFoundModule {}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-table',\n templateUrl: './tcloud-ui-table.component.html',\n styleUrls: ['./tcloud-ui-table.component.scss'],\n standalone: false\n})\nexport class TCloudUiTableComponent implements OnInit {\n\n @Input() responsive: boolean = true;\n @Input() striped: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<table class=\"tc-table\" [class.tc-table-striped]=\"striped\" [class.tc-table-responsive]=\"responsive\" cellspacing=\"0\">\n <ng-content select=\"[tc-thead]\"></ng-content>\n <ng-content select=\"[tc-tbody]\"></ng-content>\n</table>\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiTableComponent,\n ],\n exports: [\n TCloudUiTableComponent,\n ],\n imports: [\n CommonModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiTableModule { }\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-number-step',\n templateUrl: './tcloud-ui-number-step.component.html',\n styleUrls: ['./tcloud-ui-number-step.component.scss'],\n standalone: false\n})\nexport class TCloudUiNumberStepComponent\n{\n @Input({ required: true }) step: number;\n @Input() active: number;\n @Input() complete: boolean;\n @Input() useIconCheck: boolean; // Usado por enquanto para não querar o TCloud\n @Input() inactives: number[] = [];\n @Output() clickStep = new EventEmitter<number>();\n\n public isInactive(_stepNumber: number): boolean\n {\n const isInactive = this.inactives.find(x => x == _stepNumber);\n return isInactive ? true : false;\n }\n}\n","<ng-container *ngFor=\"let item of [].constructor(step); let i = index\">\n\n <!-- Item circle -->\n @let numberStep = i + 1;\n @let inactive = isInactive(numberStep);\n @let last = (numberStep === step);\n <div\n class=\"container-circle\"\n [class.active]=\"(numberStep <= active) && !inactive\"\n [class.completed]=\"complete\"\n [class.disable]=\"inactive\"\n (click)=\"clickStep.emit(numberStep)\">\n\n <!-- Number -->\n <span *ngIf=\"(!complete) && (!inactive) && (numberStep >= active)\">{{ numberStep }}</span>\n\n <!-- Icon check -->\n <i *ngIf=\"(complete) || (!inactive) && (numberStep < active)\" class=\"fas fa-check\"></i>\n\n <!-- Icon disabled -->\n <i *ngIf=\"(!complete) && (inactive)\" class=\"far fa-circle\"></i>\n </div>\n\n <!-- Line progress -->\n <div *ngIf=\"!last\" class=\"container-line-progress\">\n <div\n class=\"line-progress\"\n [class.completed]=\"(complete) || (numberStep < active)\">\n </div>\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\n\n@NgModule({\n declarations: [\n TCloudUiNumberStepComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n TCloudUiNumberStepComponent,\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA\n ],\n})\nexport class TCloudUiNumberStepModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-scroll-box',\n templateUrl: './tcloud-ui-scroll-box.component.html',\n styleUrls: ['./tcloud-ui-scroll-box.component.scss'],\n standalone: false\n})\nexport class TCloudUiScrollBoxComponent implements OnInit {\n\n @Input() border: boolean = true;\n @Input() maxHeight: number | string = '400';\n\n unidade: string = 'px';\n style_height: any | undefined;\n\n constructor() { }\n\n ngOnInit(): void {\n let und = '';\n if( `${this.maxHeight}` ){\n und = this.retirarNumeros(`${this.maxHeight}`);\n }\n // console.log(\"und\",und);\n\n if( ((und) && (und).trim() === '') || !und ){\n this.unidade = 'px';\n }else{\n this.unidade = (und).toLowerCase(); \n }\n\n this.maxHeight = (`${this.maxHeight}`).replace(this.unidade, '');\n if( this.unidade === 'vh' ){ \n this.style_height = {'height': this.maxHeight+this.unidade};\n }else{\n this.style_height = {'max-height': this.maxHeight+this.unidade};\n }\n }\n\n retirarNumeros(str: string) {\n // Utiliza regex para substituir todos os dígitos por uma string vazia\n const resultado = str.replace(/\\d/g, '');\n return resultado;\n}\n\n}\n","<div class=\"tcloud-ui-scroll-box tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\n <div class=\"box-content\" [ngStyle]=\"style_height\" >\n <ng-content></ng-content>\n </div> \n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiScrollBoxComponent\n ],\n exports: [\n TCloudUiScrollBoxComponent\n ],\n imports: [\n CommonModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiScrollBoxModule { }\n","export interface TCDataFilters{\n description: string; \n searchIn: string;\n notIn?: boolean;\n type?: TCFiltersType;\n name?: string;\n id?: string;\n\n searchText?: any;\n accept?: boolean;\n placeholder?: string;\n width?: string;\n data?: TCDataOtions[];\n condition?: TCCondition;\n value?: any;\n\n // For datepicker\n defaultValuePeriodStartStop?: any;\n UTC?: boolean;\n useOptionsDateTime?: boolean;\n}\n\nexport interface TCDataOtions {\n description: string;\n value: any;\n notValues?: string[];\n}\n\nexport enum TCFiltersType{\n text = \"text\",\n number = \"number\",\n select = \"select\",\n boolean = \"boolean\",\n datetime = \"datetime-local\",\n hidden = \"hidden\",\n date = \"date-local\",\n}\n\nexport enum TCCondition{\n equal = \"equal\",\n gte = \"gte\",\n lte = \"lte\",\n lt = \"lt\",\n gt = \"gt\",\n notEqual = \"notEqual\"\n}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DateBRPipe } from '../../_pipes';\n\n// https://mymth.github.io/vanillajs-datepicker/#/\ndeclare var Datepicker: any;\n\nvar translation = {\n ptBR: {\n days: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"],\n daysShort: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n daysMin: [\"Do\", \"Se\", \"Te\", \"Qu\", \"Qu\", \"Se\", \"Sa\"],\n months: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"],\n monthsShort: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\n today: \"Hoje\",\n clear: \"Limpar\",\n titleFormat: \"MM y\",\n format: \"dd/mm/yyyy\",\n weekStart: 0\n }\n};\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiDatepickerComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-datepicker',\n templateUrl: './tcloud-ui-datepicker.component.html',\n styleUrls: [\n './tcloud-ui-datepicker.component.scss',\n './datepicker/css/datepicker.min.css',\n './datepicker/css/style.css',\n ],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class TCloudUiDatepickerComponent implements OnInit {\n\n // multiple permite selecionar multiplas datas\n @Input() multiple: boolean = false;\n\n // maxNumberOfDates - Maximum number of dates users can select. No limit is applied if 0 is set.\n // Depende de: multiple como true\n @Input() maxNumberOfDates: number = 0;\n\n // daysOfWeekDisabled - Dias da semana desabilidatos = 0 para sabado até 6 para domingo\n @Input() daysOfWeekDisabled: number[] = [];\n\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\n @Input() minDate: string = '';\n\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\n @Input() maxDate: string = '';\n\n // datesDisabled - Datas desabilitadas - Ex: ['12/10/2020','25/12/2020']\n @Input() datesDisabled: string[] = [];\n\n // modeInput - Exibe um input para quando clicar abrir o calendario\n @Input() modeInput: boolean = false;\n\n @Input() useBorder: boolean = true;\n\n @Input() childInputDateTime: boolean = false;\n\n @Input() startViewInMinDate: boolean = false;\n\n @Input() startViewInMaxDate: boolean = false;\n\n @Input() disabled: boolean = false;\n\n // onChange - Dispara a data selecionada\n @Output() onChange = new EventEmitter<any|undefined>();\n\n default_innerValue: any | undefined;\n default_innerValue_convertida: any | undefined;\n default_qtd_innerValue: number = 0;\n date_changed: any | undefined;\n\n @Input() set ngModel(v: any){\n\n if( v && v !== this.innerValue ){\n this.innerValue = v; //this.toSetMask(v); \n this.default_innerValue = v;\n this.default_innerValue_convertida = this.convertDates(v);\n if( this.multiple ){\n this.default_qtd_innerValue = (v).length;\n } \n this.onChange.emit(v);\n } \n }\n\n @Output() ngModelChange = new EventEmitter<any|undefined>();\n\n @Output() onCheckDate = new EventEmitter<any>();\n\n @ViewChild('input_datepicker', {static: false}) input_datepicker: ElementRef<HTMLElement> | undefined;\n private datepicker: any | undefined;\n @Input() code: string = 'tcloud-ui-datepicker';\n\n constructor(\n private _DateBRPipe: DateBRPipe\n ) { }\n\n ID: string = '';\n\n ngOnInit(): void {\n this.ID = this.generateID();\n Datepicker.locales.ptBR = translation.ptBR; \n this.start_datepicker();\n }\n\n generateID(): string{\n return `tcloud-ui-datepicker-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n toSetMask(v: string){\n return this._DateBRPipe.transform(v);\n }\n\n parseDateLocal(dateString: any, _split?: string){\n if( !_split ){ _split = '-'; }\n const [day , month, year] = dateString.split(_split);\n return new Date(year, month - 1, day); // Subtrai 1 porque os meses são indexados a partir de 0\n }\n\n formatDateLocal(date: any){\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\n const day = String(date.getDate()).padStart(2, '0');\n return `${day}/${month}/${ year}`;\n }\n\n get_options(){\n // Função para formatar uma data no fuso horário local\n const formatDateLocal = (date: any) => {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n return `${year}-${month}-${day}`;\n }\n\n // Função para analisar uma data no fuso horário local\n const parseDateLocal = (dateString: any) => {\n const [year, month, day] = dateString.split('-');\n return new Date(year, month - 1, day);\n }\n\n let options = {\n nextArrow: `<i class=\"fas fa-caret-right\"></i>`,\n prevArrow: `<i class=\"fas fa-caret-left\"></i>`,\n format: 'dd/mm/yyyy', \n daysOfWeekHighlighted: [0,6],\n language: 'ptBR',\n formatter: {\n date: formatDateLocal,\n },\n parser: {\n date: parseDateLocal,\n } \n } as any;\n\n if( (this.daysOfWeekDisabled).length > 0 ){\n options['daysOfWeekDisabled'] = this.daysOfWeekDisabled;\n }\n\n if( (this.datesDisabled).length > 0 ){\n options['datesDisabled'] = this.datesDisabled;\n }\n\n if( this.minDate !== '' ){\n options['minDate'] = this.minDate;\n }\n\n if( this.maxDate !== '' ){\n options['maxDate'] = this.maxDate;\n }\n\n if( this.multiple ){ \n options['multiple'] = true; \n options['autohide'] = false; \n options['maxNumberOfDates'] = this.maxNumberOfDates;\n }\n \n return options;\n }\n\n clearDate(){\n if( this.datepicker ){ this.datepicker.setDate({clear: true}); }\n }\n\n start_datepicker(){\n setTimeout(() => { \n const input_datepicker = <any> this.input_datepicker?.nativeElement;\n if( input_datepicker ){\n input_datepicker.setAttribute('placeholder','DD/MM/YYYY');\n\n if( !this.useBorder ){\n input_datepicker.setAttribute('style','border:none; text-align: center; max-width: 105px; padding: 0;');\n }\n \n this.datepicker = new Datepicker( input_datepicker, this.get_options() ); \n if( this.innerValue && this.innerValue !== '' ){\n this.toSetDefaultDate(this.innerValue);\n }\n\n input_datepicker.addEventListener('keyup', (event: any) => {\n const v = (input_datepicker['value']) ? input_datepicker['value'] : '';\n input_datepicker['value'] = this.toSetMask(v);\n if( (input_datepicker['value']).length >= 10 ){\n const v = (input_datepicker['value']).substring(0, 10);\n const part_date = (v).split('/');\n if( (part_date).length === 3 ){\n\n let dia = part_date[0];\n let mes = part_date[1];\n let ano = part_date[2];\n\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\n\n const dt = new Date(ano+'-'+mes+'-'+dia);\n if( dt ){\n input_datepicker?.changeDate;\n document.getElementById(this.ID)?.blur();\n this.onChange.emit(this.innerValue);\n this.ngModelChange.emit(this.innerValue);\n }\n }\n }else{\n this.innerValue = undefined;\n this.onChange.emit(this.innerValue);\n this.ngModelChange.emit(this.innerValue);\n }\n })\n\n \n input_datepicker.addEventListener('changeDate', (event: any) => {\n\n if( event?.detail?.date ){\n\n let qtd = (event.detail.date).length; \n\n if( this.disabled ){\n\n if( !this.multiple ){\n let dt = this.formatDateLocal(event.detail?.date);\n if( this.default_innerValue && this.default_innerValue[0] && ( `${this.default_innerValue[0]}` !== `${dt}` ) ){\n qtd = 1\n }\n }\n \n this.datepicker.setDate( this.default_innerValue_convertida, {clear: true, render: true});\n \n if( qtd > this.default_qtd_innerValue ){\n this.date_changed = event?.detail.viewDate;\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\n\n this.onCheckDate.emit({\n value: this.formatDateLocal(this.date_changed), \n date: this.date_changed, \n checked: true,\n disabled: this.disabled\n });\n }else{\n\n if( this.multiple ){\n const so = this.findDifferences( this.default_innerValue, this.formatArrayDates(event.detail.date) );\n if( so && (so).length > 0 ){\n\n this.date_changed = this.parseDateLocal(so[0], '/');\n this.onCheckDate.emit({\n value :so[0], \n date: this.date_changed,\n checked: false,\n disabled: this.disabled\n });\n }\n }\n\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\n }\n }else{\n\n\n this.toSelectedDate( event.detail );\n }\n }else{\n this.innerValue = '';\n this.ngModelChange.emit(this.innerValue);\n }\n })\n } \n });\n }\n\n\n toSetDefaultDate(date: string | string[]){\n \n if( date === undefined || date === null || date === '' ){\n this.clearDate();\n return;\n }\n\n let dates = [] as string[];\n\n if( date && typeof date === 'string' ){\n if( (date).includes(',') ){\n const dates = (date).split(',');\n date = dates;\n if( !this.multiple ){\n this.innerValue = date = dates[0];\n this.ngModelChange.emit(this.innerValue); \n }\n }\n }\n \n if( date && typeof date === 'string' ){\n (dates).push( date ); \n }else{\n dates = <Array<string>> date;\n }\n if( this.datepicker ){\n\n if( dates && dates.length > 0 && this.multiple ){\n if( this.startViewInMinDate ){ \n dates = this.sortDatesDescending(dates); \n }else if(this.startViewInMaxDate){\n dates = this.sortDatesAscending(dates); \n }\n }\n this.datepicker.setDate(dates); \n } \n }\n\n convertDates(arrayDeDatas: any[]) {\n const formatDate = (dateString: any) => {\n const [day, month, year] = dateString.split('/');\n return new Date(year, month - 1, day); \n }\n if( arrayDeDatas && Array.isArray(arrayDeDatas) ){\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) }));\n return datasOrdenadas.map(item => item.convertida); \n }else{\n return [arrayDeDatas];\n }\n }\n\n sortDatesDescending(arrayDeDatas: any[]) {\n const formatDate = (dateString: any) => {\n const [day, month, year] = dateString.split('/');\n return new Date(year, month - 1, day); \n }\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => b.convertida - a.convertida);\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original); \n return datasOrdenadasFormatadas;\n }\n \n sortDatesAscending(arrayDeDatas: any[]) {\n const formatDate = (dateString: any) => {\n const [day, month, year] = dateString.split('/');\n return new Date(year, month - 1, day); \n }\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => a.convertida - b.convertida);\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original);\n return datasOrdenadasFormatadas;\n }\n\n toSelectedDate(detail: any){ \n if( detail.datepicker.dates && (detail.datepicker.dates).length > 0 ){\n if( this.multiple ){\n let dates = [];\n for( let i = 0; i < (detail.datepicker.dates).length; i++ ){\n const timeStamp = <number> detail.datepicker.dates[i];\n (dates).push( this.format_date( timeStamp ) );\n }\n this.innerValue = dates;\n this.onChange.emit(this.innerValue); \n }else{\n const timeStamp = <number> detail.datepicker.dates[0];\n const date = this.format_date( timeStamp );\n this.onChange.emit(date);\n this.innerValue = date;\n } \n }else{\n this.clearDate();\n this.innerValue = null;\n this.onChange.emit(this.innerValue);\n } \n this.value = this.innerValue;\n this.ngModelChange.emit(this.innerValue); \n }\n\n format_date(timeStamp: number){\n var date = new Date(timeStamp);\n\n let dia = `${date.getDate()}`;\n let mes = `${date.getMonth()+1}`;\n let ano = `${date.getFullYear()}`;\n\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \n\n const dateFormat = `${dia}/${mes}/${ano}`;\n return dateFormat;\n }\n\n toClickIn(id: string){\n const element = document.getElementById(id) as any;\n setTimeout(() => { \n element?.datepicker?.show();\n });\n }\n\n\n\n findDifferences(array1: any, array2: any) {\n const conjuntoComum = new Set([...array1, ...array2]);\n return Array.from(conjuntoComum).filter(item => !(array1.includes(item) && array2.includes(item)));\n }\n\n\n\n formatArrayDates(array_dates: any){\n let formateds = [];\n if( array_dates && (array_dates).length > 0 ){\n const formatDateLocal = (date: any) => {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\n const day = String(date.getDate()).padStart(2, '0');\n return `${day}/${month}/${year}`;\n }\n for( let i = 0; i < (array_dates).length; i++ ){\n const dt = array_dates[i];\n (formateds).push( formatDateLocal(dt) )\n }\n }\n return formateds;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n\n if (v !== this.innerValue) {\n this.innerValue = v; // this.toSetMask(v); \n this.onChangeCallback(v);\n }else{\n // this.innerValue = '';\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefaultDate(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n}\n","<!-- Input mode -->\n<ng-container *ngIf=\"modeInput\">\n\n <div class=\"tcloud-ui-datepicker input-tc-datepicker\" [class.no-border]=\"!useBorder\" [class.child-input-date-time]=\"childInputDateTime\" >\n <table class=\"table-box-input\">\n <tr>\n <td class=\"td-icon\">\n <div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div>\n </td>\n <td class=\"td-date\">\n <input #input_datepicker type=\"text\" name=\"{{ID}}\" id=\"{{ID}}\" class=\"form-control\" [title]=\"innerValue\" >\n </td>\n </tr>\n </table>\n </div>\n</ng-container>\n\n<!-- Inline mode -->\n<ng-container *ngIf=\"!modeInput\"> \n <div class=\"tcloud-ui-datepicker tcloud-ui-datepicker-second\" #input_datepicker id=\"{{ID}}\" pattern=\"/^\\d{2}\\/\\d{2}\\/\\d{4}$/\" [title]=\"innerValue\"></div>\n</ng-container>\n\n<!-- EX de uso \n <tc-datepicker \n [multiple]=\"false\"\n [daysOfWeekDisabled]=\"[0,6]\"\n [minDate]=\"'18/11/2021'\"\n [maxDate]=\"'18/12/2023'\"\n [datesDisabled]=\"['12/10/2022','25/12/2022']\"\n [modeInput]=\"false\"\n (onChange)=\"($event)\"\n (onCheckDate)=\"onCheckDate($event)\"\n [(ngModel)]=\"dateValue\" >\n </tc-datepicker>\n \n // multiple = false\n // dateValue - string - pode ser: 12/12/2022 \n\n // multiple = true\n // dateValue - string - pode ser: 11/12/2022,12/12/2022 ... \n\n <pre>data: {{ dateValue }}</pre>\n-->\n","import { Component, forwardRef, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ISelectOptions } from '../tcloud-ui-data-list/tcloud-ui-data-list';\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiDatepickerTimeComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-datepicker-time',\n templateUrl: './tcloud-ui-datepicker-time.component.html',\n styleUrls: ['./tcloud-ui-datepicker-time.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\nexport class TCloudUiDatepickerTimeComponent implements OnInit {\n\n show_date_picker: boolean = true;\n\n private _ngModel: any | undefined;\n @Input() set ngModel(v: any){\n if( v && v !== this.innerValue ){\n this.innerValue = v; \n } \n }\n @Output() ngModelChange = new EventEmitter<Date>();\n\n @Output() onChange = new EventEmitter<Date>();\n @Output() eventChange = new EventEmitter<any>();\n\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\n @Input() minDate: string = '';\n\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\n @Input() maxDate: string = '';\n\n @Input() useOptionsDateTime = false;\n\n DD_MM_YYYY: string = '';\n HH: string = '00';\n MM: string = '00';\n\n ID: string = '';\n\n option_HH: string[] | undefined;\n option_MM: string[] | undefined;\n\n @ViewChild('_datepickertime', {static: false}) datepickertime: ElementRef<HTMLElement> | undefined;\n\n options_date_time : ISelectOptions[] = [];\n open_options_date_time: boolean = false;\n\n last_options_date_time: any;\n description_options_date_time: any = '';\n value_options_date_time: any = '';\n\n ngOnInit(): void {\n\n\n this.setOptionsDateTime();\n\n this.ID = this.generateID();\n this.option_HH = this.getListTIME(23);\n this.option_MM = this.getListTIME(59);\n }\n\n setOptionsDateTime(){\n this.options_date_time = [\n {value:'7-days', description: '7 dias'},\n {value:'15-days', description: '15 dias'},\n {value:'30-days', description: '30 dias'},\n {value:'current-month', description: 'Mês atual até agora'},\n {value:'current-year', description: 'Ano atual até agora'}\n ]\n }\n\n generateID(): string{\n return `tcloud-ui-datepicker-time-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n getListTIME(v: number){\n let mm = [];\n for(let i = 0; i <= v; i++ ){\n if( i < 10 ){\n (mm).push(`0${i}`);\n }else{\n (mm).push(`${i}`);\n }\n }\n return mm;\n }\n\n toSetDate(date: string){ \n this.set_date_by_datepicker(date);\n }\n\n toSetTime(){\n if( this.DD_MM_YYYY && ((this.DD_MM_YYYY).trim()).length === 10){\n const date = (this.DD_MM_YYYY).replace(/-/g, '/');\n let date_part = (date).split('/');\n let dd = date_part[0];\n let mm = date_part[1];\n let yy = date_part[2];\n const datetime = new Date(`${yy}-${mm}-${dd}`);\n if( this.checkIsDate(datetime) ){\n this.set_date_by_datepicker(date);\n }\n }\n }\n\n set_date_by_datepicker(date: string){\n\n if( date ){\n date = (date).replace(/-/g, '/');\n let date_part = (date).split('/');\n let dia = date_part[0];\n let mes = date_part[1];\n let ano = date_part[2];\n\n let hh = this.HH;\n if( !hh ){\n hh = '00';\n }else{\n if( ( +(hh) >= 0 && +(hh) < 24 ) ){\n hh = (+(hh) < 10 ) ? `0${+(hh)}` : `${+(hh)}`;\n }else{\n hh = '00';\n }\n }\n\n let mm = this.MM;\n if( !mm ){\n mm = '00';\n }else{\n if( ( +(mm) >= 0 && +(mm) < 60 ) ){\n mm = (+(mm) < 10 ) ? `0${+(mm)}` : `${+(mm)}`;\n }else{\n mm = '00';\n }\n }\n\n if( hh === '00' ){ this.HH = hh; }\n if( mm === '00' ){ this.MM = mm; }\n\n const notation = '00';\n\n const str_date = `${ano}-${mes}-${dia}T${hh}:${mm}:${notation}`;\n const datetime = new Date( str_date );\n \n if( this.checkIsDate(datetime) ){\n this.innerValue = datetime;\n }else{\n this.innerValue = undefined;\n }\n\n // console.log('this.datepickertime?.nativeElement', this.datepickertime?.nativeElement);\n\n // if(this.datepickertime && this.datepickertime.nativeElement){\n // const elem = <any> this.datepickertime.nativeElement;\n // elem.value = this.innerValue;\n // }\n\n this.ngModelChange.emit( this.innerValue );\n this.onChange.emit( this.innerValue );\n this.eventChange.emit( this.datepickertime?.nativeElement );\n\n }else{\n\n this.description_options_date_time = '';\n this.value_options_date_time = '';\n\n this.innerValue = undefined;\n this.ngModelChange.emit( this.innerValue );\n this.onChange.emit( this.innerValue );\n this.eventChange.emit( this.datepickertime?.nativeElement );\n }\n\n if( `${this.last_options_date_time}` !== `${this.innerValue}` ){\n // this.description_options_date_time = '';\n // this.value_options_date_time = '';\n }\n\n }\n\n // Distribuir os valores da data por pedaços: data - hora - min\n to_date_hh_mm(d: Date){\n let dia = `${(d).getDate()}`;\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\n let mes = `${(d).getMonth()+1}`;\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \n\n let ano = `${(d).getFullYear()}`;\n let hh = `${(d).getHours()}`;\n let mm = `${(d).getMinutes()}`;\n\n if( hh && ( +(hh) < 0 || +(hh) > 23 ) ){ hh = '00'; }\n hh = (hh) ? ( (+(hh) < 10 ) ? `0${hh}` : hh ) : '00';\n\n if( mm && ( +(mm) < 0 || +(mm) > 59 ) ){ mm = '00'; }\n mm = (mm) ? ( (+(mm) < 10 ) ? `0${mm}` : mm ) : '00';\n\n this.MM = mm;\n this.HH = hh;\n\n this.DD_MM_YYYY = `${dia}/${mes}/${ano}`;\n }\n\n checkIsDate(d: any): boolean{\n\n if(Object.prototype.toString.call(d) === \"[object Date]\") {\n if(isNaN(d)) { return false; } else { return true; }\n } \n return false;\n }\n\n\n clean(){\n this.DD_MM_YYYY = '';\n this.HH = '00';\n this.MM = '00';\n this.description_options_date_time = '';\n this.value_options_date_time = '';\n }\n\n toClickIn(id: string){\n document.getElementById(id)?.focus();\n }\n\n onClosedOptionsDateTime(){\n this.open_options_date_time = false\n }\n\n \n onChangeOptionsDateTime(event: any){\n // this.description_options_date_time = '';\n // this.value_options_date_time = '';\n this.show_date_picker = false;\n\n let now = new Date();\n let filter_date: any = undefined;\n if( event === '7-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \n filter_date = new Date( (filter_date).setSeconds(0) ); \n }\n\n if( event === '15-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === '30-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === 'current-month' ){\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\n }\n\n if( event === 'current-year' ){\n filter_date = new Date(now.getFullYear(), 0, 1);\n }\n\n if(filter_date){ \n this.innerValue = filter_date;\n if( this.checkIsDate(filter_date) ){ \n setTimeout(() => {\n this.to_date_hh_mm(filter_date);\n this.toSetDate(this.DD_MM_YYYY); \n this.show_date_picker = true;\n this.value_options_date_time = event;\n this.last_options_date_time = filter_date as any;\n this.description_options_date_time = this.get_description_options_date_time(event);\n }); \n }\n }\n\n }\n\n\n get_description_options_date_time(value: string){\n if( this.options_date_time && (this.options_date_time).length > 0 ){\n for( let i = 0; i < (this.options_date_time).length; i++ ){\n const item = this.options_date_time[i];\n if( item.value === value ){\n return item.description;\n }\n }\n }\n return '';\n }\n\n\n closedTimeDescription(){\n this.value_options_date_time = '';\n this.description_options_date_time = ''; \n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n\n try {\n value = new Date( `${value}` );\n } catch (error) {}\n\n this.innerValue = value;\n if( this.checkIsDate(value) ){\n this.to_date_hh_mm(value);\n }else{\n this.clean()\n }\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n}\n","<div class=\"tcloud-ui-datepicker-time\">\n <input type=\"hidden\" value=\"{{ innerValue }}\" #_datepickertime >\n <form #_formulario=\"ngForm\">\n <div class=\"input-control-time\">\n <div class=\"form-control-time\">\n\n <table style=\"width: 100%;\">\n <tr>\n <td>\n\n <div class=\"input-options-date\">\n <table class=\"form-time\">\n <tr>\n <!-- <td class=\"area-icon\"><div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div></td> -->\n <td class=\"area-input-date\">\n <ng-container *ngIf=\"show_date_picker\">\n <tcloud-ui-datepicker [minDate]=\"minDate\" [maxDate]=\"maxDate\" #_tclouddatepickertime [childInputDateTime]=\"true\" [modeInput]=\"true\" name=\"date\" [useBorder]=\"false\" [(ngModel)]=\"DD_MM_YYYY\" (onChange)=\"toSetDate($event)\" ></tcloud-ui-datepicker>\n </ng-container>\n </td>\n \n <td class=\"area-delimiter\"><div class=\"delimiter-time\"></div></td>\n <td class=\"area-input-hour\">\n <!--<input type=\"text\" placeholder=\"HH\" (keyup)=\"toSetTime()\" [(ngModel)]=\"HH\" maxlength=\"2\" name=\"hh\" pattern=\"[0][0-9]|[1][0-9]|2[0-3]\">-->\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"HH\" name=\"hh\">\n <ng-container *ngFor=\"let hh of option_HH\">\n <option [ngValue]=\"hh\">{{ hh }}</option>\n </ng-container>\n </select>\n </td>\n <td class=\"area-delimiter\"><div class=\"delimiter-time\">:</div></td>\n <td class=\"area-input-minute\">\n <!--<input type=\"text\" placeholder=\"MM\" (keyup)=\"toSetTime()\" [(ngModel)]=\"MM\" maxlength=\"2\" name=\"mm\" pattern=\"[012345][0-9]\">-->\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"MM\" name=\"mm\">\n <ng-container *ngFor=\"let mm of option_MM\">\n <option [value]=\"mm\">{{ mm }}</option>\n </ng-container>\n </select>\n </td>\n <td class=\"area-clean\"></td>\n </tr>\n </table>\n\n <div class=\"description-options-date\" *ngIf=\"value_options_date_time !== ''\">\n <strong>{{ description_options_date_time }}</strong>\n\n <!-- <div class=\"area-action-date-time-selected\">\n <button class=\"btn-icon\" type=\"button\" (click)=\"closedTimeDescription()\" >\n <i class=\"fas fa-times\"></i>\n </button> \n </div> -->\n </div>\n\n\n </div>\n\n </td>\n <td *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0\" style=\"width: 20px\">\n <button type=\"button\" class=\"icon-short-time\" (click)=\"open_options_date_time = !open_options_date_time\" [title]=\"description_options_date_time\" >\n <i *ngIf=\"!open_options_date_time\" class=\"fas fa-caret-down\"></i>\n <i *ngIf=\"open_options_date_time\" class=\"fas fa-caret-up\"></i>\n </button>\n\n <ng-container *ngIf=\"value_options_date_time !== ''\">\n <button class=\"btn-icon-close\" type=\"button\" (click)=\"closedTimeDescription()\" >\n <i class=\"fas fa-times\"></i>\n </button> \n </ng-container>\n\n </td>\n </tr>\n <tr *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0 && open_options_date_time\">\n <td colspan=\"2\">\n <tcloud-ui-data-list \n name=\"value_options_date_time\"\n [showInput]=\"false\" \n [search]=\"false\" \n [open]=\"true\" \n [listItems]=\"options_date_time\" \n (onClosed)=\"onClosedOptionsDateTime()\"\n [ngModel]=\"value_options_date_time\"\n (ngModelChange)=\"onChangeOptionsDateTime($event)\"\n >\n </tcloud-ui-data-list>\n\n \n\n\n \n </td>\n </tr>\n </table>\n\n \n </div>\n </div>\n </form>\n</div>","import { Component, Input, OnInit, Output, EventEmitter, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n\ninterface IResultDateTime{\n start: any;\n stop: any;\n}\n\n@Component({\n selector: 'range-date',\n templateUrl: './range-date.component.html',\n styleUrls: ['./range-date.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\nexport class TCloudUiRangeDateComponent implements OnInit {\n\n result = {} as IResultDateTime;\n\n options_date_time: any = [];\n use_validation_required: boolean = false;\n\n @Output() onChange = new EventEmitter<IResultDateTime>();\n\n @Input() defaultValuePeriodStartStop: string = '';\n @Input() required: string | undefined;\n\n @Input() descriptionStart: string = '';\n @Input() descriptionStop: string = '';\n\n mode: string = 'select';\n\n isValid = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.setOptionsDateTime();\n }\n\n setOptionsDateTime(){\n this.options_date_time = [\n {value:'1-last-time', description: 'Última 1 hora'},\n {value:'3-last-time', description: 'Últimas 3 horas'},\n {value:'6-last-time', description: 'Últimas 6 horas'},\n {value:'24-last-time', description: 'Últimas 24 horas'},\n\n {value:'7-days', description: 'Últimos 7 dias'},\n {value:'15-days', description: 'Últimos 15 dias'},\n {value:'30-days', description: 'Últimos 30 dias'},\n {value:'current-month', description: 'Mês atual'},\n {value:'current-year', description: 'Ano atual'}\n ]\n setTimeout(() => {\n if( this.defaultValuePeriodStartStop !== '' ){\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\n }\n });\n \n }\n\n onChangeOptionsDateTime(event?: any){\n this.isValid = false;\n // this.description_options_date_time = '';\n // this.value_options_date_time = '';\n event = (event && event.value) ? `${event.value}` : `${event}`;\n\n let now = new Date();\n let current_date = new Date();\n let filter_date: any = undefined;\n\n\n if( event === '1-last-time' ){\n filter_date = new Date(current_date.getTime() - 1 * 60 * 60 * 1000);\n }\n\n if( event === '3-last-time' ){\n filter_date = new Date(current_date.getTime() - 3 * 60 * 60 * 1000);\n }\n\n if( event === '6-last-time' ){\n filter_date = new Date(current_date.getTime() - 6 * 60 * 60 * 1000);\n }\n\n if( event === '24-last-time' ){\n filter_date = new Date(current_date.getTime() - 24 * 60 * 60 * 1000);\n }\n\n if( event === '7-days' ){\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 7 ) ); \n filter_date = new Date( (filter_date).setSeconds(0) ); \n }\n\n if( event === '15-days' ){\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 15 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === '30-days' ){\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 30 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === 'current-month' ){\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\n }\n\n if( event === 'current-year' ){\n filter_date = new Date(now.getFullYear(), 0, 1);\n }\n\n if(filter_date){ \n this.result = {\n start: this.getTransformDate(filter_date),\n stop: this.getTransformDate(now)\n } as IResultDateTime;\n\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n \n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = false;\n \n }\n\n }\n\n getTransformDate(dt: any){\n //return (dt).toLocaleString('pt-BR');\n return dt;\n /*\n const ano = dt.getFullYear();\n const mes = dt.getMonth();\n const dia = dt.getDate();\n const horas = dt.getHours();\n const minutos = dt.getMinutes();\n return new Date(Date.UTC(ano, mes, dia, horas, minutos));\n */\n }\n\n onChangeStartDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start){\n this.result.start = event.value = this.getTransformDate(event.value);\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n onChangeStopDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.stop ){\n this.result.stop = event.value = this.getTransformDate(event.value);\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n toggle(){\n const mode = ( `${this.mode}` === 'select' ) ? 'datepickers' : 'select';\n this.defaultValuePeriodStartStop = '';\n this.isValid = false;\n this.result = {} as IResultDateTime;\n this.mode = mode;\n this.onChange.emit(this.result);\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n //this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n check_is_valid(): boolean{\n if( this.result && this.result.start && this.result.stop ){\n return true;\n }\n return false;\n }\n\n}\n","<table class=\"tcloud-ui-filters-range-date area-range-date\">\n <tr>\n\n <td>\n <div *ngIf=\"mode === 'select'\">\n <div class=\"description-period\">Período</div>\n <select name=\"periodo\" class=\"tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\n <option value=\"\"></option> \n <ng-container *ngFor=\"let item of options_date_time\">\n <option [value]=\"item.value\">{{ item.description }}</option>\n </ng-container>\n </select>\n </div>\n <div *ngIf=\"mode === 'datepickers'\">\n\n <table class=\"area-range-datepickers\">\n <tr>\n <td>\n <div class=\"description-start\">{{ descriptionStart }}</div>\n <tcloud-ui-datepicker-time \n #_input_start \n [(ngModel)]=\"result.start\" \n name=\"input_start\" \n (eventChange)=\"onChangeStartDateTime(_input_start)\">\n </tcloud-ui-datepicker-time>\n </td>\n <td>\n <div class=\"description-stop\">{{ descriptionStop }}</div>\n <tcloud-ui-datepicker-time \n #_input_stop\n [(ngModel)]=\"result.stop\" \n name=\"input_stop\" \n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\n </tcloud-ui-datepicker-time>\n </td>\n </tr>\n </table>\n\n </div>\n </td>\n\n <td>\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\n\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calendário\"></i>\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar período\"></i>\n\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calendário</div> -->\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Período</div> -->\n </button>\n </td>\n\n </tr>\n</table>","import { DatePipe } from '@angular/common';\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\n\n@Component({\n selector: 'tcloud-ui-filters',\n templateUrl: './tcloud-ui-filters.component.html',\n styleUrls: ['./tcloud-ui-filters.component.scss'],\n standalone: false\n})\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\n\n datepickers = [] as any;\n\n @ViewChild('_formulario') _formulario: NgForm | undefined;\n\n inputs: string[] = [];\n\n show_filters: boolean = false;\n\n search_data: any | undefined;\n\n @Input() border: boolean = true;\n\n private _data: any | undefined;\n @Input() set data(data: any){\n // this._data = JSON.parse(JSON.stringify(data));\n }\n get data(): any{ return this._data; }\n\n private _filters: TCDataFilters | undefined;\n @Input() set filters(filters: any){\n //this._filters = filters;\n }\n get filters(): any{ return this._filters; }\n\n private _submitText: string = 'Filtrar';\n @Input() set submitText(v: string){ \n if( v && v !== this._submitText ){\n this._submitText = v;\n }\n }\n get submitText():string{ return this._submitText; }\n\n @Input() btnSubmitClass: string = 'tc-btn-primary';\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\n @Input() useRangeDate: boolean = true;\n @Input() useFilterAccept: boolean = false;\n\n @Output() result = new EventEmitter<any>();\n @Output() onFilter = new EventEmitter<any>();\n @Output() onChange = new EventEmitter<any>();\n @Output() onSubmit = new EventEmitter<any>();\n\n descriptionStart: string = '';\n descriptionStop: string = '';\n\n private first_active_filter: boolean = false;\n\n start_stop: boolean = false;\n start_stop_width: number = 0;\n start_stop_und: string = ''; // px ou %\n\n constructor(\n private datepipe: DatePipe\n ) { }\n\n ngOnInit(): void {\n setTimeout(() => {\n if( this.filters && (this.filters).length > 0 ){\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].value ){\n if( this.filters[i].type === 'datetime-local' ){\n try {\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\n } catch (error) {}\n }else{\n this.filters[i].searchText = this.filters[i].value;\n }\n this.first_active_filter = true;\n }\n } \n }\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\n this.toSubmit();\n });\n }\n\n is_start_stop_datetime(){\n let start = false;\n let stop = false;\n if( this.filters && (this.filters).length > 0 ){\n this.start_stop_width = 0;\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].id === 'start' ){\n start = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.start_stop_und = this.getUnidade(this.filters[i].width);\n this.descriptionStart = this.filters[i].description;\n }\n if( this.filters[i].id === 'stop' ){\n stop = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.descriptionStop = this.filters[i].description;\n }\n }\n }\n return ( start && stop ) ? true : false;\n }\n\n getValueWidth(v: string):number {\n let und = this.getUnidade(v);\n v = (v).replace(und, '');\n return +(v);\n }\n\n getUnidade(v: string):string {\n let und = '%';\n if( v && (v).includes('px') ){\n und = 'px';\n }\n return und;\n }\n \n\n ngOnChanges(changes: SimpleChanges) { \n \n if( changes && changes['data'] ){\n const data = changes['data'].currentValue;\n if( this._data !== data ){\n this._data = JSON.parse(JSON.stringify(data));\n this.search_data = JSON.parse(JSON.stringify(data));\n this.init();\n }\n }\n\n if( changes && changes['filters'] ){\n const filters = changes['filters'].currentValue;\n if( this._filters !== filters ){\n this._filters = JSON.parse(JSON.stringify(filters));\n this.init();\n }\n }\n }\n\n private init(){\n if( this.data && this.filters ){\n this.show_filters = true;\n if( this.filters && (this.filters).length > 0 ){\n (this.filters).forEach((filter: TCDataFilters) => { \n this.searchIn(filter, 'sync');\n });\n } \n if( !this.useOnChangeSubmit ){\n this.result_accept(this.data);\n }\n\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\n this.start_filter();\n }\n }\n }\n\n private normalize(text: any): string{\n if( this.useNormalizeCaseSensitive ){\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n return v;\n }\n return text;\n }\n\n toSubmit(){\n if( this.filters && (this.filters).length > 0 ){\n this.init();\n }\n this.emitSubmitFilters();\n }\n\n private emitSubmitFilters(){\n let filters = JSON.parse(JSON.stringify(this.filters));\n if( filters && (filters).length > 0 ){\n (filters).forEach((filter: TCDataFilters, i: number) => {\n\n if( filter.width ){ delete(filters[i].width); }\n if( filter.placeholder ){ delete(filters[i].placeholder); }\n if( filter.description ){ delete(filters[i].description); }\n\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\n delete(filters[i]);\n }\n if( filter.type === \"boolean\" ){\n if( !filter.searchText ){\n filter.searchText = false;\n }\n }\n \n });\n } \n \n this.onSubmit.emit(this.filters);\n }\n\n\n private collectionFind(obj: any, path: any): any {\n const pathArray = path.split(\".\");\n let current = obj;\n for (let i = 0; i < pathArray.length; i++) {\n const key = pathArray[i];\n\n if (key.includes('[') && key.includes(']')) {\n const nextKeys = pathArray.slice(i + 1);\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\n const arrayKey = key.substring(0, key.indexOf('['));\n if( current && current[arrayKey] && current[arrayKey][index] ){\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\n }\n }\n\n\n if (key.includes(\"[]\")) {\n const arrayKey = key.replace(\"[]\", \"\");\n current = current[arrayKey] || [];\n const nextKeys = pathArray.slice(i + 1);\n const results = [];\n for (let j = 0; j < current.length; j++) {\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\n if (result !== undefined) {\n results.push(result); \n }\n }\n if (results.length === 0) {\n return undefined;\n }\n return results;\n } else {\n if( !current || (current && !current[key]) ){\n return undefined;\n }\n current = current[key];\n if (current === undefined) {\n return undefined;\n }\n }\n }\n return current;\n }\n \n first: boolean = true;\n start_filter_fc: any = undefined;\n\n start_value: any | undefined;\n stop_value: any | undefined;\n\n searchInRange( range_date: any){\n \n if( this.filters && (this.filters).length > 0 ){\n\n let event = {} as any; \n event.datepickertime = true;\n\n for( let i = 0; i < (this.filters).length; i++ ){\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\n this.filters[i].value = range_date?.result?.start!;\n this.filters[i].searchText = range_date?.result?.start!;\n event.innerValue = this.start_value = range_date?.result?.start!;\n this.searchIn(this.filters[i], event);\n }\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\n this.filters[i].value = range_date?.result?.stop!;\n this.filters[i].searchText = range_date?.result?.stop!;\n event.innerValue = this.stop_value = range_date?.result?.stop!;\n this.searchIn(this.filters[i], event);\n }\n }\n if( this.first || this.useOnChangeSubmit ){\n this.toSubmit();\n }\n \n }\n this.first = false;\n\n }\n\n convertDataToNumber(dataString: string): number {\n try {\n const [dia, mes, ano] = dataString.split('/');\n return +(`${ano}${mes}${dia}`);\n } catch (error) {}\n return 0;\n }\n\n searchIn(item: TCDataFilters, event?: any){\n\n \n\n this.start_filter_fc = undefined;\n\n let isValid = true;\n\n if( event === 'sync' && isValid ){\n isValid = false;\n this.onChange.emit(true);\n }\n\n if( typeof event === 'boolean' && isValid ){\n isValid = false;\n item.searchText = event;\n this.onChange.emit(true);\n }\n\n if( (event === undefined || event === null || event === '') && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( event?.datepickertime && isValid ){\n isValid = false;\n item.searchText = event?.innerValue; \n this.onChange.emit(true);\n }\n\n if(event?.target?.value && isValid ){\n isValid = false;\n item.searchText = this.normalize(event.target.value);\n this.onChange.emit(true);\n }\n\n if(event?.target?.value === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( item.type === 'date-local' && item.value ){\n isValid = false;\n item.searchText = `${this.convertDataToNumber( item.value )}`;\n this.onChange.emit(true);\n }\n\n if( event && event.result && ( event.result.start || event.result.stop ) ){\n isValid = false;\n this.onChange.emit(true);\n }\n\n \n \n if( this.useOnChangeSubmit || this.first_active_filter ){ \n this.start_filter_fc = this.start_filter();\n this.first_active_filter = false;\n }\n\n if( !this.useButtonSubmit ){\n this.emitSubmitFilters();\n } \n }\n\n getDateUTC(dt: any){\n const ano = dt.getFullYear();\n const mes = dt.getMonth();\n const dia = dt.getDate();\n const horas = dt.getHours();\n const minutos = dt.getMinutes();\n const segundos = dt.getSeconds();\n return new Date(Date.UTC(ano, mes, dia, horas, minutos, segundos));\n }\n\n \n start_filter(){\n for( let i = 0; i < (this.data).length; i++ ){\n\n this.setDataIndex(i, true);\n\n for( let j = 0; j < (this.filters).length; j++ ){ \n const filter_item = this.filters[j]; \n\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\n \n filter_item.searchText = this.normalize(filter_item.searchText); \n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n if( item_value ){\n item_value = this.normalize(item_value); \n\n if( typeof filter_item.notIn === 'boolean' && filter_item.notIn ){\n if( ( item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n }else{\n\n if( filter_item.type === TCFiltersType.select ){\n // Exclusivo para select\n if( filter_item.data && (filter_item.data).length > 0 ){\n\n // uso do select com o notValues: string[]\n let current_option = [];\n for( let k = 0; k < (filter_item.data).length; k++ ){\n const k_item = filter_item.data[k];\n if( `${k_item?.value}` === `${filter_item.searchText}` ){\n current_option = k_item?.notValues!;\n break;\n }\n }\n if( current_option && (current_option).length > 0 ){\n for( let v = 0; v < (current_option).length; v++ ){\n const v_item = current_option[v]; \n if( ( item_value === v_item ) ){\n this.setDataIndex(i, false);\n }\n }\n }else{\n\n // uso normal do select\n if( !( item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n } \n\n } \n\n \n }else{\n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n }\n }\n\n }else{\n this.setDataIndex(i, false);\n }\n } \n \n\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\n \n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n\n try { item_value = new Date(item_value); } catch (error) {}\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\n let is_accept = false;\n\n const dt_target = ( (filter_item.searchText).getTime() ).toString().substring(0, 10); /* + (3 * 60 * 60 * 1000); */\n const dt_current = ( (item_value).getTime() ).toString().substring(0, 10);\n if( filter_item.condition ){\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = ( Number(dt_target) > Number(dt_current) ); break;\n case TCCondition.lt: is_accept = ( Number(dt_target) < Number(dt_current) ); break;\n case TCCondition.gte: is_accept = ( Number(dt_target) <= Number(dt_current) ); break;\n case TCCondition.lte: is_accept = ( Number(dt_target) >= Number(dt_current) ); break;\n case TCCondition.equal: is_accept = ( Number(dt_target) === Number(dt_current) ); break;\n case TCCondition.notEqual: is_accept = ( Number(dt_target) != Number(dt_current) ); break;\n default: is_accept = ( Number(dt_target) == Number(dt_current) );\n }\n }else{\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n\n \n\n if( filter_item.searchText && typeof Number(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\n \n filter_item.searchText = Number(filter_item.searchText);\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n\n if( typeof Number(item_value) === 'number' ){ \n item_value = Number(item_value); \n let is_accept = false;\n if( filter_item.condition ){\n\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = ( Number(filter_item.searchText) > Number(item_value) ); break;\n case TCCondition.lt: is_accept = ( Number(filter_item.searchText) < Number(item_value) ); break;\n case TCCondition.gte: is_accept = ( Number(filter_item.searchText) <= Number(item_value) ); break;\n case TCCondition.lte: is_accept = ( Number(filter_item.searchText) >= Number(item_value) ); break;\n case TCCondition.equal: is_accept = ( Number(filter_item.searchText) === Number(item_value) ); break; \n case TCCondition.notEqual: is_accept = ( Number(filter_item.searchText) != Number(item_value) ); break;\n default: is_accept = ( Number(filter_item.searchText) == Number(item_value) );\n }\n }else{\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n \n \n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText === true ){\n\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n \n if( item_value && (item_value).length > 0 ){ \n let qtd_is_true = 0; \n for( let i = 0; i < ((item_value).length); i++ ){\n const item = item_value[i];\n if( item === filter_item.searchText ){\n qtd_is_true++;\n }\n }\n if( qtd_is_true === 0 ){\n this.setDataIndex(i, false);\n }\n }else{\n if( !( item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n } \n }\n \n }\n\n } // end for\n \n this.toResult();\n \n }\n\n private toResult(){\n\n\n const search_data = [];\n\n let is_filter = false;\n for( let i = 0; i < (this.filters).length; i++ ){\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\n is_filter = true; break;\n }\n }\n\n if( is_filter ){\n for( let i = 0; i < (this.data).length; i++ ){\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\n (search_data).push(this.data[i]);\n }\n }\n\n this.result_accept(search_data);\n this.onFilter.emit({...this.filters});\n return;\n }\n\n this.result_accept(this.data);\n this.onFilter.emit({...this.filters});\n }\n\n setDataIndex(index: number, value: boolean ){\n if( this.data && this.data[index] ){\n this.data[index]['tc_filter_accept'] = value;\n }\n }\n\n result_accept(data: any){\n if( !this.useFilterAccept && data && (data).length > 0 ){\n for( let i = 0; i < (data).length; i++ ){\n delete data[i]['tc_filter_accept'];\n }\n }\n this.result.emit(data);\n }\n\n}\n","<div *ngIf=\"show_filters\" class=\"tcloud-ui-filters area-filter\" [class.no-border]=\"!border\">\n <ng-container *ngFor=\"let item of filters; let i = index\">\n\n <ng-container *ngIf=\"!item.type || (item.type && item.type !== 'boolean')\">\n\n <ng-container *ngIf=\"item.type === 'date-local'\">\n\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <tcloud-ui-datepicker \n #_input\n name=\"input_{{i+1}}\"\n [modeInput]=\"true\"\n [(ngModel)]=\"item.value\"\n (ngModelChange)=\"searchIn(item, _input)\">\n </tcloud-ui-datepicker>\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n \n </ng-container>\n\n <ng-container *ngIf=\"item.type !== 'date-local'\">\n <ng-container *ngIf=\"item.type === 'datetime-local'\">\n\n <ng-container *ngIf=\"(item.id === 'start' || item.id === 'stop') && useRangeDate\">\n <!-- PERIOD RANGE DATE -->\n <ng-container *ngIf=\"item.id === 'start'\">\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+start_stop_width+''+start_stop_und : ''\">\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(_range_date && _range_date.result && _range_date.result.start && _range_date.result.stop )\" class=\"fas fa-filter icon-filter\"></i> </div>\n <range-date \n #_range_date ngModel name=\"input_{{i+1}}\" \n [defaultValuePeriodStartStop]=\"item.defaultValuePeriodStartStop\"\n [descriptionStart]=\"descriptionStart\"\n [descriptionStop]=\"descriptionStop\"\n required \n (onChange)=\"searchInRange(_range_date); searchIn(item, _range_date)\">\n </range-date>\n </div>\n </ng-container> \n <input *ngIf=\"item.id === 'start'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"start_value\"> \n <input *ngIf=\"item.id === 'stop'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"stop_value\"> \n </ng-container>\n\n <ng-container *ngIf=\"!item.id || !useRangeDate\">\n\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <tcloud-ui-datepicker-time \n #_input \n [(ngModel)]=\"item.value\" \n name=\"input_{{i+1}}\" \n [useOptionsDateTime]=\"(item && item.useOptionsDateTime) ? true : false\"\n (eventChange)=\"searchIn(item, _input)\" >\n </tcloud-ui-datepicker-time>\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n\n </ng-container>\n </ng-container>\n \n <ng-container *ngIf=\"item.type !== 'select' && item.type !== 'datetime-local' && item.type !== 'date-local'\">\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <input \n #_input\n [(ngModel)]=\"item.value\"\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\n name=\"input_{{i+1}}\" \n type=\"{{ (item.type === 'number') ? 'text' : item.type }}\" \n class=\"tc-form-control\" \n (keyup)=\"searchIn(item, $event)\"> \n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"_input.value === ''\" (click)=\"searchIn(item, null); _input.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.type === 'select' && item.data && (item.data).length > 0\" >\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <select \n #_input\n [(ngModel)]=\"item.value\"\n name=\"input_{{i+1}}\" \n class=\"tc-form-control\" \n (change)=\"searchIn(item, $event)\">\n <option [ngValue]=\"\"></option>\n <ng-container *ngFor=\"let v of item.data\">\n <option [value]=\"v.value\">{{ v.description }}</option>\n </ng-container>\n </select>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n\n\n <ng-container *ngIf=\"item.type && item.type === 'boolean'\">\n \n <div class=\"box-filter-input\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description tc-title-ellipsis\" title=\"{{ item.description }}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.checked === true\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"area-input-checkbox\">\n <div class=\"tc-form-control\">\n <label>\n {{ item.placeholder }}\n <input \n #_input\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\n name=\"input_{{i+1}}\" \n type=\"checkbox\" \n (change)=\"searchIn(item, _input.checked)\"> \n </label>\n </div> \n </div>\n </div>\n\n </ng-container>\n\n\n </ng-container>\n\n <div class=\"text-right mb-1 mr-1\" *ngIf=\"useButtonSubmit\">\n <button type=\"button\" class=\"tc-btn {{ btnSubmitClass }}\" (click)=\"toSubmit()\" >{{ submitText }}</button>\n </div>\n\n</div>\n\n<!-- <pre>{{ inputs | json }}</pre> -->\n<!-- <pre> {{ data | json }} </pre> -->\n\n<!-- <p>FILTERS</p><pre> {{ filters | json }}</pre> -->\n\n<!--\n <pre>start_stop: {{ start_stop }}</pre>\n <pre>start_stop_width: {{ start_stop_width }}</pre>\n <pre>start_stop_und: {{ start_stop_und }}</pre>\n-->","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiDatepickerComponent } from './tcloud-ui-datepicker.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiDatepickerComponent\n ],\n exports: [\n TCloudUiDatepickerComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiDatepickerModule { }\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiDatepickerTimeComponent } from './tcloud-ui-datepicker-time.component';\nimport { TCloudUiDatepickerModule } from './../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\n\n@NgModule({\n declarations: [\n TCloudUiDatepickerTimeComponent\n ],\n exports: [\n TCloudUiDatepickerTimeComponent\n ],\n imports: [\n CommonModule,\n TCloudUiDatepickerModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDataListModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiDatepickerTimeModule { }\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent\n ],\n exports: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent \n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiDatepickerModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiFiltersModule { }\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class TCloudUiAccordionService {\n\n private disabled: boolean | undefined;\n private loading: boolean | undefined;\n private show: boolean | undefined;\n\n private _stateToggle = new Subject<boolean>();\n public stateToggle$ = this._stateToggle.asObservable();\n\n private _stateLoading = new Subject<boolean>();\n public stateLoading$ = this._stateLoading.asObservable();\n\n private _stateDisabled = new Subject<boolean>();\n public stateDisabled$ = this._stateDisabled.asObservable();\n\n\n toggle(action: boolean): void{\n this._stateToggle.next( action );\n }\n\n getLoading(){\n return this.loading;\n }\n\n setLoading(loading: boolean){\n this.loading = loading;\n this._stateLoading.next(loading);\n }\n\n getShow(){\n return this.show;\n }\n\n setDisabled(disabled: boolean): void{\n this._stateDisabled.next( disabled );\n }\n\n getDisabled(){\n return this.disabled;\n }\n\n}","import { Subscription } from 'rxjs';\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy } from '@angular/core';\nimport { TCloudUiAccordionService } from './services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion',\n templateUrl: './tcloud-ui-accordion.component.html',\n styleUrls: ['./tcloud-ui-accordion.component.css'],\n providers: [\n TCloudUiAccordionService\n ],\n standalone: false\n})\nexport class TCloudUiAccordionComponent implements OnInit, OnDestroy {\n\n theme: string | undefined;\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n \n private _disabled: boolean = false;\n @Input() set disabled(v: boolean){ \n this._disabled = v;\n if( this._disabled ){ \n setTimeout(() => { \n this._tCloudUiAccordionService.setDisabled(this._disabled);\n this._tCloudUiAccordionService.toggle(false); \n });\n }\n }\n get disabled(){ return this._disabled; }\n\n\n private _show: boolean = false;\n @Input() set show(v: boolean){ \n if( this._show !== v ){\n this._show = v;\n if( !this.disabled ){\n setTimeout(() => { this._tCloudUiAccordionService.toggle(this._show); }); \n } \n }\n }\n\n get show(){ return this._show; }\n\n\n @Output() onAction = new EventEmitter<'open'|'close'>();\n\n private _loading: boolean = false;\n /**\n * loading - boolean - Coloca o modal em modo de carregamento - default false\n */\n @Input() set loading(loading: boolean){ \n this._loading = loading;\n this._tCloudUiAccordionService.setLoading(loading);\n }\n get loading(): boolean { return this._loading; }\n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading; \n });\n \n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.onAction.emit( (show === true) ? 'open' : 'close' );\n })\n \n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-accordion tc-accordion\" [class.tc-accordion-disabled]=\"disabled\">\n <ng-content></ng-content>\n</div>","import { Component, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion-title',\n templateUrl: './tcloud-ui-accordion-title.component.html',\n styleUrls: ['./tcloud-ui-accordion-title.component.css'],\n standalone: false\n})\nexport class TCloudUiAccordionTitleComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n subscription_03: Subscription | undefined;\n\n show: boolean = false;\n loading: boolean = false;\n disabled: boolean = false;\n \n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.loading = this._tCloudUiAccordionService.getLoading() || false;\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading;\n });\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n });\n\n this.disabled = this._tCloudUiAccordionService.getDisabled() || false;\n this.subscription_03 = this._tCloudUiAccordionService.stateDisabled$.subscribe((disabled: boolean) => {\n this.disabled = disabled;\n });\n\n }\n\n toggle(){\n if( this.disabled ){ return; }\n\n this.show = !this.show;\n this._tCloudUiAccordionService.toggle(this.show); \n \n }\n\n toggle_title(){\n this.toggle();\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n if( this.subscription_03 ){ this.subscription_03.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-accordion-title tc-accordion-title\">\n <table class=\"tc-accordion-table\">\n <tr>\n <td class=\"area-title\" (click)=\"toggle_title()\" >\n <ng-content></ng-content>\n </td>\n <td class=\"tc-accordion-actions\">\n <button type=\"button\" class=\"tc-btn-accordion-toggle\" [disabled]=\"disabled\" (click)=\"toggle()\" >\n\n <i class=\"fas fa-chevron-right icon-toggle\" *ngIf=\"!show\"></i>\n <i class=\"fas fa-chevron-down icon-toggle\" *ngIf=\"show\"></i>\n\n </button>\n </td>\n </tr>\n </table>\n</div>","import { Component, OnInit } from '@angular/core';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\n@Component({\n selector: 'tcloud-ui-accordion-body',\n templateUrl: './tcloud-ui-accordion-body.component.html',\n styleUrls: ['./tcloud-ui-accordion-body.component.scss'],\n animations: [\n trigger('expandAccordion', [\n state('close', style({ height: '0' })),\n state('open', style({ height: '*' })),\n transition('close <=> open', animate('0.35s ease-in-out')),\n ]),\n ],\n standalone: false\n})\nexport class TCloudUiAccordionBodyComponent implements OnInit {\n\n show: boolean = false;\n \n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n })\n\n }\n\n}\n","<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\n <ng-content></ng-content>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n exports: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n imports: [\n CommonModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ]\n})\nexport class TCloudUiAccordionModule { }\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\n\n\n@Directive({\n selector: '[TCalign]',\n standalone: false\n})\nexport class TCloudUiAlignDirective implements OnInit{\n\n private _direction: 'start' | 'center' | 'end' | 'justify' = 'start';\n\n @Input() set TCalign (direction: any){\n if (direction){\n this._direction = direction;\n this.setStyle(this.el.nativeElement);\n }\n }\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n\n }\n\n setStyle(el: any){\n if( this._direction === 'start' ){\n this.renderer.setStyle(el, 'text-align', 'left');\n }\n\n if( this._direction === 'center' ){\n this.renderer.setStyle(el, 'text-align', 'center');\n }\n\n if( this._direction === 'end' ){\n this.renderer.setStyle(el, 'text-align', 'right');\n }\n\n if( this._direction === 'justify' ){\n this.renderer.setStyle(el, 'text-align', 'justify');\n }\n }\n\n\n}","\nimport { Directive, Input, Renderer2, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[TCHoverParent]',\n standalone: false\n})\nexport class TCloudUiHoverParentDirective {\n\n private CLASS: string | undefined;\n private ID: string | undefined;\n\n constructor(\n private renderer: Renderer2\n ) {}\n\n @HostListener('mouseover') onMouseOver() {\n if( this.getElement() ){\n const el = <any> this.getElement();\n if( el ){\n this.renderer.addClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\n }\n } \n }\n\n @HostListener('mouseout') onMouseOut() {\n if( this.getElement() ){\n const el = <any> this.getElement();\n if( el ){\n this.renderer.removeClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\n }\n \n } \n }\n\n @Input() set TCHoverParent (id: string){\n if (id){ this.ID = id; }\n }\n\n @Input() set TCHoverParentClass (clss: any){\n if (clss){\n this.CLASS = clss;\n }\n }\n\n getElement(): HTMLElement | undefined{\n if( this.ID ){\n return document.getElementById(this.ID) || undefined;\n }\n return undefined;\n }\n\n}","import { Directive, ElementRef, Renderer2, Input, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[TCtooltip]',\n standalone: false\n})\nexport class TCloudUiTooltipDirective {\n\n @Input() tooltipMode: 'click' | 'hover' = 'hover';\n remove: boolean = false;\n info_text: string = '';\n tooltipVisible: boolean = false;\n private tooltipElement: HTMLElement | null = null;\n\n private _direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n @Input() set TCtooltip(tooltip: any) {\n\n if (tooltip) {\n this.info_text = typeof tooltip === 'object' ? '' : tooltip;\n if (this.tooltipVisible && this.tooltipElement) {\n // Atualiza o conteúdo do tooltip diretamente\n this.tooltipElement.innerHTML = this.info_text;\n\n // Reaplica a posição calculada anteriormente para manter a centralização\n this.repositionTooltip();\n }\n }\n }\n\n @Input() set TCdirection(direction: any) {\n if (direction) {\n this._direction = direction;\n }\n }\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\n if (this.tooltipMode === 'click' && this.tooltipVisible && this.info_text) {\n const clickedInside = this.el.nativeElement.contains(event.target) || (this.tooltipElement?.contains(event.target as Node));\n if (!clickedInside) {\n this.removeTooltip();\n }\n }\n }\n\n @HostListener('mouseover', ['$event']) onMouseOver(event: MouseEvent) {\n if (this.tooltipMode === 'hover' && !this.tooltipVisible && this.info_text) {\n this.createTooltip(event);\n this.tooltipVisible = true;\n }\n }\n\n @HostListener('mouseout', ['$event']) onMouseOut(event: MouseEvent) {\n if (this.tooltipVisible) {\n const relatedTarget = event.relatedTarget as Node;\n if (!this.el.nativeElement.contains(relatedTarget) && !this.tooltipElement?.contains(relatedTarget)) {\n this.removeTooltip();\n }\n }\n }\n\n @HostListener('click', ['$event']) onClick(event: MouseEvent) {\n if (this.tooltipMode === 'click') {\n if (this.tooltipVisible) {\n this.removeTooltip();\n } else {\n this.createTooltip(event);\n }\n this.tooltipVisible = !this.tooltipVisible;\n }\n }\n\n private createTooltip(event: MouseEvent) {\n const scrollTop = window?.scrollY || window?.pageYOffset;\n const tooltip = this.renderer.createElement('div');\n const rect = this.el.nativeElement?.getBoundingClientRect();\n const direction = this._direction || 'top';\n const el_position_x = rect?.left || 0;\n const el_position_y = rect?.top + scrollTop || 0;\n\n let width = 0;\n let height = 0;\n if (event && event.target) {\n const _event = event.target as any;\n height = _event.offsetHeight;\n width = _event.offsetWidth;\n }\n\n this.renderer.setStyle(tooltip, 'top', '0px');\n this.renderer.setStyle(tooltip, 'left', '0px');\n this.renderer.setStyle(tooltip, 'opacity', '0');\n this.renderer.addClass(tooltip, 'tc-directive-tooltip');\n this.renderer.addClass(tooltip, `tc-directive-tooltip-${direction}`);\n const id = this.generateID();\n this.renderer.setAttribute(tooltip, 'id', id);\n tooltip.innerHTML = this.info_text;\n this.renderer.appendChild(document.body, tooltip);\n this.start_tooltip(id, height, width, el_position_x, el_position_y, direction);\n this.tooltipElement = tooltip;\n\n tooltip.addEventListener('mouseenter', () => this.tooltipVisible = true);\n tooltip.addEventListener('mouseleave', () => this.removeTooltip());\n }\n\n private removeTooltip() {\n const customDivAll = <any>document.querySelectorAll('.tc-directive-tooltip');\n if (customDivAll && customDivAll.length > 0) {\n setTimeout(() => {\n customDivAll.forEach((_customDiv: any) => {\n if (_customDiv) { _customDiv.remove(); }\n });\n }, 25);\n }\n this.tooltipVisible = false;\n this.tooltipElement = null;\n }\n\n private repositionTooltip() {\n if (!this.tooltipElement) return;\n\n const rect = this.el.nativeElement?.getBoundingClientRect();\n const height = this.el.nativeElement.offsetHeight;\n const width = this.el.nativeElement.offsetWidth;\n const tooltipHeight = this.tooltipElement.clientHeight;\n const tooltipWidth = this.tooltipElement.clientWidth;\n\n let p_y = 0;\n let p_x = 0;\n const scrollTop = window?.scrollY || window?.pageYOffset;\n const center_position = (rect.left + (width / 2)) - (tooltipWidth / 2);\n\n if (this._direction === 'top') {\n p_y = (rect.top + scrollTop - tooltipHeight) - 15;\n p_x = center_position;\n } else if (this._direction === 'bottom') {\n p_y = (rect.top + scrollTop + height) + 15;\n p_x = center_position;\n } else if (this._direction === 'left') {\n p_y = (rect.top + scrollTop - (tooltipHeight / 2) + (height / 2));\n p_x = rect.left - tooltipWidth - 15;\n } else if (this._direction === 'right') {\n p_y = (rect.top + scrollTop - (tooltipHeight / 2) + (height / 2));\n p_x = rect.left + width + 15;\n }\n\n this.renderer.setStyle(this.tooltipElement, 'top', `${p_y}px`);\n this.renderer.setStyle(this.tooltipElement, 'left', `${p_x}px`);\n }\n\n private generateID(target?: string): string {\n const ref = target ? `-${target}` : '';\n return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\n }\n\n private start_tooltip(id: string, height: number, width: number, el_position_x: number, el_position_y: number, direction: string) {\n setTimeout(() => {\n const tooltip: any = document.getElementById(id);\n const tooltip_height = tooltip.clientHeight;\n const tooltip_width = tooltip.clientWidth;\n\n let p_y = 0;\n let p_x = 0;\n const center_position = (el_position_x + (width / 2)) - (tooltip_width / 2);\n\n if (direction === 'top') {\n p_y = (el_position_y - tooltip_height) - 15;\n p_x = center_position;\n }\n\n if (direction === 'bottom') {\n p_y = (el_position_y + height) + 15;\n p_x = center_position;\n }\n\n if (direction === 'left') {\n p_y = el_position_y - (tooltip_height / 2) + (height / 2);\n p_x = center_position - tooltip_width / 2 - width / 2 - 15;\n }\n\n if (direction === 'right') {\n p_y = el_position_y - (tooltip_height / 2) + (height / 2);\n p_x = center_position + tooltip_width / 2 + width / 2 + 15;\n }\n\n this.renderer.setStyle(tooltip, 'top', `${p_y}px`);\n this.renderer.setStyle(tooltip, 'left', `${p_x}px`);\n this.renderer.addClass(tooltip, 'tc-tooltip-fade-in');\n });\n }\n}\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\n\n\n@Directive({\n selector: '[TCCopy]',\n standalone: false\n})\nexport class TCloudUiElCopyDirective implements OnInit{\n\n private _isCopy: boolean = false;\n \n constructor(\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.setItemFuncCopy();\n }\n\n setItemFuncCopy(){\n\n const btn_copy = this.renderer.createElement('i');\n\n var copyText = ()=>{ \n const elementWithCopyAttribute = document.querySelector(`[data-el-copy=\"${id}\"]`) as any;\n let copyText = ''\n if( elementWithCopyAttribute && elementWithCopyAttribute.tagName && (elementWithCopyAttribute.tagName).toUpperCase() === 'INPUT' ){\n copyText = elementWithCopyAttribute?.value!;\n }else{\n copyText = elementWithCopyAttribute?.textContent!;\n } \n navigator.clipboard.writeText(copyText);\n this.renderer.removeClass(btn_copy, 'fa-copy');\n this.renderer.addClass(btn_copy, 'fa-check');\n setTimeout(() => {\n this.renderer.removeClass(btn_copy, 'fa-check');\n this.renderer.addClass(btn_copy, 'fa-copy');\n }, 3000);\n \n }\n\n const id = this.generateID();\n this.renderer.setAttribute(this.el.nativeElement, 'data-el-copy', `${id}`);\n\n \n this.renderer.setStyle(btn_copy, 'cursor', 'pointer');\n this.renderer.setStyle(btn_copy, 'margin-left', '3px');\n this.renderer.addClass(btn_copy, 'fas');\n this.renderer.addClass(btn_copy, 'fa-copy');\n\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-copy');\n this.renderer.setAttribute(btn_copy, 'id', id);\n this.renderer.setAttribute(btn_copy, 'title', 'Copy');\n this.renderer.listen(btn_copy, 'click', () => { copyText(); });\n\n if( ((this.el.nativeElement).tagName).toUpperCase() === 'INPUT' ){\n let classList = this.el.nativeElement?.classList!\n if( classList && (classList).length > 0 && ('tc-form-control').indexOf(classList) > -1 ){\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy-tc-form-control');\n }else{\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy');\n } \n this.renderer.appendChild(this.el.nativeElement.parentNode, btn_copy);\n }else{\n this.renderer.appendChild(this.el.nativeElement, btn_copy);\n }\n\n \n\n \n }\n\n generateID(target?: string): string{\n const ref = (target) ? `-${target}` : '';\n return `tc-el-copy-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\n }\n\n}","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\n@Directive({\n selector: '[TCcurrency]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: TCloudUiCurrencyDirective,\n multi: true\n }],\n standalone: false\n})\nexport class TCloudUiCurrencyDirective implements ControlValueAccessor {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n // ngAfterViewInit() {\n // setTimeout(() => {\n // let unmaskedValue = this.unmask( this.el.nativeElement.value );\n // console.log('Valor do input:', unmaskedValue);\n // this.onChange(Number(unmaskedValue));\n // this.writeValue(unmaskedValue);\n // }); \n // }\n\n writeValue(value: any): void {\n this.renderer.setProperty(this.el.nativeElement, 'type', 'text');\n this.renderer.setStyle(this.el.nativeElement, 'text-align', 'right');\n if (value !== undefined && value !== null) {\n this.renderer.setProperty(this.el.nativeElement, 'value', this.formatCurrency(value));\n } else {\n this.renderer.setProperty(this.el.nativeElement, 'value', '');\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n @HostListener('focus')\n onFocus(): void {\n this.setCursorToEnd();\n }\n\n private setCursorToEnd(): void {\n const nativeInput = this.el.nativeElement as HTMLInputElement;\n const length = nativeInput.value.length;\n nativeInput.setSelectionRange(length, length);\n }\n\n private setInInput(){\n\n }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value: string): void {\n const unmaskedValue = this.unmask(value);\n this.onChange(Number(unmaskedValue));\n this.writeValue(unmaskedValue);\n }\n\n private formatCurrency(value: any): string { \n \n const posicaoPonto = `${value}`.indexOf('.');\n if (posicaoPonto !== -1) {\n let part = `${value}`.split('.');\n let decimalPart = (part && part[1]) ? part[1] : '';\n if( (decimalPart).length < 2 ){\n value = value + '0';\n } \n }else{\n value = value + '.00';\n }\n\n return 'R$ '+ this.formatReal(value);\n }\n\n private unmask(value: string): any {\n if( value === undefined || value === null || value === \"\" ){\n return \"\";\n }\n value = value.replace(/[^\\d]/g, '');\n value = value.replace(/^0+/, '');\n if( value && value[0] ){\n if( (value[0] === ',' || value[0] === '.') ){\n value = '0'+value;\n } \n }\n value = this.toDecimal(value); \n return value;\n }\n\n private formatarNumero(numero: any): string {\n return numero.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.') as string;\n }\n\n private formatReal(value: any): string {\n var delimiter = ',';\n \n if( !value! ){ return `0${delimiter}00`; }\n if( value === `0${delimiter}00` ){ value = ''; }\n value = `${value}`;\n value = value.replace(/^0+/, '');\n const cleanValue = value.replace(/[^\\d]/g, '');\n if (cleanValue.length <= 2) { \n let _value = `${delimiter}${cleanValue.padStart(2, '0')}`;\n if( _value && _value[0] ){\n if( (_value[0] === ',' || _value[0] === '.') ){\n _value = '0'+_value;\n } \n }\n return _value;\n }\n\n let integerPart = cleanValue.slice(0, -2) || '0';\n const decimalPart = cleanValue.slice(-2).padStart(2, '0');\n if( (integerPart).length > 3 ){\n integerPart = this.formatarNumero(integerPart);\n }\n let _value = `${integerPart}${delimiter}${decimalPart}`;\n if( _value && _value[0] ){\n if( (_value[0] === ',' || _value[0] === '.') ){\n _value = '0'+_value;\n } \n }\n\n return _value;\n }\n\n private toDecimal(numero: any) { \n const numeroStr = numero.toString();\n let parteInteira = numeroStr.slice(0, -2) || '0';\n let parteDecimal = numeroStr.slice(-2);\n if(Number(parteDecimal) > 0 && Number(parteDecimal) < 10 ){\n parteDecimal = `0${Number(parteDecimal)}`;\n }\n let _value = `${parteInteira}.${parteDecimal}`; \n if( _value === ',' || _value === ',0' || _value === '0,' || _value === '0,0' || _value === '0,00' ){ return '0'; }\n if( _value === '.' || _value === '.0' || _value === '0.' || _value === '0.0' || _value === '0.00' ){ return '0'; }\n _value = _value.replace(/^0+/, '');\n if( _value && _value[0] ){\n if( (_value[0] === ',' || _value[0] === '.') ){\n _value = '0'+_value;\n } \n }\n \n return _value;\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { UserServiceInterface } from '../_interfaces/user.service.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TCloudUiCheckAccessService {\n\n private userService = {} as UserServiceInterface;\n\n constructor(\n @Optional() @Inject('UserService') private _UserService: any\n ) {\n this.userService = this._UserService;\n }\n\n check(checkAccess: any){\n const temp_user = this.getImpersonalizeUserInfo();\n if( temp_user ){\n // Para uso com impersonalização - Visualização do T-Cloud por outro usuário\n return this.checkImpersonalizeMode(checkAccess, temp_user);\n } \n // Utilização para usuário logado\n return this.checkDefaultMode(checkAccess);\n }\n\n checkDefaultMode(checkAccess: any){\n let hasAccess = false;\n if ( Array.isArray(checkAccess[0]) ){\n if (checkAccess[1]){\n let features = checkAccess[1].ui_topology;\n if (features){\n checkAccess[0].forEach((rule:any) => {\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\n });\n }\n }\n }else{\n let features = this.userService?.getCurrentEnv()?.ui;\n console.log('features ui', features);\n checkAccess.forEach((rule:any) => {\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\n });\n }\n return hasAccess;\n }\n\n checkImpersonalizeMode(checkAccess: any, temp_user: any){\n let hasAccess = false;\n if ( Array.isArray(checkAccess[0]) ){\n if (checkAccess[1]){\n let features = checkAccess[1].ui_topology;\n if (features){\n checkAccess[0].forEach((rule:any) => {\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\n });\n }\n }\n }else{\n let features = temp_user.ui;\n checkAccess.forEach((rule:any) => {\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\n });\n }\n return hasAccess;\n }\n\n checkFeatureFlags(_feature: string | string[] | any): boolean{\n let enable = false;\n let isEnabled = [];\n\n // tcloud_features - features do componente tcloud\n let tcloud_features = [];\n if( _feature ){\n if( typeof _feature === 'string' ){\n (tcloud_features).push(_feature);\n }else if( _feature && (_feature).length > 0 ) {\n tcloud_features = _feature;\n }\n\n let feature_flags_topology = undefined;\n if ( Array.isArray(_feature[0]) ){\n if (_feature[1]){\n tcloud_features = _feature[0];\n if( _feature[1] && _feature[1].feature_flags_topology && (_feature[1]?.feature_flags_topology).length >= 0 ){\n feature_flags_topology = _feature[1].feature_flags_topology;\n }\n }\n } \n\n let feature_flags = [];\n if( feature_flags_topology && (feature_flags_topology).length >= 0 ){\n // feature_flags - obtendo de topology (infProduto) -> feature_flags_topology\n feature_flags = feature_flags_topology;\n }else{\n // feature_flags - obtendo de user info\n feature_flags = this.userService?.getCurrentEnv()?.feature_flags || [];\n }\n console.log('feature_flags', feature_flags);\n\n for( let i = 0; i < (tcloud_features).length; i++ ){\n const tcloud_feature = tcloud_features[i];\n if( tcloud_feature[0] === '!' ){\n let qtd_exist = 0;\n for( let j = 0; j < (feature_flags).length; j++ ){\n const feature_flag = feature_flags[j]; \n if( tcloud_feature === '!'+feature_flag ){\n (isEnabled).push(false); \n qtd_exist++;\n }\n }\n if( qtd_exist === 0 ){\n (isEnabled).push(true);\n } \n }else{\n let qtd_exist = 0;\n for( let j = 0; j < (feature_flags).length; j++ ){\n const feature_flag = feature_flags[j]; \n if( tcloud_feature === feature_flag ){\n (isEnabled).push(true); \n qtd_exist++;\n } \n }\n if( qtd_exist === 0 ){\n (isEnabled).push(false);\n }\n }\n }\n\n if( isEnabled && (isEnabled).length > 0 ){\n enable = true;\n for( let i = 0; i < (isEnabled).length; i++ ){\n if( isEnabled[i] === false ){\n enable = false; break;\n } \n }\n }\n }\n return enable; \n }\n\n\n\n /* */\n private getImpersonalizeUserInfo(){\n // return this.getLocalStorage();\n \n // remover do localstorage se não existir cCode ????\n const cCode = this.userService?.getCurrentEnv()?.currentCloudID?.cloud_id || '';\n if( cCode && cCode !== '' ){\n return this.getLocalStorage();\n }\n this.removeLocalStorage();\n return undefined; \n }\n\n private getLocalStorage(){\n let info: any = localStorage.getItem('temp_user_info');\n let user_info = {} as any;\n try {\n user_info = JSON.parse(info);\n } catch (error) {\n user_info = undefined; \n }\n return user_info;\n }\n \n private removeLocalStorage(){\n localStorage.removeItem('temp_user_info');\n }\n\n}","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\n\n@Directive({\n selector: '[TCCheckAccess]',\n standalone: false\n})\nexport class TCloudUiCheckAccessDirective implements OnInit{\n @Input() set TCCheckAccess (checkAccess: any){\n if (checkAccess){\n this.check(checkAccess);\n }\n };\n \n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private checkAccessService: TCloudUiCheckAccessService\n ) {}\n\n ngOnInit(): void {}\n\n check(checkAccess: any){\n let hasAccess = false;\n hasAccess = this.checkAccessService.check(checkAccess);\n\n let elemento = this.el.nativeElement;\n if (elemento){\n if (!hasAccess){\n this.setStyle(elemento);\n }else{\n this.normalStyle(elemento);\n }\n }else{\n // console.log(\"TCL: checkAccessDirective -> elemento\", this.el.nativeElement)\n }\n }\n\n setStyle(el: any){\n this.renderer.setStyle(el, 'background-color', 'rgb(255, 219, 94)');\n // this.renderer.setStyle(el, 'display', 'none');\n this.renderer.setAttribute(el, 'style', 'display:none !important');\n this.removeElement(el);\n }\n normalStyle(el: any){\n // this.renderer.setStyle(el, 'color', '');\n // this.renderer.setStyle(el, 'border', '1px solid darkorange');\n // this.renderer.setStyle(el, 'padding', '');\n this.renderer.setStyle(el, 'background-color', '');\n this.renderer.setStyle(el, 'display', '');\n // el.innerHTML = \"Sem acesso\";\n }\n\n removeElement(el: any) {\n if( el ){\n try {\n this.renderer.removeChild(el.parentNode, el);\n } catch (error) {} \n }\n }\n\n}","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\n\n\n\n/*\n// Verificação checkAccess\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]\" >\n Conteudo protegido\n</ng-container>\n\n// Verificação checkAccess com condição adicional\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]; ngIf: topologie?.product == 'winthor'\" >\n Conteudo protegido\n</ng-container>\n*/\n\n@Directive({\n selector: '[ngTCCheckAccess]',\n standalone: false\n})\nexport class TCloudUiNgCheckAccessDirective {\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private checkAccessService: TCloudUiCheckAccessService\n ) { }\n\n private isCondition: boolean = true;\n\n @Input() set ngTCCheckAccess(checkAccess: any | boolean) {\n const isCheckAccess = ( typeof checkAccess === 'boolean' ) ? checkAccess : this.checkAccessService.check(checkAccess);\n setTimeout(() => { this.check_view( isCheckAccess ); }); \n }\n\n @Input() set ngTCCheckAccessNgIf(check: boolean){ \n this.isCondition = check;\n }\n\n private check_view(isView: boolean){\n if ( isView && this.isCondition ) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n }\n\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\n\n/*\n <div *ngTCFeatureFlags=\"['pipeline_flow_pusher']\">\n\t\tTem pipeline_flow_pusher\n\t</div>\n*/\n\n@Directive({\n selector: '[ngTCFeatureFlags]',\n standalone: false\n})\nexport class TCloudUiNgFeatureFlagsDirective {\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private checkAccessService: TCloudUiCheckAccessService\n ) { }\n\n private isCondition: boolean = true;\n\n @Input() set ngTCFeatureFlags(FeatureFlags: any | boolean) {\n const isFeatureFlags = ( typeof FeatureFlags === 'boolean' ) ? FeatureFlags : this.checkAccessService.checkFeatureFlags(FeatureFlags);\n setTimeout(() => { this.check_view( isFeatureFlags ); }); \n }\n\n \n\n @Input() set TCNgFeatureFlagsNgIf(check: boolean){ \n this.isCondition = check;\n }\n\n private check_view(isView: boolean){\n if ( isView && this.isCondition ) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n }\n\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[TCDigitOnly]',\n standalone: false\n})\nexport class TCloudUiDigitOnlyDirective {\n inputElement: HTMLElement;\n constructor(public el: ElementRef) {\n this.inputElement = el.nativeElement;\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(e: KeyboardEvent) {\n if (\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\n ) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is a number and stop the keypress\n if (\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\n (e.keyCode < 96 || e.keyCode > 105)\n ) {\n e.preventDefault();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent) {\n event.preventDefault();\n if( event && event.clipboardData){\n const pastedInput: string = event.clipboardData\n .getData('text/plain')\n .replace(/\\D/g, ''); // get a digit-only string\n document?.execCommand('insertText', false, pastedInput);\n }\n }\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n event.preventDefault();\n if( event && event.dataTransfer){\n const textData = event.dataTransfer.getData('text').replace(/\\D/g, '');\n this.inputElement.focus();\n document?.execCommand('insertText', false, textData);\n }\n }\n}","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[TCHighlight]',\n standalone: false\n})\nexport class TCloudUiHighLightDirective implements OnInit{\n\n @Input() TCHighlight: string | undefined;\n inputElement: HTMLElement;\n\n constructor(public el: ElementRef) {\n this.inputElement = el.nativeElement;\n }\n\n ngOnInit(): void {\n let block = document.createElement('div');\n if (!this.TCHighlight){\n block.appendChild(document.createTextNode('PRECISA FINALIZAR IMPLEMENTAÇÃO!!'));\n }else{\n block.appendChild(document.createTextNode(this.TCHighlight));\n }\n\n if( block && block.style ){\n block.style.backgroundColor = '#F00';\n block.style.color = '#FFF';\n block.style.padding = '15px';\n block.style.textAlign = 'center';\n block.style.fontWeight = '600';\n }\n\n this.inputElement.insertBefore(block, this.inputElement.firstChild);\n }\n\n\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[TCIpMask]',\n standalone: false\n})\nexport class TCloudUiIpMaskDirective{\n constructor(public el: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(e: any) {\n // console.log(\"IpMaskDirective -> onKeyDown -> e.keyCode\", e.keyCode);\n if (\n [190, 108, 191, 110, 111].indexOf(e.keyCode) !== -1 || // Allow: ponto(.), ponto(.) Teclado numérico, barra(/) , barra(/) Teclado numérico\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\n ) {\n // let it happen, don't do anything\n return;\n }\n\n // Ensure that it is a number and stop the keypress\n if (\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\n (e.keyCode < 96 || e.keyCode > 105)\n ) {\n e.preventDefault();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent) {\n event.preventDefault();\n if( event && event.clipboardData ){\n const pastedInput: string = event.clipboardData\n .getData('text/plain')\n .replace(/\\D/g, ''); // get a digit-only string\n document?.execCommand('insertText', false, pastedInput);\n }\n }\n}","import { NgModule } from '@angular/core';\nimport { TCloudUiAlignDirective } from './align/align.directive';\nimport { TCloudUiHoverParentDirective } from './hover-parent/hover-parent.directive';\nimport { TCloudUiTooltipDirective } from './tooltip/tooltip.directive';\nimport { TCloudUiElCopyDirective } from './el-copy/el-copy.directive';\nimport { TCloudUiCurrencyDirective } from './currency/currency.directive';\nimport { TCloudUiCheckAccessDirective } from './tcloud-access/tcloud-ui-check-access.directive';\nimport { TCloudUiNgCheckAccessDirective } from './tcloud-access/tcloud-ui-ng-check-access.directive';\nimport { TCloudUiNgFeatureFlagsDirective } from './tcloud-access/tcloud-ui-ng-feature-flags.directive';\nimport { TCloudUiCheckAccessService } from '../_services/tcloud-ui-check-access.service';\nimport { TCloudUiDigitOnlyDirective } from './tcloud-ui-digit-only.directive';\nimport { TCloudUiHighLightDirective } from './tcloud-ui-highlight.diretive';\nimport { TCloudUiIpMaskDirective } from './tcloud-ui-ip-mask.directive';\n\n\n@NgModule({\n declarations: [\n TCloudUiTooltipDirective,\n TCloudUiAlignDirective,\n TCloudUiHoverParentDirective,\n TCloudUiElCopyDirective,\n TCloudUiCurrencyDirective,\n TCloudUiCheckAccessDirective, \n TCloudUiNgCheckAccessDirective,\n TCloudUiNgFeatureFlagsDirective,\n TCloudUiDigitOnlyDirective,\n TCloudUiHighLightDirective,\n TCloudUiIpMaskDirective\n ],\n exports: [\n TCloudUiTooltipDirective,\n TCloudUiAlignDirective,\n TCloudUiHoverParentDirective,\n TCloudUiElCopyDirective,\n TCloudUiCurrencyDirective,\n TCloudUiCheckAccessDirective, \n TCloudUiNgCheckAccessDirective,\n TCloudUiNgFeatureFlagsDirective,\n TCloudUiDigitOnlyDirective,\n TCloudUiHighLightDirective,\n TCloudUiIpMaskDirective\n ],\n providers: [\n TCloudUiCheckAccessService\n ]\n})\nexport class TCloudUiDirectiveModule {}","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\n\nimport { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe, ToTextPipe } from '../_pipes';\n\n@NgModule({\n imports: [\n CommonModule, \n ],\n declarations: [\n\n MonthNamePipe,\n StatusInfoPipe,\n RespectivePipe,\n CNPJPipe,\n CPFPipe,\n BytesPipe,\n DateBRPipe,\n ToTextPipe\n ],\n exports: [ \n DatePipe,\n\n MonthNamePipe,\n StatusInfoPipe,\n RespectivePipe,\n CNPJPipe,\n CPFPipe,\n BytesPipe,\n DateBRPipe,\n ToTextPipe\n ],\n providers: [\n DatePipe,\n\n MonthNamePipe,\n StatusInfoPipe,\n RespectivePipe,\n CNPJPipe,\n CPFPipe,\n BytesPipe,\n DateBRPipe,\n ToTextPipe\n ]\n})\nexport class TCloudUiPipesModule { }\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TCloudUiLoadingTransitionsService {\n\n \n\n private ID: string = 'tcloud-ui-loading-transitions';\n\n constructor(\n ) {}\n\n /**\n * Inicia a tela de bloqueio para carregamento de tarefa\n */\n start(){\n this.create_loading_transition();\n if( document.getElementById(this.ID) ){\n const box = document.getElementById(this.ID);\n box?.classList.add('tcloud-ui-start-loading');\n }\n }\n\n /**\n * Encerra a tela de bloqueio\n */\n stop(){\n if( document.getElementById(this.ID) ){\n const box = document.getElementById(this.ID);\n box?.classList.remove('tcloud-ui-start-loading');\n\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('tcloud-ui-body-loading-transitions');\n }\n }\n\n private create_loading_transition(){\n let box = null as any;\n if( document.getElementById(this.ID) ){\n box = document.getElementById(this.ID);\n }else{\n box = document.createElement(\"div\");\n box.setAttribute('id', this.ID);\n \n } \n\n box.style.display = 'none';\n box.innerHTML = `<div class=\"tc-loading-icon\"><i class=\"fas fa-spinner fa-spin\"></i></div>`;\n\n const body = document.getElementsByTagName('body')[0];\n body.appendChild(box);\n body.classList.add('tcloud-ui-body-loading-transitions');\n }\n\n\n\n}","import { Component, Input, OnDestroy, OnInit, forwardRef, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multiples-values',\n templateUrl: './tcloud-ui-multiples-values.component.html',\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS],\n standalone: false\n})\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\n\n viewport_width: number = 0;\n viewport_height: number = 0;\n box_height: number = 0;\n box_style: string = '';\n menu_on_top: string = '';\n search_text: string = '';\n\n id: string = '';\n show_itens: boolean = false;\n show_component: boolean = false;\n \n\n input_items: string = '';\n\n items = [] as string[];\n\n private _listItems: any | undefined;\n @Input() set listItems(v: any | undefined){\n if( v !== this._listItems ){\n this._listItems = v;\n }\n }\n get listItems():any | undefined { return this._listItems; }\n \n @Input() openValuesInChange: boolean = true;\n @Input() useBtnAdd: boolean = true;\n\n @Input() pattern: RegExp | any = null;\n @Input() delimiter: string = ',';\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n @Input() search: boolean = true;\n @Input() uppercase: boolean = false;\n @Input() lowercase: boolean = false;\n\n @Input() maxWidthLabel: string | undefined;\n\n @Output() tcChange = new EventEmitter<any>();\n\n use_validation_required: boolean = false;\n\n placeholder_list: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.id = this.generateID();\n setTimeout(() => { \n this.show_component = true;\n this.toResize();\n this.toClick();\n this.set_placeholder_list(); \n }); \n }\n\n check_is_valid(): boolean{\n if( this.items ){\n return ((this.items).length > 0) ? true : false;\n }\n return false;\n }\n\n generateID(): string{\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n remove_duplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n\n \n add_items_by_data_list(e: any){\n this.input_items = e;\n this.add_items();\n }\n\n add_items(){\n\n if( this.disabled ){ return; }\n\n const input_items = this.input_items;\n\n this.input_items = '';\n \n let items = [];\n if( input_items && input_items !== '' ){\n\n items = <any> (input_items).split(this.delimiter);\n\n }\n\n if( (items).length === 0 ){\n if( input_items && input_items !== '' ){\n let txt = `${(input_items).trim()}`;\n items = [txt];\n }\n }\n\n //items = [...new Set(items)];\n\n for( let i = 0; i < (items).length; i++){\n let txt = `${(items[i]).trim()}`;\n\n if( this.uppercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleUpperCase();\n } \n }\n\n if( this.lowercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleLowerCase();\n }\n }\n\n if( txt && txt !== '' ){\n (this.items).push(txt);\n }\n \n }\n\n this.items = this.remove_duplicates(this.items);\n this.set_placeholder_list();\n }\n\n set_placeholder_list(){\n let placeholder_list = '';\n let delimiter = '';\n const items = this.items;\n if( items && (items).length > 0 ){\n for( let i = 0; i < (items).length; i++){\n placeholder_list += delimiter + `${(items[i]).trim()}`;\n delimiter = `${this.delimiter} `;\n }\n }\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\n this.onChangeTouched();\n this.onChangeCallback(this.items);\n this.onChange();\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.items ){\n for( let i = 0; i < (this.items).length; i++ ){\n const row = this.items[i];\n if( item === row && i === index ){\n (this.items).splice(index,1);\n break;\n }\n }\n }\n\n if( (this.items).length === 0 ){\n this.show_itens = false\n }\n\n this.set_placeholder_list();\n }\n\n remove_all(){\n if( this.disabled ){ return; }\n this.items = [];\n this.set_placeholder_list();\n }\n\n toClick(){\n const box = `area-${this.id}`;\n window.addEventListener('click',(e: any) => { \n\n if( this.show_itens ){ \n try {\n if( !(document.getElementById(box)?.contains(e.target)) ){ \n if( 'box-action' !== e.target.parentElement.className ){\n this.show_itens = false;\n } \n \n }\n } catch (error) {\n \n }\n \n }\n });\n\n const boxsub = `${this.id}-options`;\n }\n\n toResize(){\n window.addEventListener('resize', () => {\n this.viewport_width = window.innerWidth;\n this.viewport_height = window.innerHeight;\n this.resolve_position_dropdown(this.show_itens);\n });\n }\n\n toOpen(){\n if( this.items.length === 0 ){\n this.show_itens = false;\n return;\n }\n\n this.show_itens = !this.show_itens; \n this.resolve_position_dropdown(this.show_itens);\n }\n\n toClose(){\n this.show_itens = false;\n }\n\n resolve_position_dropdown(open: boolean){\n if( open ){\n this.box_style = '';\n this.menu_on_top = ''; \n const id = `${this.id}`; \n const box = `box-${this.id}`;\n if( this.viewport_height === 0 ){\n this.viewport_height = window.innerWidth;\n }\n const rect = document.getElementById(id)?.getBoundingClientRect();\n const box_position = rect?.bottom || 0; \n setTimeout(() => {\n this.box_height = document.getElementById(box)?.clientHeight || 0;\n if( ( this.viewport_height - box_position) < this.box_height ){\n this.menu_on_top = 'menu-on-top';\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\n }\n }); \n }\n }\n\n\n\n clearTextSearch(){\n this.search_text = '';\n this.toSearch('');\n }\n\n toSearch(e: any) {\n let input = (e && e.target && e.target.value) ? e.target.value : '';\n \n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n let ul = <any> document.getElementById(`${this.id}-options`);\n let li = ul.getElementsByTagName(\"label\");\n for (let i = 0; i < li.length; i++) {\n const a = li[i];\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n if (txtValue.indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n\n\n toEnterKey(input_items: string | string[] ){\n\n if( !input_items ){ return; }\n\n let valid = true;\n if( this.pattern ){\n valid = (this.pattern).test(this.input_items);\n\n }\n\n if( valid ){\n this.add_items();\n if( this.openValuesInChange ){\n this.toOpen();\n } \n }\n \n\n }\n\n checkIsDisabled(item: any){\n if( item?.disabled ){\n return true;\n }\n const value = `${item.value}`;\n if( (this.items).length > 0 ){\n for( let i = 0; i < (this.items).length; i++ ){\n if( `${this.items[i]}` === value ){\n return true;\n }\n }\n }\n return false;\n }\n\n\n onChange(){\n this.tcChange.emit(this.items);\n }\n\n\n\n\n\n\n\n\n\n\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n toSetDefault(v:any){\n this.items = v;\n this.add_items();\n }\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.toSetDefault(v); \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n\n ngOnDestroy(): void {\n \n }\n\n}\n","<div *ngIf=\"show_component\" class=\"tcloud-ui-multiples-values tc-dropdown\" id=\"area-{{ id }}\" [class.tc-parent-validation]=\"use_validation_required\">\n\n\n <form #_formulario=\"ngForm\">\n\n <!-- {{ input_items }} -->\n\n <div class=\"dropdown-toggle\" id=\"{{id}}\" [attr.aria-haspopup]=\"'true'\" [attr.aria-expanded]=\"'false'\">\n\n <table style=\"width: 100%;\">\n <tr>\n <td>\n <table class=\"group-input-action\">\n <tr>\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <div class=\"input\" (click)=\"show_itens = false\">\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [search]=\"search\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [(ngModel)]=\"input_items\" (onChange)=\"toEnterKey(input_items)\">\n <ng-container *ngFor=\"let item of listItems\"> \n <tcloud-ui-data-list-option [value]=\"'' + item.value\" [disabled]=\"checkIsDisabled(item)\">{{ item?.description }}</tcloud-ui-data-list-option>\n </ng-container>\n </tcloud-ui-data-list>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <div class=\"input\">\n <input \n required\n [pattern]=\"pattern\"\n (keydown.enter)=\"toEnterKey(input_items)\"\n [disabled]=\"disabled\"\n [class.text-lowercase]=\"lowercase\"\n [class.text-uppercase]=\"uppercase\" \n type=\"text\" name=\"items\" class=\"tc-form-control area-text\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\n \n </div>\n </ng-container>\n </td>\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\n <div class=\"input\">\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \n </div>\n </td>\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\n <div class=\"input\"><input type=\"text\" class=\"info-no-value\" value=\"Vazio\" disabled readonly></div> \n </td>\n <td class=\"action-input-arrow bc-r\">\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\n </button>\n </td>\n \n </tr>\n </table> \n </td>\n <td style=\"width: 45px;\" *ngIf=\"useBtnAdd\">\n <table>\n <tr>\n <td class=\"action-input\" *ngIf=\"!disabled\">\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items()\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n\n </div>\n \n <!-- <pre>\n {{ items | json }}\n </pre> -->\n\n </form> \n\n <!-- box-itens-selected -->\n <div class=\"tc-dropdown-menu box-itens-selected {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!show_itens\" [style]=\"box_style\">\n \n\n <div class=\"line-search\">\n <table class=\"box-search\" *ngIf=\"items && (items).length > 5\">\n <tr>\n \n <td class=\"area-input\">\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \n </td>\n \n <td class=\"area-icon\">\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\n <button class=\"box-action\" type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\n </td>\n \n </tr>\n </table>\n </div>\n\n <div class=\"area-options\" id=\"{{ id }}-options\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n \n <label class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\n <div class=\"box-value\" [title]=\"item\" >\n {{ item }} \n </div>\n <div class=\"box-action\">\n <button\n class=\"box-action\"\n [disabled]=\"items === undefined || (items && items.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </label>\n\n </ng-container>\n </div>\n\n <div class=\"mt-5\" *ngIf=\"items && (items).length > 5\">\n <div class=\"btn-remove-all\">\n <button class=\"box-action\" type=\"button\" (click)=\"remove_all()\">\n Limpar toda a lista\n </button>\n </div>\n </div>\n\n </div>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiMultiplesValuesComponent\n ],\n exports: [\n TCloudUiMultiplesValuesComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDataListModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiMultiplesValuesModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-welcome',\n templateUrl: './tcloud-ui-welcome.component.html',\n styleUrls: ['./tcloud-ui-welcome.component.scss'],\n standalone: false\n})\nexport class TCloudUiWelcomeComponent implements OnInit {\n\n col4: string = 'col-md-4';\n\n col8: string = 'col-md-8';\n col12: string = 'col-md-12';\n\n @Input() imgSrc: string = '';\n @Input() title: string = ''; \n @Input() description: string = ''; \n @Input() size: 'small'|'normal'|'big' = 'small';\n @Input() font: 'small'|'normal'|'big' = 'normal';\n\n @Input() mirrored: boolean = false;\n\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tcloud-ui-welcome\">\n <div class=\"row\">\n\n <ng-container>\n <div class=\"{{ col4 }} text-center\" *ngIf=\"imgSrc !== ''\" >\n <img class=\"containt-img-{{ size }}\" src=\"{{ imgSrc }}\">\n </div>\n <div class=\"{{ (imgSrc === '') ? col12 : col8 }} text-center\">\n <div>\n\n <div class=\"w-info-text\" *ngIf=\"title !== ''\" [innerHTML]=\"title\" ></div>\n \n <div class=\"info-{{ font }}\" *ngIf=\"description !== ''\" [innerHTML]=\"description\"></div>\n \n <div class=\"mt-5 text-center\">\n <ng-content></ng-content>\n </div>\n \n </div>\n </div>\n </ng-container>\n\n </div>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiWelcomeComponent\n ],\n exports: [\n TCloudUiWelcomeComponent\n ],\n imports: [\n CommonModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiWelcomeModule { }\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiInputPasswordComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-input-password',\n templateUrl: './tcloud-ui-input-password.component.html',\n styleUrls: ['./tcloud-ui-input-password.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\n standalone: false\n})\nexport class TCloudUiInputPasswordComponent implements OnInit {\n\n @Input() actionView: boolean = true;\n @Input() actionCopy: boolean = true;\n @Input() actionGeneratePassword: boolean = true;\n\n @Input() numberOfCharacter: number = 14;\n\n @Input() atLeastOneUppercaseLetter: boolean = true;\n @Input() atLeastOneLowercaseLetter: boolean = true;\n @Input() atLeastOneSpecialCharacter: boolean = true;\n\n \n innerValue: string = '';\n\n private _ngModel: any | undefined;\n @Input() set ngModel(v: any){\n this.innerValue = v; \n }\n @Output() ngModelChange = new EventEmitter<any>();\n\n mode: string = 'password';\n isCopy: boolean = false;\n passwordRegex: any | undefined;\n\n constructor() { }\n\n ngOnInit(): void {\n this.passwordRegex = this.getRegexValidation();\n }\n\n toggleMode(){\n if( this.mode === 'password' ){\n this.mode = 'text';\n }else{\n this.mode = 'password';\n }\n }\n\n copyText(): void {\n this.isCopy = true;\n navigator.clipboard.writeText(this.innerValue);\n setTimeout(() => { this.isCopy = false; }, 3000);\n }\n\n generatePassword(){\n this.innerValue = this.createNewPass();\n }\n\n private createNewPass() {\n const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz';\n const numbers = '0123456789';\n const specialCharacters = '!@#$%^&*()_+{}[]:;<>,.?/~';\n \n const allCharacters = uppercaseLetters + lowercaseLetters + numbers + specialCharacters;\n \n const getRandomCharacter = (characters: string) => {\n const randomIndex = Math.floor(Math.random() * characters.length);\n return characters[randomIndex];\n };\n \n let password = '';\n password += getRandomCharacter(uppercaseLetters);\n password += getRandomCharacter(numbers);\n password += getRandomCharacter(specialCharacters);\n \n const remainingLength = this.numberOfCharacter - password.length; \n for (let i = 0; i < remainingLength; i++) {\n password += getRandomCharacter(allCharacters);\n } \n password = password.split('').sort(() => Math.random() - 0.5).join(''); \n return password;\n }\n \n\n getRegexValidation() {\n /*\n (?=.*[A-Z]): Pelo menos uma letra maiúscula.\n (?=.*[0-9]): Pelo menos um número.\n (?=.*[!@#$%^&*()_+{}[\\]:;<>,.?\\/~]): Pelo menos um caractere especial.\n (?!.*\\s): Não contém espaços em branco.\n .{14,}: Pelo menos 14 caracteres no total.\n */\n\n const maiusculas = (this.atLeastOneUppercaseLetter) ? `(?=.*[A-Z])` : '';\n const minusculas = (this.atLeastOneLowercaseLetter) ? `(?=.*[a-z])` : '';\n const especiais = (this.atLeastOneSpecialCharacter) ? `(?=.*[!@#$%^&*\\\\(\\\\)_+\\\\{\\\\}\\\\[\\\\]:;<>,.?\\\\/~])(?!.*\\\\s)`: '';\n\n return `^${maiusculas}${minusculas}${especiais}.{${this.numberOfCharacter},}$`;\n }\n\n\n\n\n\n\n\n\n \n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v;\n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n}\n","<div class=\"tcloud-ui-input-password\">\n <table>\n <tr>\n <!-- input password -->\n <td>\n <form #_form=\"ngForm\">\n <ng-container *ngIf=\"passwordRegex\">\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\n </ng-container>\n </form>\n </td>\n\n <!-- action show hide -->\n <td *ngIf=\"actionView\">\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \n </button>\n </td>\n\n <!-- action generate pass -->\n <td *ngIf=\"actionGeneratePassword\">\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\n <i class=\"fa-solid fa-key\"></i>\n </button>\n </td>\n\n <!-- action copy pass -->\n <td *ngIf=\"actionCopy\">\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\n </button>\n </td>\n </tr>\n </table>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiInputPasswordComponent } from './tcloud-ui-input-password.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiInputPasswordComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [\n TCloudUiInputPasswordComponent\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiInputPasswordModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-progress-bar',\n templateUrl: './tcloud-ui-progress-bar.component.html',\n styleUrls: ['./tcloud-ui-progress-bar.component.scss'],\n standalone: false\n})\nexport class TCloudUiProgressBarComponent implements OnInit {\n\n value_100: number = 100;\n\n private _limit: any = undefined;\n @Input() set limit(limit: any){\n this._limit = (limit) ? `${limit}` : undefined\n }\n get limit(){ return this._limit; }\n\n /*\n status\n */\n private _status: any = '0';\n @Input() set status(status: any){\n let value = `${status}`;\n if( value ){\n setTimeout(() => {\n this._status = value;\n this.toCalcLimit();\n }); \n }\n }\n get status():string { return this._status } \n\n /*\n mode\n */\n private _mode: string = 'primary';\n @Input() set mode(mode: string){\n if( mode ){\n this._mode = mode; \n this.setMode();\n } \n }\n get mode():string { return this._mode } \n\n /*\n height\n */\n private _height: string = 'normal';\n @Input() set height(height: string){\n if( height ){\n this._height = height; \n this.setheight(); \n } \n }\n get height():string { return this._height }\n\n progress_class: string = '';\n height_class: string = '';\n\n @Input() useDefaultBackground: boolean = true;\n @Input() showValue: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.setMode();\n this.setheight();\n }\n\n setMode(): void{\n const mode = this.mode;\n let progress_class = 'progress-primary';\n switch (mode) {\n case 'primary': progress_class = 'progress-primary'; break;\n case 'danger': progress_class = 'progress-danger'; break;\n case 'warning': progress_class = 'progress-warning'; break;\n case 'info': progress_class = 'progress-info'; break;\n case 'success': progress_class = 'progress-success'; break;\n case 'gray': progress_class = 'progress-gray'; break;\n\n case 'gradient-success': progress_class = 'progress-gradient-success'; break;\n case 'gradient-danger': progress_class = 'progress-gradient-danger'; break;\n case 'gradient-warning': progress_class = 'progress-gradient-warning'; break;\n case 'gradient-info': progress_class = 'progress-gradient-info'; break;\n }\n this.progress_class = progress_class;\n }\n\n setheight(): void{\n const height = this.height;\n let height_class = 'height-normal';\n switch (height) {\n case 'normal': height_class = 'height-normal'; break;\n case 'slim': height_class = 'height-slim'; break;\n case 'fat': height_class = 'height-fat'; break;\n case 'very-fat': height_class = 'height-very-fat'; break;\n }\n this.height_class = height_class;\n }\n\n toCalcLimit_exceeded(){\n let vp: number = 100;\n let percentual: number = +(this.status);\n\n if( percentual > 100 ){\n let v100 = vp / (percentual / 100);\n this.value_100 = +((v100).toFixed(2));\n }\n this.new_status = 100;\n }\n\n toCalcLimit(){\n\n if( this.limit ){\n\n if( +(this.status) > +(this.limit) ){\n this.toCalcLimit_exceeded();\n return;\n }\n\n let vp: number = 100;\n let percentual: number = +(this.limit);\n\n if( percentual > 100 ){\n let v100 = vp / (percentual / 100);\n this.value_100 = +((v100).toFixed(2));\n }\n\n this.toCalcStatus();\n }\n }\n\n new_status: number = 0;\n toCalcStatus(){\n \n let valorBase: number = +(this.status);\n let percentual: number = +(this.limit);\n\n // Calcula o valor correspondente ao percentual do valor base\n let resultado = valorBase / (percentual / 100);\n this.new_status = resultado;\n // console.log('new_status', this.new_status);\n \n }\n\n}\n","<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\n\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\n\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \n [class.fixed-left]=\"(+status >= 12)\" \n [style]=\"'left: '+ (70) +'px'\" \n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\n </label>\n </div>\n</div>\n<div *ngIf=\"limit && (+limit > 100)\" >\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\n <label>100%</label>\n </div> \n</div>\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiProgressBarComponent } from './tcloud-ui-progress-bar.component';\n\n\n\n@NgModule({\n declarations: [TCloudUiProgressBarComponent],\n exports: [TCloudUiProgressBarComponent],\n imports: [\n CommonModule\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiProgressBarModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-cubes',\n templateUrl: './tcloud-ui-cubes.component.html',\n styleUrls: ['./tcloud-ui-cubes.component.scss'],\n standalone: false\n})\nexport class TCloudUiCubesComponent {\n\n}\n","<div class=\"loadingio-spinner-cube\"><div class=\"tc-cube-loading\">\n <div></div><div></div><div></div><div></div></div>\n</div>","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-loading',\n templateUrl: './tcloud-ui-loading.component.html',\n styleUrls: ['./tcloud-ui-loading.component.css'],\n standalone: false\n})\nexport class TCloudUiLoadingComponent {\n\n @Input() full: boolean = false;\n\n private _loading: boolean = false;\n @Input() set loading(loading: boolean){\n if( this._loading !== loading ){\n this._loading = loading;\n } \n }\n get loading(): boolean{ return this._loading; } \n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}","<div *ngIf=\"full && loading\" class=\"tc-loading-full\">\n <div class=\"tc-state-loading-backdrop\"></div>\n <div class=\"tc-state-loading-main\">\n <div class=\"tc-state-loading-artifact\">\n \n <tcloud-ui-cubes></tcloud-ui-cubes>\n \n </div>\n </div>\n </div>\n \n <ng-container *ngIf=\"!full && loading\">\n <div class=\"tc-state-loading-backdrop\"></div>\n <div class=\"tc-state-loading-main\">\n <div class=\"tc-state-loading-artifact\">\n \n <tcloud-ui-cubes></tcloud-ui-cubes>\n \n </div>\n </div>\n </ng-container>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiLoadingComponent } from './tcloud-ui-loading.component';\nimport { TCloudUiCubesComponent } from './components/tcloud-ui-cubes/tcloud-ui-cubes.component';\n\n\n@NgModule({\n declarations: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\n exports: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiLoadingModule { }\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-reorder-items',\n templateUrl: './tcloud-ui-reorder-items.component.html',\n styleUrls: ['./tcloud-ui-reorder-items.component.scss'],\n standalone: false\n})\nexport class TCloudUiReorderItemsComponent implements OnInit {\n sort_items = [] as any[];\n\n // psg\n private _items = [] as any[];\n @Input() set items(v: any){\n if( v ){\n this._items = v;\n this.set_sort_items();\n }\n }\n get items(){ return this._items; }\n\n @Output() itemsChange = new EventEmitter<any>();\n\n\n ngOnInit(): void {\n }\n\n set_sort_items(){\n this.sort_items = [];\n if( this.items && (this.items).length > 0 ){\n\n for( let i = 0; i < (this.items).length; i++ ){\n const item = this.items[i];\n if( item.name ){\n (this.sort_items).push( item.name );\n }else{\n (this.sort_items).push( `${item}` );\n }\n }\n\n }\n\n }\n \n get_description(name: string){\n if( name ){\n if( this.items && (this.items).length > 0 ){\n for( let i = 0; i < (this.items).length; i++ ){\n const item = this.items[i];\n if( name === item.name && item.description ){\n return item.description;\n }\n } \n }\n }\n return undefined;\n }\n\n get_item(name: string){\n if( name ){\n if( this.items && (this.items).length > 0 ){\n for( let i = 0; i < (this.items).length; i++ ){\n const item = this.items[i];\n if( name === item.name && item.description ){\n return item;\n }\n } \n }\n }\n return undefined;\n }\n\n move(item: any, index: number, toIndex: number){\n if( toIndex < 0 ){ return; }\n if( toIndex > ((this.sort_items).length - 1) ){ return; }\n if( (this.sort_items).length > 0 ){\n for(let i = 0; i < (this.sort_items).length; i++){\n if( i === index){\n \n let aux = this.sort_items[index];\n this.sort_items[index] = this.sort_items[toIndex];\n this.sort_items[toIndex] = aux;\n break;\n\n \n }\n }\n }\n\n if( this.items && (this.items).length > 0 && this.items[0] && this.items[0].name ){\n this.items = this.result_items();\n }else{\n this.items = this.sort_items;\n }\n this.itemsChange.emit( this.items );\n \n }\n\n result_items(){\n let items = [];\n if( this.sort_items && (this.sort_items).length > 0 ){\n for( let i = 0; i < (this.sort_items).length; i++ ){\n (items).push( this.get_item( `${this.sort_items[i]}` ) );\n }\n }\n return items;\n }\n}\n","<ng-container *ngIf=\"sort_items\">\n\n\n\n <table class=\"table-sort-items\">\n\n \n\n\n <ng-container *ngFor=\"let item of sort_items; let i = index\">\n\n <tr>\n\n <td class=\"area-name-description-item\">\n {{ item }}\n <div *ngIf=\"get_description(item)\" class=\"item-description\">\n {{ get_description(item) }}\n </div>\n </td>\n\n <td class=\"area-action-item\">\n \n <ng-container>\n <div class=\"order-control\">\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i-1))\" title=\"Alterar para cima\" [disabled]=\"i===0\">\n <i class=\"fas fa-caret-up p-up\" ></i>\n </button>\n </div>\n \n <div class=\"order-control\">\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i+1))\" title=\"Alterar para baixo\" [disabled]=\"(i+1) === (sort_items).length\">\n <i class=\"fas fa-caret-down p-down\"></i>\n </button>\n \n </div>\n </ng-container>\n </td>\n\n </tr>\n </ng-container> \n\n </table>\n \n </ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiReorderItemsComponent } from './tcloud-ui-reorder-items.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiReorderItemsComponent\n ],\n exports: [\n TCloudUiReorderItemsComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiReorderItemsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-label-token',\n templateUrl: './tcloud-ui-label-token.component.html',\n styleUrls: ['./tcloud-ui-label-token.component.scss'],\n standalone: false\n})\nexport class TCloudUiLabelTokenComponent implements OnInit {\n\n @Input() copy: boolean = false;\n @Input() value: any = '';\n @Output() onClick = new EventEmitter<any>();\n\n show: boolean = false;\n isCopy: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n public copyText(): void {\n this.isCopy = true;\n // Copy the text inside the text field\n navigator.clipboard.writeText(this.value);\n this.onClick.emit(this.value);\n\n setTimeout(() => {\n this.isCopy = false;\n }, 3000);\n\n }\n\n}","<div>\n\n <div class=\"mb-2 box-area\">\n <table>\n <tr>\n\n <td class=\"area-value\">\n <div *ngIf=\"show\">{{ value }}</div>\n <div class=\"no-show\" *ngIf=\"!show\">#*#*#*#*#*#*#*#*#</div>\n </td>\n\n <td class=\"area-action\">\n <div class=\"options-area-actions\">\n <button type=\"button\" *ngIf=\"show\" class=\"btn-icon-smart\" (click)=\"show = !show\" ><i class=\"fas fa-eye\"></i></button>\n <button type=\"button\" *ngIf=\"!show\" class=\"btn-icon-smart\" (click)=\"show = !show\"><i class=\"fas fa-eye-slash\"></i></button>\n\n <ng-container *ngIf=\"copy\">\n <button type=\"button\" [title]=\"'Copiar texto'\" *ngIf=\"!isCopy\" class=\"btn-icon-smart\" (click)=\"copyText()\" ><i class=\"fas fa-copy\"></i></button>\n <button type=\"button\" [title]=\"'Texto copiado'\" *ngIf=\"isCopy\" class=\"btn-icon-smart\"><i class=\"fas fa-check\"></i></button>\n </ng-container>\n </div>\n </td>\n\n </tr>\n </table>\n </div>\n\n </div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiLabelTokenComponent } from './tcloud-ui-label-token.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiLabelTokenComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ],\n exports: [\n TCloudUiLabelTokenComponent\n ]\n})\nexport class TCloudUiLabelTokenModule { }\n","import { Component, Input, OnInit } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { LineStepTitleData } from './tcloud-ui-line-step-title';\n\n@Component({\n selector: 'tcloud-ui-line-step-title',\n templateUrl: './tcloud-ui-line-step-title.component.html',\n styleUrls: ['./tcloud-ui-line-step-title.component.scss'],\n animations: [\n trigger('progressBarEntering', [\n state('in', style({ width: '*' })),\n transition('void => *', [\n style({ width: 0 }),\n animate('1.5s 0s ease')\n ])\n ])\n ],\n standalone: false\n})\nexport class TCloudUiLineStepTitleComponent implements OnInit {\n @Input() showStepCounter: boolean = true;\n @Input() steps!: LineStepTitleData[];\n @Input() currentStep?: number;\n\n ngOnInit(): void {\n\n }\n\n public get completedSteps(): number {\n return this.steps.filter(x => x.completed).length;\n }\n}\n","<div class=\"tcloud-ui-line-step\">\n <div class=\"steps-title-wrapper\">\n <ng-container *ngFor=\"let step of steps; let i = index\">\n <span\n class=\"step-title\"\n [ngStyle]=\"{ 'flex-basis' : 100 / steps.length + '%' }\"\n [ngClass]=\"{ 'completed' : currentStep ? i < currentStep : step.completed }\">\n <ng-container *ngIf=\"showStepCounter\">{{i + 1}}.</ng-container> {{step.title}}\n </span>\n </ng-container>\n </div>\n\n <div class=\"line-wrapper\">\n <div class=\"background-line\"></div>\n <div\n @progressBarEntering\n class=\"progress-line\"\n [ngStyle]=\"{ 'width.%' : currentStep ? ((currentStep / steps.length) * 100) : ((completedSteps / steps.length) * 100) }\">\n </div>\n </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiLineStepTitleComponent } from './tcloud-ui-line-step-title.component';\n\n@NgModule({\n declarations: [TCloudUiLineStepTitleComponent],\n imports: [CommonModule],\n exports: [TCloudUiLineStepTitleComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n})\nexport class TCloudUiLineStepTitleModule { }\n","import { Inject, Injectable, Optional, signal } from '@angular/core';\nimport { ThemeServiceInterface } from '../_interfaces/theme.service.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TCloudUiThemeService {\n\n private themeService = {} as ThemeServiceInterface;\n\n private _theme = signal('');\n readonly signal_theme:any = this._theme.asReadonly();\n\n constructor(\n @Optional() @Inject('ThemeService') private _ThemeService: any\n ) {\n this.themeService = this._ThemeService;\n }\n\n getName(): string{\n return this.themeService?.getName();\n }\n\n public set_signal_theme(v: string){\n this._theme.set(v);\n }\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { TCloudUiLinhaLogoModule } from './_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\nimport { TCloudUiTabMenuModule } from './_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\nimport { TCloudUiModalModule } from './_modules/tcloud-ui-modal/tcloud-ui-modal.module';\nimport { TCloudUiLineStepCircleModule } from './_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\nimport { TCloudUiMultiSelectModule } from './_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\nimport { TCloudUiDataListModule } from './_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\nimport { TCloudUiChoiceIssuesModule } from './_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\nimport { TCloudUiMultiInputModule } from './_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\nimport { TCloudUiInputSearchModule } from './_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\nimport { TCloudUiNotFoundModule } from './_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\nimport { TCloudUiTableModule } from './_modules/tcloud-ui-table/tcloud-ui-table.module';\nimport { TCloudUiNumberStepModule } from './_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\nimport { TCloudUiScrollBoxModule } from './_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\nimport { TCloudUiFiltersModule } from './_modules/tcloud-ui-filters/tcloud-ui-filters.module';\nimport { TCloudUiAccordionModule } from './_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\nimport { TCloudUiDatepickerModule } from './_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nimport { TCloudUiDatepickerTimeModule } from './_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\n\nimport { TCloudUiDirectiveModule } from './_directives/directives.module';\n\nimport { TCloudUiPipesModule } from './_pipes/tcloud-pipes.module';\n\nimport { TCloudUiLoadingTransitionsService } from './_services/loading-transitions.service';\nimport { TCloudUiSearchInObjectService } from './_services/search-in-object.service';\nimport { TCloudUiMultiplesValuesModule } from './_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\nimport { TCloudUiWelcomeModule } from './_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\nimport { TCloudUiInputPasswordModule } from './_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\nimport { TCloudUiProgressBarModule } from './_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\nimport { TCloudUiLoadingModule } from './_modules/tcloud-ui-loading/tcloud-ui-loading.module';\nimport { TCloudUiReorderItemsModule } from './_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\nimport { TCloudUiLabelTokenModule } from './_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\nimport { TCloudUiLineStepTitleModule } from './_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\nimport { TCloudUiConfig } from './tcloud-ui.config';\nimport { TCloudUiCheckAccessService } from './_services/tcloud-ui-check-access.service';\nimport { TCloudUiThemeService } from './_services/tcloud-ui-theme.services';\n\n\n@NgModule({\n imports: [\n TCloudUiModalModule,\n TCloudUiTabMenuModule,\n TCloudUiLinhaLogoModule,\n TCloudUiLineStepCircleModule,\n TCloudUiMultiSelectModule,\n TCloudUiDataListModule,\n TCloudUiMultiInputModule,\n TCloudUiChoiceIssuesModule,\n TCloudUiInputSearchModule,\n TCloudUiNotFoundModule,\n TCloudUiTableModule,\n TCloudUiNumberStepModule,\n TCloudUiScrollBoxModule,\n TCloudUiFiltersModule,\n TCloudUiAccordionModule,\n TCloudUiDatepickerModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiMultiplesValuesModule,\n TCloudUiWelcomeModule,\n TCloudUiInputPasswordModule,\n TCloudUiProgressBarModule,\n TCloudUiLoadingModule,\n TCloudUiReorderItemsModule,\n TCloudUiLabelTokenModule,\n TCloudUiLineStepTitleModule,\n\n // Directives\n TCloudUiDirectiveModule,\n\n // Pipes\n TCloudUiPipesModule\n ],\n exports: [\n TCloudUiModalModule,\n TCloudUiTabMenuModule,\n TCloudUiLinhaLogoModule,\n TCloudUiLineStepCircleModule,\n TCloudUiMultiSelectModule,\n TCloudUiDataListModule,\n TCloudUiMultiInputModule,\n TCloudUiChoiceIssuesModule,\n TCloudUiInputSearchModule,\n TCloudUiNotFoundModule,\n TCloudUiTableModule,\n TCloudUiNumberStepModule,\n TCloudUiScrollBoxModule,\n TCloudUiFiltersModule,\n TCloudUiAccordionModule,\n TCloudUiDatepickerModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiMultiplesValuesModule,\n TCloudUiWelcomeModule,\n TCloudUiInputPasswordModule,\n TCloudUiProgressBarModule,\n TCloudUiLoadingModule,\n TCloudUiReorderItemsModule,\n TCloudUiLabelTokenModule,\n TCloudUiLineStepTitleModule,\n\n // Directives\n TCloudUiDirectiveModule,\n\n // Pipes\n TCloudUiPipesModule\n ],\n providers: [\n TCloudUiLoadingTransitionsService,\n TCloudUiSearchInObjectService,\n TCloudUiCheckAccessService,\n TCloudUiThemeService\n ]\n})\nexport class TCloudUiModule {\n\n static forRoot(config: TCloudUiConfig): ModuleWithProviders<TCloudUiModule> {\n return {\n ngModule: TCloudUiModule,\n providers: [\n { provide: 'TCloudUiConfig', useValue: config.data },\n { provide: 'UserService', useExisting: config?.services?.userService },\n { provide: 'ThemeService', useExisting: config?.services?.themeService }\n ]\n };\n }\n}\n","/*\n * Public API Surface of tcloud-ui\n */\n\nexport * from './lib/tcloud-ui.module';\nexport * from './lib/tcloud-ui.config';\n\n// UI-MODAL\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module';\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\n\n// UI-TAB-MENU\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\n\n// UI-LINHA-LOGO\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component';\n\n// UI-STEP-CIRCLE\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component';\n\n// UI-MULTI-SELECT\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component';\n\n// UI-TOOLTIP\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component';\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\n\n// UI-MULTI-INPUT\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component';\n\n// UI-CHOICE-ISSUES\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component';\n\n// UI-INPUT-SEARCH\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component';\n\n// UI-NOT-FOUND\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component';\n\n// UI-TABLE\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.module';\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.component';\n\n// UI-NUMBER-STEP\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component';\n\n// UI-SCROLL-BOX\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component';\n\n// UI-FILTERS\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters';\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module';\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component';\nexport * from './lib/_modules/tcloud-ui-filters/components/range-date/range-date.component';\n\n// UI-ACCORDION\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component';\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n// UI-DATEPICKER\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component';\n\n// UI-DATEPICKER-TIME\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component';\n\n// UI-MULTIPLES-VALUES\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component';\n\n// UI-WELCOME\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component';\n\n// UI-INPUT-PASSWORD\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component';\n\n// UI-PROGRESS-BAR\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component';\n\n// UI-LOADING\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module';\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component';\nexport * from './lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component';\n\n// UI-REORDER-ITEMS\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items';\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component';\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\n\n// UI-LABEL-TOKEN\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component';\n\n// UI-LINE-STEP-TITLE\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title';\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component';\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\n\n// DIRECTIVES\nexport * from './lib/_directives/directives.module';\nexport * from './lib/_directives/tooltip/tooltip.directive';\nexport * from './lib/_directives/align/align.directive';\nexport * from './lib/_directives/hover-parent/hover-parent.directive';\nexport * from './lib/_directives/el-copy/el-copy.directive';\nexport * from './lib/_directives/currency/currency.directive';\nexport * from './lib/_directives/tcloud-access/tcloud-ui-check-access.directive';\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive';\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive';\nexport * from './lib/_directives/tcloud-ui-digit-only.directive';\nexport * from './lib/_directives/tcloud-ui-highlight.diretive'; \nexport * from './lib/_directives/tcloud-ui-ip-mask.directive';\n\n// PIPES\nexport * from './lib/_pipes/tcloud-pipes.module';\nexport * from './lib/_pipes/index';\n\n// SERVICES\nexport * from './lib/_services/loading-transitions.service';\nexport * from './lib/_services/search-in-object.service';\nexport * from './lib/_services/tcloud-ui-check-access.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","CUSTOM_INPUT_VALIDATORS","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","noop","i1.DataListService","i4.TCloudUiDataListOptionComponent","i2.StatusInfoPipe","i1.TCloudUiSearchInObjectService","i1.DateBRPipe","i2.TCloudUiDatepickerComponent","i4.TCloudUiDataListComponent","i3.TCloudUiDatepickerTimeComponent","i4.TCloudUiDatepickerComponent","i5.TCloudUiRangeDateComponent","i1.TCloudUiAccordionService","i1.TCloudUiCheckAccessService","i3.TCloudUiDataListComponent","i2.TCloudUiCubesComponent"],"mappings":"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"}
|