@covalent/flavored-markdown 4.16.0-beta.2 → 4.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/cfm-list/cfm-list.component.mjs +7 -6
- package/esm2020/lib/flavored-markdown-loader/flavored-markdown-loader.component.mjs +3 -3
- package/esm2020/lib/flavored-markdown.component.mjs +27 -9
- package/esm2020/lib/flavored-markdown.module.mjs +12 -10
- package/fesm2015/covalent-flavored-markdown.mjs +48 -27
- package/fesm2015/covalent-flavored-markdown.mjs.map +1 -1
- package/fesm2020/covalent-flavored-markdown.mjs +48 -27
- package/fesm2020/covalent-flavored-markdown.mjs.map +1 -1
- package/lib/cfm-list/cfm-list.component.d.ts +1 -1
- package/lib/flavored-markdown-loader/flavored-markdown-loader.component.d.ts +1 -1
- package/lib/flavored-markdown.component.d.ts +17 -5
- package/package.json +19 -11
- /package/{index.d.ts → covalent-flavored-markdown.d.ts} +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input, ViewChild, EventEmitter, HostBinding, Output, Directive, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
4
|
-
import * as
|
|
4
|
+
import * as i2$1 from '@angular/material/sort';
|
|
5
5
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i1$1 from '@angular/material/table';
|
|
7
7
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { takeUntil } from 'rxjs/operators';
|
|
10
|
-
import * as i1 from '@angular/
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
|
-
import * as i2 from '@angular/material/list';
|
|
10
|
+
import * as i1 from '@angular/material/list';
|
|
13
11
|
import { MatListModule } from '@angular/material/list';
|
|
12
|
+
import * as i2 from '@angular/common';
|
|
13
|
+
import { CommonModule } from '@angular/common';
|
|
14
14
|
import * as i3 from '@angular/material/core';
|
|
15
15
|
import * as i4 from '@angular/material/divider';
|
|
16
16
|
import { TdHighlightComponent, CovalentHighlightModule } from '@covalent/highlight';
|
|
17
|
-
import * as i1$
|
|
17
|
+
import * as i1$2 from '@covalent/markdown';
|
|
18
18
|
import { scrollToAnchor, TdMarkdownComponent, CovalentMarkdownModule } from '@covalent/markdown';
|
|
19
19
|
import * as i4$1 from '@angular/material/button';
|
|
20
20
|
import { MatButtonModule } from '@angular/material/button';
|
|
21
|
-
import * as i3$
|
|
21
|
+
import * as i3$1 from '@angular/material/progress-bar';
|
|
22
22
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
23
23
|
import { __awaiter } from 'tslib';
|
|
24
24
|
|
|
@@ -41,7 +41,8 @@ function TdFlavoredListComponent_ng_template_1_mat_divider_4_Template(rf, ctx) {
|
|
|
41
41
|
}
|
|
42
42
|
function TdFlavoredListComponent_ng_template_1_Template(rf, ctx) {
|
|
43
43
|
if (rf & 1) {
|
|
44
|
-
i0.ɵɵelementStart(0, "mat-list-item")
|
|
44
|
+
i0.ɵɵelementStart(0, "mat-list-item");
|
|
45
|
+
i0.ɵɵelementStart(1, "h4", 1);
|
|
45
46
|
i0.ɵɵtext(2);
|
|
46
47
|
i0.ɵɵelementEnd();
|
|
47
48
|
i0.ɵɵtemplate(3, TdFlavoredListComponent_ng_template_1_p_3_Template, 2, 1, "p", 2);
|
|
@@ -76,11 +77,11 @@ TdFlavoredListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdF
|
|
|
76
77
|
i0.ɵɵadvance(1);
|
|
77
78
|
i0.ɵɵproperty("ngForOf", ctx.lines);
|
|
78
79
|
}
|
|
79
|
-
},
|
|
80
|
+
}, directives: [i1.MatList, i2.NgForOf, i1.MatListItem, i3.MatLine, i2.NgIf, i4.MatDivider], styles: [""] });
|
|
80
81
|
(function () {
|
|
81
82
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredListComponent, [{
|
|
82
83
|
type: Component,
|
|
83
|
-
args: [{ selector: 'td-cfm-list', template: "<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n" }]
|
|
84
|
+
args: [{ selector: 'td-cfm-list', template: "<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n", styles: [""] }]
|
|
84
85
|
}], null, { lines: [{
|
|
85
86
|
type: Input
|
|
86
87
|
}], dense: [{
|
|
@@ -174,7 +175,7 @@ TdFlavoredMarkdownTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
174
175
|
i0.ɵɵadvance(1);
|
|
175
176
|
i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
|
|
176
177
|
}
|
|
177
|
-
},
|
|
178
|
+
}, directives: [i1$1.MatTable, i2$1.MatSort, i2.NgForOf, i1$1.MatColumnDef, i1$1.MatHeaderCellDef, i1$1.MatHeaderCell, i2$1.MatSortHeader, i1$1.MatCellDef, i1$1.MatCell, i1$1.MatHeaderRowDef, i1$1.MatHeaderRow, i1$1.MatRowDef, i1$1.MatRow], encapsulation: 2 });
|
|
178
179
|
(function () {
|
|
179
180
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownTableComponent, [{
|
|
180
181
|
type: Component,
|
|
@@ -232,7 +233,7 @@ TdFlavoredMarkdownButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
232
233
|
i0.ɵɵadvance(1);
|
|
233
234
|
i0.ɵɵtextInterpolate1(" ", ctx.text, " ");
|
|
234
235
|
}
|
|
235
|
-
},
|
|
236
|
+
}, directives: [i4$1.MatButton], encapsulation: 2 });
|
|
236
237
|
(function () {
|
|
237
238
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownButtonComponent, [{
|
|
238
239
|
type: Component,
|
|
@@ -297,6 +298,18 @@ class TdFlavoredMarkdownComponent {
|
|
|
297
298
|
* Tooltips for copy button to copy and upon copying.
|
|
298
299
|
*/
|
|
299
300
|
this.copyCodeTooltips = {};
|
|
301
|
+
/**
|
|
302
|
+
* toggleRawCode?: boolean
|
|
303
|
+
*
|
|
304
|
+
* Display button to toggle raw code view
|
|
305
|
+
*/
|
|
306
|
+
this.toggleRawCode = false;
|
|
307
|
+
/**
|
|
308
|
+
* rawToggleLabels?: IRawToggleLabels
|
|
309
|
+
*
|
|
310
|
+
* Labels for raw code toggle button
|
|
311
|
+
*/
|
|
312
|
+
this.rawToggleLabels = {};
|
|
300
313
|
/**
|
|
301
314
|
* useCfmList?: boolean = false;
|
|
302
315
|
* Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.
|
|
@@ -503,6 +516,8 @@ class TdFlavoredMarkdownComponent {
|
|
|
503
516
|
}
|
|
504
517
|
componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;
|
|
505
518
|
componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;
|
|
519
|
+
componentRef.instance.toggleRawButton = this.toggleRawCode;
|
|
520
|
+
componentRef.instance.rawToggleLabels = this.rawToggleLabels;
|
|
506
521
|
componentRef.instance.content = codeblock;
|
|
507
522
|
});
|
|
508
523
|
}
|
|
@@ -598,14 +613,14 @@ TdFlavoredMarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
598
613
|
let _t;
|
|
599
614
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
|
|
600
615
|
}
|
|
601
|
-
}, inputs: { content: "content", simpleLineBreaks: "simpleLineBreaks", hostedUrl: "hostedUrl", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 2, vars: 0, consts: [["tdFlavoredMarkdownContainer", ""]], template: function TdFlavoredMarkdownComponent_Template(rf, ctx) {
|
|
616
|
+
}, inputs: { content: "content", simpleLineBreaks: "simpleLineBreaks", hostedUrl: "hostedUrl", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", toggleRawCode: "toggleRawCode", rawToggleLabels: "rawToggleLabels", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 2, vars: 0, consts: [["tdFlavoredMarkdownContainer", ""]], template: function TdFlavoredMarkdownComponent_Template(rf, ctx) {
|
|
602
617
|
if (rf & 1) {
|
|
603
618
|
i0.ɵɵprojectionDef();
|
|
604
619
|
i0.ɵɵelementStart(0, "div", 0);
|
|
605
620
|
i0.ɵɵprojection(1);
|
|
606
621
|
i0.ɵɵelementEnd();
|
|
607
622
|
}
|
|
608
|
-
},
|
|
623
|
+
}, directives: [TdFlavoredMarkdownContainerDirective], styles: ["[_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h1:first-of-type, [_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}[_nghost-%COMP%] mat-checkbox{display:block}[_nghost-%COMP%] td-highlight, [_nghost-%COMP%] mat-table, [_nghost-%COMP%] mat-checkbox:last-of-type{margin-bottom:16px}[_nghost-%COMP%] :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}[_nghost-%COMP%] td-highlight{display:flex;flex-direction:row;justify-content:space-between}"], changeDetection: 0 });
|
|
609
624
|
(function () {
|
|
610
625
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownComponent, [{
|
|
611
626
|
type: Component,
|
|
@@ -622,6 +637,10 @@ TdFlavoredMarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
622
637
|
type: Input
|
|
623
638
|
}], copyCodeTooltips: [{
|
|
624
639
|
type: Input
|
|
640
|
+
}], toggleRawCode: [{
|
|
641
|
+
type: Input
|
|
642
|
+
}], rawToggleLabels: [{
|
|
643
|
+
type: Input
|
|
625
644
|
}], useCfmList: [{
|
|
626
645
|
type: Input
|
|
627
646
|
}], contentReady: [{
|
|
@@ -646,7 +665,7 @@ function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template(rf, c
|
|
|
646
665
|
if (rf & 1) {
|
|
647
666
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
648
667
|
i0.ɵɵelementStart(0, "td-flavored-markdown", 3);
|
|
649
|
-
i0.ɵɵlistener("contentReady", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return
|
|
668
|
+
i0.ɵɵlistener("contentReady", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return ctx_r2.contentReady.emit(); })("buttonClicked", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.buttonClicked.emit($event); });
|
|
650
669
|
i0.ɵɵelementEnd();
|
|
651
670
|
}
|
|
652
671
|
if (rf & 2) {
|
|
@@ -715,7 +734,7 @@ class TdFlavoredMarkdownLoaderComponent {
|
|
|
715
734
|
});
|
|
716
735
|
}
|
|
717
736
|
}
|
|
718
|
-
TdFlavoredMarkdownLoaderComponent.ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(t) { return new (t || TdFlavoredMarkdownLoaderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$
|
|
737
|
+
TdFlavoredMarkdownLoaderComponent.ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(t) { return new (t || TdFlavoredMarkdownLoaderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$2.TdMarkdownLoaderService)); };
|
|
719
738
|
TdFlavoredMarkdownLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownLoaderComponent, selectors: [["td-flavored-markdown-loader"]], inputs: { url: "url", httpOptions: "httpOptions", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", loadFailed: "loadFailed", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["mode", "indeterminate", "color", "accent", "class", "sticky", 3, "ngClass", 4, "ngIf"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "useCfmList", "contentReady", "buttonClicked", 4, "ngIf"], ["mode", "indeterminate", "color", "accent", 1, "sticky", 3, "ngClass"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "useCfmList", "contentReady", "buttonClicked"]], template: function TdFlavoredMarkdownLoaderComponent_Template(rf, ctx) {
|
|
720
739
|
if (rf & 1) {
|
|
721
740
|
i0.ɵɵtemplate(0, TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template, 1, 1, "mat-progress-bar", 0);
|
|
@@ -726,12 +745,12 @@ TdFlavoredMarkdownLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
726
745
|
i0.ɵɵadvance(1);
|
|
727
746
|
i0.ɵɵproperty("ngIf", !ctx.loading);
|
|
728
747
|
}
|
|
729
|
-
},
|
|
748
|
+
}, directives: [i2.NgIf, i3$1.MatProgressBar, i2.NgClass, TdFlavoredMarkdownComponent], styles: ["[_nghost-%COMP%]{display:block}.sticky[_ngcontent-%COMP%]{position:absolute;top:0}.delay[_ngcontent-%COMP%]{animation:delay-animation;animation-duration:.6s}@keyframes delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"], changeDetection: 0 });
|
|
730
749
|
(function () {
|
|
731
750
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownLoaderComponent, [{
|
|
732
751
|
type: Component,
|
|
733
752
|
args: [{ selector: 'td-flavored-markdown-loader', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n", styles: [":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delay-animation;animation-duration:.6s}@keyframes delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}\n"] }]
|
|
734
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$
|
|
753
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$2.TdMarkdownLoaderService }]; }, { url: [{
|
|
735
754
|
type: Input
|
|
736
755
|
}], httpOptions: [{
|
|
737
756
|
type: Input
|
|
@@ -756,15 +775,17 @@ class CovalentFlavoredMarkdownModule {
|
|
|
756
775
|
}
|
|
757
776
|
CovalentFlavoredMarkdownModule.ɵfac = function CovalentFlavoredMarkdownModule_Factory(t) { return new (t || CovalentFlavoredMarkdownModule)(); };
|
|
758
777
|
CovalentFlavoredMarkdownModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentFlavoredMarkdownModule });
|
|
759
|
-
CovalentFlavoredMarkdownModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
778
|
+
CovalentFlavoredMarkdownModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
779
|
+
CommonModule,
|
|
780
|
+
MatCheckboxModule,
|
|
781
|
+
MatListModule,
|
|
782
|
+
MatProgressBarModule,
|
|
783
|
+
CovalentHighlightModule,
|
|
784
|
+
CovalentMarkdownModule,
|
|
785
|
+
MatButtonModule,
|
|
786
|
+
MatTableModule,
|
|
787
|
+
MatSortModule,
|
|
788
|
+
]] });
|
|
768
789
|
(function () {
|
|
769
790
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentFlavoredMarkdownModule, [{
|
|
770
791
|
type: NgModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-flavored-markdown.mjs","sources":["../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.html","../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.module.ts","../../../../libs/markdown-flavored/src/covalent-flavored-markdown.ts"],"sourcesContent":["<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n","import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'td-cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines!: IFlavoredListItem[];\n @Input() dense = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n TdFlavoredListComponent,\n IFlavoredListItem,\n} from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\n\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{\n column.label\n }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data!: unknown[];\n @ViewChild(MatSort) sort!: MatSort;\n\n displayedColumns!: string[];\n dataSource!: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map(\n (c: ITdFlavoredMarkDownTableColumn) => c.name\n );\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display = 'inline-block';\n @Input() text = '';\n @Input() data = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(\n public viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2\n ) {}\n\n clear(): void {\n this._renderer.setProperty(\n this.viewContainerRef.element.nativeElement,\n 'innerHTML',\n ''\n );\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (\n componentRef: ComponentRef<T>,\n ...args: any[]\n) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent\n implements AfterViewInit, OnChanges, OnDestroy\n{\n private _content!: string;\n private _simpleLineBreaks = false;\n private _hostedUrl!: string;\n private _anchor!: string;\n\n private _components: { [key: string]: ComponentRef<unknown> } = {};\n private _viewInit = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input()\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input()\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input()\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input()\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> =\n new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true })\n container!: TdFlavoredMarkdownContainerDirective;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (\n changes['anchor'] &&\n !changes['content'] &&\n !changes['simpleLineBreaks'] &&\n !changes['hostedUrl']\n ) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespaceMatch = lines[0].match(/^(\\s|\\t)*/);\n const firstLineWhitespace = firstLineWhitespaceMatch\n ? firstLineWhitespaceMatch[0]\n : null;\n\n // Remove all indentation spaces so markdown can be parsed correctly\n // Remove all \\r characters\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '').replace('\\r', '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceButtons(markdown);\n\n if (this.useCfmList) {\n markdown = this._replaceLists(markdown);\n }\n\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(\n () =>\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false),\n 250\n );\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], '', []);\n this.container.viewContainerRef.insert(\n this._components[key].hostView,\n this.container.viewContainerRef.length\n );\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> =\n this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(\n contentRef.hostView,\n this.container.viewContainerRef.length\n );\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>\n ): string {\n let componentIndex = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> =\n this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(\n this._injector\n );\n replacerFunc(componentRef, ...args);\n const key: string =\n '[' +\n componentFactory.selector +\n '-placeholder-' +\n componentIndex++ +\n ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (\n componentRef: ComponentRef<MatCheckbox>,\n match: string,\n checked: string,\n label: string\n ) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>(\n componentRef.instance._elementRef.nativeElement\n )).getElementsByClassName('mat-checkbox-label')[0],\n 'innerHTML',\n label\n );\n }\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp = /\\[([^[]+)\\](\\(#data=(.*?)\\))/i;\n const globalButtonRegExp = new RegExp(\n buttonRegExp.source,\n buttonRegExp.flags + 'g'\n );\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>,\n match: string\n ) => {\n const matches = buttonRegExp.exec(match);\n if (!matches) {\n return;\n }\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent)\n );\n }\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (\n componentRef: ComponentRef<TdHighlightComponent>,\n match: string,\n language: string,\n codeblock: string\n ) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.content = codeblock;\n }\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>,\n match: string\n ) => {\n const dataTableLines: string[] = match\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '')\n .split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(\n /`(.*)`/,\n (m: string, value: string) => {\n return value;\n }\n );\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map(\n (col: string, index: number) => {\n return {\n label: col,\n name: col ? col.toLowerCase().trim() : `column ${index}`,\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n }\n );\n componentRef.instance.data = data;\n }\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp = /(?:^|\\n)(( *(\\+|\\*|-))[ |\\t](.*)\\n)+/g;\n const listCharRegExp = new RegExp(/^(\\+|\\*|-)/);\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const start = /(\\+|\\*|-)/.exec(match);\n const matchIndex = start !== null ? start.index : 1;\n\n const lineTexts: string[] = match.split(\n new RegExp(\n '\\\\n {' + (matchIndex - 1).toString() + '}(\\\\+|\\\\*|\\\\-)[ |\\\\t]'\n )\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string) => {\n const sublineTexts: string[] = text.split(/\\n *(\\+|\\*|-) /);\n const lineText = sublineTexts.shift() ?? '';\n\n if (listCharRegExp.test(lineText)) {\n return;\n }\n\n lines.push({\n line: lineText,\n sublines: sublineTexts.map((subline: string) => {\n if (listCharRegExp.test(subline)) {\n return '';\n }\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n }\n );\n }\n}\n","<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n","<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url?: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions?: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor?: string;\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n\n content!: string;\n loading = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['url'] || changes['httpOptions']) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(\n this.url ?? '',\n this.httpOptions\n );\n } catch (error) {\n this.loadFailed.emit(error as Error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\nimport { CovalentHighlightModule } from '@covalent/highlight';\n\nimport { CovalentMarkdownModule } from '@covalent/markdown';\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covalent-flavored-markdown.mjs","sources":["../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.html","../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.module.ts","../../../../libs/markdown-flavored/src/covalent-flavored-markdown.ts"],"sourcesContent":["<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n","import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'td-cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines!: IFlavoredListItem[];\n @Input() dense = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n TdFlavoredListComponent,\n IFlavoredListItem,\n} from './cfm-list/cfm-list.component';\nimport {\n TdHighlightComponent,\n ICopyCodeTooltips,\n IRawToggleLabels,\n} from '@covalent/highlight';\n\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{\n column.label\n }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data!: unknown[];\n @ViewChild(MatSort) sort!: MatSort;\n\n displayedColumns!: string[];\n dataSource!: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map(\n (c: ITdFlavoredMarkDownTableColumn) => c.name\n );\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display = 'inline-block';\n @Input() text = '';\n @Input() data = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(\n public viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2\n ) {}\n\n clear(): void {\n this._renderer.setProperty(\n this.viewContainerRef.element.nativeElement,\n 'innerHTML',\n ''\n );\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (\n componentRef: ComponentRef<T>,\n ...args: any[]\n) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent\n implements AfterViewInit, OnChanges, OnDestroy\n{\n private _content!: string;\n private _simpleLineBreaks = false;\n private _hostedUrl!: string;\n private _anchor!: string;\n\n private _components: { [key: string]: ComponentRef<unknown> } = {};\n private _viewInit = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input()\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input()\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input()\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input()\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * toggleRawCode?: boolean\n *\n * Display button to toggle raw code view\n */\n @Input() toggleRawCode = false;\n\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw code toggle button\n */\n @Input() rawToggleLabels?: IRawToggleLabels = {};\n\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> =\n new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true })\n container!: TdFlavoredMarkdownContainerDirective;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (\n changes['anchor'] &&\n !changes['content'] &&\n !changes['simpleLineBreaks'] &&\n !changes['hostedUrl']\n ) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespaceMatch = lines[0].match(/^(\\s|\\t)*/);\n const firstLineWhitespace = firstLineWhitespaceMatch\n ? firstLineWhitespaceMatch[0]\n : null;\n\n // Remove all indentation spaces so markdown can be parsed correctly\n // Remove all \\r characters\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '').replace('\\r', '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceButtons(markdown);\n\n if (this.useCfmList) {\n markdown = this._replaceLists(markdown);\n }\n\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(\n () =>\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false),\n 250\n );\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], '', []);\n this.container.viewContainerRef.insert(\n this._components[key].hostView,\n this.container.viewContainerRef.length\n );\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> =\n this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(\n contentRef.hostView,\n this.container.viewContainerRef.length\n );\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>\n ): string {\n let componentIndex = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> =\n this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(\n this._injector\n );\n replacerFunc(componentRef, ...args);\n const key: string =\n '[' +\n componentFactory.selector +\n '-placeholder-' +\n componentIndex++ +\n ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (\n componentRef: ComponentRef<MatCheckbox>,\n match: string,\n checked: string,\n label: string\n ) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>(\n componentRef.instance._elementRef.nativeElement\n )).getElementsByClassName('mat-checkbox-label')[0],\n 'innerHTML',\n label\n );\n }\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp = /\\[([^[]+)\\](\\(#data=(.*?)\\))/i;\n const globalButtonRegExp = new RegExp(\n buttonRegExp.source,\n buttonRegExp.flags + 'g'\n );\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>,\n match: string\n ) => {\n const matches = buttonRegExp.exec(match);\n if (!matches) {\n return;\n }\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent)\n );\n }\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (\n componentRef: ComponentRef<TdHighlightComponent>,\n match: string,\n language: string,\n codeblock: string\n ) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.toggleRawButton = this.toggleRawCode;\n componentRef.instance.rawToggleLabels = this.rawToggleLabels;\n componentRef.instance.content = codeblock;\n }\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>,\n match: string\n ) => {\n const dataTableLines: string[] = match\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '')\n .split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(\n /`(.*)`/,\n (m: string, value: string) => {\n return value;\n }\n );\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map(\n (col: string, index: number) => {\n return {\n label: col,\n name: col ? col.toLowerCase().trim() : `column ${index}`,\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n }\n );\n componentRef.instance.data = data;\n }\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp = /(?:^|\\n)(( *(\\+|\\*|-))[ |\\t](.*)\\n)+/g;\n const listCharRegExp = new RegExp(/^(\\+|\\*|-)/);\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const start = /(\\+|\\*|-)/.exec(match);\n const matchIndex = start !== null ? start.index : 1;\n\n const lineTexts: string[] = match.split(\n new RegExp(\n '\\\\n {' + (matchIndex - 1).toString() + '}(\\\\+|\\\\*|\\\\-)[ |\\\\t]'\n )\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string) => {\n const sublineTexts: string[] = text.split(/\\n *(\\+|\\*|-) /);\n const lineText = sublineTexts.shift() ?? '';\n\n if (listCharRegExp.test(lineText)) {\n return;\n }\n\n lines.push({\n line: lineText,\n sublines: sublineTexts.map((subline: string) => {\n if (listCharRegExp.test(subline)) {\n return '';\n }\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n }\n );\n }\n}\n","<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n","<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url?: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions?: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor?: string;\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard? = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n\n content!: string;\n loading = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['url'] || changes['httpOptions']) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(\n this.url ?? '',\n this.httpOptions\n );\n } catch (error) {\n this.loadFailed.emit(error as Error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\nimport { CovalentHighlightModule } from '@covalent/highlight';\n\nimport { CovalentMarkdownModule } from '@covalent/markdown';\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;QAMM,EAAiD,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAC/C,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;AADF,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,UAAA,EAAA,GAAA,CAAA,CAAA;;;;;AACA,QAAA,EAAyC,CAAA,SAAA,CAAA,CAAA,EAAA,aAAA,CAAA,CAAA;;;;;AAP3C,QAAA,EAAe,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;QACb,EAAY,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACV,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AACL,QAAA,EAEI,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACJ,QAAA,EAAyC,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;QAC3C,EAAgB,CAAA,YAAA,EAAA,CAAA;;;;;AANZ,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA;AACuB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA;AAGzB,QAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;;MCGlB,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;AAOW,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;KACxB;;8FAHY,uBAAuB,GAAA,CAAA,EAAA,CAAA;0EAAvB,uBAAuB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADZpC,YAAA,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAC3C,YAAA,EAUc,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;YAChB,EAAW,CAAA,YAAA,EAAA,CAAA;;;AAZD,YAAA,EAAkC,CAAA,WAAA,CAAA,OAAA,EAAA,GAAA,CAAA,KAAA,GAAA,IAAA,GAAA,IAAA,CAAA,CAAA;AACE,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;;;;4ECWlD,uBAAuB,EAAA,CAAA;kBALnC,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,8YAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;oBAKd,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;;;;QC8CE,EAAmD,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAEjD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAkB,CAAA,YAAA,EAAA,CAAA;;;;AAF+B,QAAA,EAEjD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAFiD,QAAA,EAEjD,CAAA,iBAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;;;;;AACF,QAAA,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;;AAAjC,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,SAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;;;AAJxD,QAAA,EAA2C,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACzC,QAAA,EAEoB,CAAA,UAAA,CAAA,CAAA,EAAA,yEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;AACpB,QAAA,EAAiE,CAAA,UAAA,CAAA,CAAA,EAAA,kEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QACnE,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;QALD,EAA4B,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,CAAA,IAAA,CAAA,CAAA;;;;;AAQ5C,QAAA,EAAqE,CAAA,SAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;;;;;AACrE,QAAA,EAAmE,CAAA,SAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;;;;MAI5D,gCAAgC,CAAA;AAlB7C,IAAA,WAAA,GAAA;AAmBW,QAAA,IAAU,CAAA,UAAA,GAAqC,EAAE,CAAC;KAiB5D;IAVC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CACzC,CAAC,CAAiC,KAAK,CAAC,CAAC,IAAI,CAC9C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrD;IAED,eAAe,GAAA;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAClC;;gHAjBU,gCAAgC,GAAA,CAAA,EAAA,CAAA;mFAAhC,gCAAgC,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,sCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAGhC,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;YAnBhB,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;AAE3C,YAAA,EAOc,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;AAEd,YAAA,EAAqE,CAAA,UAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AACrE,YAAA,EAAmE,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;YACrE,EAAY,CAAA,YAAA,EAAA,CAAA;;;YAbD,EAAyB,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AAEJ,YAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAtB,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AASnC,YAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjC,EAAiC,CAAA,UAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,gBAAA,CAAA,CAAA;AACpB,YAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAzB,EAAyB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,gBAAA,CAAA,CAAA;;;;4EAIhD,gCAAgC,EAAA,CAAA;kBAlB5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA;iBACF,CAAA;oBAEU,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACc,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;MAwBP,iCAAiC,CAAA;AAP9C,IAAA,WAAA,GAAA;AAQgC,QAAA,IAAO,CAAA,OAAA,GAAG,cAAc,CAAC;AAC9C,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAEnB,QAAA,IAAA,CAAA,OAAO,GAAsD,IAAI,YAAY,EAAuC,CAAC;KAItH;IAHC,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;;kHARU,iCAAiC,GAAA,CAAA,EAAA,CAAA;oFAAjC,iCAAiC,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,8CAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;YAL1C,EAAgD,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAAtB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,OAAS,eAAW,CAAC,EAAA,CAAA,CAAA;AAC7C,YAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;YAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;AADP,YAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,GAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA;;;;4EAGS,iCAAiC,EAAA,CAAA;kBAP7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;iBACF,CAAA;oBAE+B,OAAO,EAAA,CAAA;sBAApC,WAAW;uBAAC,eAAe,CAAA;gBACnB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEN,OAAO,EAAA,CAAA;sBADN,MAAM;;;MAUI,oCAAoC,CAAA;IAC/C,WACS,CAAA,gBAAkC,EACjC,SAAoB,EAAA;AADrB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AACjC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAC1B;IAEJ,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAC3C,WAAW,EACX,EAAE,CACH,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;;wHAbU,oCAAoC,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;uFAApC,oCAAoC,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,6BAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;4EAApC,oCAAoC,EAAA,CAAA;kBAHhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;iBAC1C,CAAA;;;MA4BY,2BAA2B,CAAA;IA8GtC,WACU,CAAA,yBAAmD,EACnD,SAAoB,EACpB,kBAAqC,EACrC,SAAmB,EACnB,WAAuB,EAAA;AAJvB,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;AACnD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AACrC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AACnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AA/GzB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAI1B,QAAA,IAAW,CAAA,WAAA,GAA6C,EAAE,CAAC;AAC3D,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AA8C1B;;;;;AAKG;AACM,QAAA,IAAmB,CAAA,mBAAA,GAAI,KAAK,CAAC;AAEtC;;;;AAIG;AACM,QAAA,IAAgB,CAAA,gBAAA,GAAuB,EAAE,CAAC;AAEnD;;;;AAIG;AACM,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAE/B;;;;AAIG;AACM,QAAA,IAAe,CAAA,eAAA,GAAsB,EAAE,CAAC;AAEjD;;;AAGG;AACM,QAAA,IAAU,CAAA,UAAA,GAAI,KAAK,CAAC;AAE7B;;;AAGG;AACO,QAAA,IAAA,CAAA,YAAY,GACpB,IAAI,YAAY,EAAa,CAAC;AAEhC;;;;AAIG;AAEH,QAAA,IAAA,CAAA,aAAa,GAAsD,IAAI,YAAY,EAAuC,CAAC;AAKnH,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAQpC;AA1GJ;;;;;;AAMG;IACH,IACI,OAAO,CAAC,OAAe,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;AAED;;;;;AAKG;IACH,IACI,gBAAgB,CAAC,gBAAyB,EAAA;AAC5C,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;KAC3C;AAED;;;;;AAKG;IACH,IACI,SAAS,CAAC,SAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;KAC7B;AAED;;;;;AAKG;IACH,IACI,MAAM,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACvB;AAiED,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAEhC,IACE,OAAO,CAAC,QAAQ,CAAC;YACjB,CAAC,OAAO,CAAC,SAAS,CAAC;YACnB,CAAC,OAAO,CAAC,kBAAkB,CAAC;AAC5B,YAAA,CAAC,OAAO,CAAC,WAAW,CAAC,EACrB;AACA,YAAA,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,eAAe,GAAA;;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,CACD,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAc;iBACjE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CACrB,CAAC;AACF,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACzC,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;IAED,OAAO,GAAA;;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,SAAA;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CACD,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAc;iBACjE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CACrB,CAAC;AACH,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;AAEO,IAAA,YAAY,CAAC,QAAgB,EAAA;QACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACvB,YAAA,QAAQ,GAAG,QAAQ;AAChB,iBAAA,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AAC5B,iBAAA,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;;YAExC,IAAI,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAG3C,MAAM,wBAAwB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,mBAAmB,GAAG,wBAAwB;AAClD,kBAAE,wBAAwB,CAAC,CAAC,CAAC;kBAC3B,IAAI,CAAC;;;YAIT,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;AACtE,YAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,IAAY,EAAA;AACtC,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrE,aAAC,CAAC,CAAC;;AAGH,YAAA,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,YAAA,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7C,YAAA,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC3C,YAAA,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACzC,YAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACzC,aAAA;YAED,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;YAErD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,KAAa,KAAI;gBACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;;YAEtC,UAAU,CACR,MACE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EACrE,GAAG,CACJ,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACzC,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;AAEO,IAAA,OAAO,CAAC,QAAgB,EAAE,GAAW,EAAE,IAAc,EAAA;QAC3D,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;AACR,SAAA;QACD,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACrC,MAAM,aAAa,GAAa,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAC9B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACvC,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,UAAU,GACd,IAAI,CAAC,yBAAyB;iBAC3B,uBAAuB,CAAC,mBAAmB,CAAC;AAC5C,iBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5B,YAAA,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;YACvC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAChD,UAAU,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAC9D,YAAA,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACpC,UAAU,CAAC,QAAQ,EACnB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACvC,CAAC;AACH,SAAA;KACF;AAEO,IAAA,iBAAiB,CACvB,QAAgB,EAChB,IAAa,EACb,MAAc,EACd,YAA8B,EAAA;QAE9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAW,KAAI;YACjD,MAAM,gBAAgB,GACpB,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAoB,gBAAgB,CAAC,MAAM,CAC3D,IAAI,CAAC,SAAS,CACf,CAAC;AACF,YAAA,YAAY,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,GACP,GAAG;AACH,gBAAA,gBAAgB,CAAC,QAAQ;gBACzB,eAAe;AACf,gBAAA,cAAc,EAAE;AAChB,gBAAA,GAAG,CAAC;AACN,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AACrC,YAAA,OAAO,GAAG,CAAC;AACb,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,gBAAgB,CAAC,QAAgB,EAAA;QACvC,MAAM,cAAc,GAAG,2BAA2B,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,WAAW,EACX,cAAc,EACd,CACE,YAAuC,EACvC,KAAa,EACb,OAAe,EACf,KAAa,KACX;YACF,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjD,YAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtC,YAAA,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,WAAW,CACV,CACZ,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAC9C,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAClD,WAAW,EACX,KAAK,CACN,CAAC;AACJ,SAAC,CACF,CAAC;KACH;AAEO,IAAA,eAAe,CAAC,QAAgB,EAAA;QACtC,MAAM,YAAY,GAAG,+BAA+B,CAAC;AACrD,QAAA,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,KAAK,GAAG,GAAG,CACzB,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,iCAAiC,EACjC,kBAAkB,EAClB,CACE,YAA6D,EAC7D,KAAa,KACX;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;AACR,aAAA;AACD,YAAA,MAAM,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAClC,YAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YAClC,YAAY,CAAC,QAAQ,CAAC,OAAO;AAC1B,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,iBAAA,SAAS,CAAC,CAAC,UAA+C,KACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CACpC,CAAC;AACN,SAAC,CACF,CAAC;KACH;AAEO,IAAA,kBAAkB,CAAC,QAAgB,EAAA;QACzC,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,CACE,YAAgD,EAChD,KAAa,EACb,QAAgB,EAChB,SAAiB,KACf;AACF,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3C,aAAA;YACD,YAAY,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACrE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC/D,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;YAC3D,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAC7D,YAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;AAC5C,SAAC,CACF,CAAC;KACH;AAEO,IAAA,cAAc,CAAC,QAAgB,EAAA;QACrC,MAAM,QAAQ,GACZ,wHAAwH,CAAC;AAC3H,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,gCAAgC,EAChC,QAAQ,EACR,CACE,YAA4D,EAC5D,KAAa,KACX;YACF,MAAM,cAAc,GAAa,KAAK;AACnC,iBAAA,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;iBACpC,KAAK,CAAC,IAAI,CAAC,CAAC;AACf,YAAA,MAAM,OAAO,GAAa,cAAc,CAAC,CAAC,CAAC;iBACxC,KAAK,CAAC,GAAG,CAAC;AACV,iBAAA,MAAM,CAAC,CAAC,GAAW,KAAI;AACtB,gBAAA,OAAO,GAAG,CAAC;AACb,aAAC,CAAC;AACD,iBAAA,GAAG,CAAC,CAAC,CAAS,KAAI;AACjB,gBAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;AACL,YAAA,MAAM,SAAS,GAAa,cAAc,CAAC,CAAC,CAAC;iBAC1C,KAAK,CAAC,GAAG,CAAC;AACV,iBAAA,MAAM,CAAC,CAAC,CAAS,KAAI;AACpB,gBAAA,OAAO,CAAC,CAAC;AACX,aAAC,CAAC;AACD,iBAAA,GAAG,CAAC,CAAC,CAAS,KAAI;AACjB,gBAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;YAEL,MAAM,IAAI,GAAU,EAAE,CAAC;AACvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,gBAAA,MAAM,QAAQ,GAAa,cAAc,CAAC,CAAC,CAAC;qBACzC,KAAK,CAAC,GAAG,CAAC;AACV,qBAAA,MAAM,CAAC,CAAC,IAAY,KAAI;AACvB,oBAAA,OAAO,IAAI,CAAC;AACd,iBAAC,CAAC;AACD,qBAAA,GAAG,CAAC,CAAC,CAAS,KAAI;AACjB,oBAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,iBAAC,CAAC,CAAC;gBACL,MAAM,GAAG,GAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,KAAa,KAAI;AAC7C,oBAAA,MAAM,YAAY,GAAW,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7C,oBAAA,IAAI,YAAY,EAAE;wBAChB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAClD,QAAQ,EACR,CAAC,CAAS,EAAE,KAAa,KAAI;AAC3B,4BAAA,OAAO,KAAK,CAAC;AACf,yBAAC,CACF,CAAC;AACH,qBAAA;AACH,iBAAC,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,aAAA;AACD,YAAA,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAC5C,CAAC,GAAW,EAAE,KAAa,KAAI;gBAC7B,OAAO;AACL,oBAAA,KAAK,EAAE,GAAG;AACV,oBAAA,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,CAAA,OAAA,EAAU,KAAK,CAAE,CAAA;oBACxD,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACrD,CAAC;AACJ,aAAC,CACF,CAAC;AACF,YAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACpC,SAAC,CACF,CAAC;KACH;AAEO,IAAA,aAAa,CAAC,QAAgB,EAAA;QACpC,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAC3D,QAAA,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,uBAAuB,EACvB,UAAU,EACV,CAAC,YAAmD,EAAE,KAAa,KAAI;YACrE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,YAAA,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YAEpD,MAAM,SAAS,GAAa,KAAK,CAAC,KAAK,CACrC,IAAI,MAAM,CACR,OAAO,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,uBAAuB,CAChE,CACF,CAAC;YACF,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,KAAK,GAAwB,EAAE,CAAC;AACtC,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;;gBACjC,MAAM,YAAY,GAAa,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,YAAY,CAAC,KAAK,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;AAE5C,gBAAA,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACjC,OAAO;AACR,iBAAA;gBAED,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,OAAe,KAAI;AAC7C,wBAAA,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAChC,4BAAA,OAAO,EAAE,CAAC;AACX,yBAAA;AACD,wBAAA,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,qBAAC,CAAC;AACH,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AACtC,SAAC,CACF,CAAC;KACH;;sGAzcU,2BAA2B,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;8EAA3B,2BAA2B,EAAA,SAAA,EAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAyG3B,oCAAoC,EAAA,CAAA,CAAA,CAAA;;;;;;;;;YCrPjD,EAAiC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAC/B,YAAA,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;YAC3B,EAAM,CAAA,YAAA,EAAA,CAAA;;oBD+GO,oCAAoC,CAAA,EAAA,MAAA,EAAA,CAAA,0lBAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4EA2BpC,2BAA2B,EAAA,CAAA;kBANvC,SAAS;+BACE,sBAAsB,EAAA,eAAA,EAGf,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,ijBAAA,CAAA,EAAA,CAAA;uLAoB3C,OAAO,EAAA,CAAA;sBADV,KAAK;gBAYF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAYF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAYF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAWG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAOG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAOG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAOG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAMG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAMI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBASP,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAIP,SAAS,EAAA,CAAA;sBADR,SAAS;gBAAC,IAAA,EAAA,CAAA,oCAAoC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;;;;QErPnE,EAMoB,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;;;AALlB,QAAA,EAAmB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA;;;;;;QAMrB,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAA,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,8GAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAgB,MAAmB,CAAA,YAAA,CAAA,IAAA,EAAA,CAAA,EAAA,CAAC,CACnB,eAAA,EAAA,SAAA,+GAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,MAAA,CAAA,aAAA,CAAA,IAAA,CAAA,MAAA,CAA0B,CADP,EAAA,CAAA,CAAA;QAErC,EAAuB,CAAA,YAAA,EAAA,CAAA;;;;;;AARtB,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAmB,CAAA,WAAA,EAAA,CAAA,OAAA,GAAA,MAAA,CAAA,GAAA,MAAA,IAAA,IAAA,OAAA,KAAA,SAAA,GAAA,OAAA,GAAA,EAAA,CAAA,CAAA,QAAA,EAAA,CAAA,OAAA,GAAA,MAAA,CAAA,MAAA,MAAA,IAAA,IAAA,OAAA,KAAA,SAAA,GAAA,OAAA,GAAA,EAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,YAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;;ACKrB;MAQa,iCAAiC,CAAA;IA0D5C,WACU,CAAA,kBAAqC,EACrC,yBAAkD,EAAA;AADlD,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AACrC,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAAyB;AAzC5D;;;;;AAKG;AACM,QAAA,IAAmB,CAAA,mBAAA,GAAI,KAAK,CAAC;AAEtC;;;;AAIG;AACM,QAAA,IAAgB,CAAA,gBAAA,GAAuB,EAAE,CAAC;AAEnD;;;AAGG;AACM,QAAA,IAAU,CAAA,UAAA,GAAI,KAAK,CAAC;AAE7B;;;AAGG;AACO,QAAA,IAAA,CAAA,YAAY,GAAuB,IAAI,YAAY,EAAE,CAAC;AAEhE;;;AAGG;AACO,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,YAAY,EAAE,CAAC;AAErD,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAE,CAAC;AAGrB,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;KAKX;AAEJ,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,SAAA;KACF;IAEK,YAAY,GAAA;;;AAChB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI;gBACF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CACtD,MAAA,IAAI,CAAC,GAAG,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,EACd,IAAI,CAAC,WAAW,CACjB,CAAC;AACH,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAc,CAAC,CAAC;AACtC,aAAA;AAAS,oBAAA;AACR,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACxC,aAAA;;AACF,KAAA;;kHAnFU,iCAAiC,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,uBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oFAAjC,iCAAiC,EAAA,SAAA,EAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,0CAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADtB9C,YAAA,EAMoB,CAAA,UAAA,CAAA,CAAA,EAAA,6DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;AACpB,YAAA,EAUwB,CAAA,UAAA,CAAA,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,CAAA,CAAA;;;YAfrB,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAMb,YAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAd,EAAc,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECcJ,iCAAiC,EAAA,CAAA;kBAN7C,SAAS;+BACE,6BAA6B,EAAA,eAAA,EAGtB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4gBAAA,EAAA,MAAA,EAAA,CAAA,oLAAA,CAAA,EAAA,CAAA;gHAOtC,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAMG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAQG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAOG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAMG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAMI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAMG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;;MChCI,8BAA8B,CAAA;;4GAA9B,8BAA8B,GAAA,CAAA,EAAA,CAAA;gFAA9B,8BAA8B,EAAA,CAAA,CAAA;AArBhC,8BAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,oBAAoB;YACpB,uBAAuB;YACvB,sBAAsB;YACtB,eAAe;YACf,cAAc;YACd,aAAa;SACd,CAAA,EAAA,CAAA,CAAA;;4EAWU,8BAA8B,EAAA,CAAA;kBAtB1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,oBAAoB;wBACpB,uBAAuB;wBACvB,sBAAsB;wBACtB,eAAe;wBACf,cAAc;wBACd,aAAa;AACd,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,2BAA2B;wBAC3B,oCAAoC;wBACpC,iCAAiC;wBACjC,iCAAiC;wBACjC,gCAAgC;AACjC,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,iCAAiC,CAAC;iBAC1E,CAAA;;;AACY,CAAA,YAAA;AAAA,IAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,8BAA8B,mBATvC,uBAAuB;YACvB,2BAA2B;YAC3B,oCAAoC;YACpC,iCAAiC;YACjC,iCAAiC;AACjC,YAAA,gCAAgC,aAhBhC,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,oBAAoB;YACpB,uBAAuB;YACvB,sBAAsB;YACtB,eAAe;YACf,cAAc;YACd,aAAa,CAAA,EAAA,OAAA,EAAA,CAUL,2BAA2B,EAAE,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,GAAA;;ACxC1E;;AAEG;;;;"}
|