oxpi-nglib 1.0.0 → 1.0.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/esm2020/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.mjs +74 -0
- package/esm2020/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.mjs +68 -0
- package/esm2020/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.mjs +38 -0
- package/esm2020/lib/cadastros/funcionarios/funcionarios/funcionarios.component.mjs +157 -0
- package/esm2020/lib/models/entidades/funcionario.mjs +12 -0
- package/esm2020/lib/oxpi-nglib.module.mjs +28 -5
- package/esm2020/lib/providers/auth-data.service.mjs +219 -0
- package/esm2020/lib/providers/common-web-service.mjs +98 -0
- package/esm2020/lib/providers/notification.service.mjs +29 -0
- package/esm2020/public-api.mjs +8 -1
- package/fesm2015/oxpi-nglib.mjs +1102 -447
- package/fesm2015/oxpi-nglib.mjs.map +1 -1
- package/fesm2020/oxpi-nglib.mjs +1096 -445
- package/fesm2020/oxpi-nglib.mjs.map +1 -1
- package/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.d.ts +27 -0
- package/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.d.ts +27 -0
- package/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.d.ts +15 -0
- package/lib/cadastros/funcionarios/funcionarios/funcionarios.component.d.ts +36 -0
- package/lib/models/entidades/funcionario.d.ts +15 -0
- package/lib/oxpi-nglib.module.d.ts +13 -7
- package/lib/providers/auth-data.service.d.ts +20 -0
- package/lib/providers/common-web-service.d.ts +42 -0
- package/lib/providers/notification.service.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxpi-nglib.mjs","sources":["../../../projects/oxpi-nglib/src/lib/controls/busy-indicator/busy-indicator.component.ts","../../../projects/oxpi-nglib/src/lib/controls/busy-indicator/busy-indicator.component.html","../../../projects/oxpi-nglib/src/lib/controls/check-button/check-button.component.ts","../../../projects/oxpi-nglib/src/lib/controls/check-button/check-button.component.html","../../../projects/oxpi-nglib/src/lib/controls/image-viewer/image-viewer.component.ts","../../../projects/oxpi-nglib/src/lib/controls/image-viewer/image-viewer.component.html","../../../projects/oxpi-nglib/src/lib/controls/month-year-picker/month-year-picker.component.ts","../../../projects/oxpi-nglib/src/lib/controls/month-year-picker/month-year-picker.component.html","../../../projects/oxpi-nglib/src/lib/controls/numeric-picker/numeric-picker.component.ts","../../../projects/oxpi-nglib/src/lib/controls/numeric-picker/numeric-picker.component.html","../../../projects/oxpi-nglib/src/lib/controls/paginator/paginator.component.ts","../../../projects/oxpi-nglib/src/lib/controls/paginator/paginator.component.html","../../../projects/oxpi-nglib/src/lib/controls/radio-button-group/radio-button-group.component.ts","../../../projects/oxpi-nglib/src/lib/controls/radio-button-group/radio-button-group.component.html","../../../projects/oxpi-nglib/src/lib/controls/item-card/item-card.component.ts","../../../projects/oxpi-nglib/src/lib/controls/item-card/item-card.component.html","../../../projects/oxpi-nglib/src/lib/controls/alert-dialog/alert-dialog.component.ts","../../../projects/oxpi-nglib/src/lib/controls/alert-dialog/alert-dialog.component.html","../../../projects/oxpi-nglib/src/lib/providers/safe-html.pipe.ts","../../../projects/oxpi-nglib/src/lib/oxpi-nglib.module.ts","../../../projects/oxpi-nglib/src/lib/models/infra/busy-state.ts","../../../projects/oxpi-nglib/src/lib/models/infra/lazy-trigger.ts","../../../projects/oxpi-nglib/src/lib/models/infra/number-parser.ts","../../../projects/oxpi-nglib/src/lib/models/infra/ordem.ts","../../../projects/oxpi-nglib/src/lib/models/infra/utils-methods.ts","../../../projects/oxpi-nglib/src/lib/models/infra/validations.ts","../../../projects/oxpi-nglib/src/lib/models/infra/selecao-utils.ts","../../../projects/oxpi-nglib/src/lib/animations/animations.ts","../../../projects/oxpi-nglib/src/lib/models/settings/search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/PagamentoRecebimentoSearchSetting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/ocupacao-filter-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/ocupacao-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/consumo-produto-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/duplicata-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/produto-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/suites-intervencoes-setting.ts","../../../projects/oxpi-nglib/src/lib/providers/export.file.service.ts","../../../projects/oxpi-nglib/src/lib/providers/focus.service.ts","../../../projects/oxpi-nglib/src/lib/providers/preference.service.ts","../../../projects/oxpi-nglib/src/lib/providers/screen-helper.service.ts","../../../projects/oxpi-nglib/src/public-api.ts","../../../projects/oxpi-nglib/src/oxpi-nglib.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'ox-busy-indicator',\n templateUrl: './busy-indicator.component.html',\n styleUrls: ['./busy-indicator.component.scss']\n})\nexport class BusyIndicatorComponent implements OnInit {\n @Input() isBusy: boolean = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<div class=\"busy-indicator-container\" *ngIf=\"isBusy\">\n <div class=\"busy-indicator\"></div>\n</div>","import { Component, OnInit, Input, HostListener, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ox-check-button',\n templateUrl: './check-button.component.html',\n styleUrls: ['./check-button.component.scss'],\n host: {\n '[class.checked]': \"checked\",\n }\n})\nexport class CheckButtonComponent implements OnInit {\n @Input() checked: boolean = false;\n @Input() radioBehavior: boolean = false;\n @Output() changed = new EventEmitter<boolean>();\n constructor() {\n this.checked = true;\n }\n\n ngOnInit() {\n }\n\n @HostListener('click', ['$event'])\n onClick(e : any) {\n if (!this.radioBehavior)\n this.checked = !this.checked;\n this.changed.emit(this.checked);\n }\n}\n","<ng-content></ng-content>","import { Component, OnInit, Input, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Component({\n selector: 'ox-image-viewer',\n templateUrl: './image-viewer.component.html',\n styleUrls: ['./image-viewer.component.scss']\n})\nexport class ImageViewerComponent implements OnInit {\n @Input() info?: ImageViewerInfo;\n @Input() infos: ImageViewerInfo[] = [];\n private _isOpen: boolean = false;\n paginaAtual: number = 0;\n disableBack : boolean= false;\n disableNext : boolean = false;\n @Output() isOpenChange = new EventEmitter();\n\n @Input()\n get isOpen(): boolean {\n return this._isOpen;\n }\n set isOpen(val: boolean) {\n this._isOpen = val;\n this.isOpenChange.emit(val);\n }\n\n @HostListener('click', ['$event'])\n onClick(e : any) {\n //this.isOpen = !this.isOpen;\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n open(info: ImageViewerInfo, infos: ImageViewerInfo[]) {\n if (infos !== undefined) {\n for (let i = 0; i < infos.length; i++) {\n if (infos[i] === info) {\n this.paginaAtual = i + 1;\n break;\n }\n }\n }\n\n this.info = info;\n this.infos = infos;\n this.isOpen = true;\n this.updateUI();\n }\n\n goNext()\n {\n this.paginaAtual += 1;\n this.info = this.infos[this.paginaAtual - 1];\n this.updateUI();\n }\n\n goBack()\n {\n this.paginaAtual -= 1;\n this.info = this.infos[this.paginaAtual - 1];\n this.updateUI();\n }\n\n updateUI()\n {\n this.disableBack = this.paginaAtual == 1;\n this.disableNext = this.paginaAtual == this.infos.length;\n }\n}\n\nexport interface ImageViewerInfo {\n url: string;\n titulo: string;\n id : any;\n}\n","<div class=\"image-fullsize\" *ngIf=\"isOpen\">\n <div class=\"titulo\">\n {{info?.titulo}}\n </div>\n <div class=\"img-container\" (click)=\"isOpen = !isOpen\">\n <img class=\"image\" *ngIf=\"info\" [src]=\"info?.url\" />\n </div>\n <div class=\"action-bar\" *ngIf=\"infos\">\n <button (click)=\"goBack()\" [disabled]=\"disableBack\" mat-icon-button>\n <mat-icon>chevron_left</mat-icon>\n </button>\n <span class=\"picker-text\">\n {{paginaAtual}}/{{infos?.length}}\n </span>\n <button (click)=\"goNext()\" [disabled]=\"disableNext\" mat-icon-button>\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</div>\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'ox-month-year-picker',\n templateUrl: './month-year-picker.component.html',\n styleUrls: ['./month-year-picker.component.scss']\n})\nexport class MonthYearPickerComponent implements OnInit {\n @Output() anoChange = new EventEmitter<number>();\n @Output() mesChange = new EventEmitter<number>();\n @Output() changed = new EventEmitter<MonthYear>();\n\n _init : boolean = false;\n _ano: number;\n _mes: number;\n _modoAnual : boolean = false;\n _meses = [\"JANEIRO\", \"FEVEREIRO\", \"MARÇO\", \"ABRIL\", \"MAIO\", \"JUNHO\", \"JULHO\", \"AGOSTO\", \"SETEMBRO\", \"OUTUBRO\", \"NOVEMBRO\", \"DEZEMBRO\"];\n text: string = '';\n disableNext: boolean = false;\n @Input()\n blockFuture: boolean = false;\n\n @Input()\n get modoAnual(): boolean {\n return this._modoAnual;\n }\n set modoAnual(val: boolean) {\n this._modoAnual = val;\n if (!this._init) return;\n this.updateText();\n this.raiseOnSelectionChanged();\n }\n\n @Input()\n get ano(): number {\n return this._ano;\n }\n set ano(val: number) {\n this._ano = val;\n if (!this._init) return;\n this.anoChange.emit(val);\n this.updateText();\n }\n\n @Input()\n get mes(): number {\n return this._mes;\n }\n set mes(val: number) {\n this._mes = val;\n if (!this._init) return;\n this.mesChange.emit(val);\n this.updateText();\n }\n\n constructor() {\n let d = new Date();\n this._ano = d.getFullYear();\n this._mes = d.getMonth() + 1;\n }\n\n ngOnInit() {\n this.updateText();\n this._init = true;\n }\n\n goBack() {\n if (this.modoAnual) {\n this.ano -= 1;\n }\n else {\n this.mes--;\n if (this.mes < 1) {\n this.ano -= 1;\n this.mes = 12;\n }\n }\n this.updateText();\n this.raiseOnSelectionChanged();\n };\n\n goNext() {\n if (this.modoAnual) {\n this.ano += 1;\n }\n else {\n this.mes++;\n if (this.mes > 12) {\n this.ano += 1;\n this.mes = 1;\n }\n }\n this.updateText();\n this.raiseOnSelectionChanged();\n };\n\n updateText() {\n if (this.modoAnual)\n this.text = '' + this._ano;\n else\n this.text = this._meses[this._mes - 1] + \" DE \" + this._ano;\n\n if (!this.blockFuture)\n return;\n\n let d = new Date();\n let ano = d.getFullYear();\n let mes = d.getMonth() + 1;\n\n if (!this.modoAnual)\n this.disableNext = ano == this.ano && this.mes >= mes;\n else\n this.disableNext = ano == this.ano;\n };\n\n raiseOnSelectionChanged() {\n let d = { ano: this._ano, mes: this._mes };\n this.changed.emit(d);\n }\n}\nexport interface MonthYear {\n mes: number;\n ano: number;\n}\n","<div class=\"picker-container\">\n <div>\n <button mat-icon-button (click)=\"goBack()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n </div>\n <span class=\"picker-text\">\n {{text}}\n </span>\n <div>\n <button mat-icon-button (click)=\"goNext()\" [disabled]=\"disableNext\" >\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ox-numeric-picker',\n templateUrl: './numeric-picker.component.html',\n styleUrls: ['./numeric-picker.component.scss']\n})\nexport class NumericPickerComponent implements OnInit {\n @Output() valueChange = new EventEmitter<number>();\n @Output() change = new EventEmitter<number>();\n _value: number = 0;\n _max: number = 0;\n _min: number = 0;\n text: string = '';\n disableNext = false;\n disableBack = false;\n\n @Input()\n get value(): number {\n return this._value;\n }\n set value(val: number) {\n this._value = val;\n this.valueChange.emit(val);\n this.refreshUI();\n }\n\n @Input()\n get max(): number {\n return this._max;\n }\n set max(val: number) {\n this._max = val;\n this.refreshUI();\n }\n\n @Input()\n get min(): number {\n return this._min;\n }\n set min(val: number) {\n this._min = Number(val);\n this.refreshUI();\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n onTextEdit(ev : any) {\n console.info(ev);\n const i = Number(ev.target.value);\n if (!this.valida(i))\n this.text = '' + this.value;\n else {\n this.value = i;\n this.raiseChange();\n this.refreshUI();\n }\n }\n\n goBack() {\n const newVal = this.value - 1;\n if (!this.valida(newVal))\n return;\n this.value = newVal;\n this.raiseChange();\n };\n\n goNext() {\n const newVal = this.value + 1;\n if (!this.valida(newVal))\n return;\n this.value = newVal;\n this.raiseChange();\n };\n\n refreshUI() {\n this.text = this.value === undefined ? '--' : '' + this.value;\n this.disableNext = this.max !== undefined && this.value === this.max;\n this.disableBack = this.min !== undefined && this.value === this.min;\n }\n\n valida(val : any): boolean {\n if (isNaN(val))\n return false;\n if (this.max !== undefined && val > this.max)\n return false;\n if (this.min !== undefined && val < this.min)\n return false;\n return true;\n }\n\n raiseChange() {\n this.change.emit(this.value);\n }\n}\n","<div>\n <button mat-icon-button (click)=\"goBack()\" [disabled]=\"disableBack\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n</div>\n<input [(ngModel)]=\"text\" (change)=\"onTextEdit($event)\" class=\"date\">\n<div>\n <button mat-icon-button (click)=\"goNext()\" [disabled]=\"disableNext\" >\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'ox-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss']\n})\nexport class PaginatorComponent implements OnInit {\n @Output() paginaAtualChange = new EventEmitter<number>();\n @Output() totalPaginasChange = new EventEmitter<number>();\n @Output() change = new EventEmitter<number>();\n _paginaAtual: number = 1;\n _totalPaginas: number = 1;\n inicio: boolean = true;\n fim: boolean = true;\n @Input() pageSize: number = 0;\n\n @Input()\n get paginaAtual(): number {\n return this._paginaAtual;\n }\n\n set paginaAtual(val: number) {\n this._paginaAtual = val;\n this.paginaAtualChange.emit(val);\n this.refreshUI();\n }\n\n @Input()\n get totalPaginas(): number {\n return this._totalPaginas;\n }\n\n set totalPaginas(val: number) {\n this._totalPaginas = val;\n this.totalPaginasChange.emit(val);\n this.refreshUI();\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n trocaPagina(pagina: number) {\n if (pagina > this.totalPaginas || pagina < 1)\n return;\n this.paginaAtual = pagina;\n this.refreshUI();\n this.change.emit(this.paginaAtual); \n }\n\n refreshUI()\n {\n this.inicio = this.paginaAtual == 1;\n this.fim = this.paginaAtual == this.totalPaginas; \n }\n\n goBack() {\n this.trocaPagina(this.paginaAtual - 1);\n }\n\n goNext() {\n this.trocaPagina(this.paginaAtual + 1);\n }\n\n}\n","<button [disabled]=\"inicio\" mat-icon-button (click)=\"goBack()\">\n <mat-icon>chevron_left</mat-icon>\n</button>\n<span class=\"picker-text\">\n {{paginaAtual}}/{{totalPaginas}}\n</span>\n<button [disabled]=\"fim\" mat-icon-button (click)=\"goNext()\">\n <mat-icon>chevron_right</mat-icon>\n</button>\n","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ox-radio-button-group',\n templateUrl: './radio-button-group.component.html',\n styleUrls: ['./radio-button-group.component.scss']\n})\nexport class RadioButtonGroupComponent implements OnInit {\n @Output() change = new EventEmitter<RadioButtonGroupData>();\n _items: RadioButtonGroupData[] = [];\n //_init : boolean = false;\n @Input() selectedItem: RadioButtonGroupData | null = null;\n @Input()\n get items(): RadioButtonGroupData[] {\n return this._items;\n }\n set items(val: RadioButtonGroupData[]) {\n this._items = val;\n this.selectedItem = this.items.filter(x => x.default === true).firstOrNull();\n if (this.selectedItem === null)\n this.selectedItem = this.items.firstOrNull();\n }\n\n constructor() { }\n\n ngOnInit() {\n\n }\n\n raiseChange(item : RadioButtonGroupData) {\n this.selectedItem = item;\n this.change.emit(this.selectedItem);\n }\n}\n\nexport interface RadioButtonGroupData {\n name: string;\n value: any;\n default?: boolean;\n}\n","<ox-check-button [radioBehavior]=\"true\" (changed)=\"raiseChange(item)\" [checked]=\"item == selectedItem\" *ngFor=\"let item of items\">\n {{item.name}}\n</ox-check-button>","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'ox-item-card',\n templateUrl: './item-card.component.html',\n styleUrls: ['./item-card.component.scss']\n})\nexport class ItemCardComponent implements OnInit {\n\n @Input() nome? : string;\n @Input() codigo? : string | number;\n @Input() star? : boolean;\n @Input() cloud? : boolean;\n @Input() desativado? : boolean;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"nome-codigo-row\"><span class=\"codigo\" *ngIf=\"codigo\">{{codigo}}</span>{{nome}}</div>\n<div class=\"icons-row\">\n <span class=\"material-icons star\" *ngIf=\"star\">\n grade\n </span>\n <span class=\"material-icons desativado\" *ngIf=\"desativado === true\">\n dangerous\n </span>\n <span class=\"material-icons sync-pendente\" *ngIf=\"cloud === false\">\n cloud_queue\n </span>\n <span class=\"material-icons sync-concluido\" *ngIf=\"cloud === true\">\n cloud_done\n </span>\n</div>\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent implements OnInit {\n\n constructor(\n public dialogRef: MatDialogRef<AlertDialogComponent>,\n @Inject(MAT_DIALOG_DATA)\n public args: AlertDialogArgs) { }\n\n ngOnInit(): void {\n }\n\n}\n\nexport interface AlertDialogArgs\n{\n titulo : string;\n msg : string;\n}","<h1 mat-dialog-title>{{args.titulo}}</h1>\n<div mat-dialog-content>\n <p>{{args.msg}}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <button mat-button [mat-dialog-close]=\"false\">Cancelar</button>\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial>Continuar</button>\n</mat-dialog-actions>","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform \n{\n constructor(private sanitizer:DomSanitizer){}\n\n transform(html : string) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BusyIndicatorComponent } from './controls/busy-indicator/busy-indicator.component';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { FormsModule } from '@angular/forms';\nimport { MonthYearPickerComponent } from './controls/month-year-picker/month-year-picker.component';\nimport { ImageViewerComponent } from './controls/image-viewer/image-viewer.component';\nimport { NumericPickerComponent } from './controls/numeric-picker/numeric-picker.component';\nimport { PaginatorComponent } from './controls/paginator/paginator.component';\nimport { CheckButtonComponent } from './controls/check-button/check-button.component';\nimport { RadioButtonGroupComponent } from './controls/radio-button-group/radio-button-group.component';\nimport { ItemCardComponent } from './controls/item-card/item-card.component';\nimport { SafeHtmlPipe } from './providers/safe-html.pipe';\nimport { AlertDialogComponent } from './controls/alert-dialog/alert-dialog.component';\n\n\ndeclare global {\n interface String {\n isEmpty(): boolean;\n }\n interface Array<T> {\n firstOrNull(): T | null;\n }\n interface Date {\n addDays(days : number) : Date;\n }\n}\n\nArray.prototype.firstOrNull = function () {\n if (this.length > 0)\n return this[0];\n return null;\n}\n\nDate.prototype.addDays = function (days : number)\n{\n var result = new Date(this);\n result.setDate(result.getDate() + days);\n return result;\n}\n\n@NgModule({\n declarations: [\n BusyIndicatorComponent,\n MonthYearPickerComponent,\n ImageViewerComponent,\n NumericPickerComponent,\n PaginatorComponent,\n CheckButtonComponent,\n RadioButtonGroupComponent,\n ItemCardComponent,\n SafeHtmlPipe,\n AlertDialogComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n ],\n exports: [\n BusyIndicatorComponent,\n MonthYearPickerComponent,\n ImageViewerComponent,\n NumericPickerComponent,\n PaginatorComponent,\n CheckButtonComponent,\n RadioButtonGroupComponent,\n ItemCardComponent,\n SafeHtmlPipe\n ]\n})\nexport class OxpiNglibModule { }\n","export class BusyState {\r\n isBusy: boolean = false;\r\n private counter: number = 0;\r\n\r\n show() {\r\n this.counter++;\r\n this.isBusy = true;\r\n }\r\n\r\n hide() {\r\n this.counter--;\r\n if (this.counter < 0)\r\n this.counter = 0;\r\n if (this.counter == 0)\r\n this.isBusy = false;\r\n }\r\n}","export class LazyTrigger {\r\n lazyTimeoutId?: number;\r\n constructor(private doFunc : ()=> void, private timeout : number = 800)\r\n {\r\n }\r\n fire() {\r\n console.debug(\"lazyTimeoutId\");\r\n if (this.lazyTimeoutId != undefined)\r\n clearTimeout(this.lazyTimeoutId);\r\n this.lazyTimeoutId = window.setTimeout(() => { this.doFunc(); }, this.timeout);\r\n }\r\n}","import { LazyTrigger } from './lazy-trigger';\r\n\r\nexport class NumberParser {\r\n private _parseTrigger: LazyTrigger;\r\n valor: string | undefined;\r\n parsed : boolean = false;\r\n\r\n constructor(\r\n private setPropFunc: (newValue: number) => void,\r\n private getPropFunc: () => number,\r\n private min?: number,\r\n private max?: number,\r\n triggerMilliseconds : number = 1500) {\r\n this._parseTrigger = new LazyTrigger(() => this.parseValor(), triggerMilliseconds);\r\n }\r\n\r\n parse(vlr: string) {\r\n this.valor = vlr;\r\n this.parsed = false;\r\n this._parseTrigger.fire();\r\n }\r\n store(vlr : string) {\r\n this.valor = vlr;\r\n this.parsed = false;\r\n }\r\n\r\n\r\n checkout()\r\n {\r\n if (this.parsed || !this.valor) return;\r\n this.parseValor();\r\n }\r\n\r\n private parseValor() {\r\n if (this.valor === undefined) return;\r\n this.parsed = true;\r\n const vlrTxt = this.valor.split(\",\").join(\".\");;\r\n const spTxt: string[] = vlrTxt.split(\".\");\r\n let toParseTxt = \"\";\r\n if (spTxt.length > 2) {\r\n const chars = vlrTxt.split(\"\");\r\n const lastIndex = vlrTxt.lastIndexOf(\".\");\r\n for (let i = 0; i < chars.length; i++) {\r\n const c = chars[i];\r\n if (c === \".\" && i != lastIndex) continue;\r\n toParseTxt = toParseTxt.concat(c);\r\n }\r\n }\r\n else {\r\n toParseTxt = vlrTxt;\r\n }\r\n\r\n const vlr = parseFloat(toParseTxt);\r\n if (isNaN(vlr) || !this.validaMinMax(vlr)) {\r\n const original = this.getPropFunc();\r\n this.setPropFunc(0);\r\n setTimeout(() => this.setPropFunc(original));\r\n }\r\n else {\r\n this.setPropFunc(vlr);\r\n }\r\n }\r\n\r\n private validaMinMax(value: number): boolean {\r\n if ((this.min === undefined) && this.max === undefined) return true;\r\n if (!(this.min === undefined) && value < this.min) return false;\r\n if (!(this.max === undefined) && value > this.max) return false;\r\n return true;\r\n }\r\n}\r\n","export class Ordem {\r\n isCrescente: boolean;\r\n colName: string;\r\n onToggle?: () => void;\r\n constructor(ordens: OrdemInfo[], isCrescente: boolean, onToggle?: () => void) {\r\n const d = ordens.filter(x => x.default === true).firstOrNull();\r\n this.colName = d === null ? ordens[0].value : d.value;\r\n this.isCrescente = isCrescente;\r\n this.onToggle = onToggle;\r\n }\r\n\r\n toggle() {\r\n this.isCrescente = !this.isCrescente;\r\n if (this.onToggle !== undefined)\r\n this.onToggle();\r\n }\r\n\r\n toString(): string {\r\n return this.colName + (!this.isCrescente ? \" desc\" : \"\")\r\n }\r\n}\r\n\r\nexport interface OrdemInfo {\r\n name: string;\r\n value: string;\r\n default?: boolean;\r\n}\r\n","export function printTxt(txt: string) {\r\n const r = \"<!doctype html><head><meta charset=\\\"utf-8\\\"></head><body><div style='font-family: \\\"Courier New\\\", Courier, monospace; white-space: pre-wrap;color: black;font-weight: bold;word-wrap: break-word;word-break: break-all;overflow-wrap: break-word;'>\" + txt + '</div></body>';\r\n printHtml(r);\r\n}\r\n\r\nexport function printHtml(r: any) {\r\n const blob = new Blob([r], { type: 'text/html' });\r\n const url = window.URL.createObjectURL(blob);\r\n const w = window.open(url, '_blank');\r\n if (w != null)\r\n w.print();\r\n}\r\n\r\nexport function selectText(ev : any): void\r\n{\r\n ev.target.select()\r\n}","export function valTextEmpty(v: string): boolean {\r\n return v === null ||\r\n v === undefined ||\r\n v.trim() === '';\r\n}\r\nexport function valNumberEmpty(v: number): boolean {\r\n return v === null ||\r\n v === undefined ||\r\n v === 0;\r\n}\r\nexport function valTextMax(v: string, max: number) {\r\n return v.length > max;\r\n}\r\n\r\nexport function valNumberMin(v: number, min: number) {\r\n if (v === null || v === undefined)\r\n return true;\r\n return v <= min;\r\n}\r\n","import { MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { AlertDialogArgs, AlertDialogComponent } from \"../../controls/alert-dialog/alert-dialog.component\";\r\n\r\nexport interface SelecaoDialog<TItem, TDialog> {\r\n selectedItem: TItem;\r\n dialogRef: MatDialogRef<TDialog>;\r\n items: TItem[];\r\n}\r\nexport class NavegacaoSelecaoDialogUtil<TItem, TDialog>\r\n{\r\n constructor(private view: SelecaoDialog<TItem, TDialog>) {\r\n }\r\n\r\n onKeyDown(event: KeyboardEvent) {\r\n console.info(event.keyCode);\r\n let key = event.keyCode;\r\n const selected = this.view.selectedItem;\r\n const enterKey = 13, keyDown = 40, keyUp = 38;\r\n if (key === enterKey) {\r\n event.cancelBubble = true;\r\n if (selected !== null && selected !== undefined)\r\n {\r\n this.view.dialogRef.close(selected);\r\n return;\r\n }\r\n key = keyDown;\r\n }\r\n if (key !== keyDown && key !== keyUp) return;\r\n let index = this.view.items.indexOf(selected, 0);\r\n if (key === keyDown) index++;\r\n if (key === keyUp && index > 0) index--;\r\n\r\n if (index > (this.view.items.length - 1)) return;\r\n this.view.selectedItem = this.view.items[index];\r\n }\r\n}\r\n\r\nexport function confirmaExclusao(\r\n dialog : MatDialog, \r\n msg : string, \r\n continueFunc : () => void)\r\n {\r\n const args : AlertDialogArgs =\r\n {\r\n titulo: \"Atenção\",\r\n msg: msg\r\n }\r\n const dialogRef = dialog.open(AlertDialogComponent, {\r\n data: args \r\n });\r\n dialogRef.afterClosed().subscribe(dialogResult => {\r\n if (dialogResult !== true) return;\r\n continueFunc(); \r\n });\r\n }","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport const fadeAnimation = trigger(\r\n 'fade',\r\n [\r\n transition(\r\n ':enter', [\r\n style({ transform: 'translateY(100%)', opacity: 0 }),\r\n animate('250ms', style({ transform: 'translateY(0)', 'opacity': 1 }))\r\n ]\r\n ),\r\n transition(\r\n ':leave', [\r\n style({ transform: 'translateY(0)', 'opacity': 1 }),\r\n animate('250ms', style({ transform: 'translateY(100%)', 'opacity': 0 })),\r\n ])]\r\n )\r\n\r\n\r\n export const menuLateralAnimation = trigger(\r\n 'menuLateral',\r\n [\r\n transition(\r\n ':enter', [\r\n style({ transform: 'translateX(-100%)', opacity: 1 }),\r\n animate('200ms', style({ transform: 'translateX(0)', 'opacity': 1 }))\r\n ]\r\n ),\r\n transition(\r\n ':leave', [\r\n style({ 'opacity': 1 }),\r\n animate('200ms', style({ 'opacity': 0 })),\r\n ])]\r\n )\r\n","\r\nexport class SearchSetting {\r\n frase?: string;\r\n exibeInativo?: boolean;\r\n inicial: Date;\r\n final: Date;\r\n modo: SearchMode;\r\n mes: number;\r\n ano: number;\r\n ordem?: string;\r\n ordemDecrescente?: boolean;\r\n dateField?: string;\r\n\r\n constructor(private propChanged?: () => void) {\r\n const now = new Date();\r\n const hj = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);\r\n console.info(hj);\r\n this.modo = SearchMode.Mensal;\r\n this.mes = hj.getMonth() + 1;\r\n this.ano = hj.getFullYear();\r\n\r\n this.inicial = hj.addDays(-30);\r\n this.final = hj;\r\n }\r\n\r\n set(prop: string, value: any) { \r\n const me = this as any; \r\n me[prop] = value;\r\n if (this.propChanged !== undefined)\r\n this.propChanged();\r\n }\r\n\r\n toStringArquivo() {\r\n const ini = this.inicial;\r\n const fim = this.final;\r\n if (this.modo === SearchMode.Mensal)\r\n return this.ano + \"_\" + this.mes;\r\n if (this.modo === SearchMode.Anual)\r\n return \"\" + this.ano;\r\n if (this.modo === SearchMode.Diario)\r\n return `${ini.getDate()}_${ini.getMonth() + 1}_${ini.getFullYear()}`;\r\n return `${ini.getDate()}_${ini.getMonth() + 1}_${ini.getFullYear()}_ate_${fim.getDate()}_${fim.getMonth() + 1}_${fim.getFullYear()}`;\r\n }\r\n\r\n _meses = [\"JANEIRO\", \"FEVEREIRO\", \"MARÇO\", \"ABRIL\", \"MAIO\", \"JUNHO\", \"JULHO\", \"AGOSTO\", \"SETEMBRO\", \"OUTUBRO\", \"NOVEMBRO\", \"DEZEMBRO\"];\r\n _mesesShort = [\"JAN\", \"FEV\", \"MAR\", \"ABR\", \"MAI\", \"JUN\", \"JUL\", \"AGO\", \"SET\", \"OUT\", \"NOV\", \"DEZ\"];\r\n getDatasTexto(short : boolean = false) {\r\n const ini = this.inicial;\r\n const fim = this.final;\r\n if (this.modo === SearchMode.Mensal && short)\r\n return this._mesesShort[this.mes - 1] + \" DE \" + this.ano;\r\n if (this.modo === SearchMode.Mensal)\r\n return this._meses[this.mes - 1] + \" DE \" + this.ano;\r\n if (this.modo === SearchMode.Anual)\r\n return \"\" + this.ano;\r\n if (this.modo === SearchMode.Diario)\r\n return `${ini.getDate()}/${ini.getMonth() + 1}/${ini.getFullYear()}`;\r\n return `${ini.getDate()}/${ini.getMonth() + 1}/${ini.getFullYear()} ATÉ ${fim.getDate()}/${fim.getMonth() + 1}/${fim.getFullYear()}`;\r\n }\r\n\r\n goNextMonth() {\r\n this.mes++;\r\n if (this.mes > 12) {\r\n this.mes = 1;\r\n this.ano += 1;\r\n }\r\n }\r\n\r\n goBackMonth() {\r\n this.mes--;\r\n if (this.mes < 1) {\r\n this.mes = 12;\r\n this.ano -= 1;\r\n }\r\n }\r\n}\r\nexport enum SearchMode {\r\n Mensal, Anual, Periodo, Diario\r\n}\r\n\r\n","import { SearchSetting } from \"./search-setting\";\r\n\r\n\r\nexport class PagamentoRecebimentoSearchSetting extends SearchSetting {\r\n exibirPagamentos: boolean;\r\n exibirRecebimentos: boolean;\r\n\r\n constructor() {\r\n super();\r\n this.exibirPagamentos = true;\r\n this.exibirRecebimentos = true;\r\n }\r\n}\r\n","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class OcupacaoFilterSetting extends SearchSetting {\r\n dom: boolean;\r\n seg: boolean;\r\n ter: boolean;\r\n qua: boolean;\r\n qui: boolean;\r\n sex: boolean;\r\n sab: boolean;\r\n\r\n exibirPernoite?: boolean;\r\n exibirNormal?: boolean;\r\n\r\n constructor() {\r\n super();\r\n this.dom = false;\r\n this.seg = false;\r\n this.ter = false;\r\n this.qua = false;\r\n this.qui = false;\r\n this.sex = false;\r\n this.sab = false;\r\n }\r\n}\r\n","import { OcupacaoFilterSetting } from \"./ocupacao-filter-setting\";\r\n\r\nexport class OcupacaoSearchSetting extends OcupacaoFilterSetting {\r\n clienteFidelidadeId?: number;\r\n incluiOcupacaoAberta?: boolean;\r\n dateFieldEnum: OcupacaoSearchDateField;\r\n tipoEntrada?: OcupacaoSearchTipoEntrada;\r\n mostrouContaMult?: boolean;\r\n mostrouContaMaiorMenor?: boolean;\r\n mostrouContaSemCarro?: boolean;\r\n teveExclusaoProduto?: boolean;\r\n teveTransferencia?: boolean;\r\n teveEdicaoFormaPgto?: boolean;\r\n teveDesconto?: boolean;\r\n teveCortesia?: boolean;\r\n teveConsumo?: boolean;\r\n teveExcesso?: boolean;\r\n tevePernoite?: boolean;\r\n teveNormal?: boolean;\r\n tevePessoaExtra?: boolean;\r\n suites?: number[];\r\n marcador?: number;\r\n caixas?: number[];\r\n classes?: number[];\r\n operadores?: number[];\r\n teveClienteFidelidade?: boolean;\r\n teveNegociacao?: boolean;\r\n formaPagamento?: number;\r\n produtosGrupos?: number[];\r\n constructor() {\r\n super();\r\n this.dateFieldEnum = OcupacaoSearchDateField.DataBaseCaixa;\r\n }\r\n}\r\n\r\nexport enum PorOcupacaoTipo {\r\n PorSuite, PorClasse, PorPermanencia\r\n}\r\n\r\nexport enum OcupacaoSearchDateField {\r\n DataBaseCaixa,\r\n Entrada,\r\n Saida\r\n}\r\n\r\nexport enum OcupacaoSearchTipoEntrada {\r\n Todas,\r\n Auto,\r\n Manual\r\n}","import { OcupacaoSearchDateField } from \"./ocupacao-search-setting\";\r\nimport { SearchSetting } from \"./search-setting\";\r\n\r\n\r\nexport class ConsumoProdutoSearchSetting extends SearchSetting {\r\n porPeriodoHora?: boolean;\r\n horaInicial?: number;\r\n horaFinal?: number;\r\n minutoInicial?: number;\r\n minutoFinal?: number;\r\n exibeVendas: boolean;\r\n exibeConsumoInterno: boolean;\r\n operadorId?: number;\r\n\r\n dateFieldEnum: OcupacaoSearchDateField;\r\n\r\n constructor() {\r\n super();\r\n this.dateFieldEnum = OcupacaoSearchDateField.DataBaseCaixa;\r\n this.exibeVendas = true;\r\n this.exibeConsumoInterno = true;\r\n this.horaInicial = 0;\r\n this.minutoInicial = 0;\r\n this.horaFinal = 23;\r\n this.minutoFinal = 59;\r\n }\r\n}\r\n","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class DuplicataSearchSetting extends SearchSetting {\r\n exibeQuitado: boolean;\r\n exibeParcial: boolean;\r\n exibeEmAberto: boolean;\r\n pessoaId?: number;\r\n grupoId?: number;\r\n marcadorId?: number;\r\n ultimosCadastrados : boolean = false;\r\n\r\n constructor(public isDespesa: boolean, propChanged?: () => void) {\r\n super(propChanged);\r\n this.exibeQuitado = false;\r\n this.exibeParcial = false;\r\n this.exibeEmAberto = false;\r\n this.ordem = \"Vencimento\";\r\n }\r\n}","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class ProdutoSearchSetting extends SearchSetting {\r\n exibeNaoControladoEstoque: boolean;\r\n exibeApenasMostraRecepcao: boolean;\r\n exibeImprimiCozinha: boolean;\r\n exibeHePrato: boolean;\r\n grupos?: number[];\r\n\r\n constructor() {\r\n super();\r\n \r\n this.exibeNaoControladoEstoque = true;\r\n this.exibeApenasMostraRecepcao = false;\r\n this.exibeInativo = false;\r\n this.exibeImprimiCozinha = false;\r\n this.exibeHePrato = false;\r\n }\r\n}","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class SuitesIntervencoesSetting extends SearchSetting {\r\n suites?: number[];\r\n operadores?: number[];\r\n camareiras?: number[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportFileService {\r\n\r\n empresaNomeFile? : string;\r\n constructor() { }\r\n\r\n start(empresaNomeFile : string)\r\n {\r\n this.empresaNomeFile = empresaNomeFile;\r\n }\r\n\r\n exportarExcel(r : any, fileName : string)\r\n {\r\n const blob = new Blob([r], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n FileSaver.saveAs(blob, `${fileName}.${this.empresaNomeFile}.xlsx`);\r\n }\r\n printHtml(r : any)\r\n {\r\n const blob = new Blob([r], { type: 'text/html' });\r\n const url = window.URL.createObjectURL(blob);\r\n const w = window.open(url, '_blank', 'noreferrer');\r\n w?.print();\r\n }\r\n}\r\n","\nexport class FocusService {\n //_items: HTMLElement[] | undefined;\n _element: HTMLElement | undefined | null;\n\n constructor() {\n }\n\n hasInit(): boolean {\n return this._element !== undefined;\n }\n\n registerElementById(name: string) {\n this.registerElement(document.getElementById(name));\n }\n registerElement(element: HTMLElement | null | undefined) {\n if (element === null || element === undefined) return;\n this._element = element;\n //this._items = this.getItems();\n console.info(element);\n element.addEventListener('keydown', (ev) => this.handleKeyboardEvent(ev));\n }\n\n registerWindow() {\n this._element = null;\n //this._items = this.getItems();\n window.addEventListener('keydown', (ev) => this.handleKeyboardEvent(ev));\n }\n\n unregisterElementById(name: string) {\n this.unregisterElement(document.getElementById(name));\n }\n\n unregisterElement(element: HTMLElement | null | undefined) {\n if (element === null || element === undefined) return;\n element.removeEventListener('keydown', (ev) => this.handleKeyboardEvent(ev));\n }\n\n private handleKeyboardEvent(event: any) {\n if (event.keyCode !== 13) return;\n if (event.target.nodeName === \"BUTTON\") return;\n\n const items: HTMLElement[] = this.getItems();\n const index = Array.prototype.indexOf.call(items, event.target);\n const nextIndex = index + 1;\n if (nextIndex > items.length - 1)\n return;\n const i = items[index + 1] as HTMLElement;\n\n if (i.tabIndex > -1)\n i.focus();\n event.preventDefault();\n }\n\n setFirst() {\n const el = this.getItems()[0];//[0];\n if (el !== undefined) el.focus();\n }\n\n private getItems(): HTMLElement[] {\n const query =\n this._element !== null && this._element !== undefined ?\n this._element.querySelectorAll('input,button, [tabindex]:not([tabindex=\"-1\"])') :\n document.querySelectorAll('input,button, [tabindex]:not([tabindex=\"-1\"])');\n\n const items: HTMLElement[] = [];\n for (let index = 0; index < query.length; index++) {\n const el = query[index] as HTMLElement;\n if (el.tabIndex > 0)\n items.push(el);\n }\n return items;\n }\n\n set(id: string): void {\n const el = document.getElementById(id);\n if (el === null) return;\n el.focus();\n }\n}\n","import { Injectable, } from '@angular/core';\r\nimport { RadioButtonGroupData } from '../../public-api';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Preferences {\r\n constructor() {\r\n }\r\n\r\n loadGroup(key: string, list: RadioButtonGroupData[], defaultValue : any): any {\r\n const t = localStorage.getItem(key);\r\n if (t === null) return defaultValue;\r\n let defValue: any;\r\n for (let i = 0; i < list.length; i++) {\r\n const item = list[i];\r\n const isDefault = (item.value + '') === t;\r\n item.default = isDefault;\r\n if (isDefault)\r\n defValue = item.value;\r\n }\r\n return defValue;\r\n }\r\n\r\n load<T>(key: string, defaultValue : T) : T\r\n {\r\n const json = localStorage.getItem(key);\r\n if (json === null) return defaultValue;\r\n return JSON.parse(json);\r\n }\r\n\r\n saveGroup(key: string, data : RadioButtonGroupData) {\r\n localStorage.setItem(key, data.value);\r\n }\r\n\r\n save<T>(key: string, obj : T)\r\n {\r\n const json = JSON.stringify(obj);\r\n localStorage.setItem(key, json);\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\n\n\nconst SM_WIDTH = 576;\nconst MD_WIDTH = 768;\nconst LG_WIDTH = 992;\nconst XL_WIDTH = 1200;\nconst XXL_WIDTH = 1400;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScreenHelperService {\n changedMobileScreen = new EventEmitter<boolean>();\n changedMediumScreen = new EventEmitter<boolean>();\n changedLargeScreen = new EventEmitter<boolean>();\n changedXLargeScreen = new EventEmitter<boolean>();\n changedXXLargeScreen = new EventEmitter<boolean>();\n \n changedMinSmallScreen = new EventEmitter<boolean>();\n changedMinMediumScreen = new EventEmitter<boolean>();\n changedMinLargeScreen = new EventEmitter<boolean>();\n changedMinXLargeScreen = new EventEmitter<boolean>();\n changedMinXXLargeScreen = new EventEmitter<boolean>();\n \n mobileScreen: boolean = false;\n isMedium: boolean= false;\n isLarge: boolean= false;\n isXLarge : boolean= false;\n isXXLarge : boolean= false;\n \n minSmall : boolean = false;\n minMedium : boolean = false;\n minLarge : boolean = false;\n minXLarge : boolean = false;\n minXXLarge : boolean = false;\n\n constructor() {\n this.determinaMobileScreen();\n window.addEventListener('resize', (event) => {\n this.determinaMobileScreen();\n });\n }\n\n determinaMobileScreen() {\n const width = window.innerWidth;\n\n const isSmall = width <= SM_WIDTH;\n const isMedium = width <= MD_WIDTH;\n const isLarge = width <= LG_WIDTH;\n const isXLarge = width <= XL_WIDTH;\n const isXXLarge = width <= XXL_WIDTH;\n \n const minSmall = width >= SM_WIDTH;\n const minMedium = width >= MD_WIDTH;\n const minLarge = width >= LG_WIDTH;\n const minXLarge = width >= XL_WIDTH;\n const minXXLarge = width >= XXL_WIDTH;\n\n if (isSmall !== this.mobileScreen) {\n this.changedMobileScreen.emit(isSmall);\n this.mobileScreen = isSmall;\n }\n if (isMedium !== this.isMedium) {\n this.changedMediumScreen.emit(isMedium);\n this.isMedium = isMedium;\n }\n if (isLarge !== this.isLarge) {\n this.changedLargeScreen.emit(isLarge);\n this.isLarge = isLarge;\n }\n if (isXLarge !== this.isXLarge) {\n this.changedXLargeScreen.emit(isXLarge);\n this.isXLarge = isXLarge;\n }\n if (isXXLarge !== this.isXXLarge) {\n this.changedXXLargeScreen.emit(isXXLarge);\n this.isXXLarge = isXXLarge;\n }\n\n \n if (minSmall !== this.minSmall) {\n this.changedMinSmallScreen.emit(isSmall);\n this.minMedium = isSmall;\n }\n if (minMedium !== this.minMedium) {\n this.changedMinMediumScreen.emit(isMedium);\n this.minMedium = isMedium;\n }\n if (minLarge !== this.minLarge) {\n this.changedMinLargeScreen.emit(minLarge);\n this.minLarge = minLarge;\n }\n if (minXLarge !== this.minXLarge) {\n this.changedMinXLargeScreen.emit(minXLarge);\n this.minXLarge = minXLarge;\n }\n if (minXXLarge !== this.minXXLarge) {\n this.changedMinXXLargeScreen.emit(minXXLarge);\n this.minXXLarge = minXXLarge;\n }\n }\n}\n","/*\n * Public API Surface of oxpi-nglib\n */\n\n//export * from './lib/oxpi-nglib.service';\nexport * from './lib/controls/busy-indicator/busy-indicator.component';\nexport * from './lib/controls/check-button/check-button.component';\nexport * from './lib/controls/image-viewer/image-viewer.component';\nexport * from './lib/controls/month-year-picker/month-year-picker.component';\nexport * from './lib/controls/numeric-picker/numeric-picker.component';\nexport * from './lib/controls/paginator/paginator.component';\nexport * from './lib/controls/radio-button-group/radio-button-group.component';\nexport * from './lib/controls/item-card/item-card.component';\nexport * from './lib/controls/alert-dialog/alert-dialog.component';\nexport * from './lib/oxpi-nglib.module';\n\nexport * from './lib/models/entidades/login-item';\nexport * from './lib/models/entidades/login-result';\nexport * from './lib/models/entidades/permissoes';\nexport * from './lib/models/entidades/sensores-def';\nexport * from './lib/models/entidades/usuario';\n\nexport * from './lib/models/infra/busy-state';\nexport * from './lib/models/infra/lazy-trigger';\nexport * from './lib/models/infra/number-parser';\nexport * from './lib/models/infra/ordem';\nexport * from './lib/models/infra/paging-result';\nexport * from './lib/models/infra/utils-methods';\nexport * from './lib/models/infra/validations';\nexport * from './lib/models/infra/selecao-utils';\n\nexport * from './lib/animations/animations';\n\nexport * from './lib/models/settings/PagamentoRecebimentoSearchSetting';\nexport * from './lib/models/settings/consumo-produto-search-setting';\nexport * from './lib/models/settings/duplicata-search-setting';\nexport * from './lib/models/settings/ocupacao-filter-setting';\nexport * from './lib/models/settings/ocupacao-search-setting';\nexport * from './lib/models/settings/search-setting';\nexport * from './lib/models/settings/produto-search-setting';\nexport * from './lib/models/settings/suites-intervencoes-setting';\n\nexport * from './lib/providers/export.file.service';\nexport * from './lib/providers/focus.service';\nexport * from './lib/providers/preference.service';\nexport * from './lib/providers/safe-html.pipe';\nexport * from './lib/providers/screen-helper.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.CheckButtonComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oxpi-nglib.mjs","sources":["../../../projects/oxpi-nglib/src/lib/models/infra/validations.ts","../../../projects/oxpi-nglib/src/lib/models/entidades/funcionario.ts","../../../projects/oxpi-nglib/src/lib/providers/focus.service.ts","../../../projects/oxpi-nglib/src/lib/providers/common-web-service.ts","../../../projects/oxpi-nglib/src/lib/providers/notification.service.ts","../../../projects/oxpi-nglib/src/lib/providers/screen-helper.service.ts","../../../projects/oxpi-nglib/src/lib/controls/busy-indicator/busy-indicator.component.ts","../../../projects/oxpi-nglib/src/lib/controls/busy-indicator/busy-indicator.component.html","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.ts","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionario-form/funcionario-form.component.html","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.ts","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component.html","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.ts","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component.html","../../../projects/oxpi-nglib/src/lib/animations/animations.ts","../../../projects/oxpi-nglib/src/lib/models/infra/lazy-trigger.ts","../../../projects/oxpi-nglib/src/lib/controls/alert-dialog/alert-dialog.component.ts","../../../projects/oxpi-nglib/src/lib/controls/alert-dialog/alert-dialog.component.html","../../../projects/oxpi-nglib/src/lib/models/infra/selecao-utils.ts","../../../projects/oxpi-nglib/src/lib/models/settings/search-setting.ts","../../../projects/oxpi-nglib/src/lib/providers/auth-data.service.ts","../../../projects/oxpi-nglib/src/lib/controls/item-card/item-card.component.ts","../../../projects/oxpi-nglib/src/lib/controls/item-card/item-card.component.html","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionarios/funcionarios.component.ts","../../../projects/oxpi-nglib/src/lib/cadastros/funcionarios/funcionarios/funcionarios.component.html","../../../projects/oxpi-nglib/src/lib/controls/check-button/check-button.component.ts","../../../projects/oxpi-nglib/src/lib/controls/check-button/check-button.component.html","../../../projects/oxpi-nglib/src/lib/controls/image-viewer/image-viewer.component.ts","../../../projects/oxpi-nglib/src/lib/controls/image-viewer/image-viewer.component.html","../../../projects/oxpi-nglib/src/lib/controls/month-year-picker/month-year-picker.component.ts","../../../projects/oxpi-nglib/src/lib/controls/month-year-picker/month-year-picker.component.html","../../../projects/oxpi-nglib/src/lib/controls/numeric-picker/numeric-picker.component.ts","../../../projects/oxpi-nglib/src/lib/controls/numeric-picker/numeric-picker.component.html","../../../projects/oxpi-nglib/src/lib/controls/paginator/paginator.component.ts","../../../projects/oxpi-nglib/src/lib/controls/paginator/paginator.component.html","../../../projects/oxpi-nglib/src/lib/controls/radio-button-group/radio-button-group.component.ts","../../../projects/oxpi-nglib/src/lib/controls/radio-button-group/radio-button-group.component.html","../../../projects/oxpi-nglib/src/lib/providers/safe-html.pipe.ts","../../../projects/oxpi-nglib/src/lib/oxpi-nglib.module.ts","../../../projects/oxpi-nglib/src/lib/models/infra/busy-state.ts","../../../projects/oxpi-nglib/src/lib/models/infra/number-parser.ts","../../../projects/oxpi-nglib/src/lib/models/infra/ordem.ts","../../../projects/oxpi-nglib/src/lib/models/infra/utils-methods.ts","../../../projects/oxpi-nglib/src/lib/models/settings/PagamentoRecebimentoSearchSetting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/ocupacao-filter-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/ocupacao-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/consumo-produto-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/duplicata-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/produto-search-setting.ts","../../../projects/oxpi-nglib/src/lib/models/settings/suites-intervencoes-setting.ts","../../../projects/oxpi-nglib/src/lib/providers/export.file.service.ts","../../../projects/oxpi-nglib/src/lib/providers/preference.service.ts","../../../projects/oxpi-nglib/src/public-api.ts","../../../projects/oxpi-nglib/src/oxpi-nglib.ts"],"sourcesContent":["export function valTextEmpty(v: string): boolean {\r\n return v === null ||\r\n v === undefined ||\r\n v.trim() === '';\r\n}\r\nexport function valNumberEmpty(v: number): boolean {\r\n return v === null ||\r\n v === undefined ||\r\n v === 0;\r\n}\r\nexport function valTextMax(v: string, max: number) {\r\n return v.length > max;\r\n}\r\n\r\nexport function valNumberMin(v: number, min: number) {\r\n if (v === null || v === undefined)\r\n return true;\r\n return v <= min;\r\n}\r\n","import { FocusService } from \"../../providers/focus.service\";\r\nimport { valNumberEmpty, valTextEmpty } from \"../infra/validations\";\r\n\r\n\r\nexport interface Funcionario{\r\n id : number;\r\n nome : string;\r\n cargoId : number;\r\n login : string;\r\n senha : string;\r\n enviadoPC : boolean; \r\n isAtivo: boolean;\r\n}\r\n\r\nexport interface FuncionarioCargo\r\n{\r\n id : number;\r\n nome : string;\r\n}\r\n\r\nexport function valida(item: Funcionario, focus: FocusService): string | null {\r\n if (valTextEmpty(item.nome)) {\r\n focus.set('nome');\r\n return 'Digite um nome válido.';\r\n }\r\n if (valNumberEmpty(item.cargoId)) {\r\n return 'Escolha um cargo.';\r\n }\r\n return null;\r\n}","\nexport class FocusService {\n //_items: HTMLElement[] | undefined;\n _element: HTMLElement | undefined | null;\n\n constructor() {\n }\n\n hasInit(): boolean {\n return this._element !== undefined;\n }\n\n registerElementById(name: string) {\n this.registerElement(document.getElementById(name));\n }\n registerElement(element: HTMLElement | null | undefined) {\n if (element === null || element === undefined) return;\n this._element = element;\n //this._items = this.getItems();\n console.info(element);\n element.addEventListener('keydown', (ev) => this.handleKeyboardEvent(ev));\n }\n\n registerWindow() {\n this._element = null;\n //this._items = this.getItems();\n window.addEventListener('keydown', (ev) => this.handleKeyboardEvent(ev));\n }\n\n unregisterElementById(name: string) {\n this.unregisterElement(document.getElementById(name));\n }\n\n unregisterElement(element: HTMLElement | null | undefined) {\n if (element === null || element === undefined) return;\n element.removeEventListener('keydown', (ev) => this.handleKeyboardEvent(ev));\n }\n\n private handleKeyboardEvent(event: any) {\n if (event.keyCode !== 13) return;\n if (event.target.nodeName === \"BUTTON\") return;\n\n const items: HTMLElement[] = this.getItems();\n const index = Array.prototype.indexOf.call(items, event.target);\n const nextIndex = index + 1;\n if (nextIndex > items.length - 1)\n return;\n const i = items[index + 1] as HTMLElement;\n\n if (i.tabIndex > -1)\n i.focus();\n event.preventDefault();\n }\n\n setFirst() {\n const el = this.getItems()[0];//[0];\n if (el !== undefined) el.focus();\n }\n\n private getItems(): HTMLElement[] {\n const query =\n this._element !== null && this._element !== undefined ?\n this._element.querySelectorAll('input,button, [tabindex]:not([tabindex=\"-1\"])') :\n document.querySelectorAll('input,button, [tabindex]:not([tabindex=\"-1\"])');\n\n const items: HTMLElement[] = [];\n for (let index = 0; index < query.length; index++) {\n const el = query[index] as HTMLElement;\n if (el.tabIndex > 0)\n items.push(el);\n }\n return items;\n }\n\n set(id: string): void {\n const el = document.getElementById(id);\n if (el === null) return;\n el.focus();\n }\n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Funcionario, FuncionarioCargo } from '../models/entidades/funcionario';\r\nimport { SearchSetting } from '../models/settings/search-setting';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class CommonWebService { \r\n ROOT_URL : string = '';\r\n FUNCIONARIO_BASE_URL : string = '';\r\n FUNCIONARIO_CARGO_BASE_URL : string = '';\r\n token : string = '';\r\n static URL_PART_BUSCA = \"Busca/\";\r\n static URL_PART_NEXT_ID = \"GetNextId/\";\r\n static URL_PART_BUSCA_PAGINADA = \"BuscaPaginada/\";\r\n\r\n constructor(private http: HttpClient) { }\r\n \r\n setToken(token : string)\r\n {\r\n this.token = token;\r\n }\r\n start(rootUrl : string)\r\n {\r\n this.ROOT_URL = rootUrl;\r\n this.FUNCIONARIO_BASE_URL = rootUrl + \"Funcionario/\";\r\n this.FUNCIONARIO_CARGO_BASE_URL = rootUrl + \"FuncionarioCargo/\";\r\n }\r\n \r\n getFuncionarios(): Observable<Funcionario[]> {\r\n const url = this.FUNCIONARIO_BASE_URL;\r\n return this.http.get<Funcionario[]>(url, this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n getFuncionariosCargos(): Observable<FuncionarioCargo[]> {\r\n const url = this.FUNCIONARIO_CARGO_BASE_URL;\r\n return this.http.get<FuncionarioCargo[]>(url, this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n\r\n buscaFuncionario(setting : SearchSetting): Observable<Funcionario[]> {\r\n const url = this.FUNCIONARIO_BASE_URL + CommonWebService.URL_PART_BUSCA;\r\n return this.http.post<Funcionario[]>(url, JSON.stringify(setting), this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n getNextIdFuncionario(): Observable<number> {\r\n const url = this.FUNCIONARIO_BASE_URL + CommonWebService.URL_PART_NEXT_ID;\r\n return this.http.get<number>(url, this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n getAllFuncionario(): Observable<number> {\r\n const url = this.FUNCIONARIO_BASE_URL;\r\n return this.http.get<number>(url, this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n saveFuncionario(s: Funcionario): Observable<any> {\r\n const url = this.FUNCIONARIO_BASE_URL;\r\n return this.http.post<any>(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n addFuncionario(p : Funcionario): Observable<any> {\r\n const url = this.FUNCIONARIO_BASE_URL;\r\n return this.http.put<any>(url, JSON.stringify(p), this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n deleteFuncionario(id : number): Observable<any> {\r\n const url = this.FUNCIONARIO_BASE_URL + id;\r\n return this.http.delete<any>(url, this.getHttpOptions()).pipe(map(data => data));\r\n }\r\n\r\n getHttpOptions(parameters?: HttpParams) {\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n \"Accept\": \"application/json\",\r\n \"Authorization\": 'token ' + this.token,\r\n }),\r\n params: parameters\r\n }\r\n }\r\n \r\n getExcelOptions(parameters?: HttpParams) {\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n \"Accept\": \"application/json\",\r\n \"Authorization\": 'token ' + this.token,\r\n }),\r\n params: parameters,\r\n responseType: 'arraybuffer' as 'json',\r\n };\r\n }\r\n \r\n getHtmlOptions(parameters?: HttpParams) {\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n \"Accept\": \"application/json\",\r\n \"Authorization\": 'token ' + this.token,\r\n }),\r\n params: parameters,\r\n responseType: 'text' as 'json',\r\n };\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n\r\n constructor(public snackBar: MatSnackBar) {\r\n }\r\n\r\n showHttpError(res: HttpErrorResponse) {\r\n this.snackBar.open(`Ocorreu um erro de conexão. Erro ${res.status}: ${res.statusText}`);\r\n }\r\n showMsg(msg: string) {\r\n this.snackBar.open(msg);\r\n }\r\n showMsgError(msg: string) {\r\n this.snackBar.open(msg, undefined, {\r\n duration: 2000,\r\n panelClass: ['red-snackbar']\r\n });\r\n }\r\n}","import { Injectable, EventEmitter } from '@angular/core';\n\n\nconst SM_WIDTH = 576;\nconst MD_WIDTH = 768;\nconst LG_WIDTH = 992;\nconst XL_WIDTH = 1200;\nconst XXL_WIDTH = 1400;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScreenHelperService {\n changedMobileScreen = new EventEmitter<boolean>();\n changedMediumScreen = new EventEmitter<boolean>();\n changedLargeScreen = new EventEmitter<boolean>();\n changedXLargeScreen = new EventEmitter<boolean>();\n changedXXLargeScreen = new EventEmitter<boolean>();\n \n changedMinSmallScreen = new EventEmitter<boolean>();\n changedMinMediumScreen = new EventEmitter<boolean>();\n changedMinLargeScreen = new EventEmitter<boolean>();\n changedMinXLargeScreen = new EventEmitter<boolean>();\n changedMinXXLargeScreen = new EventEmitter<boolean>();\n \n mobileScreen: boolean = false;\n isMedium: boolean= false;\n isLarge: boolean= false;\n isXLarge : boolean= false;\n isXXLarge : boolean= false;\n \n minSmall : boolean = false;\n minMedium : boolean = false;\n minLarge : boolean = false;\n minXLarge : boolean = false;\n minXXLarge : boolean = false;\n\n constructor() {\n this.determinaMobileScreen();\n window.addEventListener('resize', (event) => {\n this.determinaMobileScreen();\n });\n }\n\n determinaMobileScreen() {\n const width = window.innerWidth;\n\n const isSmall = width <= SM_WIDTH;\n const isMedium = width <= MD_WIDTH;\n const isLarge = width <= LG_WIDTH;\n const isXLarge = width <= XL_WIDTH;\n const isXXLarge = width <= XXL_WIDTH;\n \n const minSmall = width >= SM_WIDTH;\n const minMedium = width >= MD_WIDTH;\n const minLarge = width >= LG_WIDTH;\n const minXLarge = width >= XL_WIDTH;\n const minXXLarge = width >= XXL_WIDTH;\n\n if (isSmall !== this.mobileScreen) {\n this.changedMobileScreen.emit(isSmall);\n this.mobileScreen = isSmall;\n }\n if (isMedium !== this.isMedium) {\n this.changedMediumScreen.emit(isMedium);\n this.isMedium = isMedium;\n }\n if (isLarge !== this.isLarge) {\n this.changedLargeScreen.emit(isLarge);\n this.isLarge = isLarge;\n }\n if (isXLarge !== this.isXLarge) {\n this.changedXLargeScreen.emit(isXLarge);\n this.isXLarge = isXLarge;\n }\n if (isXXLarge !== this.isXXLarge) {\n this.changedXXLargeScreen.emit(isXXLarge);\n this.isXXLarge = isXXLarge;\n }\n\n \n if (minSmall !== this.minSmall) {\n this.changedMinSmallScreen.emit(isSmall);\n this.minMedium = isSmall;\n }\n if (minMedium !== this.minMedium) {\n this.changedMinMediumScreen.emit(isMedium);\n this.minMedium = isMedium;\n }\n if (minLarge !== this.minLarge) {\n this.changedMinLargeScreen.emit(minLarge);\n this.minLarge = minLarge;\n }\n if (minXLarge !== this.minXLarge) {\n this.changedMinXLargeScreen.emit(minXLarge);\n this.minXLarge = minXLarge;\n }\n if (minXXLarge !== this.minXXLarge) {\n this.changedMinXXLargeScreen.emit(minXXLarge);\n this.minXXLarge = minXXLarge;\n }\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'ox-busy-indicator',\n templateUrl: './busy-indicator.component.html',\n styleUrls: ['./busy-indicator.component.scss']\n})\nexport class BusyIndicatorComponent implements OnInit {\n @Input() isBusy: boolean = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<div class=\"busy-indicator-container\" *ngIf=\"isBusy\">\n <div class=\"busy-indicator\"></div>\n</div>","import { Component, Input, OnInit } from '@angular/core';\nimport { Funcionario, FuncionarioCargo } from '../../../models/entidades/funcionario';\nimport { CommonWebService } from '../../../providers/common-web-service';\n\n@Component({\n selector: 'ox-funcionario-form',\n templateUrl: './funcionario-form.component.html',\n styleUrls: ['./funcionario-form.component.scss']\n})\nexport class FuncionarioFormComponent implements OnInit {\n @Input() model? : Funcionario;\n isBusy: boolean = false;\n cargos : FuncionarioCargo[] = [];\n\n constructor(private ws: CommonWebService) { }\n\n ngOnInit(): void {\n this.getCargos();\n }\n\n getCargos() {\n this.isBusy = true;\n this.ws.getFuncionariosCargos()\n .subscribe(r => {\n this.cargos = r;\n console.info(r);\n this.isBusy = false;\n }, err => {\n this.isBusy = false;\n });\n }\n\n}\n","<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"form-group\" *ngIf=\"model\">\n <label for=\"nome\">Nome</label>\n <input id=\"nome\" [(ngModel)]=\"model.nome\" required class=\"form-control input-300\" tabindex=\"2\">\n</div>\n<div class=\"form-group\" *ngIf=\"model\">\n <label for=\"cargo\">Cargo</label>\n <mat-select id=\"cargo\" [(value)]=\"model.cargoId\" tabindex=\"2\"\n class=\"form-control input-300\" color=\"primary\">\n <mat-option *ngFor=\"let m of cargos\" [value]=\"m.id\">\n {{m.nome}}\n </mat-option>\n </mat-select>\n</div>","import { Component, ElementRef, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Funcionario, valida } from '../../../models/entidades/funcionario';\nimport { CommonWebService } from '../../../providers/common-web-service';\nimport { FocusService } from '../../../providers/focus.service';\nimport { NotificationService } from '../../../providers/notification.service';\nimport { ScreenHelperService } from '../../../providers/screen-helper.service';\n\n\n@Component({\n selector: 'ox-funcionario-add-dialog',\n templateUrl: './funcionario-add-dialog.component.html',\n styleUrls: ['./funcionario-add-dialog.component.scss']\n})\nexport class FuncionarioAddDialogComponent implements OnInit {\n model: Funcionario;\n mobile: boolean;\n isBusy: boolean = false;\n focus : FocusService = new FocusService();\n\n constructor(private ws: CommonWebService,\n private notification: NotificationService,\n @Inject(MAT_DIALOG_DATA)\n public dataDialog: Funcionario,\n public dialog: MatDialog, \n private elRef: ElementRef,\n private dialogRef: MatDialogRef<FuncionarioAddDialogComponent>,\n private screenHelper: ScreenHelperService) {\n this.model = { \n id: 0,\n nome: '',\n login: '',\n senha: '',\n enviadoPC: false,\n isAtivo: true,\n cargoId: 1\n };\n this.mobile = this.screenHelper.isMedium;\n\n this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);\n }\n\n\n ngOnInit(): void {\n this.focus.registerElement(this.elRef.nativeElement);\n }\n ngOnDestroy(): void {\n this.focus.unregisterElement(this.elRef.nativeElement);\n }\n\n salvar() {\n if (this.model) return;\n const valMsg = valida(this.model, this.focus);\n if (valMsg)\n {\n this.notification.showMsgError(valMsg);\n return;\n }\n\n this.isBusy = true;\n this.ws.addFuncionario(this.model)\n .subscribe(r => {\n this.isBusy = false;\n this.notification.showMsg(\"Salvo com sucesso.\");\n if (this.dialogRef)\n this.dialogRef.close(true);\n }, err => {\n this.isBusy = false;\n this.notification.showMsg(err.error);\n });\n }\n\n}\n","<div class=\"header\">\n <h2 class=\"titulo\">Novo Funcionário</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <ox-funcionario-form [model]=\"model\" *ngIf=\"model\"></ox-funcionario-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>","import { Component, ElementRef, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Funcionario, valida } from '../../../models/entidades/funcionario';\nimport { CommonWebService } from '../../../providers/common-web-service';\nimport { FocusService } from '../../../providers/focus.service';\nimport { NotificationService } from '../../../providers/notification.service';\nimport { ScreenHelperService } from '../../../providers/screen-helper.service';\n\n@Component({\n selector: 'ox-funcionario-edit-dialog',\n templateUrl: './funcionario-edit-dialog.component.html',\n styleUrls: ['./funcionario-edit-dialog.component.scss']\n})\nexport class FuncionarioEditDialogComponent implements OnInit {\n model?: Funcionario;\n mobile: boolean;\n isBusy: boolean = false;\n focus : FocusService = new FocusService();\n\n constructor(private ws: CommonWebService,\n private notification: NotificationService,\n @Inject(MAT_DIALOG_DATA)\n public dataDialog: Funcionario,\n public dialog: MatDialog, \n private elRef: ElementRef,\n private dialogRef: MatDialogRef<FuncionarioEditDialogComponent>,\n private screenHelper: ScreenHelperService) {\n if (dataDialog) {\n this.model = dataDialog;\n }\n this.mobile = this.screenHelper.isMedium;\n\n this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);\n }\n\n\n ngOnInit(): void {\n this.focus.registerElement(this.elRef.nativeElement);\n }\n ngOnDestroy(): void {\n this.focus.unregisterElement(this.elRef.nativeElement);\n }\n\n salvar() {\n if (!this.model) return;\n const valMsg = valida(this.model, this.focus);\n if (valMsg)\n {\n this.notification.showMsgError(valMsg);\n return;\n }\n\n this.isBusy = true;\n this.ws.saveFuncionario(this.model)\n .subscribe(r => {\n this.isBusy = false;\n this.notification.showMsg(\"Salvo com sucesso.\");\n if (this.dialogRef)\n this.dialogRef.close(true);\n }, err => {\n this.isBusy = false;\n this.notification.showMsg(err.error);\n });\n }\n\n}\n","<div class=\"header\">\n <h2 class=\"titulo\">Editando Funcionário</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\">\n <ox-funcionario-form [model]=\"model\" *ngIf=\"model\"></ox-funcionario-form>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport const fadeAnimation = trigger(\r\n 'fade',\r\n [\r\n transition(\r\n ':enter', [\r\n style({ transform: 'translateY(100%)', opacity: 0 }),\r\n animate('250ms', style({ transform: 'translateY(0)', 'opacity': 1 }))\r\n ]\r\n ),\r\n transition(\r\n ':leave', [\r\n style({ transform: 'translateY(0)', 'opacity': 1 }),\r\n animate('250ms', style({ transform: 'translateY(100%)', 'opacity': 0 })),\r\n ])]\r\n )\r\n\r\n\r\n export const menuLateralAnimation = trigger(\r\n 'menuLateral',\r\n [\r\n transition(\r\n ':enter', [\r\n style({ transform: 'translateX(-100%)', opacity: 1 }),\r\n animate('200ms', style({ transform: 'translateX(0)', 'opacity': 1 }))\r\n ]\r\n ),\r\n transition(\r\n ':leave', [\r\n style({ 'opacity': 1 }),\r\n animate('200ms', style({ 'opacity': 0 })),\r\n ])]\r\n )\r\n","export class LazyTrigger {\r\n lazyTimeoutId?: number;\r\n constructor(private doFunc : ()=> void, private timeout : number = 800)\r\n {\r\n }\r\n fire() {\r\n console.debug(\"lazyTimeoutId\");\r\n if (this.lazyTimeoutId != undefined)\r\n clearTimeout(this.lazyTimeoutId);\r\n this.lazyTimeoutId = window.setTimeout(() => { this.doFunc(); }, this.timeout);\r\n }\r\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent implements OnInit {\n\n constructor(\n public dialogRef: MatDialogRef<AlertDialogComponent>,\n @Inject(MAT_DIALOG_DATA)\n public args: AlertDialogArgs) { }\n\n ngOnInit(): void {\n }\n\n}\n\nexport interface AlertDialogArgs\n{\n titulo : string;\n msg : string;\n}","<h1 mat-dialog-title>{{args.titulo}}</h1>\n<div mat-dialog-content>\n <p>{{args.msg}}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <button mat-button [mat-dialog-close]=\"false\">Cancelar</button>\n <button mat-button [mat-dialog-close]=\"true\" cdkFocusInitial>Continuar</button>\n</mat-dialog-actions>","import { MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { AlertDialogArgs, AlertDialogComponent } from \"../../controls/alert-dialog/alert-dialog.component\";\r\n\r\nexport interface SelecaoDialog<TItem, TDialog> {\r\n selectedItem: TItem;\r\n dialogRef: MatDialogRef<TDialog>;\r\n items: TItem[];\r\n}\r\nexport class NavegacaoSelecaoDialogUtil<TItem, TDialog>\r\n{\r\n constructor(private view: SelecaoDialog<TItem, TDialog>) {\r\n }\r\n\r\n onKeyDown(event: KeyboardEvent) {\r\n console.info(event.keyCode);\r\n let key = event.keyCode;\r\n const selected = this.view.selectedItem;\r\n const enterKey = 13, keyDown = 40, keyUp = 38;\r\n if (key === enterKey) {\r\n event.cancelBubble = true;\r\n if (selected !== null && selected !== undefined)\r\n {\r\n this.view.dialogRef.close(selected);\r\n return;\r\n }\r\n key = keyDown;\r\n }\r\n if (key !== keyDown && key !== keyUp) return;\r\n let index = this.view.items.indexOf(selected, 0);\r\n if (key === keyDown) index++;\r\n if (key === keyUp && index > 0) index--;\r\n\r\n if (index > (this.view.items.length - 1)) return;\r\n this.view.selectedItem = this.view.items[index];\r\n }\r\n}\r\n\r\nexport function confirmaExclusao(\r\n dialog : MatDialog, \r\n msg : string, \r\n continueFunc : () => void)\r\n {\r\n const args : AlertDialogArgs =\r\n {\r\n titulo: \"Atenção\",\r\n msg: msg\r\n }\r\n const dialogRef = dialog.open(AlertDialogComponent, {\r\n data: args \r\n });\r\n dialogRef.afterClosed().subscribe(dialogResult => {\r\n if (dialogResult !== true) return;\r\n continueFunc(); \r\n });\r\n }","\r\nexport class SearchSetting {\r\n frase?: string;\r\n exibeInativo?: boolean;\r\n inicial: Date;\r\n final: Date;\r\n modo: SearchMode;\r\n mes: number;\r\n ano: number;\r\n ordem?: string;\r\n ordemDecrescente?: boolean;\r\n dateField?: string;\r\n\r\n constructor(private propChanged?: () => void) {\r\n const now = new Date();\r\n const hj = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);\r\n console.info(hj);\r\n this.modo = SearchMode.Mensal;\r\n this.mes = hj.getMonth() + 1;\r\n this.ano = hj.getFullYear();\r\n\r\n this.inicial = hj.addDays(-30);\r\n this.final = hj;\r\n }\r\n\r\n set(prop: string, value: any) { \r\n const me = this as any; \r\n me[prop] = value;\r\n if (this.propChanged !== undefined)\r\n this.propChanged();\r\n }\r\n\r\n toStringArquivo() {\r\n const ini = this.inicial;\r\n const fim = this.final;\r\n if (this.modo === SearchMode.Mensal)\r\n return this.ano + \"_\" + this.mes;\r\n if (this.modo === SearchMode.Anual)\r\n return \"\" + this.ano;\r\n if (this.modo === SearchMode.Diario)\r\n return `${ini.getDate()}_${ini.getMonth() + 1}_${ini.getFullYear()}`;\r\n return `${ini.getDate()}_${ini.getMonth() + 1}_${ini.getFullYear()}_ate_${fim.getDate()}_${fim.getMonth() + 1}_${fim.getFullYear()}`;\r\n }\r\n\r\n _meses = [\"JANEIRO\", \"FEVEREIRO\", \"MARÇO\", \"ABRIL\", \"MAIO\", \"JUNHO\", \"JULHO\", \"AGOSTO\", \"SETEMBRO\", \"OUTUBRO\", \"NOVEMBRO\", \"DEZEMBRO\"];\r\n _mesesShort = [\"JAN\", \"FEV\", \"MAR\", \"ABR\", \"MAI\", \"JUN\", \"JUL\", \"AGO\", \"SET\", \"OUT\", \"NOV\", \"DEZ\"];\r\n getDatasTexto(short : boolean = false) {\r\n const ini = this.inicial;\r\n const fim = this.final;\r\n if (this.modo === SearchMode.Mensal && short)\r\n return this._mesesShort[this.mes - 1] + \" DE \" + this.ano;\r\n if (this.modo === SearchMode.Mensal)\r\n return this._meses[this.mes - 1] + \" DE \" + this.ano;\r\n if (this.modo === SearchMode.Anual)\r\n return \"\" + this.ano;\r\n if (this.modo === SearchMode.Diario)\r\n return `${ini.getDate()}/${ini.getMonth() + 1}/${ini.getFullYear()}`;\r\n return `${ini.getDate()}/${ini.getMonth() + 1}/${ini.getFullYear()} ATÉ ${fim.getDate()}/${fim.getMonth() + 1}/${fim.getFullYear()}`;\r\n }\r\n\r\n goNextMonth() {\r\n this.mes++;\r\n if (this.mes > 12) {\r\n this.mes = 1;\r\n this.ano += 1;\r\n }\r\n }\r\n\r\n goBackMonth() {\r\n this.mes--;\r\n if (this.mes < 1) {\r\n this.mes = 12;\r\n this.ano -= 1;\r\n }\r\n }\r\n}\r\nexport enum SearchMode {\r\n Mensal, Anual, Periodo, Diario\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { LoginResult } from '../models/entidades/login-result';\r\nimport { Permissoes } from '../models/entidades/permissoes';\r\nimport { SensoresDef } from '../models/entidades/sensores-def';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthDataService {\r\n isLoggedIn = false;\r\n token : string = ''; \r\n sensoresDef : SensoresDef = {energizacao: false, garagem: false, portaCliente: false, portaServico: false};\r\n permissoes : Permissoes = {\r\n gerencialCaixasAgrupadoMensal : false,\r\n financasLogin: false,\r\n financasDespesaAdd: false,\r\n financasDespesaUltimosCadastros: false,\r\n financasDespesaPesquisar: false,\r\n financasDespesaDelete: false,\r\n financasDespesaEditar: false,\r\n financasReceitaAdd: false,\r\n financasReceitaUltimosCadastros: false,\r\n financasReceitaPesquisar: false,\r\n financasReceitaDelete: false,\r\n financasReceitaEditar: false,\r\n financasClientePesquisa: false,\r\n financasClienteAdd: false,\r\n financasClienteDelete: false,\r\n financasFornecedorPesquisa: false,\r\n financasFornecedorAdd: false,\r\n financasFornecedorDelete: false,\r\n financasMarcadorPesquisa: false,\r\n financasMarcadorAdd: false,\r\n financasMarcadorDelete: false,\r\n financasDespesaGrupoPesquisa: false,\r\n financasDespesaGrupoAdd: false,\r\n financasDespesaGrupoDelete: false,\r\n financasReceitaGrupoPesquisa: false,\r\n financasReceitaGrupoAdd: false,\r\n financasReceitaGrupoDelete: false,\r\n financasContaPesquisa: false,\r\n financasContaAdd: false,\r\n financasContaDelete: false,\r\n financasExtrato: false,\r\n financasContaAjuste: false,\r\n financasGradeAnualDespesa: false,\r\n financasGradeAnualReceita: false,\r\n financasMensal: false,\r\n financasConfiguracoes: false,\r\n recepcaoEnergizar: false,\r\n recepcaoConfiguracoes: false,\r\n recepcaoTrocaOperador: false,\r\n recepcaoCancelarOcupacao: false,\r\n recepcaoAcrescimo: false,\r\n recepcaoDesconto: false,\r\n recepcaoLimpeza: false,\r\n recepcaoAtrasarHora: false,\r\n gerencialLogin: false,\r\n gerencialPrincipal: false,\r\n gerencialPrincipalCaixa: false,\r\n gerencialPrincipalInfo: false,\r\n gerencialPrincipalQuantidadeOcupacoesDia: false,\r\n gerencialDiario: false,\r\n gerencialMensal: false,\r\n gerencialResumoMensal: false,\r\n gerencialPorFormaPagamento: false,\r\n gerencialMediaTempoOcupacao: false,\r\n gerencialPorOcupacao: false,\r\n gerencialOcupacoesCanceladas: false,\r\n gerencialAgrupado: false,\r\n gerencialPorTurno: false,\r\n gerencialConsumoFuncionarios: false,\r\n gerencialConsumoProdutos: false,\r\n gerencialImagensrecepcao: false,\r\n gerencialCaixas: false,\r\n gerencialVerificacaoCaixa: false,\r\n gerencialComandasPorCaixa: false,\r\n gerencialRegistrorecepcao: false,\r\n gerencialAgrupadoDia: false,\r\n gerencialLogUsuarios: false,\r\n gerencialPesquisaOcupacoes: false,\r\n gerencialDescontos : false,\r\n gerencialGraficoMensal: false,\r\n gerencialGraficoDiaSemana: false,\r\n gerencialGraficoAnual: false,\r\n gerencialGraficoSituacaoSuite: false,\r\n gerencialOcupacoesHoraClasse: false,\r\n gerencialLimpezasStatus : false,\r\n gerencialVendasPorRecepcionistas : false,\r\n estoqueLogin: false,\r\n estoqueListaCompras: false,\r\n estoqueListaProdutoGrupo: false,\r\n estoqueMovimento: false,\r\n estoqueSaldoProdutos: false,\r\n estoqueNotaEntradaAdd: false,\r\n estoqueNotaEntradaDelete: false,\r\n estoqueNotaSaidaAdd: false,\r\n estoqueNotaSaidaDelete: false,\r\n estoqueAjusteAdd: false,\r\n estoqueAjusteDelete: false,\r\n estoqueTrocaSetorAdd: false,\r\n estoqueTrocaSetorDelete: false,\r\n estoqueFornecedorPesquisa: false,\r\n estoqueFornecedorAdd: false,\r\n estoqueFornecedorDelete: false,\r\n estoqueClientePesquisa: false,\r\n estoqueClienteAdd: false,\r\n estoqueClienteDelete: false,\r\n estoqueSetorPesquisa: false,\r\n estoqueSetorAdd: false,\r\n estoqueSetorDelete: false,\r\n estoqueProdutoPesquisa: false,\r\n estoqueProdutoAdd: false,\r\n estoqueProdutoDelete: false,\r\n estoqueProdutoGrupoPesquisa: false,\r\n estoqueProdutoGrupoAdd: false,\r\n estoqueProdutoGrupoDelete: false,\r\n estoqueConfiguracao: false,\r\n adminLogin: false,\r\n adminProdutoPesquisa: false,\r\n adminProdutoAdd: false,\r\n adminProdutoDelete: false,\r\n adminProdutoGrupoPesquisa: false,\r\n adminProdutoGrupoAdd: false,\r\n adminProdutoGrupoDelete: false,\r\n adminSuitePesquisa: false,\r\n adminSuiteAdd: false,\r\n adminSuiteDelete: false,\r\n adminSuiteClassePesquisa: false,\r\n adminSuiteClasseAdd: false,\r\n adminSuiteClasseDelete: false,\r\n adminOperadorPesquisa: false,\r\n adminOperadorAdd: false,\r\n adminOperadorDelete: false,\r\n adminFuncionarioPesquisa: false,\r\n adminFuncionarioAdd: false,\r\n adminFuncionarioDelete: false,\r\n adminUsuariosPesquisa: false,\r\n adminUsuariosAdd: false,\r\n adminUsuariosDelete: false,\r\n adminPrecos: false,\r\n adminPatrimonios: false,\r\n adminDefinicoesGerais: false,\r\n adminEditarComanda: false,\r\n adminCortesiaVale: false,\r\n adminClienteFidelidade: false,\r\n adminConfiguracoes: false,\r\n adminPesquisaSatisfacao: false,\r\n onGerencialLogin: false,\r\n onGerencialPrincipal: false,\r\n onGerencialDiario: false,\r\n onGerencialMensal: false,\r\n onGerencialPorFormaPagamento: false,\r\n onGerencialMediaTempoOcupacao: false,\r\n onGerencialPorOcupacao: false,\r\n onGerencialOcupacoesCanceladas: false,\r\n onGerencialAgrupadoDia: false,\r\n onGerencialPorTurno: false,\r\n onGerencialConsumoFuncionarios: false,\r\n onGerencialConsumoProdutos: false,\r\n onGerencialImagensRecepcao: false,\r\n onGerencialCaixas: false,\r\n onGerencialComandasPorCaixa: false,\r\n onGerencialRegistroRecepcao: false,\r\n onGerencialGraficoMensal: false,\r\n onGerencialGraficoDiaSemana: false,\r\n onGerencialGraficoAnual: false,\r\n onGerencialGraficoSituacaoSuite: false,\r\n onGerencialOcupacoesHoraClasse: false,\r\n onadminLogin: false,\r\n onadminProdutoPesquisa: false,\r\n onadminProdutoAdd: false,\r\n onadminProdutoDelete: false,\r\n onadminProdutoGrupoPesquisa: false,\r\n onadminProdutoGrupoAdd: false,\r\n onadminProdutoGrupoDelete: false,\r\n onadminSuitePesquisa: false,\r\n onadminSuiteAdd: false,\r\n onadminSuiteDelete: false,\r\n onadminSuiteClassePesquisa: false,\r\n onadminSuiteClasseAdd: false,\r\n onadminSuiteClasseDelete: false,\r\n onadminUsuariosPesquisa: false,\r\n onadminUsuariosAdd: false,\r\n onadminUsuariosDelete: false,\r\n onadminOperadorPesquisa: false,\r\n onadminOperadorAdd: false,\r\n onadminOperadorDelete: false,\r\n onadminFuncionarioPesquisa: false,\r\n onadminFuncionarioAdd: false,\r\n onadminFuncionarioDelete: false,\r\n onadminPrecos: false,\r\n onadminDefinicoesGerais: false,\r\n onadminCortesiaVale: false,\r\n };\r\n empresaNome : string= ''; \r\n empresaId : number = 0;\r\n loginNome : string = '';\r\n userId : number = 0;\r\n email : string = '';\r\n nome : string = '';\r\n constructor() {\r\n }\r\n\r\n login(result : LoginResult)\r\n { \r\n this.isLoggedIn = true;\r\n this.token = result.token;\r\n this.sensoresDef = result.sensoresDef;\r\n this.permissoes = result.permissoes;\r\n this.empresaNome = result.empresaNome;\r\n this.empresaId = result.empresaId;\r\n this.loginNome = result.login;\r\n this.userId = result.userId;\r\n this.nome = result.nome;\r\n this.email = result.email;\r\n }\r\n \r\n}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'ox-item-card',\n templateUrl: './item-card.component.html',\n styleUrls: ['./item-card.component.scss']\n})\nexport class ItemCardComponent implements OnInit {\n\n @Input() nome? : string;\n @Input() codigo? : string | number;\n @Input() star? : boolean;\n @Input() cloud? : boolean;\n @Input() desativado? : boolean;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"nome-codigo-row\"><span class=\"codigo\" *ngIf=\"codigo\">{{codigo}}</span>{{nome}}</div>\n<div class=\"icons-row\">\n <span class=\"material-icons star\" *ngIf=\"star\">\n grade\n </span>\n <span class=\"material-icons desativado\" *ngIf=\"desativado === true\">\n dangerous\n </span>\n <span class=\"material-icons sync-pendente\" *ngIf=\"cloud === false\">\n cloud_queue\n </span>\n <span class=\"material-icons sync-concluido\" *ngIf=\"cloud === true\">\n cloud_done\n </span>\n</div>\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { fadeAnimation } from '../../../animations/animations';\nimport { Funcionario, valida } from '../../../models/entidades/funcionario';\nimport { LazyTrigger } from '../../../models/infra/lazy-trigger';\nimport { confirmaExclusao } from '../../../models/infra/selecao-utils';\nimport { SearchSetting } from '../../../models/settings/search-setting';\nimport { AuthDataService } from '../../../providers/auth-data.service';\nimport { CommonWebService } from '../../../providers/common-web-service';\nimport { FocusService } from '../../../providers/focus.service';\nimport { NotificationService } from '../../../providers/notification.service';\nimport { ScreenHelperService } from '../../../providers/screen-helper.service';\nimport { FuncionarioAddDialogComponent } from '../funcionario-add-dialog/funcionario-add-dialog.component';\nimport { FuncionarioEditDialogComponent } from '../funcionario-edit-dialog/funcionario-edit-dialog.component';\n\n@Component({\n selector: 'ox-funcionarios',\n templateUrl: './funcionarios.component.html',\n styleUrls: ['./funcionarios.component.scss'],\n animations: [ fadeAnimation ]\n})\nexport class FuncionariosComponent implements OnInit {\n\n mobile: boolean;\n isBusy: boolean = false;\n items: Funcionario[] = [];\n selectedItem : Funcionario | null = null;\n lazyTrigger = new LazyTrigger(() => { this.atualiza(); });\n allowAdd: boolean;\n allowExcluir: boolean;\n setting = new SearchSetting();\n private focus: FocusService = new FocusService();\n\n constructor(private ws: CommonWebService,\n private notification: NotificationService,\n public dialog: MatDialog,\n auth: AuthDataService,\n private screenHelper: ScreenHelperService) {\n this.allowAdd = auth.permissoes.adminFuncionarioAdd;\n this.allowExcluir = auth.permissoes.adminFuncionarioDelete;\n this.mobile = this.screenHelper.isMedium;\n this.screenHelper.changedMediumScreen.subscribe(x => this.mobile = x);\n\n\n }\n\n ngOnInit() {\n this.setting.ordem = \"nome\";\n this.atualiza();\n }\n\n onSelectItem(): void {\n\n if (!this.focus.hasInit()) {\n setTimeout(() => {\n this.focus.registerElementById(\"form-column\");\n this.focus.setFirst();\n }, 500);\n //this._focus.registerElementById(\"form-column\");\n }\n else {\n this.focus.setFirst();\n }\n }\n\n ngOnDestroy(): void {\n this.focus.unregisterElementById(\"form-column\");\n }\n\n atualiza() {\n this.isBusy = true;\n this.ws.buscaFuncionario(this.setting)\n .subscribe(r => {\n this.items = r;\n this.selectedItem = null;\n console.info(r);\n this.isBusy = false;\n }, err => {\n this.isBusy = false;\n this.notification.showHttpError(err);\n });\n }\n\n\n excluir() { \n const item = this.selectedItem;\n if (!item) return;\n confirmaExclusao(this.dialog, \n `Deseja prosseguir com a exclusão do funcionário ${item.nome}?`,\n () =>\n {\n this.isBusy = true;\n this.ws.deleteFuncionario(item.id)\n .subscribe(r => {\n this.notification.showMsg(\"O funcionário foi excluído com sucesso.\");\n this.items.remove(item);\n this.selectedItem = null;\n this.isBusy = false;\n },\n err => {\n this.isBusy = false;\n this.notification.showMsg(err.error);\n });\n });\n }\n\n novo() {\n let height = (window.innerHeight * 0.90) + 'px';\n let width = 550 + 'px';\n if (this.mobile) {\n width = (window.innerWidth * 0.99) + 'px';\n //height = (window.innerHeight * 0.98) + 'px';\n }\n const dialog = this.dialog.open(FuncionarioAddDialogComponent, {\n width: width,\n //height: height,\n maxWidth: '100%',\n panelClass: 'dialog-p0',\n });\n dialog.afterClosed().subscribe(result => {\n if (result === undefined) return;\n this.notification.showMsg(\"Salvo com sucesso.\");\n this.atualiza();\n });\n }\n\n abreCadastro(item: Funcionario) {\n let height = undefined;\n let width = 550 + 'px';\n if (this.mobile) {\n width = (window.innerWidth * 0.99) + 'px';\n height = (window.innerHeight * 0.99) + 'px';\n }\n const dialog = this.dialog.open(FuncionarioEditDialogComponent, {\n data: item,\n width: width,\n //height: height,\n maxWidth: '100%',\n panelClass: 'dialog-p0',\n });\n dialog.afterClosed().subscribe(result => {\n if (result !== true) return;\n this.notification.showMsg(\"Salvo com sucesso.\");\n this.atualiza();\n });\n }\n\n salvar() { \n const item = this.selectedItem;\n if (!item) return;\n const valMsg = valida(item, this.focus);\n if (valMsg)\n {\n this.notification.showMsgError(valMsg);\n return;\n }\n this.isBusy = true;\n this.ws.saveFuncionario(item)\n .subscribe(r => {\n this.notification.showMsg(\"Salvo com sucesso.\");\n this.isBusy = false;\n },\n err => {\n this.isBusy = false;\n this.notification.showMsg(err.error);\n });\n }\n}\n","<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>Ações</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Funcionários</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>Ações</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca não retornou resultados</h4>\n\n <ox-item-card [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-item-card>\n\n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um funcionário no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-funcionario-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\">\n </ox-funcionario-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-fab color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">\n <mat-icon>save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>","import { Component, OnInit, Input, HostListener, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ox-check-button',\n templateUrl: './check-button.component.html',\n styleUrls: ['./check-button.component.scss'],\n host: {\n '[class.checked]': \"checked\",\n }\n})\nexport class CheckButtonComponent implements OnInit {\n @Input() checked: boolean = false;\n @Input() radioBehavior: boolean = false;\n @Output() changed = new EventEmitter<boolean>();\n constructor() {\n this.checked = true;\n }\n\n ngOnInit() {\n }\n\n @HostListener('click', ['$event'])\n onClick(e : any) {\n if (!this.radioBehavior)\n this.checked = !this.checked;\n this.changed.emit(this.checked);\n }\n}\n","<ng-content></ng-content>","import { Component, OnInit, Input, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Component({\n selector: 'ox-image-viewer',\n templateUrl: './image-viewer.component.html',\n styleUrls: ['./image-viewer.component.scss']\n})\nexport class ImageViewerComponent implements OnInit {\n @Input() info?: ImageViewerInfo;\n @Input() infos: ImageViewerInfo[] = [];\n private _isOpen: boolean = false;\n paginaAtual: number = 0;\n disableBack : boolean= false;\n disableNext : boolean = false;\n @Output() isOpenChange = new EventEmitter();\n\n @Input()\n get isOpen(): boolean {\n return this._isOpen;\n }\n set isOpen(val: boolean) {\n this._isOpen = val;\n this.isOpenChange.emit(val);\n }\n\n @HostListener('click', ['$event'])\n onClick(e : any) {\n //this.isOpen = !this.isOpen;\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n open(info: ImageViewerInfo, infos: ImageViewerInfo[]) {\n if (infos !== undefined) {\n for (let i = 0; i < infos.length; i++) {\n if (infos[i] === info) {\n this.paginaAtual = i + 1;\n break;\n }\n }\n }\n\n this.info = info;\n this.infos = infos;\n this.isOpen = true;\n this.updateUI();\n }\n\n goNext()\n {\n this.paginaAtual += 1;\n this.info = this.infos[this.paginaAtual - 1];\n this.updateUI();\n }\n\n goBack()\n {\n this.paginaAtual -= 1;\n this.info = this.infos[this.paginaAtual - 1];\n this.updateUI();\n }\n\n updateUI()\n {\n this.disableBack = this.paginaAtual == 1;\n this.disableNext = this.paginaAtual == this.infos.length;\n }\n}\n\nexport interface ImageViewerInfo {\n url: string;\n titulo: string;\n id : any;\n}\n","<div class=\"image-fullsize\" *ngIf=\"isOpen\">\n <div class=\"titulo\">\n {{info?.titulo}}\n </div>\n <div class=\"img-container\" (click)=\"isOpen = !isOpen\">\n <img class=\"image\" *ngIf=\"info\" [src]=\"info?.url\" />\n </div>\n <div class=\"action-bar\" *ngIf=\"infos\">\n <button (click)=\"goBack()\" [disabled]=\"disableBack\" mat-icon-button>\n <mat-icon>chevron_left</mat-icon>\n </button>\n <span class=\"picker-text\">\n {{paginaAtual}}/{{infos?.length}}\n </span>\n <button (click)=\"goNext()\" [disabled]=\"disableNext\" mat-icon-button>\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</div>\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'ox-month-year-picker',\n templateUrl: './month-year-picker.component.html',\n styleUrls: ['./month-year-picker.component.scss']\n})\nexport class MonthYearPickerComponent implements OnInit {\n @Output() anoChange = new EventEmitter<number>();\n @Output() mesChange = new EventEmitter<number>();\n @Output() changed = new EventEmitter<MonthYear>();\n\n _init : boolean = false;\n _ano: number;\n _mes: number;\n _modoAnual : boolean = false;\n _meses = [\"JANEIRO\", \"FEVEREIRO\", \"MARÇO\", \"ABRIL\", \"MAIO\", \"JUNHO\", \"JULHO\", \"AGOSTO\", \"SETEMBRO\", \"OUTUBRO\", \"NOVEMBRO\", \"DEZEMBRO\"];\n text: string = '';\n disableNext: boolean = false;\n @Input()\n blockFuture: boolean = false;\n\n @Input()\n get modoAnual(): boolean {\n return this._modoAnual;\n }\n set modoAnual(val: boolean) {\n this._modoAnual = val;\n if (!this._init) return;\n this.updateText();\n this.raiseOnSelectionChanged();\n }\n\n @Input()\n get ano(): number {\n return this._ano;\n }\n set ano(val: number) {\n this._ano = val;\n if (!this._init) return;\n this.anoChange.emit(val);\n this.updateText();\n }\n\n @Input()\n get mes(): number {\n return this._mes;\n }\n set mes(val: number) {\n this._mes = val;\n if (!this._init) return;\n this.mesChange.emit(val);\n this.updateText();\n }\n\n constructor() {\n let d = new Date();\n this._ano = d.getFullYear();\n this._mes = d.getMonth() + 1;\n }\n\n ngOnInit() {\n this.updateText();\n this._init = true;\n }\n\n goBack() {\n if (this.modoAnual) {\n this.ano -= 1;\n }\n else {\n this.mes--;\n if (this.mes < 1) {\n this.ano -= 1;\n this.mes = 12;\n }\n }\n this.updateText();\n this.raiseOnSelectionChanged();\n };\n\n goNext() {\n if (this.modoAnual) {\n this.ano += 1;\n }\n else {\n this.mes++;\n if (this.mes > 12) {\n this.ano += 1;\n this.mes = 1;\n }\n }\n this.updateText();\n this.raiseOnSelectionChanged();\n };\n\n updateText() {\n if (this.modoAnual)\n this.text = '' + this._ano;\n else\n this.text = this._meses[this._mes - 1] + \" DE \" + this._ano;\n\n if (!this.blockFuture)\n return;\n\n let d = new Date();\n let ano = d.getFullYear();\n let mes = d.getMonth() + 1;\n\n if (!this.modoAnual)\n this.disableNext = ano == this.ano && this.mes >= mes;\n else\n this.disableNext = ano == this.ano;\n };\n\n raiseOnSelectionChanged() {\n let d = { ano: this._ano, mes: this._mes };\n this.changed.emit(d);\n }\n}\nexport interface MonthYear {\n mes: number;\n ano: number;\n}\n","<div class=\"picker-container\">\n <div>\n <button mat-icon-button (click)=\"goBack()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n </div>\n <span class=\"picker-text\">\n {{text}}\n </span>\n <div>\n <button mat-icon-button (click)=\"goNext()\" [disabled]=\"disableNext\" >\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ox-numeric-picker',\n templateUrl: './numeric-picker.component.html',\n styleUrls: ['./numeric-picker.component.scss']\n})\nexport class NumericPickerComponent implements OnInit {\n @Output() valueChange = new EventEmitter<number>();\n @Output() change = new EventEmitter<number>();\n _value: number = 0;\n _max: number = 0;\n _min: number = 0;\n text: string = '';\n disableNext = false;\n disableBack = false;\n\n @Input()\n get value(): number {\n return this._value;\n }\n set value(val: number) {\n this._value = val;\n this.valueChange.emit(val);\n this.refreshUI();\n }\n\n @Input()\n get max(): number {\n return this._max;\n }\n set max(val: number) {\n this._max = val;\n this.refreshUI();\n }\n\n @Input()\n get min(): number {\n return this._min;\n }\n set min(val: number) {\n this._min = Number(val);\n this.refreshUI();\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n onTextEdit(ev : any) {\n console.info(ev);\n const i = Number(ev.target.value);\n if (!this.valida(i))\n this.text = '' + this.value;\n else {\n this.value = i;\n this.raiseChange();\n this.refreshUI();\n }\n }\n\n goBack() {\n const newVal = this.value - 1;\n if (!this.valida(newVal))\n return;\n this.value = newVal;\n this.raiseChange();\n };\n\n goNext() {\n const newVal = this.value + 1;\n if (!this.valida(newVal))\n return;\n this.value = newVal;\n this.raiseChange();\n };\n\n refreshUI() {\n this.text = this.value === undefined ? '--' : '' + this.value;\n this.disableNext = this.max !== undefined && this.value === this.max;\n this.disableBack = this.min !== undefined && this.value === this.min;\n }\n\n valida(val : any): boolean {\n if (isNaN(val))\n return false;\n if (this.max !== undefined && val > this.max)\n return false;\n if (this.min !== undefined && val < this.min)\n return false;\n return true;\n }\n\n raiseChange() {\n this.change.emit(this.value);\n }\n}\n","<div>\n <button mat-icon-button (click)=\"goBack()\" [disabled]=\"disableBack\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n</div>\n<input [(ngModel)]=\"text\" (change)=\"onTextEdit($event)\" class=\"date\">\n<div>\n <button mat-icon-button (click)=\"goNext()\" [disabled]=\"disableNext\" >\n <mat-icon>chevron_right</mat-icon>\n </button>\n</div>","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'ox-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss']\n})\nexport class PaginatorComponent implements OnInit {\n @Output() paginaAtualChange = new EventEmitter<number>();\n @Output() totalPaginasChange = new EventEmitter<number>();\n @Output() change = new EventEmitter<number>();\n _paginaAtual: number = 1;\n _totalPaginas: number = 1;\n inicio: boolean = true;\n fim: boolean = true;\n @Input() pageSize: number = 0;\n\n @Input()\n get paginaAtual(): number {\n return this._paginaAtual;\n }\n\n set paginaAtual(val: number) {\n this._paginaAtual = val;\n this.paginaAtualChange.emit(val);\n this.refreshUI();\n }\n\n @Input()\n get totalPaginas(): number {\n return this._totalPaginas;\n }\n\n set totalPaginas(val: number) {\n this._totalPaginas = val;\n this.totalPaginasChange.emit(val);\n this.refreshUI();\n }\n\n constructor() { }\n\n ngOnInit() {\n }\n\n trocaPagina(pagina: number) {\n if (pagina > this.totalPaginas || pagina < 1)\n return;\n this.paginaAtual = pagina;\n this.refreshUI();\n this.change.emit(this.paginaAtual); \n }\n\n refreshUI()\n {\n this.inicio = this.paginaAtual == 1;\n this.fim = this.paginaAtual == this.totalPaginas; \n }\n\n goBack() {\n this.trocaPagina(this.paginaAtual - 1);\n }\n\n goNext() {\n this.trocaPagina(this.paginaAtual + 1);\n }\n\n}\n","<button [disabled]=\"inicio\" mat-icon-button (click)=\"goBack()\">\n <mat-icon>chevron_left</mat-icon>\n</button>\n<span class=\"picker-text\">\n {{paginaAtual}}/{{totalPaginas}}\n</span>\n<button [disabled]=\"fim\" mat-icon-button (click)=\"goNext()\">\n <mat-icon>chevron_right</mat-icon>\n</button>\n","import { Component, OnInit, Output, Input, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ox-radio-button-group',\n templateUrl: './radio-button-group.component.html',\n styleUrls: ['./radio-button-group.component.scss']\n})\nexport class RadioButtonGroupComponent implements OnInit {\n @Output() change = new EventEmitter<RadioButtonGroupData>();\n _items: RadioButtonGroupData[] = [];\n //_init : boolean = false;\n @Input() selectedItem: RadioButtonGroupData | null = null;\n @Input()\n get items(): RadioButtonGroupData[] {\n return this._items;\n }\n set items(val: RadioButtonGroupData[]) {\n this._items = val;\n this.selectedItem = this.items.filter(x => x.default === true).firstOrNull();\n if (this.selectedItem === null)\n this.selectedItem = this.items.firstOrNull();\n }\n\n constructor() { }\n\n ngOnInit() {\n\n }\n\n raiseChange(item : RadioButtonGroupData) {\n this.selectedItem = item;\n this.change.emit(this.selectedItem);\n }\n}\n\nexport interface RadioButtonGroupData {\n name: string;\n value: any;\n default?: boolean;\n}\n","<ox-check-button [radioBehavior]=\"true\" (changed)=\"raiseChange(item)\" [checked]=\"item == selectedItem\" *ngFor=\"let item of items\">\n {{item.name}}\n</ox-check-button>","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform \n{\n constructor(private sanitizer:DomSanitizer){}\n\n transform(html : string) {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BusyIndicatorComponent } from './controls/busy-indicator/busy-indicator.component';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport {MatSelectModule} from '@angular/material/select';\nimport { FormsModule } from '@angular/forms';\nimport { MonthYearPickerComponent } from './controls/month-year-picker/month-year-picker.component';\nimport { ImageViewerComponent } from './controls/image-viewer/image-viewer.component';\nimport { NumericPickerComponent } from './controls/numeric-picker/numeric-picker.component';\nimport { PaginatorComponent } from './controls/paginator/paginator.component';\nimport { CheckButtonComponent } from './controls/check-button/check-button.component';\nimport { RadioButtonGroupComponent } from './controls/radio-button-group/radio-button-group.component';\nimport { ItemCardComponent } from './controls/item-card/item-card.component';\nimport { SafeHtmlPipe } from './providers/safe-html.pipe';\nimport { AlertDialogComponent } from './controls/alert-dialog/alert-dialog.component';\nimport { FuncionariosComponent } from './cadastros/funcionarios/funcionarios/funcionarios.component';\nimport { FuncionarioFormComponent } from './cadastros/funcionarios/funcionario-form/funcionario-form.component';\nimport { FuncionarioEditDialogComponent } from './cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component';\nimport { FuncionarioAddDialogComponent } from './cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component';\n\n\ndeclare global {\n interface String {\n isEmpty(): boolean;\n }\n interface Array<T> {\n firstOrNull(): T | null;\n remove(item: T) : boolean;\n }\n interface Date {\n addDays(days : number) : Date;\n }\n}\nArray.prototype.remove = function (item) : boolean\n{\n const index = this.indexOf(item);\n if (index === -1) return false;\n this.splice(index, 1);\n return true;\n}\nArray.prototype.firstOrNull = function () {\n if (this.length > 0)\n return this[0];\n return null;\n}\n\nDate.prototype.addDays = function (days : number)\n{\n var result = new Date(this);\n result.setDate(result.getDate() + days);\n return result;\n}\n\n@NgModule({\n declarations: [\n BusyIndicatorComponent,\n MonthYearPickerComponent,\n ImageViewerComponent,\n NumericPickerComponent,\n PaginatorComponent,\n CheckButtonComponent,\n RadioButtonGroupComponent,\n ItemCardComponent,\n SafeHtmlPipe,\n AlertDialogComponent,\n FuncionariosComponent,\n FuncionarioFormComponent,\n FuncionarioEditDialogComponent,\n FuncionarioAddDialogComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n MatButtonModule,\n MatIconModule,\n MatDialogModule,\n MatSelectModule,\n ],\n exports: [\n BusyIndicatorComponent,\n MonthYearPickerComponent,\n ImageViewerComponent,\n NumericPickerComponent,\n PaginatorComponent,\n CheckButtonComponent,\n RadioButtonGroupComponent,\n ItemCardComponent,\n SafeHtmlPipe\n ]\n})\nexport class OxpiNglibModule { }\n","export class BusyState {\r\n isBusy: boolean = false;\r\n private counter: number = 0;\r\n\r\n show() {\r\n this.counter++;\r\n this.isBusy = true;\r\n }\r\n\r\n hide() {\r\n this.counter--;\r\n if (this.counter < 0)\r\n this.counter = 0;\r\n if (this.counter == 0)\r\n this.isBusy = false;\r\n }\r\n}","import { LazyTrigger } from './lazy-trigger';\r\n\r\nexport class NumberParser {\r\n private _parseTrigger: LazyTrigger;\r\n valor: string | undefined;\r\n parsed : boolean = false;\r\n\r\n constructor(\r\n private setPropFunc: (newValue: number) => void,\r\n private getPropFunc: () => number,\r\n private min?: number,\r\n private max?: number,\r\n triggerMilliseconds : number = 1500) {\r\n this._parseTrigger = new LazyTrigger(() => this.parseValor(), triggerMilliseconds);\r\n }\r\n\r\n parse(vlr: string) {\r\n this.valor = vlr;\r\n this.parsed = false;\r\n this._parseTrigger.fire();\r\n }\r\n store(vlr : string) {\r\n this.valor = vlr;\r\n this.parsed = false;\r\n }\r\n\r\n\r\n checkout()\r\n {\r\n if (this.parsed || !this.valor) return;\r\n this.parseValor();\r\n }\r\n\r\n private parseValor() {\r\n if (this.valor === undefined) return;\r\n this.parsed = true;\r\n const vlrTxt = this.valor.split(\",\").join(\".\");;\r\n const spTxt: string[] = vlrTxt.split(\".\");\r\n let toParseTxt = \"\";\r\n if (spTxt.length > 2) {\r\n const chars = vlrTxt.split(\"\");\r\n const lastIndex = vlrTxt.lastIndexOf(\".\");\r\n for (let i = 0; i < chars.length; i++) {\r\n const c = chars[i];\r\n if (c === \".\" && i != lastIndex) continue;\r\n toParseTxt = toParseTxt.concat(c);\r\n }\r\n }\r\n else {\r\n toParseTxt = vlrTxt;\r\n }\r\n\r\n const vlr = parseFloat(toParseTxt);\r\n if (isNaN(vlr) || !this.validaMinMax(vlr)) {\r\n const original = this.getPropFunc();\r\n this.setPropFunc(0);\r\n setTimeout(() => this.setPropFunc(original));\r\n }\r\n else {\r\n this.setPropFunc(vlr);\r\n }\r\n }\r\n\r\n private validaMinMax(value: number): boolean {\r\n if ((this.min === undefined) && this.max === undefined) return true;\r\n if (!(this.min === undefined) && value < this.min) return false;\r\n if (!(this.max === undefined) && value > this.max) return false;\r\n return true;\r\n }\r\n}\r\n","export class Ordem {\r\n isCrescente: boolean;\r\n colName: string;\r\n onToggle?: () => void;\r\n constructor(ordens: OrdemInfo[], isCrescente: boolean, onToggle?: () => void) {\r\n const d = ordens.filter(x => x.default === true).firstOrNull();\r\n this.colName = d === null ? ordens[0].value : d.value;\r\n this.isCrescente = isCrescente;\r\n this.onToggle = onToggle;\r\n }\r\n\r\n toggle() {\r\n this.isCrescente = !this.isCrescente;\r\n if (this.onToggle !== undefined)\r\n this.onToggle();\r\n }\r\n\r\n toString(): string {\r\n return this.colName + (!this.isCrescente ? \" desc\" : \"\")\r\n }\r\n}\r\n\r\nexport interface OrdemInfo {\r\n name: string;\r\n value: string;\r\n default?: boolean;\r\n}\r\n","export function printTxt(txt: string) {\r\n const r = \"<!doctype html><head><meta charset=\\\"utf-8\\\"></head><body><div style='font-family: \\\"Courier New\\\", Courier, monospace; white-space: pre-wrap;color: black;font-weight: bold;word-wrap: break-word;word-break: break-all;overflow-wrap: break-word;'>\" + txt + '</div></body>';\r\n printHtml(r);\r\n}\r\n\r\nexport function printHtml(r: any) {\r\n const blob = new Blob([r], { type: 'text/html' });\r\n const url = window.URL.createObjectURL(blob);\r\n const w = window.open(url, '_blank');\r\n if (w != null)\r\n w.print();\r\n}\r\n\r\nexport function selectText(ev : any): void\r\n{\r\n ev.target.select()\r\n}","import { SearchSetting } from \"./search-setting\";\r\n\r\n\r\nexport class PagamentoRecebimentoSearchSetting extends SearchSetting {\r\n exibirPagamentos: boolean;\r\n exibirRecebimentos: boolean;\r\n\r\n constructor() {\r\n super();\r\n this.exibirPagamentos = true;\r\n this.exibirRecebimentos = true;\r\n }\r\n}\r\n","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class OcupacaoFilterSetting extends SearchSetting {\r\n dom: boolean;\r\n seg: boolean;\r\n ter: boolean;\r\n qua: boolean;\r\n qui: boolean;\r\n sex: boolean;\r\n sab: boolean;\r\n\r\n exibirPernoite?: boolean;\r\n exibirNormal?: boolean;\r\n\r\n constructor() {\r\n super();\r\n this.dom = false;\r\n this.seg = false;\r\n this.ter = false;\r\n this.qua = false;\r\n this.qui = false;\r\n this.sex = false;\r\n this.sab = false;\r\n }\r\n}\r\n","import { OcupacaoFilterSetting } from \"./ocupacao-filter-setting\";\r\n\r\nexport class OcupacaoSearchSetting extends OcupacaoFilterSetting {\r\n clienteFidelidadeId?: number;\r\n incluiOcupacaoAberta?: boolean;\r\n dateFieldEnum: OcupacaoSearchDateField;\r\n tipoEntrada?: OcupacaoSearchTipoEntrada;\r\n mostrouContaMult?: boolean;\r\n mostrouContaMaiorMenor?: boolean;\r\n mostrouContaSemCarro?: boolean;\r\n teveExclusaoProduto?: boolean;\r\n teveTransferencia?: boolean;\r\n teveEdicaoFormaPgto?: boolean;\r\n teveDesconto?: boolean;\r\n teveCortesia?: boolean;\r\n teveConsumo?: boolean;\r\n teveExcesso?: boolean;\r\n tevePernoite?: boolean;\r\n teveNormal?: boolean;\r\n tevePessoaExtra?: boolean;\r\n suites?: number[];\r\n marcador?: number;\r\n caixas?: number[];\r\n classes?: number[];\r\n operadores?: number[];\r\n teveClienteFidelidade?: boolean;\r\n teveNegociacao?: boolean;\r\n formaPagamento?: number;\r\n produtosGrupos?: number[];\r\n constructor() {\r\n super();\r\n this.dateFieldEnum = OcupacaoSearchDateField.DataBaseCaixa;\r\n }\r\n}\r\n\r\nexport enum PorOcupacaoTipo {\r\n PorSuite, PorClasse, PorPermanencia\r\n}\r\n\r\nexport enum OcupacaoSearchDateField {\r\n DataBaseCaixa,\r\n Entrada,\r\n Saida\r\n}\r\n\r\nexport enum OcupacaoSearchTipoEntrada {\r\n Todas,\r\n Auto,\r\n Manual\r\n}","import { OcupacaoSearchDateField } from \"./ocupacao-search-setting\";\r\nimport { SearchSetting } from \"./search-setting\";\r\n\r\n\r\nexport class ConsumoProdutoSearchSetting extends SearchSetting {\r\n porPeriodoHora?: boolean;\r\n horaInicial?: number;\r\n horaFinal?: number;\r\n minutoInicial?: number;\r\n minutoFinal?: number;\r\n exibeVendas: boolean;\r\n exibeConsumoInterno: boolean;\r\n operadorId?: number;\r\n\r\n dateFieldEnum: OcupacaoSearchDateField;\r\n\r\n constructor() {\r\n super();\r\n this.dateFieldEnum = OcupacaoSearchDateField.DataBaseCaixa;\r\n this.exibeVendas = true;\r\n this.exibeConsumoInterno = true;\r\n this.horaInicial = 0;\r\n this.minutoInicial = 0;\r\n this.horaFinal = 23;\r\n this.minutoFinal = 59;\r\n }\r\n}\r\n","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class DuplicataSearchSetting extends SearchSetting {\r\n exibeQuitado: boolean;\r\n exibeParcial: boolean;\r\n exibeEmAberto: boolean;\r\n pessoaId?: number;\r\n grupoId?: number;\r\n marcadorId?: number;\r\n ultimosCadastrados : boolean = false;\r\n\r\n constructor(public isDespesa: boolean, propChanged?: () => void) {\r\n super(propChanged);\r\n this.exibeQuitado = false;\r\n this.exibeParcial = false;\r\n this.exibeEmAberto = false;\r\n this.ordem = \"Vencimento\";\r\n }\r\n}","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class ProdutoSearchSetting extends SearchSetting {\r\n exibeNaoControladoEstoque: boolean;\r\n exibeApenasMostraRecepcao: boolean;\r\n exibeImprimiCozinha: boolean;\r\n exibeHePrato: boolean;\r\n grupos?: number[];\r\n\r\n constructor() {\r\n super();\r\n \r\n this.exibeNaoControladoEstoque = true;\r\n this.exibeApenasMostraRecepcao = false;\r\n this.exibeInativo = false;\r\n this.exibeImprimiCozinha = false;\r\n this.exibeHePrato = false;\r\n }\r\n}","import { SearchSetting } from \"./search-setting\";\r\n\r\nexport class SuitesIntervencoesSetting extends SearchSetting {\r\n suites?: number[];\r\n operadores?: number[];\r\n camareiras?: number[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportFileService {\r\n\r\n empresaNomeFile? : string;\r\n constructor() { }\r\n\r\n start(empresaNomeFile : string)\r\n {\r\n this.empresaNomeFile = empresaNomeFile;\r\n }\r\n\r\n exportarExcel(r : any, fileName : string)\r\n {\r\n const blob = new Blob([r], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n FileSaver.saveAs(blob, `${fileName}.${this.empresaNomeFile}.xlsx`);\r\n }\r\n printHtml(r : any)\r\n {\r\n const blob = new Blob([r], { type: 'text/html' });\r\n const url = window.URL.createObjectURL(blob);\r\n const w = window.open(url, '_blank', 'noreferrer');\r\n w?.print();\r\n }\r\n}\r\n","import { Injectable, } from '@angular/core';\r\nimport { RadioButtonGroupData } from '../../public-api';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Preferences {\r\n constructor() {\r\n }\r\n\r\n loadGroup(key: string, list: RadioButtonGroupData[], defaultValue : any): any {\r\n const t = localStorage.getItem(key);\r\n if (t === null) return defaultValue;\r\n let defValue: any;\r\n for (let i = 0; i < list.length; i++) {\r\n const item = list[i];\r\n const isDefault = (item.value + '') === t;\r\n item.default = isDefault;\r\n if (isDefault)\r\n defValue = item.value;\r\n }\r\n return defValue;\r\n }\r\n\r\n load<T>(key: string, defaultValue : T) : T\r\n {\r\n const json = localStorage.getItem(key);\r\n if (json === null) return defaultValue;\r\n return JSON.parse(json);\r\n }\r\n\r\n saveGroup(key: string, data : RadioButtonGroupData) {\r\n localStorage.setItem(key, data.value);\r\n }\r\n\r\n save<T>(key: string, obj : T)\r\n {\r\n const json = JSON.stringify(obj);\r\n localStorage.setItem(key, json);\r\n }\r\n}\r\n","/*\n * Public API Surface of oxpi-nglib\n */\n\n//export * from './lib/oxpi-nglib.service';\nexport * from './lib/cadastros/funcionarios/funcionario-add-dialog/funcionario-add-dialog.component';\nexport * from './lib/cadastros/funcionarios/funcionario-edit-dialog/funcionario-edit-dialog.component';\nexport * from './lib/cadastros/funcionarios/funcionario-form/funcionario-form.component';\nexport * from './lib/cadastros/funcionarios/funcionarios/funcionarios.component';\n\nexport * from './lib/controls/busy-indicator/busy-indicator.component';\nexport * from './lib/controls/check-button/check-button.component';\nexport * from './lib/controls/image-viewer/image-viewer.component';\nexport * from './lib/controls/month-year-picker/month-year-picker.component';\nexport * from './lib/controls/numeric-picker/numeric-picker.component';\nexport * from './lib/controls/paginator/paginator.component';\nexport * from './lib/controls/radio-button-group/radio-button-group.component';\nexport * from './lib/controls/item-card/item-card.component';\nexport * from './lib/controls/alert-dialog/alert-dialog.component';\nexport * from './lib/oxpi-nglib.module';\n\nexport * from './lib/models/entidades/login-item';\nexport * from './lib/models/entidades/login-result';\nexport * from './lib/models/entidades/permissoes';\nexport * from './lib/models/entidades/sensores-def';\nexport * from './lib/models/entidades/usuario';\n\nexport * from './lib/models/infra/busy-state';\nexport * from './lib/models/infra/lazy-trigger';\nexport * from './lib/models/infra/number-parser';\nexport * from './lib/models/infra/ordem';\nexport * from './lib/models/infra/paging-result';\nexport * from './lib/models/infra/utils-methods';\nexport * from './lib/models/infra/validations';\nexport * from './lib/models/infra/selecao-utils';\n\nexport * from './lib/animations/animations';\n\nexport * from './lib/models/settings/PagamentoRecebimentoSearchSetting';\nexport * from './lib/models/settings/consumo-produto-search-setting';\nexport * from './lib/models/settings/duplicata-search-setting';\nexport * from './lib/models/settings/ocupacao-filter-setting';\nexport * from './lib/models/settings/ocupacao-search-setting';\nexport * from './lib/models/settings/search-setting';\nexport * from './lib/models/settings/produto-search-setting';\nexport * from './lib/models/settings/suites-intervencoes-setting';\n\nexport * from './lib/providers/export.file.service';\nexport * from './lib/providers/auth-data.service';\nexport * from './lib/providers/common-web-service';\nexport * from './lib/providers/notification.service';\nexport * from './lib/providers/focus.service';\nexport * from './lib/providers/preference.service';\nexport * from './lib/providers/safe-html.pipe';\nexport * from './lib/providers/screen-helper.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.CommonWebService","i2","i6.BusyIndicatorComponent","i3","i4.ScreenHelperService","i5","i6","i8.BusyIndicatorComponent","i9.FuncionarioFormComponent","i2.NotificationService","i4.AuthDataService","i5.ScreenHelperService","i7","i8","i9","i10.BusyIndicatorComponent","i11.ItemCardComponent","i12.FuncionarioFormComponent","i2.CheckButtonComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAM,SAAU,YAAY,CAAC,CAAS,EAAA;IAClC,OAAO,CAAC,KAAK,IAAI;AACb,QAAA,CAAC,KAAK,SAAS;AACf,QAAA,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC;AACK,SAAU,cAAc,CAAC,CAAS,EAAA;IACpC,OAAO,CAAC,KAAK,IAAI;AACb,QAAA,CAAC,KAAK,SAAS;QACf,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC;AACe,SAAA,UAAU,CAAC,CAAS,EAAE,GAAW,EAAA;AAC7C,IAAA,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;AAC1B,CAAC;AAEe,SAAA,YAAY,CAAC,CAAS,EAAE,GAAW,EAAA;AAC/C,IAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;AAC7B,QAAA,OAAO,IAAI,CAAC;IAChB,OAAO,CAAC,IAAI,GAAG,CAAC;AACpB;;ACEgB,SAAA,MAAM,CAAC,IAAiB,EAAE,KAAmB,EAAA;AACzD,IAAA,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACzB,QAAA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClB,QAAA,OAAO,wBAAwB,CAAC;AACnC,KAAA;AACD,IAAA,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC9B,QAAA,OAAO,mBAAmB,CAAC;AAC9B,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AAChB;;MC5Ba,YAAY,CAAA;AAIvB,IAAA,WAAA,GAAA;KACC;IAED,OAAO,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;KACpC;AAED,IAAA,mBAAmB,CAAC,IAAY,EAAA;QAC9B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;KACrD;AACD,IAAA,eAAe,CAAC,OAAuC,EAAA;AACrD,QAAA,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;;AAExB,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,QAAA,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3E;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;AAErB,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1E;AAED,IAAA,qBAAqB,CAAC,IAAY,EAAA;QAChC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;KACvD;AAED,IAAA,iBAAiB,CAAC,OAAuC,EAAA;AACvD,QAAA,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;AACtD,QAAA,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9E;AAEO,IAAA,mBAAmB,CAAC,KAAU,EAAA;AACpC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE;YAAE,OAAO;AACjC,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO;AAE/C,QAAA,MAAM,KAAK,GAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC7C,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAChE,QAAA,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5B,QAAA,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YAC9B,OAAO;QACT,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAgB,CAAC;AAE1C,QAAA,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YACjB,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,KAAK,CAAC,cAAc,EAAE,CAAC;KACxB;IAED,QAAQ,GAAA;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;KAClC;IAEO,QAAQ,GAAA;AACd,QAAA,MAAM,KAAK,GACT,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YACnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,+CAA+C,CAAC;AAC/E,YAAA,QAAQ,CAAC,gBAAgB,CAAC,+CAA+C,CAAC,CAAC;QAE/E,MAAM,KAAK,GAAkB,EAAE,CAAC;AAChC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACjD,YAAA,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAgB,CAAC;AACvC,YAAA,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC;AACjB,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,GAAG,CAAC,EAAU,EAAA;QACZ,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO;QACxB,EAAE,CAAC,KAAK,EAAE,CAAC;KACZ;AACF;;MCtEc,gBAAgB,CAAA;AAS3B,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAAhB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AARpC,QAAA,IAAQ,CAAA,QAAA,GAAY,EAAE,CAAC;AACvB,QAAA,IAAoB,CAAA,oBAAA,GAAY,EAAE,CAAC;AACnC,QAAA,IAA0B,CAAA,0BAAA,GAAY,EAAE,CAAC;AACzC,QAAA,IAAK,CAAA,KAAA,GAAY,EAAE,CAAC;KAKqB;AAEzC,IAAA,QAAQ,CAAC,KAAc,EAAA;AAEnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AACD,IAAA,KAAK,CAAC,OAAgB,EAAA;AAElB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,GAAG,cAAc,CAAC;AACrD,QAAA,IAAI,CAAC,0BAA0B,GAAG,OAAO,GAAG,mBAAmB,CAAC;KACnE;IAED,eAAe,GAAA;AACX,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KACzF;IACD,qBAAqB,GAAA;AACnB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KAC9F;AAED,IAAA,gBAAgB,CAAC,OAAuB,EAAA;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,cAAc,CAAC;AACxE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAgB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KACnH;IACD,oBAAoB,GAAA;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KAClF;IACD,iBAAiB,GAAA;AACf,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KAClF;AACD,IAAA,eAAe,CAAC,CAAc,EAAA;AAC5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KACnG;AACD,IAAA,cAAc,CAAC,CAAe,EAAA;AAC5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KAClG;AACD,IAAA,iBAAiB,CAAC,EAAW,EAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAM,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KAClF;AAED,IAAA,cAAc,CAAC,UAAuB,EAAA;QACpC,OAAO;YACL,OAAO,EAAE,IAAI,WAAW,CAAC;AACvB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,gBAAA,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK;aACvC,CAAC;AACF,YAAA,MAAM,EAAE,UAAU;SACnB,CAAA;KACF;AAED,IAAA,eAAe,CAAC,UAAuB,EAAA;QACrC,OAAO;YACL,OAAO,EAAE,IAAI,WAAW,CAAC;AACvB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,gBAAA,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK;aACvC,CAAC;AACF,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,YAAY,EAAE,aAAuB;SACtC,CAAC;KACH;AAED,IAAA,cAAc,CAAC,UAAuB,EAAA;QACpC,OAAO;YACL,OAAO,EAAE,IAAI,WAAW,CAAC;AACvB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,QAAQ,EAAE,kBAAkB;AAC5B,gBAAA,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK;aACvC,CAAC;AACF,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,YAAY,EAAE,MAAgB;SAC/B,CAAC;KACH;;AApFI,gBAAc,CAAA,cAAA,GAAG,QAAQ,CAAC;AAC1B,gBAAgB,CAAA,gBAAA,GAAG,YAAY,CAAC;AAChC,gBAAuB,CAAA,uBAAA,GAAG,gBAAgB,CAAC;6GAPvC,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCDU,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CAAmB,QAAqB,EAAA;AAArB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KACvC;AAED,IAAA,aAAa,CAAC,GAAsB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAoC,iCAAA,EAAA,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,UAAU,CAAA,CAAE,CAAC,CAAC;KACzF;AACD,IAAA,OAAO,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;AACD,IAAA,YAAY,CAAC,GAAW,EAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE;AACjC,YAAA,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,CAAC,cAAc,CAAC;AAC7B,SAAA,CAAC,CAAC;KACJ;;gHAhBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACHD,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,SAAS,GAAG,IAAI,CAAC;MAKV,mBAAmB,CAAA;AAyB9B,IAAA,WAAA,GAAA;AAxBA,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAW,CAAC;AACjD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAClD,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAW,CAAC;AAEnD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAAW,CAAC;AACrD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAAW,CAAC;AACrD,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,YAAY,EAAW,CAAC;AAEtD,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAQ,CAAA,QAAA,GAAW,KAAK,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAW,KAAK,CAAC;AACxB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAE3B,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK,CAAC;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAa,KAAK,CAAC;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK,CAAC;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAa,KAAK,CAAC;AAC5B,QAAA,IAAU,CAAA,UAAA,GAAa,KAAK,CAAC;QAG3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;YAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC/B,SAAC,CAAC,CAAC;KACJ;IAED,qBAAqB,GAAA;AACnB,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,QAAA,MAAM,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC;AAClC,QAAA,MAAM,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC;AACnC,QAAA,MAAM,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC;AAClC,QAAA,MAAM,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC;AACnC,QAAA,MAAM,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC;AAErC,QAAA,MAAM,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC;AACnC,QAAA,MAAM,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAC;AACpC,QAAA,MAAM,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAAC;AACnC,QAAA,MAAM,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAC;AACpC,QAAA,MAAM,UAAU,GAAG,KAAK,IAAI,SAAS,CAAC;AAEtC,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,YAAY,EAAE;AACjC,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC7B,SAAA;AACD,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC5B,SAAA;AAGD,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC3B,SAAA;AACD,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC9B,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5C,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;AAClC,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9B,SAAA;KACF;;gHAzFU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCJY,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA;AADS,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;KAChB;IAEjB,QAAQ,GAAA;KACP;;mHALU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uFCPnC,2GAEM,EAAA,MAAA,EAAA,CAAA,+eAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDKO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,2GAAA,EAAA,MAAA,EAAA,CAAA,+eAAA,CAAA,EAAA,CAAA;0EAKpB,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MECK,wBAAwB,CAAA;AAKnC,IAAA,WAAA,CAAoB,EAAoB,EAAA;AAApB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAkB;AAHxC,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAM,CAAA,MAAA,GAAwB,EAAE,CAAC;KAEY;IAE7C,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;aAC5B,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAChB,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB,EAAE,GAAG,IAAG;AACP,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACtB,SAAC,CAAC,CAAC;KACN;;qHArBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,uFCTrC,klBAaM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,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,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDJO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,klBAAA,EAAA,CAAA;oGAKtB,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEIK,6BAA6B,CAAA;AAMxC,IAAA,WAAA,CAAoB,EAAoB,EAC9B,YAAiC,EAElC,UAAuB,EACvB,MAAiB,EAChB,KAAiB,EACjB,SAAsD,EACtD,YAAiC,EAAA;AAPvB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAkB;AAC9B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AAElC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAa;AACvB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAChB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AACjB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA6C;AACtD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AAV3C,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,KAAK,GAAkB,IAAI,YAAY,EAAE,CAAC;QAUtC,IAAI,CAAC,KAAK,GAAG;AACX,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,OAAO,EAAE,CAAC;SACX,CAAC;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AAEzC,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACvE;IAGD,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KACtD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KACxD;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;AACvB,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,MAAM,EACV;AACE,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;aAC/B,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS;AAChB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B,EAAE,GAAG,IAAG;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACR;;AAxDU,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,+EAQ9B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AARd,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,iECd1C,ijBAayD,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDC5C,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,ijBAAA,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,CAAA;;;8BAYlC,MAAM;+BAAC,eAAe,CAAA;;;;METd,8BAA8B,CAAA;AAMzC,IAAA,WAAA,CAAoB,EAAoB,EAC9B,YAAiC,EAElC,UAAuB,EACvB,MAAiB,EAChB,KAAiB,EACjB,SAAuD,EACvD,YAAiC,EAAA;AAPvB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAkB;AAC9B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AAElC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAa;AACvB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAChB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AACjB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA8C;AACvD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AAV3C,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,KAAK,GAAkB,IAAI,YAAY,EAAE,CAAC;AAUxC,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;AACzB,SAAA;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AAEzC,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACvE;IAGD,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KACtD;IACD,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KACxD;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;AACxB,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,MAAM,EACV;AACE,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;aAChC,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,SAAS;AAChB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B,EAAE,GAAG,IAAG;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACR;;AAlDU,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,+EAQ/B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AARd,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,kECb3C,qjBAayD,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDA5C,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,qjBAAA,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,CAAA;;;8BAYnC,MAAM;+BAAC,eAAe,CAAA;;;;AEnBd,MAAA,aAAa,GAAG,OAAO,CAChC,MAAM,EACN;IACE,UAAU,CACR,QAAQ,EAAE;QACV,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACpD,QAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;KACtE,CACA;IACD,UAAU,CACR,QAAQ,EAAE;QACV,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACnD,QAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;KACzE,CAAC;AAAC,CAAA,EACN;AAGY,MAAA,oBAAoB,GAAG,OAAO,CACzC,aAAa,EACb;IACE,UAAU,CACR,QAAQ,EAAE;QACV,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACrD,QAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;KACtE,CACA;IACD,UAAU,CACR,QAAQ,EAAE;AACV,QAAA,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C,CAAC;AAAC,CAAA;;MChCI,WAAW,CAAA;AAEpB,IAAA,WAAA,CAAoB,MAAkB,EAAU,OAAA,GAAmB,GAAG,EAAA;AAAlD,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;AAAU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAe;KAErE;IACD,IAAI,GAAA;AACA,QAAA,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS;AAC/B,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAQ,EAAA,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClF;AACJ;;MCHY,oBAAoB,CAAA;IAE/B,WACS,CAAA,SAA6C,EAE7C,IAAqB,EAAA;AAFrB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAoC;AAE7C,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAiB;KAAK;IAEnC,QAAQ,GAAA;KACP;;AARU,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,gDAIrB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAJd,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,wDCRjC,6TAOqB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDCR,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,6TAAA,EAAA,CAAA;;;8BAQzB,MAAM;+BAAC,eAAe,CAAA;;;;MEJd,0BAA0B,CAAA;AAEnC,IAAA,WAAA,CAAoB,IAAmC,EAAA;AAAnC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA+B;KACtD;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC1B,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,QAAA,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;AACxB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC;QAC9C,IAAI,GAAG,KAAK,QAAQ,EAAE;AAClB,YAAA,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,YAAA,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAC/C;gBACI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpC,OAAO;AACV,aAAA;YACD,GAAG,GAAG,OAAO,CAAC;AACjB,SAAA;AACD,QAAA,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO;AAC7C,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,GAAG,KAAK,OAAO;AAAE,YAAA,KAAK,EAAE,CAAC;AAC7B,QAAA,IAAI,GAAG,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC;AAAE,YAAA,KAAK,EAAE,CAAC;AAExC,QAAA,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,OAAO;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACnD;AACJ,CAAA;SAEe,gBAAgB,CAC5B,MAAkB,EAClB,GAAY,EACZ,YAAyB,EAAA;AAEzB,IAAA,MAAM,IAAI,GACV;AACE,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,GAAG,EAAE,GAAG;KACT,CAAA;AACD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAClD,QAAA,IAAI,EAAE,IAAI;AACX,KAAA,CAAC,CAAC;IACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,YAAY,IAAG;QAC/C,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO;AAClC,QAAA,YAAY,EAAE,CAAC;AACjB,KAAC,CAAC,CAAC;AACL;;MCrDW,aAAa,CAAA;AAYtB,IAAA,WAAA,CAAoB,WAAwB,EAAA;AAAxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AA+B5C,QAAA,IAAM,CAAA,MAAA,GAAG,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,CAAC;AACvI,QAAA,IAAW,CAAA,WAAA,GAAG,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,CAAC;AA/B/F,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,QAAA,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClF,QAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACnB;IAED,GAAG,CAAC,IAAY,EAAE,KAAU,EAAA;QACxB,MAAM,EAAE,GAAG,IAAW,CAAC;AACvB,QAAA,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;KAC1B;IAED,eAAe,GAAA;AACX,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;AACzB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;YAC/B,OAAO,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACrC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;AAC9B,YAAA,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;AAC/B,YAAA,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACzE,QAAA,OAAO,CAAG,EAAA,GAAG,CAAC,OAAO,EAAE,CAAI,CAAA,EAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,GAAG,CAAC,WAAW,EAAE,CAAQ,KAAA,EAAA,GAAG,CAAC,OAAO,EAAE,CAAI,CAAA,EAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;KACxI;IAID,aAAa,CAAC,QAAkB,KAAK,EAAA;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;AACzB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,IAAI,KAAK;AACxC,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;AAC9D,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;AAC/B,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;AACzD,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;AAC9B,YAAA,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AACzB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;AAC/B,YAAA,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACzE,QAAA,OAAO,CAAG,EAAA,GAAG,CAAC,OAAO,EAAE,CAAI,CAAA,EAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,GAAG,CAAC,WAAW,EAAE,CAAQ,KAAA,EAAA,GAAG,CAAC,OAAO,EAAE,CAAI,CAAA,EAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;KACxI;IAED,WAAW,GAAA;QACP,IAAI,CAAC,GAAG,EAAE,CAAC;AACX,QAAA,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE;AACf,YAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACb,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACjB,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,CAAC,GAAG,EAAE,CAAC;AACX,QAAA,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE;AACd,YAAA,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACd,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACjB,SAAA;KACJ;AACJ,CAAA;AACW,IAAA,WAEX;AAFD,CAAA,UAAY,UAAU,EAAA;IAClB,UAAA,CAAA,UAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;IAAE,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;IAAE,UAAA,CAAA,UAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;IAAE,UAAA,CAAA,UAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AAClC,CAAC,EAFW,UAAU,KAAV,UAAU,GAErB,EAAA,CAAA,CAAA;;MCtEY,eAAe,CAAA;AAiM1B,IAAA,WAAA,GAAA;AAhME,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAK,CAAA,KAAA,GAAY,EAAE,CAAC;QACpB,IAAA,CAAA,WAAW,GAAiB,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAC,CAAC;QAC3G,IAAA,CAAA,UAAU,GAAgB;AACxB,YAAA,6BAA6B,EAAG,KAAK;AACrC,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,+BAA+B,EAAE,KAAK;AACtC,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,+BAA+B,EAAE,KAAK;AACtC,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,wCAAwC,EAAE,KAAK;AAC/C,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,2BAA2B,EAAE,KAAK;AAClC,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,kBAAkB,EAAG,KAAK;AAC1B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,6BAA6B,EAAE,KAAK;AACpC,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,uBAAuB,EAAG,KAAK;AAC/B,YAAA,gCAAgC,EAAG,KAAK;AACxC,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,2BAA2B,EAAE,KAAK;AAClC,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,6BAA6B,EAAE,KAAK;AACpC,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,8BAA8B,EAAE,KAAK;AACrC,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,mBAAmB,EAAE,KAAK;AAC1B,YAAA,8BAA8B,EAAE,KAAK;AACrC,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,2BAA2B,EAAE,KAAK;AAClC,YAAA,2BAA2B,EAAE,KAAK;AAClC,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,2BAA2B,EAAE,KAAK;AAClC,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,+BAA+B,EAAE,KAAK;AACtC,YAAA,8BAA8B,EAAE,KAAK;AACrC,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,2BAA2B,EAAE,KAAK;AAClC,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,yBAAyB,EAAE,KAAK;AAChC,YAAA,oBAAoB,EAAE,KAAK;AAC3B,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,kBAAkB,EAAE,KAAK;AACzB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,0BAA0B,EAAE,KAAK;AACjC,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE,KAAK;AAC/B,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,uBAAuB,EAAE,KAAK;AAC9B,YAAA,mBAAmB,EAAE,KAAK;SAC3B,CAAC;AACF,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAS,CAAA,SAAA,GAAY,CAAC,CAAC;AACvB,QAAA,IAAS,CAAA,SAAA,GAAY,EAAE,CAAC;AACxB,QAAA,IAAM,CAAA,MAAA,GAAY,CAAC,CAAC;AACpB,QAAA,IAAK,CAAA,KAAA,GAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAA,IAAA,GAAY,EAAE,CAAC;KAEpB;AAED,IAAA,KAAK,CAAC,MAAoB,EAAA;AAExB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACtC,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACpC,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACtC,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;KAC3B;;4GAhNU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCAY,iBAAiB,CAAA;AAO5B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;8GAVU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,wJCP9B,6iBAeA,EAAA,MAAA,EAAA,CAAA,ioCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDRa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,6iBAAA,EAAA,MAAA,EAAA,CAAA,ioCAAA,CAAA,EAAA,CAAA;0EAMf,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEQK,qBAAqB,CAAA;IAYhC,WAAoB,CAAA,EAAoB,EAC9B,YAAiC,EAClC,MAAiB,EACxB,IAAqB,EACb,YAAiC,EAAA;AAJvB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAkB;AAC9B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AAClC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAEhB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AAb3C,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAK,CAAA,KAAA,GAAkB,EAAE,CAAC;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAwB,IAAI,CAAC;AACzC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,CAAC,MAAQ,EAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAG1D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;AACtB,QAAA,IAAA,CAAA,KAAK,GAAiB,IAAI,YAAY,EAAE,CAAC;QAO/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;AACzC,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAGvE;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,YAAY,GAAA;AAEV,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;YACzB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aACvB,EAAE,GAAG,CAAC,CAAC;;AAET,SAAA;AACI,aAAA;AACH,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AACvB,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;KACjD;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;aACnC,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB,EAAE,GAAG,IAAG;AACP,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACN;IAGD,OAAO,GAAA;AACL,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;AAC/B,QAAA,IAAI,CAAC,IAAI;YAAE,OAAO;AAClB,QAAA,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAC1B,CAAA,gDAAA,EAAmD,IAAI,CAAC,IAAI,CAAA,CAAA,CAAG,EACjE,MAAK;AAED,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC/B,SAAS,CAAC,CAAC,IAAG;AACb,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;AACrE,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACrB,EACD,GAAG,IAAG;AACF,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;IAED,IAAI,GAAA;QACF,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;AAChD,QAAA,IAAI,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC;;AAE3C,SAAA;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;AAC7D,YAAA,KAAK,EAAE,KAAK;;AAEZ,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,IAAG;YACtC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO;AACjC,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,YAAY,CAAC,IAAiB,EAAA;QAC5B,IAAI,MAAM,GAAG,SAAS,CAAC;AACvB,QAAA,IAAI,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC;YAC1C,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;AAC7C,SAAA;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;AAC9D,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,KAAK;;AAEZ,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,UAAU,EAAE,WAAW;AACxB,SAAA,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,IAAG;YACtC,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;AAC/B,QAAA,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,QAAA,IAAI,MAAM,EACV;AACE,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;aAC1B,SAAS,CAAC,CAAC,IAAG;AACb,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB,EACC,GAAG,IAAG;AACJ,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACR;;kHAjJU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAS,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAN,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,ECrBlC,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,21GA2EM,EDxDQ,MAAA,EAAA,CAAA,oIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,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,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAE,aAAa,CAAE,EAAA,CAAA,CAAA;2FAElB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,iBAAiB,EAAA,UAAA,EAGf,CAAE,aAAa,CAAE,EAAA,QAAA,EAAA,21GAAA,EAAA,MAAA,EAAA,CAAA,oIAAA,CAAA,EAAA,CAAA;;;METlB,oBAAoB,CAAA;AAI/B,IAAA,WAAA,GAAA;AAHS,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AAE9C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAED,QAAQ,GAAA;KACP;AAGD,IAAA,OAAO,CAAC,CAAO,EAAA;QACb,IAAI,CAAC,IAAI,CAAC,aAAa;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjC;;iHAhBU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,yPCVjC,2BAAyB,EAAA,MAAA,EAAA,CAAA,yRAAA,CAAA,EAAA,CAAA,CAAA;2FDUZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGrB,IAAA,EAAA;AACJ,wBAAA,iBAAiB,EAAE,SAAS;qBAC7B,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,yRAAA,CAAA,EAAA,CAAA;0EAGQ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBASP,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEdtB,oBAAoB,CAAA;AAuB/B,IAAA,WAAA,GAAA;AArBS,QAAA,IAAK,CAAA,KAAA,GAAsB,EAAE,CAAC;AAC/B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACjC,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;AACxB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAC7B,QAAA,IAAW,CAAA,WAAA,GAAa,KAAK,CAAC;AACpB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAgB3B;AAdjB,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAI,MAAM,CAAC,GAAY,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;AAGD,IAAA,OAAO,CAAC,CAAO,EAAA;;KAEd;IAID,QAAQ,GAAA;KACP;IAED,IAAI,CAAC,IAAqB,EAAE,KAAwB,EAAA;QAClD,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AACrB,oBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,MAAM,GAAA;AAEJ,QAAA,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,MAAM,GAAA;AAEJ,QAAA,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,QAAQ,GAAA;QAEN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC1D;;iHA9DU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,mNCPjC,0pBAmBA,EAAA,MAAA,EAAA,CAAA,ueAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDZa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,0pBAAA,EAAA,MAAA,EAAA,CAAA,ueAAA,CAAA,EAAA,CAAA;0EAKlB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAGH,MAAM,EAAA,CAAA;sBADT,KAAK;gBAUN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MElBtB,wBAAwB,CAAA;AAgDnC,IAAA,WAAA,GAAA;AA/CU,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;AACvC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAa,CAAC;AAElD,QAAA,IAAK,CAAA,KAAA,GAAa,KAAK,CAAC;AAGxB,QAAA,IAAU,CAAA,UAAA,GAAa,KAAK,CAAC;AAC7B,QAAA,IAAM,CAAA,MAAA,GAAG,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,CAAC;AACvI,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAE7B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAoC3B,QAAA,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KAC9B;AArCD,IAAA,IACI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IACD,IAAI,SAAS,CAAC,GAAY,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;AAED,IAAA,IACI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,IACI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAQD,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,SAAA;AACI,aAAA;YACH,IAAI,CAAC,GAAG,EAAE,CAAC;AACX,YAAA,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE;AAChB,gBAAA,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACd,gBAAA,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AACf,aAAA;AACF,SAAA;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,SAAA;AACI,aAAA;YACH,IAAI,CAAC,GAAG,EAAE,CAAC;AACX,YAAA,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE;AACjB,gBAAA,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACd,gBAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,aAAA;AACF,SAAA;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,SAAS;YAChB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;;AAE3B,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9D,IAAI,CAAC,IAAI,CAAC,WAAW;YACnB,OAAO;AAET,QAAA,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACnB,QAAA,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,SAAS;AACjB,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;;YAEtD,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;KACtC;;IAED,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACtB;;qHA/GU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,qOCPrC,waAcM,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDPO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,waAAA,EAAA,MAAA,EAAA,CAAA,8MAAA,CAAA,EAAA,CAAA;0EAKtB,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAUP,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAYF,GAAG,EAAA,CAAA;sBADN,KAAK;gBAYF,GAAG,EAAA,CAAA;sBADN,KAAK;;;MErCK,sBAAsB,CAAA;AAsCjC,IAAA,WAAA,GAAA;AArCU,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AAC9C,QAAA,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;KA8BH;AA5BjB,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,IACI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,IACI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAID,QAAQ,GAAA;KACP;AAED,IAAA,UAAU,CAAC,EAAQ,EAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,aAAA;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACtB,OAAO;AACT,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACtB,OAAO;AACT,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAED,SAAS,GAAA;QACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;AAC9D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC;AACrE,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC;KACtE;AAED,IAAA,MAAM,CAAC,GAAS,EAAA;QACd,IAAI,KAAK,CAAC,GAAG,CAAC;AACZ,YAAA,OAAO,KAAK,CAAC;QACf,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG;AAC1C,YAAA,OAAO,KAAK,CAAC;QACf,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG;AAC1C,YAAA,OAAO,KAAK,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;KACb;IAED,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;;mHAzFU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,wKCPnC,iXAUM,EAAA,MAAA,EAAA,CAAA,0HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,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,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDHO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,iXAAA,EAAA,MAAA,EAAA,CAAA,0HAAA,CAAA,EAAA,CAAA;0EAKnB,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBASH,KAAK,EAAA,CAAA;sBADR,KAAK;gBAWF,GAAG,EAAA,CAAA;sBADN,KAAK;gBAUF,GAAG,EAAA,CAAA;sBADN,KAAK;;;ME7BK,kBAAkB,CAAA;AAgC7B,IAAA,WAAA,GAAA;AA/BU,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAU,CAAC;AAC/C,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAU,CAAC;AAChD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AAC9C,QAAA,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;AACzB,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;AAC1B,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AACvB,QAAA,IAAG,CAAA,GAAA,GAAY,IAAI,CAAC;AACX,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;KAwBb;AAtBjB,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IAED,IAAI,WAAW,CAAC,GAAW,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED,IAAA,IACI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAED,IAAI,YAAY,CAAC,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAID,QAAQ,GAAA;KACP;AAED,IAAA,WAAW,CAAC,MAAc,EAAA;QACxB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,GAAG,CAAC;YAC1C,OAAO;AACP,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACtC;IAED,SAAS,GAAA;QAEP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC;KAClD;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;KACxC;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;KACxC;;+GAzDU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,iQCP/B,sTASA,EAAA,MAAA,EAAA,CAAA,mLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDFa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,sTAAA,EAAA,MAAA,EAAA,CAAA,mLAAA,CAAA,EAAA,CAAA;0EAKd,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKE,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAYF,YAAY,EAAA,CAAA;sBADf,KAAK;;;MErBK,yBAAyB,CAAA;AAgBpC,IAAA,WAAA,GAAA;AAfU,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAwB,CAAC;AAC5D,QAAA,IAAM,CAAA,MAAA,GAA2B,EAAE,CAAC;;AAE3B,QAAA,IAAY,CAAA,YAAA,GAAgC,IAAI,CAAC;KAYzC;AAXjB,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,GAA2B,EAAA;AACnC,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7E,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KAChD;IAID,QAAQ,GAAA;KAEP;AAED,IAAA,WAAW,CAAC,IAA2B,EAAA;AACrC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrC;;sHAzBU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,sJCPtC,iLAEkB,EAAA,MAAA,EAAA,CAAA,6FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAmB,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDKL,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,iLAAA,EAAA,MAAA,EAAA,CAAA,6FAAA,CAAA,EAAA,CAAA;0EAKvB,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAGE,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEF,KAAK,EAAA,CAAA;sBADR,KAAK;;;MENK,YAAY,CAAA;AAEvB,IAAA,WAAA,CAAoB,SAAsB,EAAA;AAAtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAa;KAAG;AAE7C,IAAA,SAAS,CAAC,IAAa,EAAA;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACrD;;yGANU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAnB,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;iBACjB,CAAA;;;ACgCD,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,IAAI,EAAA;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;AAC/B,IAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACtB,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AACD,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,YAAA;AAC5B,IAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;AACjB,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAED,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,IAAa,EAAA;AAE9C,IAAA,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA;MAwCY,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBApCxB,sBAAsB;QACtB,wBAAwB;QACxB,oBAAoB;QACpB,sBAAsB;QACtB,kBAAkB;QAClB,oBAAoB;QACpB,yBAAyB;QACzB,iBAAiB;QACjB,YAAY;QACZ,oBAAoB;QACpB,qBAAqB;QACrB,wBAAwB;QACxB,8BAA8B;AAC9B,QAAA,6BAA6B,aAG7B,aAAa;QACb,uBAAuB;QACvB,WAAW;QACX,eAAe;QACf,aAAa;QACb,eAAe;AACf,QAAA,eAAe,aAGf,sBAAsB;QACtB,wBAAwB;QACxB,oBAAoB;QACpB,sBAAsB;QACtB,kBAAkB;QAClB,oBAAoB;QACpB,yBAAyB;QACzB,iBAAiB;QACjB,YAAY,CAAA,EAAA,CAAA,CAAA;AAGH,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YApBxB,aAAa;QACb,uBAAuB;QACvB,WAAW;QACX,eAAe;QACf,aAAa;QACb,eAAe;QACf,eAAe,CAAA,EAAA,CAAA,CAAA;2FAcN,eAAe,EAAA,UAAA,EAAA,CAAA;kBAtC3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,wBAAwB;wBACxB,oBAAoB;wBACpB,sBAAsB;wBACtB,kBAAkB;wBAClB,oBAAoB;wBACpB,yBAAyB;wBACzB,iBAAiB;wBACjB,YAAY;wBACZ,oBAAoB;wBACpB,qBAAqB;wBACrB,wBAAwB;wBACxB,8BAA8B;wBAC9B,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,uBAAuB;wBACvB,WAAW;wBACX,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,wBAAwB;wBACxB,oBAAoB;wBACpB,sBAAsB;wBACtB,kBAAkB;wBAClB,oBAAoB;wBACpB,yBAAyB;wBACzB,iBAAiB;wBACjB,YAAY;AACb,qBAAA;iBACF,CAAA;;;MC9FY,SAAS,CAAA;AAAtB,IAAA,WAAA,GAAA;AACI,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAChB,QAAA,IAAO,CAAA,OAAA,GAAW,CAAC,CAAC;KAc/B;IAZG,IAAI,GAAA;QACA,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACtB;IAED,IAAI,GAAA;QACA,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;AAChB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KAC3B;AACJ;;MCdY,YAAY,CAAA;IAKrB,WACY,CAAA,WAAuC,EACvC,WAAyB,EACzB,GAAY,EACZ,GAAY,EACpB,mBAAA,GAA+B,IAAI,EAAA;AAJ3B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAA4B;AACvC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAc;AACzB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAS;AACZ,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAS;AANxB,QAAA,IAAM,CAAA,MAAA,GAAa,KAAK,CAAC;AAQrB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,mBAAmB,CAAC,CAAC;KACtF;AAED,IAAA,KAAK,CAAC,GAAW,EAAA;AACb,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;AACD,IAAA,KAAK,CAAC,GAAY,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACvB;IAGD,QAAQ,GAAA;AAEJ,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;IAEO,UAAU,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;AACrC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAA,CAAC;QAChD,MAAM,KAAK,GAAa,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,gBAAA,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,SAAS;oBAAE,SAAS;AAC1C,gBAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,aAAA;AACJ,SAAA;AACI,aAAA;YACD,UAAU,GAAG,MAAM,CAAC;AACvB,SAAA;AAED,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;AACvC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACpB,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,SAAA;AACI,aAAA;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACzB,SAAA;KACJ;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,KAAK,IAAI,CAAC,GAAG,KAAK,SAAS;AAAE,YAAA,OAAO,IAAI,CAAC;AACpE,QAAA,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,KAAK,CAAC;AAChE,QAAA,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,KAAK,CAAC;AAChE,QAAA,OAAO,IAAI,CAAC;KACf;AACJ;;MCrEY,KAAK,CAAA;AAId,IAAA,WAAA,CAAY,MAAmB,EAAE,WAAoB,EAAE,QAAqB,EAAA;AACxE,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACtD,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;KACvB;IAED,QAAQ,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,GAAG,EAAE,CAAC,CAAA;KAC3D;AACJ;;ACpBK,SAAU,QAAQ,CAAC,GAAW,EAAA;AAChC,IAAA,MAAM,CAAC,GAAG,uPAAuP,GAAG,GAAG,GAAG,eAAe,CAAC;IAC1R,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAEK,SAAU,SAAS,CAAC,CAAM,EAAA;AAC5B,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,IAAI;QACT,CAAC,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAEK,SAAU,UAAU,CAAC,EAAQ,EAAA;AAEjC,IAAA,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;AACpB;;ACbM,MAAO,iCAAkC,SAAQ,aAAa,CAAA;AAIhE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KAClC;AACJ;;ACVK,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AAYpD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;KACpB;AACJ;;ACtBK,MAAO,qBAAsB,SAAQ,qBAAqB,CAAA;AA2B5D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC,aAAa,CAAC;KAC9D;AACJ,CAAA;AAEW,IAAA,gBAEX;AAFD,CAAA,UAAY,eAAe,EAAA;IACvB,eAAA,CAAA,eAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ,CAAA;IAAE,eAAA,CAAA,eAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS,CAAA;IAAE,eAAA,CAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAc,CAAA;AACvC,CAAC,EAFW,eAAe,KAAf,eAAe,GAE1B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,wBAIX;AAJD,CAAA,UAAY,uBAAuB,EAAA;IAC/B,uBAAA,CAAA,uBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAa,CAAA;IACb,uBAAA,CAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;IACP,uBAAA,CAAA,uBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACT,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,GAIlC,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,0BAIX;AAJD,CAAA,UAAY,yBAAyB,EAAA;IACjC,yBAAA,CAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;IACL,yBAAA,CAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;IACJ,yBAAA,CAAA,yBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACV,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,GAIpC,EAAA,CAAA,CAAA;;AC7CK,MAAO,2BAA4B,SAAQ,aAAa,CAAA;AAY1D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,aAAa,GAAG,uBAAuB,CAAC,aAAa,CAAC;AAC3D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACzB;AACJ;;ACxBK,MAAO,sBAAuB,SAAQ,aAAa,CAAA;IASrD,WAAmB,CAAA,SAAkB,EAAE,WAAwB,EAAA;QAC3D,KAAK,CAAC,WAAW,CAAC,CAAC;AADJ,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAS;AAFrC,QAAA,IAAkB,CAAA,kBAAA,GAAa,KAAK,CAAC;AAIjC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;KAC7B;AACJ;;AChBK,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAOnD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AAER,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;AACtC,QAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;AACJ;;AChBK,MAAO,yBAA0B,SAAQ,aAAa,CAAA;AAI3D;;MCAY,iBAAiB,CAAA;AAG5B,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,KAAK,CAAC,eAAwB,EAAA;AAE1B,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KAC1C;IAED,aAAa,CAAC,CAAO,EAAE,QAAiB,EAAA;AAEtC,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;AAC1G,QAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAC,eAAe,CAAA,KAAA,CAAO,CAAC,CAAC;KACpE;AACD,IAAA,SAAS,CAAC,CAAO,EAAA;AAEf,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACnD,QAAA,CAAC,aAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,KAAK,EAAE,CAAC;KACZ;;8GArBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCEY,WAAW,CAAA;AACpB,IAAA,WAAA,GAAA;KACC;AAED,IAAA,SAAS,CAAC,GAAW,EAAE,IAA4B,EAAE,YAAkB,EAAA;QACnE,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI;AAAE,YAAA,OAAO,YAAY,CAAC;AACpC,QAAA,IAAI,QAAa,CAAC;AAClB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;AACzB,YAAA,IAAI,SAAS;AACT,gBAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,SAAA;AACD,QAAA,OAAO,QAAQ,CAAC;KACnB;IAED,IAAI,CAAI,GAAW,EAAE,YAAgB,EAAA;QAEjC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,IAAI;AAAE,YAAA,OAAO,YAAY,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,SAAS,CAAC,GAAW,EAAE,IAA2B,EAAA;QAC9C,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;IAED,IAAI,CAAI,GAAW,EAAE,GAAO,EAAA;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjC,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;KACnC;;wGAjCQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFR,MAAM,EAAA,CAAA,CAAA;2FAET,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;ACND;;AAEG;;ACFH;;AAEG;;;;"}
|