@firestitch/content 13.0.3 → 13.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. package/app/consts/index.d.ts +1 -1
  2. package/app/consts/page-types.const.d.ts +5 -5
  3. package/app/enums/editor-type.d.ts +6 -6
  4. package/app/enums/index.d.ts +2 -2
  5. package/app/enums/page-type.enum.d.ts +6 -6
  6. package/app/injectors/content-config.injector.d.ts +2 -2
  7. package/app/injectors/index.d.ts +1 -1
  8. package/app/interfaces/content-config.d.ts +21 -21
  9. package/app/interfaces/content-layout.d.ts +10 -10
  10. package/app/interfaces/content-page.d.ts +14 -14
  11. package/app/interfaces/content-style.d.ts +4 -4
  12. package/app/interfaces/index.d.ts +4 -4
  13. package/app/modules/content/components/content/content.component.d.ts +25 -25
  14. package/app/modules/content/components/content/index.d.ts +1 -1
  15. package/app/modules/content/components/content-renderer/content-renderer.component.d.ts +24 -24
  16. package/app/modules/content/components/content-renderer/index.d.ts +1 -1
  17. package/app/modules/content/fs-content.module.d.ts +10 -10
  18. package/app/modules/content-layouts/components/content-layout/content-layout.component.d.ts +27 -27
  19. package/app/modules/content-layouts/components/content-layout/index.d.ts +1 -1
  20. package/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.d.ts +50 -50
  21. package/app/modules/content-layouts/components/content-layout-editor/index.d.ts +1 -1
  22. package/app/modules/content-layouts/components/content-layouts/content-layouts.component.d.ts +21 -21
  23. package/app/modules/content-layouts/components/content-layouts/index.d.ts +1 -1
  24. package/app/modules/content-layouts/components/index.d.ts +3 -3
  25. package/app/modules/content-layouts/fs-content-layouts.module.d.ts +28 -28
  26. package/app/modules/content-pages/components/content-page/content-page.component.d.ts +32 -32
  27. package/app/modules/content-pages/components/content-page/index.d.ts +1 -1
  28. package/app/modules/content-pages/components/content-page-editor/content-page-editor.component.d.ts +56 -56
  29. package/app/modules/content-pages/components/content-page-editor/index.d.ts +1 -1
  30. package/app/modules/content-pages/components/content-pages/content-pages.component.d.ts +24 -24
  31. package/app/modules/content-pages/components/content-pages/index.d.ts +1 -1
  32. package/app/modules/content-pages/components/index.d.ts +3 -3
  33. package/app/modules/content-pages/fs-content-pages.module.d.ts +33 -33
  34. package/app/modules/content-style/components/content-style/content-style.component.d.ts +27 -27
  35. package/app/modules/content-style/components/content-style/index.d.ts +1 -1
  36. package/app/modules/content-style/fs-content-style.module.d.ts +14 -14
  37. package/app/modules/editor/components/editor/editor.component.d.ts +49 -49
  38. package/app/modules/editor/components/editor/index.d.ts +1 -1
  39. package/app/modules/editor/components/editor-label/editor-label.component.d.ts +7 -7
  40. package/app/modules/editor/components/editor-label/index.d.ts +1 -1
  41. package/app/modules/editor/fs-content-editor.module.d.ts +24 -24
  42. package/app/modules/editor/index.d.ts +1 -1
  43. package/esm2020/app/consts/index.mjs +1 -1
  44. package/esm2020/app/consts/page-types.const.mjs +5 -5
  45. package/esm2020/app/enums/editor-type.mjs +7 -7
  46. package/esm2020/app/enums/index.mjs +3 -3
  47. package/esm2020/app/enums/page-type.enum.mjs +7 -7
  48. package/esm2020/app/injectors/content-config.injector.mjs +2 -2
  49. package/esm2020/app/injectors/index.mjs +1 -1
  50. package/esm2020/app/interfaces/content-config.mjs +1 -1
  51. package/esm2020/app/interfaces/content-layout.mjs +1 -1
  52. package/esm2020/app/interfaces/content-page.mjs +1 -1
  53. package/esm2020/app/interfaces/content-style.mjs +1 -1
  54. package/esm2020/app/interfaces/index.mjs +5 -5
  55. package/esm2020/app/modules/content/components/content/content.component.mjs +80 -80
  56. package/esm2020/app/modules/content/components/content/index.mjs +1 -1
  57. package/esm2020/app/modules/content/components/content-renderer/content-renderer.component.mjs +73 -73
  58. package/esm2020/app/modules/content/components/content-renderer/index.mjs +1 -1
  59. package/esm2020/app/modules/content/fs-content.module.mjs +32 -32
  60. package/esm2020/app/modules/content-layouts/components/content-layout/content-layout.component.mjs +67 -67
  61. package/esm2020/app/modules/content-layouts/components/content-layout/index.mjs +1 -1
  62. package/esm2020/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.mjs +161 -161
  63. package/esm2020/app/modules/content-layouts/components/content-layout-editor/index.mjs +1 -1
  64. package/esm2020/app/modules/content-layouts/components/content-layouts/content-layouts.component.mjs +115 -115
  65. package/esm2020/app/modules/content-layouts/components/content-layouts/index.mjs +1 -1
  66. package/esm2020/app/modules/content-layouts/components/index.mjs +4 -4
  67. package/esm2020/app/modules/content-layouts/fs-content-layouts.module.mjs +103 -103
  68. package/esm2020/app/modules/content-pages/components/content-page/content-page.component.mjs +82 -81
  69. package/esm2020/app/modules/content-pages/components/content-page/index.mjs +1 -1
  70. package/esm2020/app/modules/content-pages/components/content-page-editor/content-page-editor.component.mjs +178 -178
  71. package/esm2020/app/modules/content-pages/components/content-page-editor/index.mjs +1 -1
  72. package/esm2020/app/modules/content-pages/components/content-pages/content-pages.component.mjs +129 -128
  73. package/esm2020/app/modules/content-pages/components/content-pages/index.mjs +1 -1
  74. package/esm2020/app/modules/content-pages/components/index.mjs +4 -4
  75. package/esm2020/app/modules/content-pages/fs-content-pages.module.mjs +120 -120
  76. package/esm2020/app/modules/content-style/components/content-style/content-style.component.mjs +68 -68
  77. package/esm2020/app/modules/content-style/components/content-style/index.mjs +1 -1
  78. package/esm2020/app/modules/content-style/fs-content-style.module.mjs +49 -49
  79. package/esm2020/app/modules/editor/components/editor/editor.component.mjs +143 -143
  80. package/esm2020/app/modules/editor/components/editor/index.mjs +1 -1
  81. package/esm2020/app/modules/editor/components/editor-label/editor-label.component.mjs +15 -15
  82. package/esm2020/app/modules/editor/components/editor-label/index.mjs +1 -1
  83. package/esm2020/app/modules/editor/fs-content-editor.module.mjs +88 -88
  84. package/esm2020/app/modules/editor/index.mjs +1 -1
  85. package/esm2020/firestitch-content.mjs +4 -4
  86. package/esm2020/public_api.mjs +10 -10
  87. package/fesm2015/firestitch-content.mjs +1249 -1251
  88. package/fesm2015/firestitch-content.mjs.map +1 -1
  89. package/fesm2020/firestitch-content.mjs +1253 -1251
  90. package/fesm2020/firestitch-content.mjs.map +1 -1
  91. package/firestitch-content.d.ts +5 -5
  92. package/package.json +1 -1
  93. package/public_api.d.ts +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-content.mjs","sources":["../../src/app/enums/editor-type.ts","../../src/app/enums/page-type.enum.ts","../../src/app/modules/editor/components/editor-label/editor-label.component.ts","../../src/app/modules/editor/components/editor-label/editor-label.component.html","../../src/app/modules/editor/components/editor/editor.component.ts","../../src/app/modules/editor/components/editor/editor.component.html","../../src/app/modules/editor/fs-content-editor.module.ts","../../src/app/injectors/content-config.injector.ts","../../src/app/modules/content-layouts/components/content-layout/content-layout.component.ts","../../src/app/modules/content-layouts/components/content-layout/content-layout.component.html","../../src/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.ts","../../src/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.html","../../src/app/modules/content-layouts/components/content-layouts/content-layouts.component.ts","../../src/app/modules/content-layouts/components/content-layouts/content-layouts.component.html","../../src/app/modules/content-layouts/fs-content-layouts.module.ts","../../src/app/consts/page-types.const.ts","../../src/app/modules/content-pages/components/content-page/content-page.component.ts","../../src/app/modules/content-pages/components/content-page/content-page.component.html","../../src/app/modules/content-pages/components/content-page-editor/content-page-editor.component.ts","../../src/app/modules/content-pages/components/content-page-editor/content-page-editor.component.html","../../src/app/modules/content-pages/components/content-pages/content-pages.component.ts","../../src/app/modules/content-pages/components/content-pages/content-pages.component.html","../../src/app/modules/content-pages/fs-content-pages.module.ts","../../src/app/modules/content-style/components/content-style/content-style.component.ts","../../src/app/modules/content-style/components/content-style/content-style.component.html","../../src/app/modules/content-style/fs-content-style.module.ts","../../src/app/modules/content/components/content-renderer/content-renderer.component.ts","../../src/app/modules/content/components/content-renderer/content-renderer.component.html","../../src/app/modules/content/components/content/content.component.ts","../../src/app/modules/content/components/content/content.component.html","../../src/app/modules/content/fs-content.module.ts","../../src/firestitch-content.ts"],"sourcesContent":["export enum EditorType {\n Js = 'js',\n Html = 'html',\n Scss = 'scss',\n GlobalScss = 'globalScss',\n}\n","export enum PageType {\n StandardPage = 'standardPage',\n BlogPost = 'blogPost',\n HomePage = 'homePage',\n NotFoundPage = 'notFoundPage',\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n} from '@angular/core';\n\n\n@Component({\n selector: 'app-editor-label',\n templateUrl: './editor-label.component.html',\n styleUrls: ['./editor-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EditorLabelComponent {\n\n @Input()\n public changed: boolean;\n\n @Input()\n public focused: boolean;\n\n}\n","<div class=\"label\" [ngClass]=\"{ focused: focused }\">\n <ng-content></ng-content>\n <span *ngIf=\"changed\" class=\"changed\">&nbsp;&#9679;</span>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorConfig } from '@firestitch/text-editor';\n\nimport { Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { EditorType } from '../../../../enums';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n selector: 'app-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EditorComponent implements OnInit, OnDestroy {\n\n @Input() public showHtml = false;\n @Input() public showScss = false;\n @Input() public showJs = false;\n @Input() public showGlobalScss = false;\n\n @Input() public html;\n @Input() public scss;\n @Input() public js;\n @Input() public contentConfig: FsContentConfig;\n\n @Output() public changed = new EventEmitter<{ type: string; value: string }>();\n @Output() public focused = new EventEmitter<string>();\n @Output() public blured = new EventEmitter<string>();\n\n public changes: any = {};\n public EditorType = EditorType;\n public focusedArea: string;\n\n public contentStyle: {\n scss?: string;\n };\n\n public resizing = false;\n public title;\n\n public scssConfig: FsTextEditorConfig;\n public globalScssConfig: FsTextEditorConfig;\n public htmlConfig: FsTextEditorConfig;\n public jsConfig: FsTextEditorConfig;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n private _message: FsMessage,\n ) { }\n\n public ngOnInit(): void {\n this.initTextEditors();\n this.initGlobalContentStyle();\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public change(type, value) {\n this.changed.emit({ type, value });\n this.changes[type] = value;\n }\n\n public get hasChanges() {\n return Object.keys(this.changes)\n .filter((name) => !!this.changes[name])\n .length !== 0;\n }\n\n public clearChange(type) {\n this.changes[type] = undefined;\n this._cdRef.markForCheck();\n }\n\n public initTextEditors() {\n this.scssConfig = {\n tabSize: 2,\n language: 'scss',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.Scss);\n },\n blur: () => {\n this.blured.emit(EditorType.Scss);\n },\n };\n this.jsConfig = {\n tabSize: 2,\n language: 'js',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.Js);\n },\n blur: () => {\n this.blured.emit(EditorType.Js);\n },\n };\n this.htmlConfig = {\n tabSize: 2,\n language: 'html',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.Html);\n },\n blur: () => {\n this.blured.emit(EditorType.Html);\n },\n };\n this.globalScssConfig = {\n tabSize: 2,\n language: 'scss',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.GlobalScss);\n },\n blur: () => {\n this.blured.emit(EditorType.GlobalScss);\n },\n };\n }\n\n public initGlobalContentStyle() {\n this.contentConfig.loadContentStyle()\n .subscribe((contentStyle) => {\n this.contentStyle = contentStyle || {};\n this._cdRef.markForCheck();\n });\n }\n\n public saveGlobalScss() {\n return this.contentConfig.saveContentStyle(this.contentStyle)\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n }),\n );\n }\n\n private _onFocus(type): void {\n this.focusedArea = type;\n this.focused.emit(type);\n }\n\n}\n","<as-split [unit]=\"'percent'\" [gutterSize]=\"25\"> \n <as-split-area [size]=\"70\" [visible]=\"showHtml\" [order]=\"1\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.html !== undefined\"\n [focused]=\"focusedArea === 'html'\">\n HTML\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"html\" \n name=\"html\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Html, $event)\"\n [config]=\"htmlConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showScss\" [order]=\"2\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.scss !== undefined\"\n [focused]=\"focusedArea === 'scss'\">\n SCSS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"scss\" \n name=\"scss\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Scss, $event)\"\n [config]=\"scssConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showJs\" [order]=\"3\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.js !== undefined\"\n [focused]=\"focusedArea === 'js'\">\n JS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"js\" \n name=\"js\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Js, $event)\"\n [config]=\"jsConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showGlobalScss\" [order]=\"4\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.globalScss !== undefined\"\n [focused]=\"focusedArea === 'globalScss'\">\n Global SCSS\n </app-editor-label>\n <ng-container *fsSkeleton=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"globalScss\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"change(EditorType.GlobalScss, $event)\"\n [config]=\"globalScssConfig\">\n </fs-text-editor> \n </ng-container> \n </div>\n </as-split-area>\n</as-split>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { FsCommonModule } from '@firestitch/common';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { AngularSplitModule } from 'angular-split';\n\nimport { EditorComponent } from './components/editor';\nimport { EditorLabelComponent } from './components/editor-label';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatButtonToggleModule,\n\n FsListModule,\n FsFormModule,\n FsSkeletonModule,\n FsLabelModule,\n FsHtmlEditorModule,\n FsCommonModule,\n FsDialogModule,\n FsTextEditorModule,\n\n AngularSplitModule,\n ],\n exports: [\n EditorComponent,\n ],\n declarations: [\n EditorComponent,\n EditorLabelComponent,\n ],\n})\nexport class FsContentEditorModule {\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_CONTENT_CONFIG = new InjectionToken<any>('fs-content-config');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorComponent } from '@firestitch/text-editor';\n\nimport { Subject, of } from 'rxjs';\nimport { switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n templateUrl: './content-layout.component.html',\n styleUrls: ['./content-layout.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentLayoutComponent implements OnInit, OnDestroy {\n\n @ViewChildren(FsTextEditorComponent)\n public textEditors: QueryList<FsTextEditorComponent>;\n\n public contentLayout = null;\n public editors = { content: true, styles: true };\n\n private _destroy$ = new Subject<void>();\n\n constructor( \n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n @Inject(MAT_DIALOG_DATA) private _data: any,\n private _dialogRef: MatDialogRef<ContentLayoutComponent>,\n private _message: FsMessage,\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this._fetchData();\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public save = () => {\n return this._config.saveContentLayout(this.contentLayout)\n .pipe(\n tap((contentLayout) => {\n this._message.success('Saved Changes');\n this._dialogRef.close(contentLayout);\n }),\n );\n };\n\n private _fetchData(): void {\n of(this._data.contentLayout)\n .pipe(\n switchMap((contentLayout) => {\n return of(contentLayout);\n }),\n takeUntil(this._destroy$),\n )\n .subscribe((contentLayout) => {\n this.contentLayout = { ...contentLayout };\n\n this._cdRef.markForCheck();\n });\n }\n\n}\n","<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentLayout\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentLayout.id ? 'Layout' : 'Layout Page'}}</h1>\n <div mat-dialog-content>\n <div class=\"fs-column\">\n <mat-form-field>\n <mat-label>Name</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentLayout.name\"\n name=\"name\"\n required>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentLayout.tag\"\n name=\"tag\">\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { Subject, fromEvent, of, throwError } from 'rxjs';\nimport { filter, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { EditorType } from '../../../../enums';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { EditorComponent } from '../../../editor/components/editor';\nimport { ContentLayoutComponent } from '../content-layout/content-layout.component';\n\n\n@Component({\n templateUrl: './content-layout-editor.component.html',\n styleUrls: ['./content-layout-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentLayoutEditorComponent implements OnInit, OnDestroy {\n\n @ViewChild(EditorComponent)\n public editor: EditorComponent;\n\n public contentLayout: {\n id?: number;\n styles?: string;\n content?: string;\n name?: string;\n };\n\n public config: FsContentConfig;\n public EditorType = EditorType;\n public focused = null;\n public title;\n public editors = {\n [EditorType.Html]: true,\n [EditorType.Scss]: true,\n [EditorType.GlobalScss]: false,\n };\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: {\n contentLayout: any;\n contentConfig: FsContentConfig;\n },\n private _dialogRef: MatDialogRef<ContentLayoutEditorComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n private _prompt: FsPrompt,\n ) {}\n\n public ngOnInit(): void {\n this._dialogRef.addPanelClass('fs-content-editor-overlay-pane');\n this._dialogRef.disableClose = true;\n this.config = this._data.contentConfig;\n this._initContentLayout(this._data.contentLayout);\n this._initEscape();\n }\n\n public editorToggleChange(event: MatButtonToggleChange): void {\n this.editors[event.value] = !this.editors[event.value];\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public _initContentLayout(contentLayout) {\n this.config.loadContentLayout(contentLayout.id)\n .subscribe((data) => {\n this.contentLayout = data;\n this._cdRef.markForCheck();\n });\n }\n\n public editorFocused(type) {\n this.focused = type;\n }\n\n public save = () => {\n return of(null)\n .pipe(\n filter(() => this.focused),\n switchMap(() => {\n switch (this.focused) {\n case EditorType.Html:\n case EditorType.Scss:\n return this.saveContentPage();\n case EditorType.GlobalScss:\n return this.editor.saveGlobalScss();\n }\n\n return throwError('Invalid focus');\n }),\n tap(() => {\n this.editor.clearChange(this.focused);\n this._cdRef.markForCheck();\n }),\n );\n };\n\n public saveContentPage() {\n const names = {\n [EditorType.Scss]: 'styles',\n [EditorType.Html]: 'content',\n };\n\n const data = {\n id: this.contentLayout.id,\n [names[this.focused]]: this.editor.changes[this.focused],\n };\n\n return this.config.saveContentLayout({\n id: this.contentLayout.id,\n ...data,\n })\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n }),\n );\n }\n\n public close(): void {\n if(!this.editor.hasChanges) {\n return this._dialogRef.close();\n }\n\n this._prompt.confirm({\n dialogConfig: {\n width: null,\n },\n title: 'You have unsaved changes',\n template: 'What would you like to do with your changes?',\n buttons: [\n {\n label: 'Review Changes',\n value: 'review',\n },\n {\n label: 'Discard Changes',\n value: 'discard',\n },\n ],\n })\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((value) =>{\n if(value === 'discard') {\n this._dialogRef.close();\n }\n });\n }\n\n public openSettings(): void {\n this._dialog.open(ContentLayoutComponent, {\n data: {\n contentLayout: this.contentLayout,\n },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((contentLayout) => {\n this.contentLayout = {\n ...this.contentLayout,\n ...contentLayout,\n };\n this._cdRef.markForCheck();\n });\n }\n\n private _initEscape(): void {\n fromEvent(document, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => event.code === 'Escape'),\n takeUntil(this._destroy$),\n ).subscribe(() => {\n const dialogRef = this._dialog.openDialogs.reverse()[0];\n if(dialogRef?.componentInstance === this) {\n this.close();\n }\n });\n }\n\n}\n","<form fsForm [submit]=\"save\" [dirtySubmitButton]=\"false\" [confirm]=\"false\">\n <fs-dialog *fsSkeletonForm=\"contentLayout\">\n <h1 mat-dialog-title>\n <div class=\"title-container\">\n <div class=\"title\">\n Layout Editor\n <div class=\"small\">{{contentLayout.name}}</div> \n </div>\n <a\n (click)=\"openSettings()\"\n mat-icon-button>\n <mat-icon>settings</mat-icon>\n </a> \n </div>\n </h1>\n <div mat-dialog-content>\n <app-editor\n [contentConfig]=\"config\"\n [showHtml]=\"editors.html\"\n [showScss]=\"editors.scss\"\n [showGlobalScss]=\"editors.globalScss\"\n [html]=\"contentLayout.content\"\n [scss]=\"contentLayout.styles\"\n (focused)=\"editorFocused($event)\">\n </app-editor>\n </div>\n\n <div mat-dialog-actions>\n <button \n mat-button\n color=\"primary\"\n (click)=\"close()\"\n type=\"button\"> \n Done \n </button>\n <div class=\"toggles\">\n <mat-button-toggle-group multiple>\n <mat-button-toggle value=\"html\" [checked]=\"editors.html\" (change)=\"editorToggleChange($event)\">HTML</mat-button-toggle>\n <mat-button-toggle value=\"scss\" [checked]=\"editors.scss\" (change)=\"editorToggleChange($event)\">SCSS</mat-button-toggle>\n <mat-button-toggle value=\"globalScss\" [checked]=\"editors.globalScss\" (change)=\"editorToggleChange($event)\">Global SCSS</mat-button-toggle>\n </mat-button-toggle-group> \n </div>\n </div>\n </fs-dialog>\n</form>","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { ItemType } from '@firestitch/filter';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { Observable, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { ContentLayoutComponent } from '../../components/content-layout';\nimport { ContentLayoutEditorComponent } from '../content-layout-editor/content-layout-editor.component';\n\n\n@Component({\n selector: 'fs-content-layouts',\n templateUrl: './content-layouts.component.html',\n styleUrls: ['./content-layouts.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsContentLayoutsComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _dialog: MatDialog,\n ) {}\n\n public ngOnInit(): void {\n this._initListConfig();\n }\n\n public openEditor(contentLayout: any): void {\n this._dialog.open(ContentLayoutEditorComponent, {\n maxWidth: '100vw',\n width: '100%',\n height: '100%',\n data: {\n contentLayout,\n contentConfig: this._config,\n },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this.listComponent.reload();\n });\n }\n\n public openLayout(contentLayout: any): Observable<any> {\n return this._dialog.open(ContentLayoutComponent, {\n data: {\n contentLayout,\n },\n })\n .afterClosed()\n .pipe(\n filter((_contentLayout) => !!_contentLayout),\n takeUntil(this._destroy$),\n );\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n paging: false,\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n actions: [\n {\n label: 'Create',\n click: () => {\n this.openLayout({})\n .subscribe(() => {\n this.listComponent.reload();\n });\n },\n },\n ],\n rowActions: [\n {\n click: (data) => {\n return this._config.deleteContentLayout(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n return this._config.loadContentLayouts(query)\n .pipe(\n map((contentLayouts: any) => {\n return { data: contentLayouts };\n }),\n );\n },\n restore: {\n query: { state: 'deleted' },\n filterLabel: 'Show Deleted',\n menuLabel: 'Restore',\n reload: true,\n click: (row) => {\n return this._config.saveContentLayout({ id: row.id, state: 'active' });\n },\n },\n };\n }\n\n}\n\n","<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { FsDateModule } from '@firestitch/date';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { FsContentEditorModule } from '../editor';\n\nimport { ContentLayoutEditorComponent } from './components';\nimport { ContentLayoutComponent } from './components/content-layout';\nimport { FsContentLayoutsComponent } from './components/content-layouts';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatInputModule,\n MatFormFieldModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatSelectModule,\n MatButtonToggleModule,\n\n FsListModule,\n FsDateModule,\n FsFormModule,\n FsLabelModule,\n FsSkeletonModule,\n FsHtmlEditorModule,\n FsDialogModule,\n FsTextEditorModule,\n\n FsContentEditorModule,\n ],\n exports: [\n FsContentLayoutsComponent,\n ],\n declarations: [\n ContentLayoutComponent,\n FsContentLayoutsComponent,\n ContentLayoutEditorComponent,\n ],\n})\nexport class FsContentLayoutsModule {\n}\n","import { PageType } from '../enums';\n\nexport const PageTypes = [\n { name: 'Page', value: PageType.StandardPage },\n { name: 'Page (Not Found)', value: PageType.NotFoundPage },\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorComponent } from '@firestitch/text-editor';\n\nimport { Subject, of } from 'rxjs';\nimport { switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { PageTypes } from '../../../../consts';\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n templateUrl: './content-page.component.html',\n styleUrls: ['./content-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentPageComponent implements OnInit, OnDestroy {\n\n @ViewChildren(FsTextEditorComponent)\n public textEditors: QueryList<FsTextEditorComponent>;\n\n public contentPage = null;\n public PageTypes = PageTypes;\n public contentLayouts;\n public editors = { content: true, styles: true };\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n @Inject(MAT_DIALOG_DATA) private _data: any,\n private _dialogRef: MatDialogRef<ContentPageComponent>,\n private _message: FsMessage,\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this._dialogRef.updateSize('600px');\n this._fetchData();\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public save = () => {\n return this._config.saveContentPage(this.contentPage)\n .pipe(\n tap((contentPage) => {\n this._message.success('Saved Changes');\n this._dialogRef.close(contentPage);\n }),\n );\n };\n\n private _fetchData(): void {\n this._config.loadContentLayouts()\n .subscribe((contentLayouts) => {\n this.contentLayouts = contentLayouts;\n this._cdRef.markForCheck();\n });\n\n of(this._data.contentPage)\n .pipe(\n switchMap((contentPage) => {\n return of(contentPage);\n }),\n takeUntil(this._destroy$),\n )\n .subscribe((contentPage) => {\n this.contentPage = {\n ...contentPage,\n };\n\n this._cdRef.markForCheck();\n });\n }\n\n}\n","<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentPage\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentPage.id ? 'Page' : 'Create Page'}}</h1>\n <div mat-dialog-content>\n <div class=\"fs-column\">\n <mat-form-field>\n <mat-label>Type</mat-label>\n <mat-select\n [(ngModel)]=\"contentPage.type\"\n name=\"type\"\n required>\n <mat-option\n *ngFor=\"let item of PageTypes\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field *ngIf=\"contentLayouts\">\n <mat-label>Layout</mat-label>\n <mat-select\n [(ngModel)]=\"contentPage.contentLayoutId\"\n required\n name=\"contentLayoutId\">\n <mat-option\n *ngFor=\"let item of contentLayouts\"\n [value]=\"item.id\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Name</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentPage.name\"\n name=\"name\"\n required>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Path</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentPage.path\"\n name=\"path\"\n required>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentPage.title\"\n name=\"title\">\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { Observable, Subject, fromEvent, of, throwError } from 'rxjs';\nimport { filter, finalize, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { EditorType } from '../../../../enums';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { EditorComponent } from '../../../editor/components/editor';\nimport { ContentPageComponent } from '../content-page/content-page.component';\n\n\n@Component({\n templateUrl: './content-page-editor.component.html',\n styleUrls: ['./content-page-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentPageEditorComponent implements OnInit, OnDestroy {\n\n @ViewChild(EditorComponent)\n public editor: EditorComponent;\n\n public contentPage: {\n id?: number;\n styles?: string;\n content?: string;\n name?: string;\n js?: string;\n path?: string;\n };\n public focused = null;\n public config: FsContentConfig;\n public resizing = false;\n public title;\n public editors = {\n [EditorType.Html]: true,\n [EditorType.Scss]: true,\n [EditorType.Js]: false,\n [EditorType.GlobalScss]: false,\n };\n\n public get isMac(): boolean {\n return navigator.platform.toUpperCase().indexOf('MAC') >= 0;\n }\n\n public submitting: boolean;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: {\n contentPage: any;\n contentConfig: FsContentConfig;\n },\n private _dialogRef: MatDialogRef<ContentPageEditorComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n private _prompt: FsPrompt,\n ) { }\n\n public ngOnInit(): void {\n this._dialogRef.addPanelClass('fs-content-editor-overlay-pane');\n this._dialogRef.disableClose = true;\n this.config = this._data.contentConfig;\n this._initContentPage(this._data.contentPage);\n this._initEscape();\n }\n\n public editorToggleChange(event: MatButtonToggleChange): void {\n this.editors[event.value] = !this.editors[event.value];\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public _initContentPage(contentPage) {\n this.config.loadContentPage(contentPage.id)\n .subscribe((data) => {\n this.contentPage = data;\n this._cdRef.markForCheck();\n });\n }\n\n public editorFocused(type) {\n this.focused = type;\n }\n\n public save(): void {\n this.submit()\n .subscribe();\n }\n\n public submit = (): Observable<any> => {\n this.submitting = true;\n\n return of(null)\n .pipe(\n filter(() => this.focused),\n switchMap(() => {\n switch (this.focused) {\n case EditorType.Js:\n case EditorType.Html:\n case EditorType.Scss:\n return this.saveContentPage();\n case EditorType.GlobalScss:\n return this.editor.saveGlobalScss();\n }\n\n return throwError('Invalid focus');\n }),\n tap(() => {\n this.editor.clearChange(this.focused);\n this._cdRef.markForCheck();\n }),\n finalize(() => {\n this.submitting = false;\n this._cdRef.markForCheck();\n }),\n )\n .pipe(\n takeUntil(this._destroy$),\n );\n };\n\n public saveContentPage() {\n const names = {\n [EditorType.Js]: 'js',\n [EditorType.Scss]: 'styles',\n [EditorType.Html]: 'content',\n };\n\n const data = {\n id: this.contentPage.id,\n [names[this.focused]]: this.editor.changes[this.focused],\n };\n\n return this.config.saveContentPage({\n id: this.contentPage.id,\n ...data,\n })\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n }),\n );\n }\n\n\n public close(): void {\n if (!this.editor.hasChanges) {\n return this._dialogRef.close();\n }\n\n this._prompt.confirm({\n dialogConfig: {\n width: null,\n },\n title: 'You have unsaved changes',\n template: 'What would you like to do with your changes?',\n buttons: [\n {\n label: 'Review Changes',\n value: 'review',\n },\n {\n label: 'Discard Changes',\n value: 'discard',\n },\n ],\n })\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((value) => {\n if (value === 'discard') {\n this._dialogRef.close();\n }\n });\n }\n\n public openSettings(): void {\n this._dialog.open(ContentPageComponent, {\n data: {\n contentPage: this.contentPage,\n },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((contentPage) => {\n this.contentPage = {\n ...this.contentPage,\n ...contentPage,\n };\n this._cdRef.markForCheck();\n });\n }\n\n private _initEscape(): void {\n fromEvent(document, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => event.code === 'Escape'),\n takeUntil(this._destroy$),\n ).subscribe(() => {\n const dialogRef = this._dialog.openDialogs.reverse()[0];\n if (dialogRef?.componentInstance === this) {\n this.close();\n }\n });\n }\n\n}\n","<form fsForm [submit]=\"submit\" [dirtySubmitButton]=\"false\" [confirm]=\"false\">\n <fs-dialog *fsSkeletonForm=\"contentPage\">\n <h1 mat-dialog-title>\n <div class=\"title-container\">\n <div class=\"title\">\n Page Editor\n <div class=\"small\">{{contentPage.name}}</div> \n </div>\n <a\n (click)=\"openSettings()\"\n mat-icon-button>\n <mat-icon>settings</mat-icon>\n </a>\n\n <div class=\"toggles\">\n <mat-button-toggle-group multiple>\n <mat-button-toggle value=\"html\" [checked]=\"editors.html\" (change)=\"editorToggleChange($event)\">HTML</mat-button-toggle>\n <mat-button-toggle value=\"scss\" [checked]=\"editors.scss\" (change)=\"editorToggleChange($event)\">SCSS</mat-button-toggle>\n <mat-button-toggle value=\"js\" [checked]=\"editors.js\" (change)=\"editorToggleChange($event)\">JS</mat-button-toggle>\n <mat-button-toggle value=\"globalScss\" [checked]=\"editors.globalScss\" (change)=\"editorToggleChange($event)\">Global SCSS</mat-button-toggle>\n </mat-button-toggle-group> \n </div>\n\n <div class=\"actions\">\n <button\n #submit\n mat-stroked-button\n color=\"primary\"\n [disabled]=\"!editor?.hasChanges || submitting\"\n [matTooltip]=\"isMac ? 'cmd+s' : 'ctrl+s'\"\n type=\"button\"\n (click)=\"save()\"> \n Save\n </button>\n\n <a \n mat-stroked-button\n target=\"_blank\"\n [routerLink]=\"contentPage.path\"\n type=\"button\"> \n Preview\n </a>\n\n <button \n mat-stroked-button\n (click)=\"close()\"\n type=\"button\"> \n Done\n </button>\n </div>\n </div>\n </h1>\n <div mat-dialog-content>\n <app-editor\n [contentConfig]=\"config\"\n [showHtml]=\"editors.html\"\n [showJs]=\"editors.js\"\n [showScss]=\"editors.scss\"\n [showGlobalScss]=\"editors.globalScss\"\n [html]=\"contentPage.content\"\n [scss]=\"contentPage.styles\"\n [js]=\"contentPage.js\"\n (focused)=\"editorFocused($event)\">\n </app-editor>\n </div>\n </fs-dialog>\n</form>\n","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { index } from '@firestitch/common';\nimport { ItemType } from '@firestitch/filter';\nimport { FsHtmlEditorConfig } from '@firestitch/html-editor';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { Observable, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n\nimport { PageTypes } from '../../../../consts';\nimport { PageType } from '../../../../enums';\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { ContentPageEditorComponent } from '../content-page-editor';\nimport { ContentPageComponent } from '../content-page/content-page.component';\n\n\n@Component({\n selector: 'fs-content-pages',\n templateUrl: './content-pages.component.html',\n styleUrls: ['./content-pages.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsContentPagesComponent implements OnInit, OnDestroy {\n\n @Input() public htmlEditorConfig: FsHtmlEditorConfig;\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n public pageTypes = index(PageTypes, 'value', 'name');\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _dialog: MatDialog,\n ) {}\n\n public ngOnInit(): void {\n this._initListConfig();\n }\n\n public openEditor(contentPage: any): void {\n this._dialog.open(ContentPageEditorComponent, {\n data: {\n contentPage,\n config: this._config,\n contentConfig: this._config,\n },\n maxWidth: '100vw',\n width: '100%',\n height: '100%',\n autoFocus: false,\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this.listComponent.reload();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public openContentPage(contentPage): Observable<any> {\n return this._dialog.open(ContentPageComponent, {\n data: { contentPage },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n );\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n actions: [\n {\n label: 'Create',\n click: () => {\n this.openContentPage({\n type: PageType.StandardPage,\n })\n .pipe(\n filter((contentPage) => !!contentPage),\n )\n .subscribe((contentPage) => {\n this.openEditor(contentPage);\n this.listComponent.reload();\n });\n },\n },\n ],\n rowActions: [\n {\n click: (data) => {\n return this._config.deleteContentPage(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n query = {\n contentLayouts: true,\n };\n \n return this._config.loadContentPages(query)\n .pipe(\n map((response: any) => {\n return { data: response.contentPages, paging: response.paging };\n }),\n );\n },\n restore: {\n query: { state: 'deleted' },\n filterLabel: 'Show Deleted',\n menuLabel: 'Restore',\n reload: true,\n click: (row) => {\n return this._config.saveContentPage({ id: row.id, state: 'active' });\n },\n },\n };\n }\n}\n\n\n","<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"path\" title=\"Path\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a [href]=\"'/' + row.path\" target=\"_black\">/{{row.path}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"layout\" title=\"Layout\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.contentLayout?.name}}\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"type\" title=\"Type\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{pageTypes[row.type]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsCommonModule } from '@firestitch/common';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { FsContentEditorModule } from '../editor';\n\nimport { ContentPageEditorComponent } from './components';\nimport { ContentPageComponent } from './components/content-page';\nimport { FsContentPagesComponent } from './components/content-pages';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n\n MatDialogModule,\n MatInputModule,\n MatFormFieldModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatSelectModule,\n MatButtonToggleModule,\n MatTooltipModule,\n\n FsListModule,\n FsDateModule,\n FsCommonModule,\n FsFormModule,\n FsLabelModule,\n FsSkeletonModule,\n FsHtmlEditorModule,\n FsDialogModule,\n FsTextEditorModule,\n\n FsContentEditorModule,\n ],\n exports: [\n FsContentPagesComponent,\n ],\n declarations: [\n FsContentPagesComponent,\n ContentPageComponent,\n ContentPageEditorComponent,\n ],\n})\nexport class FsContentPagesModule {\n public static forRoot(): ModuleWithProviders<FsContentPagesModule> {\n return {\n ngModule: FsContentPagesModule,\n };\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\n\nimport { FsFormDirective } from '@firestitch/form';\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorComponent } from '@firestitch/text-editor';\n\nimport { Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n selector: 'fs-content-style',\n templateUrl: './content-style.component.html',\n styleUrls: ['./content-style.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentStyleComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsTextEditorComponent)\n public textEditors: FsTextEditorComponent;\n\n @ViewChild(FsFormDirective)\n public form: FsFormDirective;\n\n @Input() public height: string = '100%';\n\n public contentStyle = null;\n public styleConfig = {\n tabSize: 2,\n language: 'scss',\n height: '100%',\n };\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _message: FsMessage,\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this.styleConfig.height = this.height;\n this._config.loadContentStyle()\n .subscribe((contentStyle) => {\n this.contentStyle = contentStyle;\n this._cdRef.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public save() {\n this._config.saveContentStyle(this.contentStyle)\n .pipe(\n tap((contentStyle) => {\n this.contentStyle = {\n ...this.contentStyle,\n ...contentStyle,\n };\n\n this._cdRef.markForCheck();\n this._message.success('Saved Changes');\n }),\n ).subscribe();\n }\n\n}\n","<ng-container *fsSkeletonForm=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"contentStyle\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"save()\"\n [config]=\"styleConfig\">\n </fs-text-editor> \n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { FsCommonModule } from '@firestitch/common';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { FsContentEditorModule } from '../editor';\n\nimport { ContentStyleComponent } from './components/content-style';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n\n MatButtonModule,\n\n FsTextEditorModule,\n FsSkeletonModule,\n FsCommonModule,\n FsContentEditorModule,\n ],\n exports: [\n ContentStyleComponent,\n ],\n declarations: [\n ContentStyleComponent,\n ],\n})\nexport class FsContentStyleModule {\n}\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\n\nimport { HtmlRenderer } from '@firestitch/html';\n\nimport { Subject } from 'rxjs';\n\n\n@Component({\n selector: 'fs-content-renderer',\n templateUrl: './content-renderer.component.html',\n styleUrls: ['./content-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentRendererComponent implements OnDestroy, AfterViewChecked, OnChanges{\n\n @ViewChild('script', { read: ElementRef })\n public script: ElementRef;\n\n @Input() public contentPage;\n\n public content: SafeHtml;\n\n private _destroy$ = new Subject();\n\n constructor(\n private _sanitizer: DomSanitizer,\n private _router: Router,\n private _el: ElementRef,\n private _htmlRenderer: HtmlRenderer,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if(changes.contentPage.currentValue) {\n this._htmlRenderer.addStyle(this.contentPage.styles, { id: 'contentPageStyles' });\n this.content = this._sanitizer.bypassSecurityTrustHtml(this.contentPage.content);\n }\n }\n\n public ngAfterViewChecked(): void {\n this.registerHrefs();\n\n if(this.contentPage.js) {\n const script = document.createElement('script');\n script.text = this.contentPage.js;\n this.script.nativeElement.after(script);\n }\n }\n\n public registerHrefs(): void {\n Array.from(this.el.querySelectorAll('a[href]'))\n .filter((el: Element) => {\n return el.getAttribute('href').match(/^\\//);\n })\n .forEach((el: Element) => {\n el.addEventListener('click',(event: MouseEvent) => {\n if(!event.shiftKey && !event.ctrlKey) {\n event.preventDefault();\n const href = el.getAttribute('href');\n this._router.navigateByUrl(href);\n }\n });\n });\n }\n\n public get el(): any {\n return this._el.nativeElement;\n }\n\n public ngOnDestroy(): void {\n this.removeStyles();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public removeStyles(): void {\n const el = document.querySelector('#contentPageStyles');\n if(el) {\n el.remove();\n }\n }\n\n}\n","<div *ngIf=\"content\" [innerHTML]=\"content\"></div>\n<span #script></span>","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { HtmlRenderer } from '@firestitch/html';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n selector: 'fs-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsContentComponent implements OnInit, OnDestroy {\n\n public contentPage;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _title: Title,\n private _cdRef: ChangeDetectorRef,\n private _router: Router,\n private _el: ElementRef,\n private _htmlRenderer: HtmlRenderer,\n ) {}\n\n public ngOnInit(): void {\n this._initContent();\n this._initStyles();\n }\n\n public get el(): any {\n return this._el.nativeElement;\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n this._title.setTitle('');\n\n document.querySelector('#content-style')?.remove();\n }\n\n private _initStyles(): void {\n if(this._config.loadContentStyleCss) {\n this._config.loadContentStyleCss()\n .subscribe((styles) => {\n this._htmlRenderer.addStyle(styles, { id: 'content-style' });\n });\n }\n }\n\n private _initContent(): void {\n this._loadContent();\n\n this._router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n takeUntil(this._destroy$),\n )\n .subscribe((e) => {\n this._loadContent();\n });\n }\n\n private _loadContent() {\n const path = (window as any).location.pathname;\n\n this._config.loadContent(path)\n .subscribe((contentPage) => {\n if(contentPage.title) {\n this._title.setTitle(contentPage.title);\n\n let ogTitleEl = document.querySelector('head meta[property=\"og:title\"]');\n if(!ogTitleEl) {\n ogTitleEl = document.createElement('meta');\n ogTitleEl.setAttribute('property','og:title');\n document.getElementsByTagName('head')[0].appendChild(ogTitleEl);\n }\n\n ogTitleEl.setAttribute('content',contentPage.title);\n }\n\n this.contentPage = contentPage;\n this._cdRef.markForCheck();\n });\n }\n\n}\n","<ng-container *ngIf=\"contentPage\">\n <fs-content-renderer [contentPage]=\"contentPage\"></fs-content-renderer>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\n\nimport { FsContentComponent } from './components/content';\nimport { ContentRendererComponent } from './components/content-renderer';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n FsHtmlEditorModule,\n ],\n exports: [\n FsContentComponent,\n ],\n declarations: [\n FsContentComponent,\n ContentRendererComponent,\n ],\n})\nexport class FsContentModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3.EditorLabelComponent","i5","i6","i4","i7","i8","i3","i7.EditorComponent","i10","i11","i8.EditorComponent","i13","i4.ContentRendererComponent"],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-content.mjs","sources":["../../src/app/enums/editor-type.ts","../../src/app/enums/page-type.enum.ts","../../src/app/modules/editor/components/editor-label/editor-label.component.ts","../../src/app/modules/editor/components/editor-label/editor-label.component.html","../../src/app/modules/editor/components/editor/editor.component.ts","../../src/app/modules/editor/components/editor/editor.component.html","../../src/app/modules/editor/fs-content-editor.module.ts","../../src/app/injectors/content-config.injector.ts","../../src/app/modules/content-layouts/components/content-layout/content-layout.component.ts","../../src/app/modules/content-layouts/components/content-layout/content-layout.component.html","../../src/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.ts","../../src/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.html","../../src/app/modules/content-layouts/components/content-layouts/content-layouts.component.ts","../../src/app/modules/content-layouts/components/content-layouts/content-layouts.component.html","../../src/app/modules/content-layouts/fs-content-layouts.module.ts","../../src/app/consts/page-types.const.ts","../../src/app/modules/content-pages/components/content-page/content-page.component.ts","../../src/app/modules/content-pages/components/content-page/content-page.component.html","../../src/app/modules/content-pages/components/content-page-editor/content-page-editor.component.ts","../../src/app/modules/content-pages/components/content-page-editor/content-page-editor.component.html","../../src/app/modules/content-pages/components/content-pages/content-pages.component.ts","../../src/app/modules/content-pages/components/content-pages/content-pages.component.html","../../src/app/modules/content-pages/fs-content-pages.module.ts","../../src/app/modules/content-style/components/content-style/content-style.component.ts","../../src/app/modules/content-style/components/content-style/content-style.component.html","../../src/app/modules/content-style/fs-content-style.module.ts","../../src/app/modules/content/components/content-renderer/content-renderer.component.ts","../../src/app/modules/content/components/content-renderer/content-renderer.component.html","../../src/app/modules/content/components/content/content.component.ts","../../src/app/modules/content/components/content/content.component.html","../../src/app/modules/content/fs-content.module.ts","../../src/firestitch-content.ts"],"sourcesContent":["export enum EditorType {\n Js = 'js',\n Html = 'html',\n Scss = 'scss',\n GlobalScss = 'globalScss',\n}\n","export enum PageType {\n StandardPage = 'standardPage',\n BlogPost = 'blogPost',\n HomePage = 'homePage',\n NotFoundPage = 'notFoundPage',\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n} from '@angular/core';\n\n\n@Component({\n selector: 'app-editor-label',\n templateUrl: './editor-label.component.html',\n styleUrls: ['./editor-label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EditorLabelComponent {\n\n @Input()\n public changed: boolean;\n\n @Input()\n public focused: boolean;\n\n}\n","<div class=\"label\" [ngClass]=\"{ focused: focused }\">\n <ng-content></ng-content>\n <span *ngIf=\"changed\" class=\"changed\">&nbsp;&#9679;</span>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorConfig } from '@firestitch/text-editor';\n\nimport { Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { EditorType } from '../../../../enums';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n selector: 'app-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EditorComponent implements OnInit, OnDestroy {\n\n @Input() public showHtml = false;\n @Input() public showScss = false;\n @Input() public showJs = false;\n @Input() public showGlobalScss = false;\n\n @Input() public html;\n @Input() public scss;\n @Input() public js;\n @Input() public contentConfig: FsContentConfig;\n\n @Output() public changed = new EventEmitter<{ type: string; value: string }>();\n @Output() public focused = new EventEmitter<string>();\n @Output() public blured = new EventEmitter<string>();\n\n public changes: any = {};\n public EditorType = EditorType;\n public focusedArea: string;\n\n public contentStyle: {\n scss?: string;\n };\n\n public resizing = false;\n public title;\n\n public scssConfig: FsTextEditorConfig;\n public globalScssConfig: FsTextEditorConfig;\n public htmlConfig: FsTextEditorConfig;\n public jsConfig: FsTextEditorConfig;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _cdRef: ChangeDetectorRef,\n private _message: FsMessage,\n ) { }\n\n public ngOnInit(): void {\n this.initTextEditors();\n this.initGlobalContentStyle();\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public change(type, value) {\n this.changed.emit({ type, value });\n this.changes[type] = value;\n }\n\n public get hasChanges() {\n return Object.keys(this.changes)\n .filter((name) => !!this.changes[name])\n .length !== 0;\n }\n\n public clearChange(type) {\n this.changes[type] = undefined;\n this._cdRef.markForCheck();\n }\n\n public initTextEditors() {\n this.scssConfig = {\n tabSize: 2,\n language: 'scss',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.Scss);\n },\n blur: () => {\n this.blured.emit(EditorType.Scss);\n },\n };\n this.jsConfig = {\n tabSize: 2,\n language: 'js',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.Js);\n },\n blur: () => {\n this.blured.emit(EditorType.Js);\n },\n };\n this.htmlConfig = {\n tabSize: 2,\n language: 'html',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.Html);\n },\n blur: () => {\n this.blured.emit(EditorType.Html);\n },\n };\n this.globalScssConfig = {\n tabSize: 2,\n language: 'scss',\n height: '100%',\n focus: () => {\n this._onFocus(EditorType.GlobalScss);\n },\n blur: () => {\n this.blured.emit(EditorType.GlobalScss);\n },\n };\n }\n\n public initGlobalContentStyle() {\n this.contentConfig.loadContentStyle()\n .subscribe((contentStyle) => {\n this.contentStyle = contentStyle || {};\n this._cdRef.markForCheck();\n });\n }\n\n public saveGlobalScss() {\n return this.contentConfig.saveContentStyle(this.contentStyle)\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n }),\n );\n }\n\n private _onFocus(type): void {\n this.focusedArea = type;\n this.focused.emit(type);\n }\n\n}\n","<as-split [unit]=\"'percent'\" [gutterSize]=\"25\"> \n <as-split-area [size]=\"70\" [visible]=\"showHtml\" [order]=\"1\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.html !== undefined\"\n [focused]=\"focusedArea === 'html'\">\n HTML\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"html\" \n name=\"html\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Html, $event)\"\n [config]=\"htmlConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showScss\" [order]=\"2\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.scss !== undefined\"\n [focused]=\"focusedArea === 'scss'\">\n SCSS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"scss\" \n name=\"scss\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Scss, $event)\"\n [config]=\"scssConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showJs\" [order]=\"3\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.js !== undefined\"\n [focused]=\"focusedArea === 'js'\">\n JS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"js\" \n name=\"js\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Js, $event)\"\n [config]=\"jsConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showGlobalScss\" [order]=\"4\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.globalScss !== undefined\"\n [focused]=\"focusedArea === 'globalScss'\">\n Global SCSS\n </app-editor-label>\n <ng-container *fsSkeleton=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"globalScss\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"change(EditorType.GlobalScss, $event)\"\n [config]=\"globalScssConfig\">\n </fs-text-editor> \n </ng-container> \n </div>\n </as-split-area>\n</as-split>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { FsCommonModule } from '@firestitch/common';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { AngularSplitModule } from 'angular-split';\n\nimport { EditorComponent } from './components/editor';\nimport { EditorLabelComponent } from './components/editor-label';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatButtonToggleModule,\n\n FsListModule,\n FsFormModule,\n FsSkeletonModule,\n FsLabelModule,\n FsHtmlEditorModule,\n FsCommonModule,\n FsDialogModule,\n FsTextEditorModule,\n\n AngularSplitModule,\n ],\n exports: [\n EditorComponent,\n ],\n declarations: [\n EditorComponent,\n EditorLabelComponent,\n ],\n})\nexport class FsContentEditorModule {\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FS_CONTENT_CONFIG = new InjectionToken<any>('fs-content-config');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorComponent } from '@firestitch/text-editor';\n\nimport { Subject, of } from 'rxjs';\nimport { switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n templateUrl: './content-layout.component.html',\n styleUrls: ['./content-layout.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentLayoutComponent implements OnInit, OnDestroy {\n\n @ViewChildren(FsTextEditorComponent)\n public textEditors: QueryList<FsTextEditorComponent>;\n\n public contentLayout = null;\n public editors = { content: true, styles: true };\n\n private _destroy$ = new Subject<void>();\n\n constructor( \n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n @Inject(MAT_DIALOG_DATA) private _data: any,\n private _dialogRef: MatDialogRef<ContentLayoutComponent>,\n private _message: FsMessage,\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this._fetchData();\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public save = () => {\n return this._config.saveContentLayout(this.contentLayout)\n .pipe(\n tap((contentLayout) => {\n this._message.success('Saved Changes');\n this._dialogRef.close(contentLayout);\n }),\n );\n };\n\n private _fetchData(): void {\n of(this._data.contentLayout)\n .pipe(\n switchMap((contentLayout) => {\n return of(contentLayout);\n }),\n takeUntil(this._destroy$),\n )\n .subscribe((contentLayout) => {\n this.contentLayout = { ...contentLayout };\n\n this._cdRef.markForCheck();\n });\n }\n\n}\n","<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentLayout\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentLayout.id ? 'Layout' : 'Layout Page'}}</h1>\n <div mat-dialog-content>\n <div class=\"fs-column\">\n <mat-form-field>\n <mat-label>Name</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentLayout.name\"\n name=\"name\"\n required>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentLayout.tag\"\n name=\"tag\">\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { Subject, fromEvent, of, throwError } from 'rxjs';\nimport { filter, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { EditorType } from '../../../../enums';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { EditorComponent } from '../../../editor/components/editor';\nimport { ContentLayoutComponent } from '../content-layout/content-layout.component';\n\n\n@Component({\n templateUrl: './content-layout-editor.component.html',\n styleUrls: ['./content-layout-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentLayoutEditorComponent implements OnInit, OnDestroy {\n\n @ViewChild(EditorComponent)\n public editor: EditorComponent;\n\n public contentLayout: {\n id?: number;\n styles?: string;\n content?: string;\n name?: string;\n };\n\n public config: FsContentConfig;\n public EditorType = EditorType;\n public focused = null;\n public title;\n public editors = {\n [EditorType.Html]: true,\n [EditorType.Scss]: true,\n [EditorType.GlobalScss]: false,\n };\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: {\n contentLayout: any;\n contentConfig: FsContentConfig;\n },\n private _dialogRef: MatDialogRef<ContentLayoutEditorComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n private _prompt: FsPrompt,\n ) {}\n\n public ngOnInit(): void {\n this._dialogRef.addPanelClass('fs-content-editor-overlay-pane');\n this._dialogRef.disableClose = true;\n this.config = this._data.contentConfig;\n this._initContentLayout(this._data.contentLayout);\n this._initEscape();\n }\n\n public editorToggleChange(event: MatButtonToggleChange): void {\n this.editors[event.value] = !this.editors[event.value];\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public _initContentLayout(contentLayout) {\n this.config.loadContentLayout(contentLayout.id)\n .subscribe((data) => {\n this.contentLayout = data;\n this._cdRef.markForCheck();\n });\n }\n\n public editorFocused(type) {\n this.focused = type;\n }\n\n public save = () => {\n return of(null)\n .pipe(\n filter(() => this.focused),\n switchMap(() => {\n switch (this.focused) {\n case EditorType.Html:\n case EditorType.Scss:\n return this.saveContentPage();\n case EditorType.GlobalScss:\n return this.editor.saveGlobalScss();\n }\n\n return throwError('Invalid focus');\n }),\n tap(() => {\n this.editor.clearChange(this.focused);\n this._cdRef.markForCheck();\n }),\n );\n };\n\n public saveContentPage() {\n const names = {\n [EditorType.Scss]: 'styles',\n [EditorType.Html]: 'content',\n };\n\n const data = {\n id: this.contentLayout.id,\n [names[this.focused]]: this.editor.changes[this.focused],\n };\n\n return this.config.saveContentLayout({\n id: this.contentLayout.id,\n ...data,\n })\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n }),\n );\n }\n\n public close(): void {\n if(!this.editor.hasChanges) {\n return this._dialogRef.close();\n }\n\n this._prompt.confirm({\n dialogConfig: {\n width: null,\n },\n title: 'You have unsaved changes',\n template: 'What would you like to do with your changes?',\n buttons: [\n {\n label: 'Review Changes',\n value: 'review',\n },\n {\n label: 'Discard Changes',\n value: 'discard',\n },\n ],\n })\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((value) =>{\n if(value === 'discard') {\n this._dialogRef.close();\n }\n });\n }\n\n public openSettings(): void {\n this._dialog.open(ContentLayoutComponent, {\n data: {\n contentLayout: this.contentLayout,\n },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((contentLayout) => {\n this.contentLayout = {\n ...this.contentLayout,\n ...contentLayout,\n };\n this._cdRef.markForCheck();\n });\n }\n\n private _initEscape(): void {\n fromEvent(document, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => event.code === 'Escape'),\n takeUntil(this._destroy$),\n ).subscribe(() => {\n const dialogRef = this._dialog.openDialogs.reverse()[0];\n if(dialogRef?.componentInstance === this) {\n this.close();\n }\n });\n }\n\n}\n","<form fsForm [submit]=\"save\" [dirtySubmitButton]=\"false\" [confirm]=\"false\">\n <fs-dialog *fsSkeletonForm=\"contentLayout\">\n <h1 mat-dialog-title>\n <div class=\"title-container\">\n <div class=\"title\">\n Layout Editor\n <div class=\"small\">{{contentLayout.name}}</div> \n </div>\n <a\n (click)=\"openSettings()\"\n mat-icon-button>\n <mat-icon>settings</mat-icon>\n </a> \n </div>\n </h1>\n <div mat-dialog-content>\n <app-editor\n [contentConfig]=\"config\"\n [showHtml]=\"editors.html\"\n [showScss]=\"editors.scss\"\n [showGlobalScss]=\"editors.globalScss\"\n [html]=\"contentLayout.content\"\n [scss]=\"contentLayout.styles\"\n (focused)=\"editorFocused($event)\">\n </app-editor>\n </div>\n\n <div mat-dialog-actions>\n <button \n mat-button\n color=\"primary\"\n (click)=\"close()\"\n type=\"button\"> \n Done \n </button>\n <div class=\"toggles\">\n <mat-button-toggle-group multiple>\n <mat-button-toggle value=\"html\" [checked]=\"editors.html\" (change)=\"editorToggleChange($event)\">HTML</mat-button-toggle>\n <mat-button-toggle value=\"scss\" [checked]=\"editors.scss\" (change)=\"editorToggleChange($event)\">SCSS</mat-button-toggle>\n <mat-button-toggle value=\"globalScss\" [checked]=\"editors.globalScss\" (change)=\"editorToggleChange($event)\">Global SCSS</mat-button-toggle>\n </mat-button-toggle-group> \n </div>\n </div>\n </fs-dialog>\n</form>","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { ItemType } from '@firestitch/filter';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { Observable, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { ContentLayoutComponent } from '../../components/content-layout';\nimport { ContentLayoutEditorComponent } from '../content-layout-editor/content-layout-editor.component';\n\n\n@Component({\n selector: 'fs-content-layouts',\n templateUrl: './content-layouts.component.html',\n styleUrls: ['./content-layouts.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsContentLayoutsComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _dialog: MatDialog,\n ) {}\n\n public ngOnInit(): void {\n this._initListConfig();\n }\n\n public openEditor(contentLayout: any): void {\n this._dialog.open(ContentLayoutEditorComponent, {\n maxWidth: '100vw',\n width: '100%',\n height: '100%',\n data: {\n contentLayout,\n contentConfig: this._config,\n },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this.listComponent.reload();\n });\n }\n\n public openLayout(contentLayout: any): Observable<any> {\n return this._dialog.open(ContentLayoutComponent, {\n data: {\n contentLayout,\n },\n })\n .afterClosed()\n .pipe(\n filter((_contentLayout) => !!_contentLayout),\n takeUntil(this._destroy$),\n );\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n paging: false,\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n actions: [\n {\n label: 'Create',\n click: () => {\n this.openLayout({})\n .subscribe(() => {\n this.listComponent.reload();\n });\n },\n },\n ],\n rowActions: [\n {\n click: (data) => {\n return this._config.deleteContentLayout(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n return this._config.loadContentLayouts(query)\n .pipe(\n map((contentLayouts: any) => {\n return { data: contentLayouts };\n }),\n );\n },\n restore: {\n query: { state: 'deleted' },\n filterLabel: 'Show Deleted',\n menuLabel: 'Restore',\n reload: true,\n click: (row) => {\n return this._config.saveContentLayout({ id: row.id, state: 'active' });\n },\n },\n };\n }\n\n}\n\n","<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { FsDateModule } from '@firestitch/date';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { FsContentEditorModule } from '../editor';\n\nimport { ContentLayoutEditorComponent } from './components';\nimport { ContentLayoutComponent } from './components/content-layout';\nimport { FsContentLayoutsComponent } from './components/content-layouts';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n\n MatDialogModule,\n MatInputModule,\n MatFormFieldModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatSelectModule,\n MatButtonToggleModule,\n\n FsListModule,\n FsDateModule,\n FsFormModule,\n FsLabelModule,\n FsSkeletonModule,\n FsHtmlEditorModule,\n FsDialogModule,\n FsTextEditorModule,\n\n FsContentEditorModule,\n ],\n exports: [\n FsContentLayoutsComponent,\n ],\n declarations: [\n ContentLayoutComponent,\n FsContentLayoutsComponent,\n ContentLayoutEditorComponent,\n ],\n})\nexport class FsContentLayoutsModule {\n}\n","import { PageType } from '../enums';\n\nexport const PageTypes = [\n { name: 'Page', value: PageType.StandardPage },\n { name: 'Page (Not Found)', value: PageType.NotFoundPage },\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n QueryList,\n ViewChildren,\n} from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorComponent } from '@firestitch/text-editor';\n\nimport { Subject, of } from 'rxjs';\nimport { switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { PageTypes } from '../../../../consts';\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n templateUrl: './content-page.component.html',\n styleUrls: ['./content-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentPageComponent implements OnInit, OnDestroy {\n\n @ViewChildren(FsTextEditorComponent)\n public textEditors: QueryList<FsTextEditorComponent>;\n\n public contentPage = null;\n public PageTypes = PageTypes;\n public contentLayouts;\n public editors = { content: true, styles: true };\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n @Inject(MAT_DIALOG_DATA) private _data: any,\n private _dialogRef: MatDialogRef<ContentPageComponent>,\n private _message: FsMessage,\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this._dialogRef.updateSize('600px');\n this._fetchData();\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public save = () => {\n return this._config.saveContentPage(this.contentPage)\n .pipe(\n tap((contentPage) => {\n this._message.success('Saved Changes');\n this._dialogRef.close(contentPage);\n }),\n );\n };\n\n private _fetchData(): void {\n this._config.loadContentLayouts()\n .subscribe((contentLayouts) => {\n this.contentLayouts = contentLayouts;\n this._cdRef.markForCheck();\n });\n\n of(this._data.contentPage)\n .pipe(\n switchMap((contentPage) => {\n return of(contentPage);\n }),\n takeUntil(this._destroy$),\n )\n .subscribe((contentPage) => {\n this.contentPage = {\n ...contentPage,\n path: contentPage.path || '/',\n };\n\n this._cdRef.markForCheck();\n });\n }\n\n}\n","<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentPage\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentPage.id ? 'Page' : 'Create Page'}}</h1>\n <div mat-dialog-content>\n <div class=\"fs-column\">\n <mat-form-field>\n <mat-label>Type</mat-label>\n <mat-select\n [(ngModel)]=\"contentPage.type\"\n name=\"type\"\n required>\n <mat-option\n *ngFor=\"let item of PageTypes\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field *ngIf=\"contentLayouts\">\n <mat-label>Layout</mat-label>\n <mat-select\n [(ngModel)]=\"contentPage.contentLayoutId\"\n required\n name=\"contentLayoutId\">\n <mat-option\n *ngFor=\"let item of contentLayouts\"\n [value]=\"item.id\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Name</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentPage.name\"\n name=\"name\"\n required>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Path</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentPage.path\"\n name=\"path\"\n required>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input\n matInput\n [(ngModel)]=\"contentPage.title\"\n name=\"title\">\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatButtonToggleChange } from '@angular/material/button-toggle';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\n\nimport { FsMessage } from '@firestitch/message';\nimport { FsPrompt } from '@firestitch/prompt';\n\nimport { Observable, Subject, fromEvent, of, throwError } from 'rxjs';\nimport { filter, finalize, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { EditorType } from '../../../../enums';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { EditorComponent } from '../../../editor/components/editor';\nimport { ContentPageComponent } from '../content-page/content-page.component';\n\n\n@Component({\n templateUrl: './content-page-editor.component.html',\n styleUrls: ['./content-page-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentPageEditorComponent implements OnInit, OnDestroy {\n\n @ViewChild(EditorComponent)\n public editor: EditorComponent;\n\n public contentPage: {\n id?: number;\n styles?: string;\n content?: string;\n name?: string;\n js?: string;\n path?: string;\n };\n public focused = null;\n public config: FsContentConfig;\n public resizing = false;\n public title;\n public editors = {\n [EditorType.Html]: true,\n [EditorType.Scss]: true,\n [EditorType.Js]: false,\n [EditorType.GlobalScss]: false,\n };\n\n public get isMac(): boolean {\n return navigator.platform.toUpperCase().indexOf('MAC') >= 0;\n }\n\n public submitting: boolean;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: {\n contentPage: any;\n contentConfig: FsContentConfig;\n },\n private _dialogRef: MatDialogRef<ContentPageEditorComponent>,\n private _message: FsMessage,\n private _dialog: MatDialog,\n private _cdRef: ChangeDetectorRef,\n private _prompt: FsPrompt,\n ) { }\n\n public ngOnInit(): void {\n this._dialogRef.addPanelClass('fs-content-editor-overlay-pane');\n this._dialogRef.disableClose = true;\n this.config = this._data.contentConfig;\n this._initContentPage(this._data.contentPage);\n this._initEscape();\n }\n\n public editorToggleChange(event: MatButtonToggleChange): void {\n this.editors[event.value] = !this.editors[event.value];\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public _initContentPage(contentPage) {\n this.config.loadContentPage(contentPage.id)\n .subscribe((data) => {\n this.contentPage = data;\n this._cdRef.markForCheck();\n });\n }\n\n public editorFocused(type) {\n this.focused = type;\n }\n\n public save(): void {\n this.submit()\n .subscribe();\n }\n\n public submit = (): Observable<any> => {\n this.submitting = true;\n\n return of(null)\n .pipe(\n filter(() => this.focused),\n switchMap(() => {\n switch (this.focused) {\n case EditorType.Js:\n case EditorType.Html:\n case EditorType.Scss:\n return this.saveContentPage();\n case EditorType.GlobalScss:\n return this.editor.saveGlobalScss();\n }\n\n return throwError('Invalid focus');\n }),\n tap(() => {\n this.editor.clearChange(this.focused);\n this._cdRef.markForCheck();\n }),\n finalize(() => {\n this.submitting = false;\n this._cdRef.markForCheck();\n }),\n )\n .pipe(\n takeUntil(this._destroy$),\n );\n };\n\n public saveContentPage() {\n const names = {\n [EditorType.Js]: 'js',\n [EditorType.Scss]: 'styles',\n [EditorType.Html]: 'content',\n };\n\n const data = {\n id: this.contentPage.id,\n [names[this.focused]]: this.editor.changes[this.focused],\n };\n\n return this.config.saveContentPage({\n id: this.contentPage.id,\n ...data,\n })\n .pipe(\n tap(() => {\n this._message.success('Saved Changes');\n }),\n );\n }\n\n\n public close(): void {\n if (!this.editor.hasChanges) {\n return this._dialogRef.close();\n }\n\n this._prompt.confirm({\n dialogConfig: {\n width: null,\n },\n title: 'You have unsaved changes',\n template: 'What would you like to do with your changes?',\n buttons: [\n {\n label: 'Review Changes',\n value: 'review',\n },\n {\n label: 'Discard Changes',\n value: 'discard',\n },\n ],\n })\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((value) => {\n if (value === 'discard') {\n this._dialogRef.close();\n }\n });\n }\n\n public openSettings(): void {\n this._dialog.open(ContentPageComponent, {\n data: {\n contentPage: this.contentPage,\n },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe((contentPage) => {\n this.contentPage = {\n ...this.contentPage,\n ...contentPage,\n };\n this._cdRef.markForCheck();\n });\n }\n\n private _initEscape(): void {\n fromEvent(document, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => event.code === 'Escape'),\n takeUntil(this._destroy$),\n ).subscribe(() => {\n const dialogRef = this._dialog.openDialogs.reverse()[0];\n if (dialogRef?.componentInstance === this) {\n this.close();\n }\n });\n }\n\n}\n","<form fsForm [submit]=\"submit\" [dirtySubmitButton]=\"false\" [confirm]=\"false\">\n <fs-dialog *fsSkeletonForm=\"contentPage\">\n <h1 mat-dialog-title>\n <div class=\"title-container\">\n <div class=\"title\">\n Page Editor\n <div class=\"small\">{{contentPage.name}}</div> \n </div>\n <a\n (click)=\"openSettings()\"\n mat-icon-button>\n <mat-icon>settings</mat-icon>\n </a>\n\n <div class=\"toggles\">\n <mat-button-toggle-group multiple>\n <mat-button-toggle value=\"html\" [checked]=\"editors.html\" (change)=\"editorToggleChange($event)\">HTML</mat-button-toggle>\n <mat-button-toggle value=\"scss\" [checked]=\"editors.scss\" (change)=\"editorToggleChange($event)\">SCSS</mat-button-toggle>\n <mat-button-toggle value=\"js\" [checked]=\"editors.js\" (change)=\"editorToggleChange($event)\">JS</mat-button-toggle>\n <mat-button-toggle value=\"globalScss\" [checked]=\"editors.globalScss\" (change)=\"editorToggleChange($event)\">Global SCSS</mat-button-toggle>\n </mat-button-toggle-group> \n </div>\n\n <div class=\"actions\">\n <button\n #submit\n mat-stroked-button\n color=\"primary\"\n [disabled]=\"!editor?.hasChanges || submitting\"\n [matTooltip]=\"isMac ? 'cmd+s' : 'ctrl+s'\"\n type=\"button\"\n (click)=\"save()\"> \n Save\n </button>\n\n <a \n mat-stroked-button\n target=\"_blank\"\n [routerLink]=\"contentPage.path\"\n type=\"button\"> \n Preview\n </a>\n\n <button \n mat-stroked-button\n (click)=\"close()\"\n type=\"button\"> \n Done\n </button>\n </div>\n </div>\n </h1>\n <div mat-dialog-content>\n <app-editor\n [contentConfig]=\"config\"\n [showHtml]=\"editors.html\"\n [showJs]=\"editors.js\"\n [showScss]=\"editors.scss\"\n [showGlobalScss]=\"editors.globalScss\"\n [html]=\"contentPage.content\"\n [scss]=\"contentPage.styles\"\n [js]=\"contentPage.js\"\n (focused)=\"editorFocused($event)\">\n </app-editor>\n </div>\n </fs-dialog>\n</form>\n","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { index } from '@firestitch/common';\nimport { ItemType } from '@firestitch/filter';\nimport { FsHtmlEditorConfig } from '@firestitch/html-editor';\nimport { FsListComponent, FsListConfig } from '@firestitch/list';\n\nimport { Observable, Subject } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n\nimport { PageTypes } from '../../../../consts';\nimport { PageType } from '../../../../enums';\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\nimport { ContentPageEditorComponent } from '../content-page-editor';\nimport { ContentPageComponent } from '../content-page/content-page.component';\n\n\n@Component({\n selector: 'fs-content-pages',\n templateUrl: './content-pages.component.html',\n styleUrls: ['./content-pages.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsContentPagesComponent implements OnInit, OnDestroy {\n\n @Input() public htmlEditorConfig: FsHtmlEditorConfig;\n\n @ViewChild(FsListComponent)\n public listComponent: FsListComponent;\n\n public listConfig: FsListConfig;\n public pageTypes = index(PageTypes, 'value', 'name');\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _dialog: MatDialog,\n ) { }\n\n public ngOnInit(): void {\n this._initListConfig();\n }\n\n public openEditor(contentPage: any): void {\n this._dialog.open(ContentPageEditorComponent, {\n data: {\n contentPage,\n config: this._config,\n contentConfig: this._config,\n },\n maxWidth: '100vw',\n width: '100%',\n height: '100%',\n autoFocus: false,\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(() => {\n this.listComponent.reload();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public openContentPage(contentPage): Observable<any> {\n return this._dialog.open(ContentPageComponent, {\n data: { contentPage },\n })\n .afterClosed()\n .pipe(\n takeUntil(this._destroy$),\n );\n }\n\n private _initListConfig(): void {\n this.listConfig = {\n filters: [\n {\n name: 'keyword',\n type: ItemType.Keyword,\n label: 'Search',\n },\n ],\n actions: [\n {\n label: 'Create',\n click: () => {\n this.openContentPage({\n type: PageType.StandardPage,\n })\n .pipe(\n filter((contentPage) => !!contentPage),\n )\n .subscribe((contentPage) => {\n this.openEditor(contentPage);\n this.listComponent.reload();\n });\n },\n },\n ],\n rowActions: [\n {\n click: (data) => {\n return this._config.deleteContentPage(data);\n },\n remove: {\n title: 'Confirm',\n template: 'Are you sure you would like to delete this record?',\n },\n menu: true,\n label: 'Delete',\n },\n ],\n fetch: (query) => {\n query = {\n contentLayouts: true,\n ...query,\n };\n\n return this._config.loadContentPages(query)\n .pipe(\n map((response: any) => {\n return { data: response.contentPages, paging: response.paging };\n }),\n );\n },\n restore: {\n query: { state: 'deleted' },\n filterLabel: 'Show Deleted',\n menuLabel: 'Restore',\n reload: true,\n click: (row) => {\n return this._config.saveContentPage({ id: row.id, state: 'active' });\n },\n },\n };\n }\n}\n\n\n","<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"path\" title=\"Path\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a [href]=\"'/' + row.path\" target=\"_black\">/{{row.path}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"layout\" title=\"Layout\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.contentLayout?.name}}\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"type\" title=\"Type\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{pageTypes[row.type]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { FsCommonModule } from '@firestitch/common';\nimport { FsDateModule } from '@firestitch/date';\nimport { FsDialogModule } from '@firestitch/dialog';\nimport { FsFormModule } from '@firestitch/form';\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\nimport { FsLabelModule } from '@firestitch/label';\nimport { FsListModule } from '@firestitch/list';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { FsContentEditorModule } from '../editor';\n\nimport { ContentPageEditorComponent } from './components';\nimport { ContentPageComponent } from './components/content-page';\nimport { FsContentPagesComponent } from './components/content-pages';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n\n MatDialogModule,\n MatInputModule,\n MatFormFieldModule,\n MatButtonModule,\n MatTabsModule,\n MatIconModule,\n MatSelectModule,\n MatButtonToggleModule,\n MatTooltipModule,\n\n FsListModule,\n FsDateModule,\n FsCommonModule,\n FsFormModule,\n FsLabelModule,\n FsSkeletonModule,\n FsHtmlEditorModule,\n FsDialogModule,\n FsTextEditorModule,\n\n FsContentEditorModule,\n ],\n exports: [\n FsContentPagesComponent,\n ],\n declarations: [\n FsContentPagesComponent,\n ContentPageComponent,\n ContentPageEditorComponent,\n ],\n})\nexport class FsContentPagesModule {\n public static forRoot(): ModuleWithProviders<FsContentPagesModule> {\n return {\n ngModule: FsContentPagesModule,\n };\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\n\nimport { FsFormDirective } from '@firestitch/form';\nimport { FsMessage } from '@firestitch/message';\nimport { FsTextEditorComponent } from '@firestitch/text-editor';\n\nimport { Subject } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n selector: 'fs-content-style',\n templateUrl: './content-style.component.html',\n styleUrls: ['./content-style.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentStyleComponent implements OnInit, OnDestroy {\n\n @ViewChild(FsTextEditorComponent)\n public textEditors: FsTextEditorComponent;\n\n @ViewChild(FsFormDirective)\n public form: FsFormDirective;\n\n @Input() public height: string = '100%';\n\n public contentStyle = null;\n public styleConfig = {\n tabSize: 2,\n language: 'scss',\n height: '100%',\n };\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _message: FsMessage,\n private _cdRef: ChangeDetectorRef,\n ) {}\n\n public ngOnInit(): void {\n this.styleConfig.height = this.height;\n this._config.loadContentStyle()\n .subscribe((contentStyle) => {\n this.contentStyle = contentStyle;\n this._cdRef.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public save() {\n this._config.saveContentStyle(this.contentStyle)\n .pipe(\n tap((contentStyle) => {\n this.contentStyle = {\n ...this.contentStyle,\n ...contentStyle,\n };\n\n this._cdRef.markForCheck();\n this._message.success('Saved Changes');\n }),\n ).subscribe();\n }\n\n}\n","<ng-container *fsSkeletonForm=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"contentStyle\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"save()\"\n [config]=\"styleConfig\">\n </fs-text-editor> \n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { FsCommonModule } from '@firestitch/common';\nimport { FsSkeletonModule } from '@firestitch/skeleton';\nimport { FsTextEditorModule } from '@firestitch/text-editor';\n\nimport { FsContentEditorModule } from '../editor';\n\nimport { ContentStyleComponent } from './components/content-style';\n\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n\n MatButtonModule,\n\n FsTextEditorModule,\n FsSkeletonModule,\n FsCommonModule,\n FsContentEditorModule,\n ],\n exports: [\n ContentStyleComponent,\n ],\n declarations: [\n ContentStyleComponent,\n ],\n})\nexport class FsContentStyleModule {\n}\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\n\nimport { HtmlRenderer } from '@firestitch/html';\n\nimport { Subject } from 'rxjs';\n\n\n@Component({\n selector: 'fs-content-renderer',\n templateUrl: './content-renderer.component.html',\n styleUrls: ['./content-renderer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContentRendererComponent implements OnDestroy, AfterViewChecked, OnChanges{\n\n @ViewChild('script', { read: ElementRef })\n public script: ElementRef;\n\n @Input() public contentPage;\n\n public content: SafeHtml;\n\n private _destroy$ = new Subject();\n\n constructor(\n private _sanitizer: DomSanitizer,\n private _router: Router,\n private _el: ElementRef,\n private _htmlRenderer: HtmlRenderer,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if(changes.contentPage.currentValue) {\n this._htmlRenderer.addStyle(this.contentPage.styles, { id: 'contentPageStyles' });\n this.content = this._sanitizer.bypassSecurityTrustHtml(this.contentPage.content);\n }\n }\n\n public ngAfterViewChecked(): void {\n this.registerHrefs();\n\n if(this.contentPage.js) {\n const script = document.createElement('script');\n script.text = this.contentPage.js;\n this.script.nativeElement.after(script);\n }\n }\n\n public registerHrefs(): void {\n Array.from(this.el.querySelectorAll('a[href]'))\n .filter((el: Element) => {\n return el.getAttribute('href').match(/^\\//);\n })\n .forEach((el: Element) => {\n el.addEventListener('click',(event: MouseEvent) => {\n if(!event.shiftKey && !event.ctrlKey) {\n event.preventDefault();\n const href = el.getAttribute('href');\n this._router.navigateByUrl(href);\n }\n });\n });\n }\n\n public get el(): any {\n return this._el.nativeElement;\n }\n\n public ngOnDestroy(): void {\n this.removeStyles();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public removeStyles(): void {\n const el = document.querySelector('#contentPageStyles');\n if(el) {\n el.remove();\n }\n }\n\n}\n","<div *ngIf=\"content\" [innerHTML]=\"content\"></div>\n<span #script></span>","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { HtmlRenderer } from '@firestitch/html';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { FS_CONTENT_CONFIG } from '../../../../injectors';\nimport { FsContentConfig } from '../../../../interfaces';\n\n\n@Component({\n selector: 'fs-content',\n templateUrl: './content.component.html',\n styleUrls: ['./content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FsContentComponent implements OnInit, OnDestroy {\n\n public contentPage;\n\n private _destroy$ = new Subject();\n\n constructor(\n @Inject(FS_CONTENT_CONFIG) private _config: FsContentConfig,\n private _title: Title,\n private _cdRef: ChangeDetectorRef,\n private _router: Router,\n private _el: ElementRef,\n private _htmlRenderer: HtmlRenderer,\n ) {}\n\n public ngOnInit(): void {\n this._initContent();\n this._initStyles();\n }\n\n public get el(): any {\n return this._el.nativeElement;\n }\n\n public ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n this._title.setTitle('');\n\n document.querySelector('#content-style')?.remove();\n }\n\n private _initStyles(): void {\n if(this._config.loadContentStyleCss) {\n this._config.loadContentStyleCss()\n .subscribe((styles) => {\n this._htmlRenderer.addStyle(styles, { id: 'content-style' });\n });\n }\n }\n\n private _initContent(): void {\n this._loadContent();\n\n this._router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n takeUntil(this._destroy$),\n )\n .subscribe((e) => {\n this._loadContent();\n });\n }\n\n private _loadContent() {\n const path = (window as any).location.pathname;\n\n this._config.loadContent(path)\n .subscribe((contentPage) => {\n if(contentPage.title) {\n this._title.setTitle(contentPage.title);\n\n let ogTitleEl = document.querySelector('head meta[property=\"og:title\"]');\n if(!ogTitleEl) {\n ogTitleEl = document.createElement('meta');\n ogTitleEl.setAttribute('property','og:title');\n document.getElementsByTagName('head')[0].appendChild(ogTitleEl);\n }\n\n ogTitleEl.setAttribute('content',contentPage.title);\n }\n\n this.contentPage = contentPage;\n this._cdRef.markForCheck();\n });\n }\n\n}\n","<ng-container *ngIf=\"contentPage\">\n <fs-content-renderer [contentPage]=\"contentPage\"></fs-content-renderer>\n</ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsHtmlEditorModule } from '@firestitch/html-editor';\n\nimport { FsContentComponent } from './components/content';\nimport { ContentRendererComponent } from './components/content-renderer';\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n\n FsHtmlEditorModule,\n ],\n exports: [\n FsContentComponent,\n ],\n declarations: [\n FsContentComponent,\n ContentRendererComponent,\n ],\n})\nexport class FsContentModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3.EditorLabelComponent","i5","i6","i4","i7","i8","i3","i7.EditorComponent","i10","i11","i8.EditorComponent","i13","i4.ContentRendererComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAY,UAKX,CAAA;AALD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EALW,UAAU,KAAV,UAAU,GAKrB,EAAA,CAAA,CAAA;;ACLD,IAAY,QAKX,CAAA;AALD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,QAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC/B,CAAC,EALW,QAAQ,KAAR,QAAQ,GAKnB,EAAA,CAAA,CAAA;;MCQY,oBAAoB,CAAA;;iHAApB,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,4GCbjC,mKAIA,EAAA,MAAA,EAAA,CAAA,gQAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDSa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mKAAA,EAAA,MAAA,EAAA,CAAA,gQAAA,CAAA,EAAA,CAAA;8BAKxC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;;;MEUK,eAAe,CAAA;IAkC1B,WACU,CAAA,MAAyB,EACzB,QAAmB,EAAA;AADnB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAlCb,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;AAOtB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAmC,CAAC;AAC9D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAU,CAAC;AACrC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AAE9C,QAAA,IAAO,CAAA,OAAA,GAAQ,EAAE,CAAC;AAClB,QAAA,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AAOxB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAQhB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAKnC;IAEE,QAAQ,GAAA;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAEM,MAAM,CAAC,IAAI,EAAE,KAAK,EAAA;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KAC5B;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,aAAA,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACtC,MAAM,KAAK,CAAC,CAAC;KACjB;AAEM,IAAA,WAAW,CAAC,IAAI,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAC5B;IAEM,eAAe,GAAA;QACpB,IAAI,CAAC,UAAU,GAAG;AAChB,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAChC;YACD,IAAI,EAAE,MAAK;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACnC;SACF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG;AACd,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aAC9B;YACD,IAAI,EAAE,MAAK;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;aACjC;SACF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG;AAChB,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAChC;YACD,IAAI,EAAE,MAAK;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACnC;SACF,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG;AACtB,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aACtC;YACD,IAAI,EAAE,MAAK;gBACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aACzC;SACF,CAAC;KACH;IAEM,sBAAsB,GAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;AAClC,aAAA,SAAS,CAAC,CAAC,YAAY,KAAI;AAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;IAEM,cAAc,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1D,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACxC,CAAC,CACH,CAAC;KACL;AAEO,IAAA,QAAQ,CAAC,IAAI,EAAA;AACnB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;4GApIU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,2SC5B5B,s5EAoEA,EAAA,MAAA,EAAA,CAAA,iMAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,UAAA,EAAA,KAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,WAAA,EAAA,SAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,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,EAAAC,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,sYAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDxCa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,YAAY,EAAA,eAAA,EAGL,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,s5EAAA,EAAA,MAAA,EAAA,CAAA,iMAAA,CAAA,EAAA,CAAA;gIAI/B,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,cAAc,EAAA,CAAA;sBAA7B,KAAK;gBAEU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,EAAE,EAAA,CAAA;sBAAjB,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBAEW,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;;;MEaI,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAJ9B,eAAe;AACf,QAAA,oBAAoB,aAzBpB,YAAY;QACZ,WAAW;QAEX,eAAe;QACf,eAAe;QACf,aAAa;QACb,aAAa;QACb,qBAAqB;QAErB,YAAY;QACZ,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,cAAc;QACd,kBAAkB;QAElB,kBAAkB,aAGlB,eAAe,CAAA,EAAA,CAAA,CAAA;AAON,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EA7BvB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YAEX,eAAe;YACf,eAAe;YACf,aAAa;YACb,aAAa;YACb,qBAAqB;YAErB,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,cAAc;YACd,kBAAkB;YAElB,kBAAkB;SACnB,CAAA,EAAA,CAAA,CAAA;2FASU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA9BjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBAEX,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,qBAAqB;wBAErB,YAAY;wBACZ,YAAY;wBACZ,gBAAgB;wBAChB,aAAa;wBACb,kBAAkB;wBAClB,cAAc;wBACd,cAAc;wBACd,kBAAkB;wBAElB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,eAAe;wBACf,oBAAoB;AACrB,qBAAA;iBACF,CAAA;;;MCpDY,iBAAiB,GAAG,IAAI,cAAc,CAAM,mBAAmB;;MC0B/D,sBAAsB,CAAA;IAUjC,WACqC,CAAA,OAAwB,EAC1B,KAAU,EACnC,UAAgD,EAChD,QAAmB,EACnB,MAAyB,EAAA;AAJE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AAC1B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAK;AACnC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsC;AAChD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AAV5B,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AACrB,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAEzC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAmBjC,QAAA,IAAI,CAAA,IAAA,GAAG,MAAK;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;AACtD,iBAAA,IAAI,CACH,GAAG,CAAC,CAAC,aAAa,KAAI;AACpB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aACtC,CAAC,CACH,CAAC;AACN,SAAC,CAAC;KAnBE;IAEG,QAAQ,GAAA;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAYO,UAAU,GAAA;AAChB,QAAA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACzB,aAAA,IAAI,CACH,SAAS,CAAC,CAAC,aAAa,KAAI;AAC1B,YAAA,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;SAC1B,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,aAAa,KAAI;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,aAAa,CAAE,CAAC;AAE1C,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;;mHAlDU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAWvB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAZd,sBAAsB,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAEnB,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BrC,qzBA6BA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,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,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,sYAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDDa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAGS,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qzBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;8BAa5C,MAAM;+BAAC,iBAAiB,CAAA;;8BACxB,MAAM;+BAAC,eAAe,CAAA;;yBATlB,WAAW,EAAA,CAAA;sBADjB,YAAY;uBAAC,qBAAqB,CAAA;;;MEAxB,4BAA4B,CAAA;IAwBvC,WACmC,CAAA,KAGhC,EACO,UAAsD,EACtD,QAAmB,EACnB,OAAkB,EAClB,MAAyB,EACzB,OAAiB,EAAA;AARQ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAGrC;AACO,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAA4C;AACtD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAW;AAClB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AACzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;AApBpB,QAAA,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AACxB,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QAEf,IAAA,CAAA,OAAO,GAAG;AACf,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI;AACvB,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI;AACvB,YAAA,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK;SAC/B,CAAC;AAEM,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AA2CjC,QAAA,IAAI,CAAA,IAAA,GAAG,MAAK;YACjB,OAAO,EAAE,CAAC,IAAI,CAAC;AACZ,iBAAA,IAAI,CACH,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAC1B,SAAS,CAAC,MAAK;gBACb,QAAQ,IAAI,CAAC,OAAO;oBAClB,KAAK,UAAU,CAAC,IAAI,CAAC;oBACrB,KAAK,UAAU,CAAC,IAAI;AAClB,wBAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;oBAChC,KAAK,UAAU,CAAC,UAAU;AACxB,wBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AACvC,iBAAA;AAED,gBAAA,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,aAAC,CAAC,EACF,GAAG,CAAC,MAAK;gBACP,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;aAC5B,CAAC,CACH,CAAC;AACN,SAAC,CAAC;KAnDE;IAEG,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAEM,IAAA,kBAAkB,CAAC,KAA4B,EAAA;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACxD;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;AAEM,IAAA,kBAAkB,CAAC,aAAa,EAAA;QACrC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;AAC5C,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;AAEM,IAAA,aAAa,CAAC,IAAI,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAwBM,eAAe,GAAA;AACpB,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,QAAQ;AAC3B,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS;SAC7B,CAAC;AAEF,QAAA,MAAM,IAAI,GAAG;AACX,YAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;AACzB,YAAA,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;SACzD,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAClC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAA,EACtB,IAAI,CACP,CAAA;AACC,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACxC,CAAC,CACH,CAAC;KACL;IAEM,KAAK,GAAA;AACV,QAAA,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAChC,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACnB,YAAA,YAAY,EAAE;AACZ,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,KAAK,EAAE,0BAA0B;AACjC,YAAA,QAAQ,EAAE,8CAA8C;AACxD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,iBAAiB;AACxB,oBAAA,KAAK,EAAE,SAAS;AACjB,iBAAA;AACF,aAAA;SACF,CAAC;AACC,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACnB,IAAG,KAAK,KAAK,SAAS,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACzB,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE;AACxC,YAAA,IAAI,EAAE;gBACJ,aAAa,EAAE,IAAI,CAAC,aAAa;AAClC,aAAA;SACF,CAAC;AACC,aAAA,WAAW,EAAE;AACb,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,aAAa,KAAI;YAC3B,IAAI,CAAC,aAAa,GACb,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,CAAA,EAClB,aAAa,CACjB,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;IAEO,WAAW,GAAA;AACjB,QAAA,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;aAC3B,IAAI,CACH,MAAM,CAAC,CAAC,KAAoB,KAAK,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EACzD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC,SAAS,CAAC,MAAK;AACf,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,IAAG,CAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,iBAAiB,MAAK,IAAI,EAAE;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,aAAA;AACH,SAAC,CAAC,CAAC;KACN;;AA3KU,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAyB7B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAQ,IAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6GAzBd,4BAA4B,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAE5B,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChC5B,8nDA4CO,EAAA,MAAA,EAAA,CAAA,qhBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,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,EAAAM,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,IAAA,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,EAAAI,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDdM,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAGS,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8nDAAA,EAAA,MAAA,EAAA,CAAA,qhBAAA,CAAA,EAAA,CAAA;;;8BA2B5C,MAAM;+BAAC,eAAe,CAAA;;yBAtBlB,MAAM,EAAA,CAAA;sBADZ,SAAS;uBAAC,eAAe,CAAA;;;MEHf,yBAAyB,CAAA;IASpC,WACqC,CAAA,OAAwB,EACnD,OAAkB,EAAA;AADS,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AACnD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAW;AAJpB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAKpC;IAEG,QAAQ,GAAA;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAEM,IAAA,UAAU,CAAC,aAAkB,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE;AAC9C,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE;gBACJ,aAAa;gBACb,aAAa,EAAE,IAAI,CAAC,OAAO;AAC5B,aAAA;SACF,CAAC;AACC,aAAA,WAAW,EAAE;AACb,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;AAC9B,SAAC,CAAC,CAAC;KACN;AAEM,IAAA,UAAU,CAAC,aAAkB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC/C,YAAA,IAAI,EAAE;gBACJ,aAAa;AACd,aAAA;SACF,CAAC;AACC,aAAA,WAAW,EAAE;aACb,IAAI,CACH,MAAM,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,CAAC,EAC5C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC;KACL;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAEO,eAAe,GAAA;QACrB,IAAI,CAAC,UAAU,GAAG;AAChB,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;AACtB,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAK;AACV,wBAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;6BAChB,SAAS,CAAC,MAAK;AACd,4BAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;AAC9B,yBAAC,CAAC,CAAC;qBACN;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,KAAK,EAAE,CAAC,IAAI,KAAI;wBACd,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;qBAC/C;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,QAAQ,EAAE,oDAAoD;AAC/D,qBAAA;AACD,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AACf,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;AAC1C,qBAAA,IAAI,CACH,GAAG,CAAC,CAAC,cAAmB,KAAI;AAC1B,oBAAA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAG,CAAC;iBAClC,CAAC,CACH,CAAC;aACL;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;AAC3B,gBAAA,WAAW,EAAE,cAAc;AAC3B,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,oBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACxE;AACF,aAAA;SACF,CAAC;KACH;;AA3GU,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAU1B,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAVhB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAEzB,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/B5B,weAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAA,EAAAO,IAAA,CAAA,UAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDiBa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;+BACE,oBAAoB,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,weAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;8BAY5C,MAAM;+BAAC,iBAAiB,CAAA;;yBAPpB,aAAa,EAAA,CAAA;sBADnB,SAAS;uBAAC,eAAe,CAAA;;;ME+Bf,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAL/B,sBAAsB;QACtB,yBAAyB;AACzB,QAAA,4BAA4B,aA7B5B,YAAY;QACZ,WAAW;QAEX,eAAe;QACf,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,aAAa;QACb,aAAa;QACb,eAAe;QACf,qBAAqB;QAErB,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAElB,qBAAqB,aAGrB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAQhB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAjCxB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YAEX,eAAe;YACf,cAAc;YACd,kBAAkB;YAClB,eAAe;YACf,aAAa;YACb,aAAa;YACb,eAAe;YACf,qBAAqB;YAErB,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,kBAAkB;YAClB,cAAc;YACd,kBAAkB;YAElB,qBAAqB;SACtB,CAAA,EAAA,CAAA,CAAA;2FAUU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAlClC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBAEX,eAAe;wBACf,cAAc;wBACd,kBAAkB;wBAClB,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,eAAe;wBACf,qBAAqB;wBAErB,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,aAAa;wBACb,gBAAgB;wBAChB,kBAAkB;wBAClB,cAAc;wBACd,kBAAkB;wBAElB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,yBAAyB;wBACzB,4BAA4B;AAC7B,qBAAA;iBACF,CAAA;;;AC3DM,MAAM,SAAS,GAAG;IACvB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE;IAC9C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE;CAC3D;;MCwBY,oBAAoB,CAAA;IAY/B,WACqC,CAAA,OAAwB,EAC1B,KAAU,EACnC,UAA8C,EAC9C,QAAmB,EACnB,MAAyB,EAAA;AAJE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AAC1B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAK;AACnC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoC;AAC9C,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AAZ5B,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AACnB,QAAA,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC;AAEtB,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAEzC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAoBjC,QAAA,IAAI,CAAA,IAAA,GAAG,MAAK;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;AAClD,iBAAA,IAAI,CACH,GAAG,CAAC,CAAC,WAAW,KAAI;AAClB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;aACpC,CAAC,CACH,CAAC;AACN,SAAC,CAAC;KApBE;IAEG,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAYO,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;AAC9B,aAAA,SAAS,CAAC,CAAC,cAAc,KAAI;AAC5B,YAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;AAEL,QAAA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AACvB,aAAA,IAAI,CACH,SAAS,CAAC,CAAC,WAAW,KAAI;AACxB,YAAA,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;SACxB,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,WAAW,KAAI;AACzB,YAAA,IAAI,CAAC,WAAW,GACX,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,WAAW,CACd,EAAA,EAAA,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,GAAG,GAC9B,CAAC;AAEF,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;;iHA9DU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAarB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAR,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAdd,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAEjB,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BrC,04DA+DA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAF,IAAA,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,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,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,EAAAC,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,UAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,sYAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDlCa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAGS,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,04DAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;8BAe5C,MAAM;+BAAC,iBAAiB,CAAA;;8BACxB,MAAM;+BAAC,eAAe,CAAA;;yBAXlB,WAAW,EAAA,CAAA;sBADjB,YAAY;uBAAC,qBAAqB,CAAA;;;MEDxB,0BAA0B,CAAA;IAgCrC,WACmC,CAAA,KAGhC,EACO,UAAoD,EACpD,QAAmB,EACnB,OAAkB,EAClB,MAAyB,EACzB,OAAiB,EAAA;AARQ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAGrC;AACO,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAA0C;AACpD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAW;AAClB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AACzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;AA5BpB,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AAEf,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAEjB,IAAA,CAAA,OAAO,GAAG;AACf,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI;AACvB,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI;AACvB,YAAA,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK;AACtB,YAAA,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK;SAC/B,CAAC;AAQM,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAgDjC,QAAA,IAAM,CAAA,MAAA,GAAG,MAAsB;AACpC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,OAAO,EAAE,CAAC,IAAI,CAAC;AACZ,iBAAA,IAAI,CACH,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAC1B,SAAS,CAAC,MAAK;gBACb,QAAQ,IAAI,CAAC,OAAO;oBAClB,KAAK,UAAU,CAAC,EAAE,CAAC;oBACnB,KAAK,UAAU,CAAC,IAAI,CAAC;oBACrB,KAAK,UAAU,CAAC,IAAI;AAClB,wBAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;oBAChC,KAAK,UAAU,CAAC,UAAU;AACxB,wBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;AACvC,iBAAA;AAED,gBAAA,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,aAAC,CAAC,EACF,GAAG,CAAC,MAAK;gBACP,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,aAAC,CAAC,EACF,QAAQ,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,gBAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,aAAC,CAAC,CACH;iBACA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC;AACN,SAAC,CAAC;KAlEG;AAlBL,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC7D;IAkBM,QAAQ,GAAA;AACb,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAEM,IAAA,kBAAkB,CAAC,KAA4B,EAAA;AACpD,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACxD;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;AAEM,IAAA,gBAAgB,CAAC,WAAW,EAAA;QACjC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAClB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;AAEM,IAAA,aAAa,CAAC,IAAI,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAEM,IAAI,GAAA;QACT,IAAI,CAAC,MAAM,EAAE;AACV,aAAA,SAAS,EAAE,CAAC;KAChB;IAkCM,eAAe,GAAA;AACpB,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI;AACrB,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,QAAQ;AAC3B,YAAA,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS;SAC7B,CAAC;AAEF,QAAA,MAAM,IAAI,GAAG;AACX,YAAA,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;AACvB,YAAA,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;SACzD,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAChC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAA,EACpB,IAAI,CACP,CAAA;AACC,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACxC,CAAC,CACH,CAAC;KACL;IAGM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AAC3B,YAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAChC,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACnB,YAAA,YAAY,EAAE;AACZ,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,KAAK,EAAE,0BAA0B;AACjC,YAAA,QAAQ,EAAE,8CAA8C;AACxD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,iBAAiB;AACxB,oBAAA,KAAK,EAAE,SAAS;AACjB,iBAAA;AACF,aAAA;SACF,CAAC;AACC,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACnB,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACzB,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACtC,YAAA,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,aAAA;SACF,CAAC;AACC,aAAA,WAAW,EAAE;AACb,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,WAAW,KAAI;YACzB,IAAI,CAAC,WAAW,GACX,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,WAAW,CAAA,EAChB,WAAW,CACf,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;IAEO,WAAW,GAAA;AACjB,QAAA,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;aAC3B,IAAI,CACH,MAAM,CAAC,CAAC,KAAoB,KAAK,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EACzD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC,SAAS,CAAC,MAAK;AACf,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,iBAAiB,MAAK,IAAI,EAAE;gBACzC,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,aAAA;AACH,SAAC,CAAC,CAAC;KACN;;AApMU,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,kBAiC3B,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAQ,IAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAjCd,0BAA0B,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAE1B,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChC5B,m3EAmEA,EAAA,MAAA,EAAA,CAAA,ylBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,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,EAAAG,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,IAAA,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,EAAAS,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,SAAA,EAAA,eAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,YAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAX,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDrCa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAGS,YAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,m3EAAA,EAAA,MAAA,EAAA,CAAA,ylBAAA,CAAA,EAAA,CAAA;;;8BAmC5C,MAAM;+BAAC,eAAe,CAAA;;yBA9BlB,MAAM,EAAA,CAAA;sBADZ,SAAS;uBAAC,eAAe,CAAA;;;MEGf,uBAAuB,CAAA;IAYlC,WACqC,CAAA,OAAwB,EACnD,OAAkB,EAAA;AADS,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AACnD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAW;QANrB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAE7C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAKnC;IAEE,QAAQ,GAAA;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAEM,IAAA,UAAU,CAAC,WAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC5C,YAAA,IAAI,EAAE;gBACJ,WAAW;gBACX,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,aAAa,EAAE,IAAI,CAAC,OAAO;AAC5B,aAAA;AACD,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,SAAS,EAAE,KAAK;SACjB,CAAC;AACC,aAAA,WAAW,EAAE;AACb,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;AAC9B,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;AAEM,IAAA,eAAe,CAAC,WAAW,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC7C,IAAI,EAAE,EAAE,WAAW,EAAE;SACtB,CAAC;AACC,aAAA,WAAW,EAAE;aACb,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC;KACL;IAEO,eAAe,GAAA;QACrB,IAAI,CAAC,UAAU,GAAG;AAChB,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;AACtB,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAK;wBACV,IAAI,CAAC,eAAe,CAAC;4BACnB,IAAI,EAAE,QAAQ,CAAC,YAAY;yBAC5B,CAAC;AACC,6BAAA,IAAI,CACH,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CACvC;AACA,6BAAA,SAAS,CAAC,CAAC,WAAW,KAAI;AACzB,4BAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAC7B,4BAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;AAC9B,yBAAC,CAAC,CAAC;qBACN;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,KAAK,EAAE,CAAC,IAAI,KAAI;wBACd,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBAC7C;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,QAAQ,EAAE,oDAAoD;AAC/D,qBAAA;AACD,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AACf,gBAAA,KAAK,mBACH,cAAc,EAAE,IAAI,EACjB,EAAA,KAAK,CACT,CAAC;AAEF,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACxC,qBAAA,IAAI,CACH,GAAG,CAAC,CAAC,QAAa,KAAI;AACpB,oBAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;iBACjE,CAAC,CACH,CAAC;aACL;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;AAC3B,gBAAA,WAAW,EAAE,cAAc;AAC3B,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,oBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACtE;AACF,aAAA;SACF,CAAC;KACH;;AAvHU,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAaxB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAbhB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIvB,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvC5B,4jCA2BA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,QAAA,EAAAO,IAAA,CAAA,UAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDQa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4jCAAA,EAAA,MAAA,EAAA,CAAA,oTAAA,CAAA,EAAA,CAAA;;;8BAe5C,MAAM;+BAAC,iBAAiB,CAAA;;yBAXX,gBAAgB,EAAA,CAAA;sBAA/B,KAAK;gBAGC,aAAa,EAAA,CAAA;sBADnB,SAAS;uBAAC,eAAe,CAAA;;;ME6Bf,oBAAoB,CAAA;AACxB,IAAA,OAAO,OAAO,GAAA;QACnB,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;SAC/B,CAAC;KACH;;iHALU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAL7B,uBAAuB;QACvB,oBAAoB;AACpB,QAAA,0BAA0B,aAhC1B,YAAY;QACZ,WAAW;QACX,YAAY;QAEZ,eAAe;QACf,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,aAAa;QACb,aAAa;QACb,eAAe;QACf,qBAAqB;QACrB,gBAAgB;QAEhB,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;QACd,kBAAkB;QAElB,qBAAqB,aAGrB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAQd,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EApCtB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,YAAY;YAEZ,eAAe;YACf,cAAc;YACd,kBAAkB;YAClB,eAAe;YACf,aAAa;YACb,aAAa;YACb,eAAe;YACf,qBAAqB;YACrB,gBAAgB;YAEhB,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,kBAAkB;YAClB,cAAc;YACd,kBAAkB;YAElB,qBAAqB;SACtB,CAAA,EAAA,CAAA,CAAA;2FAUU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBArChC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,YAAY;wBAEZ,eAAe;wBACf,cAAc;wBACd,kBAAkB;wBAClB,eAAe;wBACf,aAAa;wBACb,aAAa;wBACb,eAAe;wBACf,qBAAqB;wBACrB,gBAAgB;wBAEhB,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,YAAY;wBACZ,aAAa;wBACb,gBAAgB;wBAChB,kBAAkB;wBAClB,cAAc;wBACd,kBAAkB;wBAElB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;AACxB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,oBAAoB;wBACpB,0BAA0B;AAC3B,qBAAA;iBACF,CAAA;;;MCtCY,qBAAqB,CAAA;AAmBhC,IAAA,WAAA,CACqC,OAAwB,EACnD,QAAmB,EACnB,MAAyB,EAAA;AAFE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AACnD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AACnB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AAdnB,QAAA,IAAM,CAAA,MAAA,GAAW,MAAM,CAAC;AAEjC,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;QACpB,IAAA,CAAA,WAAW,GAAG;AACnB,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,MAAM,EAAE,MAAM;SACf,CAAC;AAEM,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAMpC;IAEG,QAAQ,GAAA;QACb,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACtC,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;AAC5B,aAAA,SAAS,CAAC,CAAC,YAAY,KAAI;AAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAEM,IAAI,GAAA;QACT,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;AAC7C,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,YAAY,KAAI;YACnB,IAAI,CAAC,YAAY,GACZ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,YAAY,CAAA,EACjB,YAAY,CAChB,CAAC;AAEF,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACzC,SAAC,CAAC,CACH,CAAC,SAAS,EAAE,CAAC;KACjB;;AApDU,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kBAoBtB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAR,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AApBhB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAErB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,qBAAqB,EAGrB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,gDClC5B,+SASA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAO,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,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,EAAAF,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDoBa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+SAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;8BAsB5C,MAAM;+BAAC,iBAAiB,CAAA;;yBAjBpB,WAAW,EAAA,CAAA;sBADjB,SAAS;uBAAC,qBAAqB,CAAA;gBAIzB,IAAI,EAAA,CAAA;sBADV,SAAS;uBAAC,eAAe,CAAA;gBAGV,MAAM,EAAA,CAAA;sBAArB,KAAK;;;MEHK,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,YAAA,EAAA,CAH7B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAdrB,YAAY;QACZ,WAAW;QAEX,eAAe;QAEf,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,qBAAqB,aAGrB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAMZ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAlBtB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YAEX,eAAe;YAEf,kBAAkB;YAClB,gBAAgB;YAChB,cAAc;YACd,qBAAqB;SACtB,CAAA,EAAA,CAAA,CAAA;2FAQU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBAEX,eAAe;wBAEf,kBAAkB;wBAClB,gBAAgB;wBAChB,cAAc;wBACd,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,qBAAqB;AACtB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;AACtB,qBAAA;iBACF,CAAA;;;MCRY,wBAAwB,CAAA;AAWnC,IAAA,WAAA,CACU,UAAwB,EACxB,OAAe,EACf,GAAe,EACf,aAA2B,EAAA;AAH3B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;AACxB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAN7B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAO9B;AAEG,IAAA,WAAW,CAAC,OAAsB,EAAA;AACvC,QAAA,IAAG,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAClF,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAClF,SAAA;KACF;IAEM,kBAAkB,GAAA;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;AAErB,QAAA,IAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,SAAA;KACF;IAEM,aAAa,GAAA;QAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAC5C,aAAA,MAAM,CAAC,CAAC,EAAW,KAAI;YACtB,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,SAAC,CAAC;AACD,aAAA,OAAO,CAAC,CAAC,EAAW,KAAI;YACvB,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,KAAiB,KAAI;gBAChD,IAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACpC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,oBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAClC,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,IAAW,EAAE,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;KAC/B;IAEM,WAAW,GAAA;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAEM,YAAY,GAAA;QACjB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;AACxD,QAAA,IAAG,EAAE,EAAE;YACL,EAAE,CAAC,MAAM,EAAE,CAAC;AACb,SAAA;KACF;;qHAlEU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAxB,wBAAwB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAEN,UAAU,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BzC,8EACqB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDwBR,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;kLAKxC,MAAM,EAAA,CAAA;sBADZ,SAAS;gBAAC,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAGzB,WAAW,EAAA,CAAA;sBAA1B,KAAK;;;MEHK,kBAAkB,CAAA;IAM7B,WACqC,CAAA,OAAwB,EACnD,MAAa,EACb,MAAyB,EACzB,OAAe,EACf,GAAe,EACf,aAA2B,EAAA;AALA,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AACnD,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAO;AACb,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AACzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAR7B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAS9B;IAEG,QAAQ,GAAA;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAED,IAAA,IAAW,EAAE,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;KAC/B;IAEM,WAAW,GAAA;;AAChB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEzB,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,EAAE,CAAC;KACpD;IAEO,WAAW,GAAA;AACjB,QAAA,IAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;AAC/B,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AACpB,gBAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/D,aAAC,CAAC,CAAC;AACN,SAAA;KACF;IAEO,YAAY,GAAA;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,MAAM;AAChB,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,aAAa,CAAC,EACzC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;YACf,IAAI,CAAC,YAAY,EAAE,CAAC;AACtB,SAAC,CAAC,CAAC;KACN;IAEO,YAAY,GAAA;AAClB,QAAA,MAAM,IAAI,GAAI,MAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAE/C,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;AAC3B,aAAA,SAAS,CAAC,CAAC,WAAW,KAAI;YACzB,IAAG,WAAW,CAAC,KAAK,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAExC,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;gBACzE,IAAG,CAAC,SAAS,EAAE;AACb,oBAAA,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC3C,oBAAA,SAAS,CAAC,YAAY,CAAC,UAAU,EAAC,UAAU,CAAC,CAAC;AAC9C,oBAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACjE,iBAAA;gBAED,SAAS,CAAC,YAAY,CAAC,SAAS,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrD,aAAA;AAED,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;;AA3EU,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAOnB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAPhB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,kDC3B/B,oIAEe,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,wBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAX,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDyBF,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,YAAY,EAAA,eAAA,EAGL,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,oIAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;8BAS5C,MAAM;+BAAC,iBAAiB,CAAA;;;;MEVhB,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,iBAJxB,kBAAkB;AAClB,QAAA,wBAAwB,aATxB,YAAY;QAEZ,kBAAkB,aAGlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAOT,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAbjB,OAAA,EAAA,CAAA;YACP,YAAY;YAEZ,kBAAkB;SACnB,CAAA,EAAA,CAAA,CAAA;2FASU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBAEZ,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,wBAAwB;AACzB,qBAAA;iBACF,CAAA;;;ACvBD;;AAEG;;;;"}