@covalent/flavored-markdown 4.0.0 → 4.1.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -44
- package/_flavored-markdown-theme.scss +1 -0
- package/covalent-flavored-markdown.d.ts +2 -2
- package/esm2020/covalent-flavored-markdown.mjs +5 -0
- package/esm2020/lib/cfm-list/cfm-list.component.mjs +60 -0
- package/esm2020/lib/flavored-markdown-loader/flavored-markdown-loader.component.mjs +104 -0
- package/esm2020/lib/flavored-markdown.component.mjs +501 -0
- package/esm2020/lib/flavored-markdown.module.mjs +69 -0
- package/esm2020/public_api.mjs +4 -0
- package/lib/cfm-list/cfm-list.component.d.ts +11 -0
- package/{flavored-markdown-loader → lib/flavored-markdown-loader}/flavored-markdown-loader.component.d.ts +8 -5
- package/{flavored-markdown.component.d.ts → lib/flavored-markdown.component.d.ts} +11 -2
- package/lib/flavored-markdown.module.d.ts +18 -0
- package/package.json +14 -45
- package/public_api.d.ts +3 -3
- package/bundles/covalent-flavored-markdown.umd.js +0 -1310
- package/bundles/covalent-flavored-markdown.umd.js.map +0 -1
- package/bundles/covalent-flavored-markdown.umd.min.js +0 -16
- package/bundles/covalent-flavored-markdown.umd.min.js.map +0 -1
- package/cfm-list/cfm-list.component.d.ts +0 -8
- package/cfm-list/cfm-list.component.scss +0 -0
- package/covalent-flavored-markdown.metadata.json +0 -1
- package/esm2015/cfm-list/cfm-list.component.js +0 -39
- package/esm2015/covalent-flavored-markdown.js +0 -11
- package/esm2015/flavored-markdown-loader/flavored-markdown-loader.component.js +0 -159
- package/esm2015/flavored-markdown.component.js +0 -754
- package/esm2015/flavored-markdown.module.js +0 -45
- package/esm2015/index.js +0 -7
- package/esm2015/public_api.js +0 -9
- package/fesm2015/covalent-flavored-markdown.js +0 -1005
- package/fesm2015/covalent-flavored-markdown.js.map +0 -1
- package/flavored-markdown-loader/flavored-markdown-loader.component.scss +0 -26
- package/flavored-markdown.component.scss +0 -31
- package/flavored-markdown.module.d.ts +0 -2
- package/index.d.ts +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-flavored-markdown.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../src/platform/flavored-markdown/cfm-list/cfm-list.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.component.ts","../../../src/platform/flavored-markdown/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: '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: boolean = 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} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TdFlavoredListComponent, IFlavoredListItem } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\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>{{ column.label }}</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((c: ITdFlavoredMarkDownTableColumn) => c.name);\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: string = 'inline-block';\n @Input() text: string = '';\n @Input() data: string = '';\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(public viewContainerRef: ViewContainerRef, private _renderer: Renderer2) {}\n\n clear(): void {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => 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 implements AfterViewInit, OnChanges {\n private _content: string;\n private _simpleLineBreaks: boolean = false;\n private _hostedUrl: string;\n private _anchor: string;\n\n private _components: {} = {};\n private _viewInit: boolean = 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('content')\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('simpleLineBreaks')\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('hostedUrl')\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('anchor')\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: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> = 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 }) container: TdFlavoredMarkdownContainerDirective;\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 (changes.anchor && !changes.content && !changes.simpleLineBreaks && !changes.hostedUrl) {\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((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\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.replace(/^(\\s|\\t)*\\n+/g, '').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 firstLineWhitespace: string = lines[0].match(/^(\\s|\\t)*/)[0];\n\n // Remove all indentation spaces so markdown can be parsed correctly\n const startingWhitespaceRegex: RegExp = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '');\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._replaceLists(markdown);\n markdown = this._replaceButtons(markdown);\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(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\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], undefined, undefined);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n this._components[key] = undefined;\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> = 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(contentRef.hostView, this.container.viewContainerRef.length);\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: number = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key: string = '[' + componentFactory.selector + '-placeholder-' + componentIndex++ + ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp: RegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (componentRef: ComponentRef<MatCheckbox>, match: string, checked: string, label: string) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>componentRef.instance._elementRef.nativeElement).getElementsByClassName(\n 'mat-checkbox-label',\n )[0],\n 'innerHTML',\n label,\n );\n },\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp: RegExp = /\\[([^\\[]+)\\](\\(#data=(.*)\\))/i;\n const globalButtonRegExp: RegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>, match: string) => {\n const matches: RegExpExecArray = buttonRegExp.exec(match);\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.subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent),\n );\n },\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp: RegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (componentRef: ComponentRef<TdHighlightComponent>, match: string, language: string, codeblock: string) => {\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: RegExp =\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 (componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>, match: string) => {\n const dataTableLines: string[] = match.replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '').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: number = 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(/`(.*)`/, (m: string, value: string) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col: string, index: number) => {\n return {\n label: col,\n name: col.toLowerCase().trim(),\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n },\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp: RegExp = /(?:^|\\n)(( *\\+)[ |\\t](.*)\\n)+/g;\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const lineTexts: string[] = match.split(\n new RegExp('\\\\n {' + (match.indexOf('+') - 1).toString() + '}\\\\+[ |\\\\t]'),\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string, index: number) => {\n const sublineTexts: string[] = text.split(/\\n *\\+ /);\n lines.push({\n line: sublineTexts.shift(),\n sublines: sublineTexts.map((subline: string) => {\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n },\n );\n }\n}\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: boolean = 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 * 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> = new EventEmitter();\n\n content: string;\n loading: boolean = 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(this.url, this.httpOptions);\n } catch (error) {\n this.loadFailed.emit(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';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentHighlightModule } from '@covalent/highlight';\nimport { CovalentMarkdownModule } from '@covalent/markdown';\n\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';\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';\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"],"names":["Component","Input","MatTableDataSource","ViewChild","MatSort","EventEmitter","HostBinding","Output","Directive","ViewContainerRef","Renderer2","scrollToAnchor","markdown","TdMarkdownComponent","MatCheckbox","TdHighlightComponent","ChangeDetectionStrategy","ComponentFactoryResolver","ChangeDetectorRef","Injector","ElementRef","TdMarkdownLoaderService","NgModule","CommonModule","MatCheckboxModule","MatListModule","MatProgressBarModule","CovalentHighlightModule","CovalentMarkdownModule","MatButtonModule","MatTableModule","MatSortModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;aAEe,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;aAEe,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IAAA,CAAC;aAEc,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,UAAU;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;SACzE;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK;QAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;SACzE;QACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB;;;;;;;;;;oCC7NC;;;QAFC,iCAAa;;QACb,qCAAoB;;;QAGtB;YAOW,UAAK,GAAY,KAAK,CAAC;SACjC;;;;gBARAA,cAAS,SAAC;oBACT,QAAQ,EAAE,UAAU;oBAEpB,wZAAwC;;iBACzC;;;wBAEEC,UAAK;wBACLA,UAAK;;;;QADN,wCAAoC;;QACpC,wCAAgC;;;;;;sDCoBjC;;;QAFC,mDAAa;;QACb,mDAAa;;;;;iDAOd;;;QAHC,+CAAc;;QACd,8CAAa;;QACb,iDAAiB;;;QAGnB;YAiBW,eAAU,GAAqC,EAAE,CAAC;SAe5D;;;;QARC,mDAAQ,GAAR;YACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG;;;eAAC,UAAC,CAAiC,IAAK,OAAA,CAAC,CAAC,IAAI,GAAA,EAAC,CAAC;YAC3F,IAAI,CAAC,UAAU,GAAG,IAAIC,wBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrD;;;;QAED,0DAAe,GAAf;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAClC;;;;gBA/BFF,cAAS,SAAC;oBACT,QAAQ,EAAE,8oBAaT;iBACF;;;6BAEEC,UAAK;uBACLA,UAAK;uBACLE,cAAS,SAACC,YAAO;;;;QAFlB,sDAA2D;;QAC3D,gDAAyB;;QACzB,gDAAkC;;QAElC,4DAA2B;;QAC3B,sDAAwC;;;QAY1C;YAQgC,YAAO,GAAW,cAAc,CAAC;YACtD,SAAI,GAAW,EAAE,CAAC;YAClB,SAAI,GAAW,EAAE,CAAC;YAE3B,YAAO,GAAsD,IAAIC,iBAAY,EAAuC,CAAC;SAItH;;;;QAHC,qDAAS,GAAT;YACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACzD;;;;gBAfFL,cAAS,SAAC;oBACT,QAAQ,EAAE,+FAIT;iBACF;;;0BAEEM,gBAAW,SAAC,eAAe;uBAC3BL,UAAK;uBACLA,UAAK;0BACLM,WAAM;;;;QAHP,oDAA+D;;QAC/D,iDAA2B;;QAC3B,iDAA2B;;QAC3B,oDACqH;;;;;;;QAUrH,8CAAmB,gBAAkC,EAAU,SAAoB;YAAhE,qBAAgB,GAAhB,gBAAgB,CAAkB;YAAU,cAAS,GAAT,SAAS,CAAW;SAAI;;;;QAEvF,oDAAK,GAAL;YACE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;SAC/B;;;;gBATFC,cAAS,SAAC;oBACT,QAAQ,EAAE,+BAA+B;iBAC1C;;;;gBArFCC,qBAAgB;gBANhBC,cAAS;;;;QA6FG,gEAAyC;;;;;QAAE,yDAA4B;;;;;;;;;;QAmGnF,qCACU,yBAAmD,EACnD,SAAoB,EACpB,kBAAqC,EACrC,SAAmB,EACnB,WAAuB;YAJvB,8BAAyB,GAAzB,yBAAyB,CAA0B;YACnD,cAAS,GAAT,SAAS,CAAW;YACpB,uBAAkB,GAAlB,kBAAkB,CAAmB;YACrC,cAAS,GAAT,SAAS,CAAU;YACnB,gBAAW,GAAX,WAAW,CAAY;YAtFzB,sBAAiB,GAAY,KAAK,CAAC;YAInC,gBAAW,GAAO,EAAE,CAAC;YACrB,cAAS,GAAY,KAAK,CAAC;;;;;;;YAoD1B,wBAAmB,GAAY,KAAK,CAAC;;;;;;YAOrC,qBAAgB,GAAsB,EAAE,CAAC;;;;;YAKxC,iBAAY,GAA4B,IAAIL,iBAAY,EAAa,CAAC;;;;;;YAQhF,kBAAa,GAAsD,IAAIA,iBAAY,EAAuC,CAAC;SAUvH;QA1EJ,sBACI,gDAAO;;;;;;;;;;iBADX,UACY,OAAe;gBACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;aACzB;;;WAAA;QAQD,sBACI,yDAAgB;;;;;;;;;iBADpB,UACqB,gBAAyB;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;aAC3C;;;WAAA;QAQD,sBACI,kDAAS;;;;;;;;;iBADb,UACc,SAAiB;gBAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;aAC7B;;;WAAA;QAQD,sBACI,+CAAM;;;;;;;;;iBADV,UACW,MAAc;gBACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACvB;;;WAAA;;;;;QAwCD,iDAAW,GAAX,UAAY,OAAsB;;YAEhC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACzFM,uBAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrE;iBAAM;gBACL,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;SACF;;;;QAED,qDAAe,GAAf;YAAA,iBAQC;YAPC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,YAAY,CAAC,oBAAc,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,IAAE,WAAW,CAAC,CAAC;gBACpG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI;;mBAAC;oBACrB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;iBACxC,EAAC,CAAC;aACJ;SACF;;;;QAED,6CAAO,GAAP;YACE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClC;iBAAM,IAAI,IAAI,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,oBAAc,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,IAAE,WAAW,CAAC,CAAC;aACrG;YACD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;;;;;;QAEO,kDAAY,GAAZ,UAAaC,UAAgB;YAA7B,iBAoCP;YAnCC,IAAIA,UAAQ,IAAIA,UAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvBA,UAAQ,GAAGA,UAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;;;oBAElF,KAAK,GAAaA,UAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;;;oBAGpC,mBAAmB,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;;oBAG5D,yBAAuB,GAAW,IAAI,MAAM,CAAC,GAAG,GAAG,mBAAmB,CAAC;gBAC7E,KAAK,GAAG,KAAK,CAAC,GAAG;;;mBAAC,UAAU,IAAY;oBACtC,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAuB,EAAE,EAAE,CAAC,CAAC;iBAClD,EAAC,CAAC;;gBAGHA,UAAQ,GAAG,SAAI,KAAK,GAAE,EAAE,EAAE,EAAE,GAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzCA,UAAQ,GAAG,IAAI,CAAC,kBAAkB,CAACA,UAAQ,CAAC,CAAC;gBAC7CA,UAAQ,GAAG,IAAI,CAAC,gBAAgB,CAACA,UAAQ,CAAC,CAAC;gBAC3CA,UAAQ,GAAG,IAAI,CAAC,cAAc,CAACA,UAAQ,CAAC,CAAC;gBACzCA,UAAQ,GAAG,IAAI,CAAC,aAAa,CAACA,UAAQ,CAAC,CAAC;gBACxCA,UAAQ,GAAG,IAAI,CAAC,eAAe,CAACA,UAAQ,CAAC,CAAC;;oBACpC,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;gBAEpD,IAAI,CAAC,IAAI;;;;mBAAC,UAAC,KAAa,EAAE,KAAa;oBACrC,OAAOA,UAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAGA,UAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACnE,EAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAACA,UAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;;gBAEtC,UAAU;;mBAAC,cAAM,OAAAD,uBAAc,CAAC,KAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAA,GAAE,GAAG,CAAC,CAAC;gBAC3F,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI;;mBAAC;oBACrB,KAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;iBACxC,EAAC,CAAC;aACJ;SACF;;;;;;;;QAEO,6CAAO,GAAP,UAAQC,UAAgB,EAAE,GAAW,EAAE,IAAc;YAC3D,IAAI,CAACA,UAAQ,EAAE;gBACb,OAAO;aACR;YACD,IAAI,GAAG,IAAIA,UAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;;oBAC/B,aAAa,GAAaA,UAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC/G,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBAClC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAC/C;iBAAM;;oBACC,UAAU,GAAsC,IAAI,CAAC,yBAAyB;qBACjF,uBAAuB,CAACC,4BAAmB,CAAC;qBAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAGD,UAAQ,CAAC;gBACvC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAChD,UAAU,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC9D,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACrG;SACF;;;;;;;;;;QAEO,uDAAiB,GAAjB,UACN,QAAgB,EAChB,IAAa,EACb,MAAc,EACd,YAA8B;YAJxB,iBAeP;;gBATK,cAAc,GAAW,CAAC;YAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM;;;eAAE;gBAAC,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;;oBACvC,gBAAgB,GAAwB,KAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,IAAI,CAAC;;oBACpG,YAAY,GAAoB,gBAAgB,CAAC,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC;gBAC7E,YAAY,yBAAC,YAAY,GAAK,IAAI,GAAE;;oBAC9B,GAAG,GAAW,GAAG,GAAG,gBAAgB,CAAC,QAAQ,GAAG,eAAe,GAAG,cAAc,EAAE,GAAG,GAAG;gBAC9F,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;gBACrC,OAAO,GAAG,CAAC;aACZ,EAAC,CAAC;SACJ;;;;;;QAEO,sDAAgB,GAAhB,UAAiB,QAAgB;YAAjC,iBAmBP;;gBAlBO,cAAc,GAAW,2BAA2B;YAC1D,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACRE,oBAAW,EACX,cAAc;;;;;;eACd,UAAC,YAAuC,EAAE,KAAa,EAAE,OAAe,EAAE,KAAa;gBACrF,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjD,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtC,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC;gBAC9C,KAAI,CAAC,SAAS,CAAC,WAAW,CACxB,oBAAc,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,IAAE,sBAAsB,CACnF,oBAAoB,CACrB,CAAC,CAAC,CAAC,EACJ,WAAW,EACX,KAAK,CACN,CAAC;aACH,EACF,CAAC;SACH;;;;;;QAEO,qDAAe,GAAf,UAAgB,QAAgB;YAAhC,iBAkBP;;gBAjBO,YAAY,GAAW,+BAA+B;;gBACtD,kBAAkB,GAAW,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC;YAC5F,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,iCAAiC,EACjC,kBAAkB;;;;eAClB,UAAC,YAA6D,EAAE,KAAa;;oBACrE,OAAO,GAAoB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;oBACnD,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC;;oBACzB,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC;gBAC/B,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;;;mBAAC,UAAC,UAA+C,IACtF,OAAA,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,GAAA,EACpC,CAAC;aACH,EACF,CAAC;SACH;;;;;;QAEO,wDAAkB,GAAlB,UAAmB,QAAgB;YAAnC,iBAeP;;gBAdO,eAAe,GAAW,mCAAmC;YACnE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACRC,8BAAoB,EACpB,eAAe;;;;;;eACf,UAAC,YAAgD,EAAE,KAAa,EAAE,QAAgB,EAAE,SAAiB;gBACnG,IAAI,QAAQ,EAAE;oBACZ,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBAC3C;gBACD,YAAY,CAAC,QAAQ,CAAC,mBAAmB,GAAG,KAAI,CAAC,mBAAmB,CAAC;gBACrE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,GAAG,KAAI,CAAC,gBAAgB,CAAC;gBAC/D,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;aAC3C,EACF,CAAC;SACH;;;;;;QAEO,oDAAc,GAAd,UAAe,QAAgB;;gBAC/B,QAAQ,GACZ,wHAAwH;YAC1H,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,gCAAgC,EAChC,QAAQ;;;;eACR,UAAC,YAA4D,EAAE,KAAa;;oBACpE,cAAc,GAAa,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;;oBACjF,OAAO,GAAa,cAAc,CAAC,CAAC,CAAC;qBACxC,KAAK,CAAC,GAAG,CAAC;qBACV,MAAM;;;eAAC,UAAC,GAAW;oBAClB,OAAO,GAAG,CAAC;iBACZ,EAAC;qBACD,GAAG;;;eAAC,UAAC,CAAS;oBACb,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;iBACjB,EAAC;;oBACE,SAAS,GAAa,cAAc,CAAC,CAAC,CAAC;qBAC1C,KAAK,CAAC,GAAG,CAAC;qBACV,MAAM;;;eAAC,UAAC,CAAS;oBAChB,OAAO,CAAC,CAAC;iBACV,EAAC;qBACD,GAAG;;;eAAC,UAAC,CAAS;oBACb,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;iBACjB,EAAC;;oBAEE,IAAI,GAAU,EAAE;wCACb,CAAC;;wBACF,QAAQ,GAAa,cAAc,CAAC,CAAC,CAAC;yBACzC,KAAK,CAAC,GAAG,CAAC;yBACV,MAAM;;;mBAAC,UAAC,IAAY;wBACnB,OAAO,IAAI,CAAC;qBACb,EAAC;yBACD,GAAG;;;mBAAC,UAAC,CAAS;wBACb,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;qBACjB,EAAC;;wBACE,GAAG,GAAQ,EAAE;oBACnB,OAAO,CAAC,OAAO;;;;uBAAC,UAAC,GAAW,EAAE,KAAa;;4BACnC,YAAY,GAAW,QAAQ,CAAC,KAAK,CAAC;wBAC5C,IAAI,YAAY,EAAE;4BAChB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ;;;;+BAAE,UAAC,CAAS,EAAE,KAAa;gCACtF,OAAO,KAAK,CAAC;6BACd,EAAC,CAAC;yBACJ;qBACF,EAAC,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;gBAlBjB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;4BAA7C,CAAC;iBAmBT;gBACD,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG;;;;mBAAC,UAAC,GAAW,EAAE,KAAa;oBACxE,OAAO;wBACL,KAAK,EAAE,GAAG;wBACV,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;wBAC9B,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBACrD,CAAC;iBACH,EAAC,CAAC;gBACH,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;aACnC,EACF,CAAC;SACH;;;;;;QAEO,mDAAa,GAAb,UAAc,QAAgB;;gBAC9B,UAAU,GAAW,gCAAgC;YAC3D,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,uBAAuB,EACvB,UAAU;;;;eACV,UAAC,YAAmD,EAAE,KAAa;;oBAC3D,SAAS,GAAa,KAAK,CAAC,KAAK,CACrC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,CAC1E;gBACD,SAAS,CAAC,KAAK,EAAE,CAAC;;oBACZ,KAAK,GAAwB,EAAE;gBACrC,SAAS,CAAC,OAAO;;;;mBAAC,UAAC,IAAY,EAAE,KAAa;;wBACtC,YAAY,GAAa,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE;wBAC1B,QAAQ,EAAE,YAAY,CAAC,GAAG;;;2BAAC,UAAC,OAAe;4BACzC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;yBACvB,EAAC;qBACH,CAAC,CAAC;iBACJ,EAAC,CAAC;gBACH,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;aACrC,EACF,CAAC;SACH;;;;gBAzVFf,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAEhC,oFAAiD;oBACjD,eAAe,EAAEgB,4BAAuB,CAAC,MAAM;;iBAChD;;;;gBArGCC,6BAAwB;gBAPxBP,cAAS;gBAGTQ,sBAAiB;gBAKjBC,aAAQ;gBAMRC,eAAU;;;0BA8GTnB,UAAK,SAAC,SAAS;mCAWfA,UAAK,SAAC,kBAAkB;4BAWxBA,UAAK,SAAC,WAAW;yBAWjBA,UAAK,SAAC,QAAQ;sCAWdA,UAAK;mCAOLA,UAAK;+BAKLM,WAAM;gCAONA,WAAM;4BAGNJ,cAAS,SAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;;;;;QAhFjE,+CAAyB;;;;;QACzB,wDAA2C;;;;;QAC3C,iDAA2B;;;;;QAC3B,8CAAwB;;;;;QAExB,kDAA6B;;;;;QAC7B,gDAAmC;;;;;;;;QAoDnC,0DAA8C;;;;;;;QAO9C,uDAAkD;;;;;;QAKlD,mDAAgF;;;;;;;QAOhF,oDAC2H;;QAE3H,gDAAmH;;;;;QAGjH,gEAA2D;;;;;QAC3D,gDAA4B;;;;;QAC5B,yDAA6C;;;;;QAC7C,gDAA2B;;;;;QAC3B,kDAA+B;;;;;;;;;QCjIjC,2CACU,kBAAqC,EACrC,yBAAkD;YADlD,uBAAkB,GAAlB,kBAAkB,CAAmB;YACrC,8BAAyB,GAAzB,yBAAyB,CAAyB;;;;;;;YA5BnD,wBAAmB,GAAY,KAAK,CAAC;;;;;;YAOrC,qBAAgB,GAAsB,EAAE,CAAC;;;;;YAMxC,iBAAY,GAAuB,IAAIE,iBAAY,EAAE,CAAC;;;;;YAMtD,eAAU,GAAwB,IAAIA,iBAAY,EAAE,CAAC;YAErD,kBAAa,GAAsD,IAAIA,iBAAY,EAAE,CAAC;YAGhG,YAAO,GAAY,IAAI,CAAC;SAKpB;;;;;QAEJ,uDAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE;gBACtC,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;SACF;;;;QAEK,wDAAY,GAAZ;;;;;;4BACJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;4BACpB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;;;;4BAErC,KAAA,IAAI,CAAA;4BAAW,qBAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAA;;4BAApF,GAAK,OAAO,GAAG,SAAqE,CAAC;;;;4BAErF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC;;;4BAE5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;4BACrB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;;;;;aAE1C;SAAA;;;;gBA/EFL,cAAS,SAAC;oBACT,QAAQ,EAAE,6BAA6B;oBAEvC,2eAAwD;oBACxD,eAAe,EAAEgB,4BAAuB,CAAC,MAAM;;iBAChD;;;;gBAlBCE,sBAAiB;gBAOVG,gCAAuB;;;sBAiB7BpB,UAAK;8BAMLA,UAAK;yBAMLA,UAAK;sCAQLA,UAAK;mCAOLA,UAAK;+BAMLM,WAAM;6BAMNA,WAAM;gCAENA,WAAM;;;;;;;;QAzCP,gDAAqB;;;;;;QAMrB,wDAA6B;;;;;;QAM7B,mDAAwB;;;;;;;;QAQxB,gEAA8C;;;;;;;QAO9C,6DAAkD;;;;;;QAMlD,yDAAgE;;;;;;QAMhE,uDAA+D;;QAE/D,0DAAgG;;QAEhG,oDAAgB;;QAChB,oDAAwB;;;;;QAGtB,+DAA6C;;;;;QAC7C,sEAA0D;;;;;;;;;QC/B9D;;;;;gBAtBCe,aAAQ,SAAC;oBACR,OAAO,EAAE;wBACPC,mBAAY;wBACZC,0BAAiB;wBACjBC,kBAAa;wBACbC,gCAAoB;wBACpBC,iCAAuB;wBACvBC,+BAAsB;wBACtBC,sBAAe;wBACfC,oBAAc;wBACdC,kBAAa;qBACd;oBACD,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,2BAA2B;wBAC3B,oCAAoC;wBACpC,iCAAiC;wBACjC,iCAAiC;wBACjC,gCAAgC;qBACjC;oBACD,OAAO,EAAE,CAAC,2BAA2B,EAAE,iCAAiC,CAAC;iBAC1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/material/checkbox"),require("@angular/material/sort"),require("@angular/material/table"),require("@covalent/highlight"),require("@covalent/markdown"),require("@angular/common"),require("@angular/material/list"),require("@angular/material/progress-bar"),require("@angular/material/button")):"function"==typeof define&&define.amd?define("@covalent/flavored-markdown",["exports","@angular/core","@angular/material/checkbox","@angular/material/sort","@angular/material/table","@covalent/highlight","@covalent/markdown","@angular/common","@angular/material/list","@angular/material/progress-bar","@angular/material/button"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).covalent=e.covalent||{},e.covalent["flavored-markdown"]={}),e.ng.core,e.ng.material.checkbox,e.ng.material.sort,e.ng.material.table,e.covalent.highlight,e.covalent.markdown,e.ng.common,e.ng.material.list,e.ng.material.progressBar,e.ng.material.button)}(this,(function(e,t,n,o,r,a,i,l,s,c,p){"use strict";
|
|
2
|
-
/*! *****************************************************************************
|
|
3
|
-
Copyright (c) Microsoft Corporation.
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted.
|
|
7
|
-
|
|
8
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
12
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */function u(e,t,n,o){return new(n||(n=Promise))((function(r,a){function i(e){try{s(o.next(e))}catch(e){a(e)}}function l(e){try{s(o.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,l)}s((o=o.apply(e,t||[])).next())}))}function d(e,t){var n,o,r,a,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,o&&(r=2&a[0]?o.return:a[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,a[1])).done)return r;switch(o=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,o=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){i.label=a[1];break}if(6===a[0]&&i.label<r[1]){i.label=r[1],r=a;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(a);break}r[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],o=0}finally{n=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}Object.create;function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return i}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}Object.create;var f=function(){this.dense=!1};f.decorators=[{type:t.Component,args:[{selector:"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:[""]}]}],f.propDecorators={lines:[{type:t.Input}],dense:[{type:t.Input}]};var y=function(){function e(){this.columnDefs=[]}return e.prototype.ngOnInit=function(){this.displayedColumns=this.columnDefs.map((function(e){return e.name})),this.dataSource=new r.MatTableDataSource(this.data)},e.prototype.ngAfterViewInit=function(){this.dataSource.sort=this.sort},e}();y.decorators=[{type:t.Component,args:[{template:'\n <mat-table [dataSource]="dataSource" matSort>\n \x3c!-- Column Definition --\x3e\n <ng-template ngFor let-column [ngForOf]="columnDefs">\n <ng-container [matColumnDef]="column.name">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>\n <mat-cell *matCellDef="let row">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n \x3c!-- Header and Row Declarations --\x3e\n <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>\n <mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>\n </mat-table>\n '}]}],y.propDecorators={columnDefs:[{type:t.Input}],data:[{type:t.Input}],sort:[{type:t.ViewChild,args:[o.MatSort]}]};var g=function(){function e(){this.display="inline-block",this.text="",this.data="",this.clicked=new t.EventEmitter}return e.prototype.emitClick=function(){this.clicked.emit({text:this.text,data:this.data})},e}();g.decorators=[{type:t.Component,args:[{template:'\n <button mat-raised-button (click)="emitClick()">\n {{ text }}\n </button>\n '}]}],g.propDecorators={display:[{type:t.HostBinding,args:["style.display"]}],text:[{type:t.Input}],data:[{type:t.Input}],clicked:[{type:t.Output}]};var v=function(){function e(e,t){this.viewContainerRef=e,this._renderer=t}return e.prototype.clear=function(){this._renderer.setProperty(this.viewContainerRef.element.nativeElement,"innerHTML",""),this.viewContainerRef.clear()},e}();v.decorators=[{type:t.Directive,args:[{selector:"[tdFlavoredMarkdownContainer]"}]}],v.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.Renderer2}]};var C=function(){function e(e,n,o,r,a){this._componentFactoryResolver=e,this._renderer=n,this._changeDetectorRef=o,this._injector=r,this._elementRef=a,this._simpleLineBreaks=!1,this._components={},this._viewInit=!1,this.copyCodeToClipboard=!1,this.copyCodeTooltips={},this.contentReady=new t.EventEmitter,this.buttonClicked=new t.EventEmitter}return Object.defineProperty(e.prototype,"content",{set:function(e){this._content=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"simpleLineBreaks",{set:function(e){this._simpleLineBreaks=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hostedUrl",{set:function(e){this._hostedUrl=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"anchor",{set:function(e){this._anchor=e},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){!e.anchor||e.content||e.simpleLineBreaks||e.hostedUrl?this.refresh():i.scrollToAnchor(this._elementRef.nativeElement,this._anchor,!1)},e.prototype.ngAfterViewInit=function(){var e=this;this._content||(this._loadContent(this.container.viewContainerRef.element.nativeElement.textContent),Promise.resolve().then((function(){e._viewInit=!0,e._changeDetectorRef.markForCheck()})))},e.prototype.refresh=function(){this._content?this._loadContent(this._content):this._viewInit&&this._loadContent(this.container.viewContainerRef.element.nativeElement.textContent),this._changeDetectorRef.markForCheck()},e.prototype._loadContent=function(e){var t=this;if(e&&e.trim().length>0){this.container.clear();var n=(e=e.replace(/^(\s|\t)*\n+/g,"").replace(/(\s|\t)*\n+(\s|\t)*$/g,"")).split("\n"),o=n[0].match(/^(\s|\t)*/)[0],r=new RegExp("^"+o);n=n.map((function(e){return e.replace(r,"")})),e=m(n,["",""]).join("\n"),e=this._replaceCodeBlocks(e),e=this._replaceCheckbox(e),e=this._replaceTables(e),e=this._replaceLists(e),e=this._replaceButtons(e);var a=Object.keys(this._components);a.sort((function(t,n){return e.indexOf(t)>e.indexOf(n)?1:-1})),this._render(e,a[0],a),setTimeout((function(){return i.scrollToAnchor(t._elementRef.nativeElement,t._anchor,!1)}),250),this.contentReady.emit(),Promise.resolve().then((function(){t._changeDetectorRef.markForCheck()}))}},e.prototype._render=function(e,t,n){if(e)if(t&&e.indexOf(t)>-1){var o=e.split(t);n.shift(),this._render(o[0],void 0,void 0),this.container.viewContainerRef.insert(this._components[t].hostView,this.container.viewContainerRef.length),this._components[t]=void 0,delete this._components[t],this._render(o[1],n[0],n)}else{var r=this._componentFactoryResolver.resolveComponentFactory(i.TdMarkdownComponent).create(this._injector);r.instance.content=e,r.instance.hostedUrl=this._hostedUrl,r.instance.simpleLineBreaks=this._simpleLineBreaks,r.instance.refresh(),this.container.viewContainerRef.insert(r.hostView,this.container.viewContainerRef.length)}},e.prototype._replaceComponent=function(e,t,n,o){var r=this,a=0;return e.replace(n,(function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var i=r._componentFactoryResolver.resolveComponentFactory(t),l=i.create(r._injector);o.apply(void 0,m([l],e));var s="["+i.selector+"-placeholder-"+a+++"]";return r._components[s]=l,s}))},e.prototype._replaceCheckbox=function(e){var t=this;return this._replaceComponent(e,n.MatCheckbox,/(?:^|\n)- \[(x| )\](.*)/gi,(function(e,n,o,r){e.instance.checked=!!o.trim(),e.instance.disabled=!0,e.instance.labelPosition="after",t._renderer.setProperty(e.instance._elementRef.nativeElement.getElementsByClassName("mat-checkbox-label")[0],"innerHTML",r)}))},e.prototype._replaceButtons=function(e){var t=this,n=/\[([^\[]+)\](\(#data=(.*)\))/i,o=new RegExp(n.source,n.flags+"g");return this._replaceComponent(e,g,o,(function(e,o){var r=n.exec(o),a=r[1],i=r[3];e.instance.text=a,e.instance.data=i,e.instance.clicked.subscribe((function(e){return t.buttonClicked.emit(e)}))}))},e.prototype._replaceCodeBlocks=function(e){var t=this;return this._replaceComponent(e,a.TdHighlightComponent,/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g,(function(e,n,o,r){o&&(e.instance.codeLang=o),e.instance.copyCodeToClipboard=t.copyCodeToClipboard,e.instance.copyCodeTooltips=t.copyCodeTooltips,e.instance.content=r}))},e.prototype._replaceTables=function(e){return this._replaceComponent(e,y,/^ {0,3}\|?.+\|.+\n[ \t]{0,3}\|?[ \t]*:?[ \t]*(?:-|=){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:-|=){2,}[\s\S]+?(?:\n\n|~0)/gm,(function(e,t){for(var n=t.replace(/(\s|\t)*\n+(\s|\t)*$/g,"").split("\n"),o=n[0].split("|").filter((function(e){return e})).map((function(e){return e.trim()})),r=n[1].split("|").filter((function(e){return e})).map((function(e){return e.trim()})),a=[],i=function(e){var t=n[e].split("|").filter((function(e){return e})).map((function(e){return e.trim()})),r={};o.forEach((function(e,n){var o=t[n];o&&(r[e.toLowerCase().trim()]=o.replace(/`(.*)`/,(function(e,t){return t})))})),a.push(r)},l=2;l<n.length;l++)i(l);e.instance.columnDefs=o.map((function(e,t){return{label:e,name:e.toLowerCase().trim(),numeric:/^--*[ \t]*:[ \t]*$/.test(r[t])}})),e.instance.data=a}))},e.prototype._replaceLists=function(e){return this._replaceComponent(e,f,/(?:^|\n)(( *\+)[ |\t](.*)\n)+/g,(function(e,t){var n=t.split(new RegExp("\\n {"+(t.indexOf("+")-1).toString()+"}\\+[ |\\t]"));n.shift();var o=[];n.forEach((function(e,t){var n=e.split(/\n *\+ /);o.push({line:n.shift(),sublines:n.map((function(e){return e.trim()}))})})),e.instance.lines=o}))},e}();C.decorators=[{type:t.Component,args:[{selector:"td-flavored-markdown",template:"<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n",changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox,:host ::ng-deep td-data-table{display:block}:host ::ng-deep mat-checkbox:last-of-type,:host ::ng-deep td-data-table,:host ::ng-deep td-highlight{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{-ms-flex-direction:row;-ms-flex-pack:justify;display:-ms-flexbox;display:flex;flex-direction:row;justify-content:space-between}"]}]}],C.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.Renderer2},{type:t.ChangeDetectorRef},{type:t.Injector},{type:t.ElementRef}]},C.propDecorators={content:[{type:t.Input,args:["content"]}],simpleLineBreaks:[{type:t.Input,args:["simpleLineBreaks"]}],hostedUrl:[{type:t.Input,args:["hostedUrl"]}],anchor:[{type:t.Input,args:["anchor"]}],copyCodeToClipboard:[{type:t.Input}],copyCodeTooltips:[{type:t.Input}],contentReady:[{type:t.Output}],buttonClicked:[{type:t.Output}],container:[{type:t.ViewChild,args:[v,{static:!0}]}]};var b=function(){function e(e,n){this._changeDetectorRef=e,this._markdownUrlLoaderService=n,this.copyCodeToClipboard=!1,this.copyCodeTooltips={},this.contentReady=new t.EventEmitter,this.loadFailed=new t.EventEmitter,this.buttonClicked=new t.EventEmitter,this.loading=!0}return e.prototype.ngOnChanges=function(e){(e.url||e.httpOptions)&&this.loadMarkdown()},e.prototype.loadMarkdown=function(){return u(this,void 0,void 0,(function(){var e,t;return d(this,(function(n){switch(n.label){case 0:this.loading=!0,this._changeDetectorRef.markForCheck(),n.label=1;case 1:return n.trys.push([1,3,4,5]),e=this,[4,this._markdownUrlLoaderService.load(this.url,this.httpOptions)];case 2:return e.content=n.sent(),[3,5];case 3:return t=n.sent(),this.loadFailed.emit(t),[3,5];case 4:return this.loading=!1,this._changeDetectorRef.markForCheck(),[7];case 5:return[2]}}))}))},e}();b.decorators=[{type:t.Component,args:[{selector:"td-flavored-markdown-loader",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 (contentReady)="contentReady.emit()"\n (buttonClicked)="buttonClicked.emit($event)"\n></td-flavored-markdown>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,styles:[":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delayAnimation;animation-duration:.6s}@keyframes delayAnimation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"]}]}],b.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:i.TdMarkdownLoaderService}]},b.propDecorators={url:[{type:t.Input}],httpOptions:[{type:t.Input}],anchor:[{type:t.Input}],copyCodeToClipboard:[{type:t.Input}],copyCodeTooltips:[{type:t.Input}],contentReady:[{type:t.Output}],loadFailed:[{type:t.Output}],buttonClicked:[{type:t.Output}]};var k=function(){};k.decorators=[{type:t.NgModule,args:[{imports:[l.CommonModule,n.MatCheckboxModule,s.MatListModule,c.MatProgressBarModule,a.CovalentHighlightModule,i.CovalentMarkdownModule,p.MatButtonModule,r.MatTableModule,o.MatSortModule],declarations:[f,C,v,b,g,y],exports:[C,b]}]}],e.CovalentFlavoredMarkdownModule=k,e.TdFlavoredMarkdownButtonComponent=g,e.TdFlavoredMarkdownComponent=C,e.TdFlavoredMarkdownContainerDirective=v,e.TdFlavoredMarkdownLoaderComponent=b,e.TdFlavoredMarkdownTableComponent=y,e.ɵa=f,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
|
-
//# sourceMappingURL=covalent-flavored-markdown.umd.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../src/platform/flavored-markdown/cfm-list/cfm-list.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.component.ts","../../../src/platform/flavored-markdown/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.module.ts"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","Object","create","__read","o","m","r","i","ar","error","__spread","arguments","concat","dense","Component","args","selector","template","Input","TdFlavoredMarkdownTableComponent","columnDefs","prototype","ngOnInit","displayedColumns","map","c","name","dataSource","MatTableDataSource","data","ngAfterViewInit","sort","ViewChild","MatSort","TdFlavoredMarkdownButtonComponent","display","text","clicked","EventEmitter","emitClick","emit","HostBinding","Output","TdFlavoredMarkdownContainerDirective","viewContainerRef","_renderer","clear","setProperty","element","nativeElement","Directive","ViewContainerRef","Renderer2","TdFlavoredMarkdownComponent","_componentFactoryResolver","_changeDetectorRef","_injector","_elementRef","_simpleLineBreaks","_components","_viewInit","copyCodeToClipboard","copyCodeTooltips","contentReady","buttonClicked","defineProperty","content","_content","simpleLineBreaks","hostedUrl","_hostedUrl","anchor","_anchor","ngOnChanges","changes","refresh","scrollToAnchor","_this","_loadContent","container","textContent","markForCheck","markdown","trim","lines","replace","split","firstLineWhitespace","match","startingWhitespaceRegex_1","RegExp","line","join","_replaceCodeBlocks","_replaceCheckbox","_replaceTables","_replaceLists","_replaceButtons","keys","compA","compB","indexOf","_render","setTimeout","key","markdownParts","shift","undefined","insert","hostView","contentRef","resolveComponentFactory","TdMarkdownComponent","instance","_replaceComponent","type","regExp","replacerFunc","componentIndex","_i","componentFactory","componentRef","MatCheckbox","checked","disabled","labelPosition","getElementsByClassName","buttonRegExp","globalButtonRegExp","source","flags","matches","exec","subscribe","clickEvent","TdHighlightComponent","language","codeblock","codeLang","dataTableLines","columns","filter","col","s","alignment","rowSplit","cell","row","forEach","index","rowSplitCell","toLowerCase","numeric","test","TdFlavoredListComponent","lineTexts","toString","sublineTexts","sublines","subline","changeDetection","ChangeDetectionStrategy","OnPush","ComponentFactoryResolver","ChangeDetectorRef","Injector","ElementRef","static","TdFlavoredMarkdownLoaderComponent","_markdownUrlLoaderService","loadFailed","loading","url","httpOptions","loadMarkdown","_a","load","_b","error_1","TdMarkdownLoaderService","NgModule","imports","CommonModule","MatCheckboxModule","MatListModule","MatProgressBarModule","CovalentHighlightModule","CovalentMarkdownModule","MatButtonModule","MatTableModule","MatSortModule","declarations","exports"],"mappings":";;;;;;;;;;;;;;6FAmEgBA,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,IACpF,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,IACvF,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,OAITO,KAAKR,EAAWK,GAClGH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,oBAItDO,EAAYjB,EAASkB,GACjC,IAAsGC,EAAGC,EAAGC,EAAGC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPJ,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOK,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEZ,KAAMkB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOC,OAAUX,EACvJ,SAASM,EAAKM,GAAK,OAAO,SAAUC,GAAK,OACzC,SAAcC,GACV,GAAIjB,EAAG,MAAM,IAAIkB,UAAU,mCAC3B,KAAOd,OACH,GAAIJ,EAAI,EAAGC,IAAMC,EAAY,EAARe,EAAG,GAAShB,EAAU,OAAIgB,EAAG,GAAKhB,EAAS,SAAOC,EAAID,EAAU,SAAMC,EAAEiB,KAAKlB,GAAI,GAAKA,EAAEV,SAAWW,EAAIA,EAAEiB,KAAKlB,EAAGgB,EAAG,KAAKtB,KAAM,OAAOO,EAE3J,OADID,EAAI,EAAGC,IAAGe,EAAK,CAAS,EAARA,EAAG,GAAQf,EAAEb,QACzB4B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGf,EAAIe,EAAI,MACxB,KAAK,EAAc,OAAXb,EAAEC,QAAgB,CAAEhB,MAAO4B,EAAG,GAAItB,MAAM,GAChD,KAAK,EAAGS,EAAEC,QAASJ,EAAIgB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKb,EAAEI,IAAIY,MAAOhB,EAAEG,KAAKa,MAAO,SACxC,QACI,KAAMlB,EAAIE,EAAEG,MAAML,EAAIA,EAAEmB,OAAS,GAAKnB,EAAEA,EAAEmB,OAAS,KAAkB,IAAVJ,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEb,EAAI,EAAG,SACjG,GAAc,IAAVa,EAAG,MAAcf,GAAMe,EAAG,GAAKf,EAAE,IAAMe,EAAG,GAAKf,EAAE,IAAM,CAAEE,EAAEC,MAAQY,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYb,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIA,EAAIe,EAAI,MAC7D,GAAIf,GAAKE,EAAEC,MAAQH,EAAE,GAAI,CAAEE,EAAEC,MAAQH,EAAE,GAAIE,EAAEI,IAAIc,KAAKL,GAAK,MACvDf,EAAE,IAAIE,EAAEI,IAAIY,MAChBhB,EAAEG,KAAKa,MAAO,SAEtBH,EAAKlB,EAAKoB,KAAKtC,EAASuB,GAC1B,MAAOZ,GAAKyB,EAAK,CAAC,EAAGzB,GAAIS,EAAI,UAAeD,EAAIE,EAAI,EACtD,GAAY,EAARe,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE5B,MAAO4B,EAAG,GAAKA,EAAG,QAAK,EAAQtB,MAAM,GArB9BL,CAAK,CAACyB,EAAGC,MAyBhCO,OAAOC,gBAwBpBC,EAAOC,EAAGX,GACtB,IAAIY,EAAsB,mBAAXf,QAAyBc,EAAEd,OAAOC,UACjD,IAAKc,EAAG,OAAOD,EACf,IAAmBE,EAAYpC,EAA3BqC,EAAIF,EAAER,KAAKO,GAAOI,EAAK,GAC3B,IACI,WAAc,IAANf,GAAgBA,KAAM,MAAQa,EAAIC,EAAEtC,QAAQI,MAAMmC,EAAGR,KAAKM,EAAEvC,OAExE,MAAO0C,GAASvC,EAAI,CAAEuC,MAAOA,WAEzB,IACQH,IAAMA,EAAEjC,OAASgC,EAAIE,EAAU,SAAIF,EAAER,KAAKU,WAExC,GAAIrC,EAAG,MAAMA,EAAEuC,OAE7B,OAAOD,WAGKE,IACZ,IAAK,IAAIF,EAAK,GAAID,EAAI,EAAGA,EAAII,UAAUZ,OAAQQ,IAC3CC,EAAKA,EAAGI,OAAOT,EAAOQ,UAAUJ,KACpC,OAAOC,EA8CcP,OAAOC,aC5LhC,WAOWV,KAAAqB,OAAiB,uBAP3BC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,WAEVC,SAAA,obAGCC,EAAAA,qBACAA,EAAAA,0BC4BH,SAAAC,IAiBW3B,KAAA4B,WAA+C,UAOxDD,EAAAE,UAAAC,SAAA,WACE9B,KAAK+B,iBAAmB/B,KAAK4B,WAAWI,KAAG,SAAEC,GAAsC,OAAAA,EAAEC,QACrFlC,KAAKmC,WAAa,IAAIC,EAAAA,mBAAmBpC,KAAKqC,OAGhDV,EAAAE,UAAAS,gBAAA,WACEtC,KAAKmC,WAAWI,KAAOvC,KAAKuC,+BA9B/BjB,EAAAA,UAASC,KAAA,CAAC,CACTE,SAAU,urBAgBTC,EAAAA,oBACAA,EAAAA,oBACAc,EAAAA,UAASjB,KAAA,CAACkB,EAAAA,6BAeb,SAAAC,IAQgC1C,KAAA2C,QAAkB,eACvC3C,KAAA4C,KAAe,GACf5C,KAAAqC,KAAe,GAExBrC,KAAA6C,QAA6D,IAAIC,EAAAA,oBACjEJ,EAAAb,UAAAkB,UAAA,WACE/C,KAAK6C,QAAQG,KAAK,CAAEJ,KAAM5C,KAAK4C,KAAMP,KAAMrC,KAAKqC,iCAdnDf,EAAAA,UAASC,KAAA,CAAC,CACTE,SAAU,mIAOTwB,EAAAA,YAAW1B,KAAA,CAAC,+BACZG,EAAAA,oBACAA,EAAAA,uBACAwB,EAAAA,2BAWD,SAAAC,EAAmBC,EAA4CC,GAA5CrD,KAAAoD,iBAAAA,EAA4CpD,KAAAqD,UAAAA,SAE/DF,EAAAtB,UAAAyB,MAAA,WACEtD,KAAKqD,UAAUE,YAAYvD,KAAKoD,iBAAiBI,QAAQC,cAAe,YAAa,IACrFzD,KAAKoD,iBAAiBE,kCARzBI,EAAAA,UAASnC,KAAA,CAAC,CACTC,SAAU,6EApFVmC,EAAAA,wBANAC,EAAAA,8BAgMA,SAAAC,EACUC,EACAT,EACAU,EACAC,EACAC,GAJAjE,KAAA8D,0BAAAA,EACA9D,KAAAqD,UAAAA,EACArD,KAAA+D,mBAAAA,EACA/D,KAAAgE,UAAAA,EACAhE,KAAAiE,YAAAA,EAtFFjE,KAAAkE,mBAA6B,EAI7BlE,KAAAmE,YAAkB,GAClBnE,KAAAoE,WAAqB,EAoDpBpE,KAAAqE,qBAA+B,EAO/BrE,KAAAsE,iBAAsC,GAKrCtE,KAAAuE,aAAwC,IAAIzB,EAAAA,aAQtD9C,KAAAwE,cAAmE,IAAI1B,EAAAA,oBAhEvErC,OAAAgE,eACIZ,EAAAhC,UAAA,UAAO,KADX,SACY6C,GACV1E,KAAK2E,SAAWD,mCASlBjE,OAAAgE,eACIZ,EAAAhC,UAAA,mBAAgB,KADpB,SACqB+C,GACnB5E,KAAKkE,kBAAoBU,mCAS3BnE,OAAAgE,eACIZ,EAAAhC,UAAA,YAAS,KADb,SACcgD,GACZ7E,KAAK8E,WAAaD,mCASpBpE,OAAAgE,eACIZ,EAAAhC,UAAA,SAAM,KADV,SACWkD,GACT/E,KAAKgF,QAAUD,mCAyCjBlB,EAAAhC,UAAAoD,YAAA,SAAYC,IAENA,EAAQH,QAAWG,EAAQR,SAAYQ,EAAQN,kBAAqBM,EAAQL,UAG9E7E,KAAKmF,UAFLC,EAAAA,eAAepF,KAAKiE,YAAYR,cAAezD,KAAKgF,SAAS,IAMjEnB,EAAAhC,UAAAS,gBAAA,WAAA,IAAA+C,EAAArF,KACOA,KAAK2E,WACR3E,KAAKsF,aAA2BtF,KAAKuF,UAAUnC,iBAAiBI,QAAqB,cAAEgC,aACvFrH,QAAQC,UAAUU,MAAI,WACpBuG,EAAKjB,WAAY,EACjBiB,EAAKtB,mBAAmB0B,oBAK9B5B,EAAAhC,UAAAsD,QAAA,WACMnF,KAAK2E,SACP3E,KAAKsF,aAAatF,KAAK2E,UACd3E,KAAKoE,WACdpE,KAAKsF,aAA2BtF,KAAKuF,UAAUnC,iBAAiBI,QAAqB,cAAEgC,aAEzFxF,KAAK+D,mBAAmB0B,gBAGlB5B,EAAAhC,UAAAyD,aAAA,SAAaI,GAAb,IAAAL,EAAArF,KACN,GAAI0F,GAAYA,EAASC,OAAOpF,OAAS,EAAG,CAC1CP,KAAKuF,UAAUjC,YAGXsC,GAFJF,EAAWA,EAASG,QAAQ,gBAAiB,IAAIA,QAAQ,wBAAyB,KAEnDC,MAAM,MAG/BC,EAA8BH,EAAM,GAAGI,MAAM,aAAa,GAG1DC,EAAkC,IAAIC,OAAO,IAAMH,GACzDH,EAAQA,EAAM5D,KAAG,SAAWmE,GAC1B,OAAOA,EAAKN,QAAQI,EAAyB,OAI/CP,EAAWxE,EAAI0E,EAAK,CAAE,GAAI,KAAIQ,KAAK,MACnCV,EAAW1F,KAAKqG,mBAAmBX,GACnCA,EAAW1F,KAAKsG,iBAAiBZ,GACjCA,EAAW1F,KAAKuG,eAAeb,GAC/BA,EAAW1F,KAAKwG,cAAcd,GAC9BA,EAAW1F,KAAKyG,gBAAgBf,OAC1BgB,EAAiBjG,OAAOiG,KAAK1G,KAAKmE,aAExCuC,EAAKnE,MAAI,SAAEoE,EAAeC,GACxB,OAAOlB,EAASmB,QAAQF,GAASjB,EAASmB,QAAQD,GAAS,GAAK,KAElE5G,KAAK8G,QAAQpB,EAAUgB,EAAK,GAAIA,GAEhCK,YAAU,WAAO,OAAA3B,EAAAA,eAAeC,EAAKpB,YAAYR,cAAe4B,EAAKL,SAAS,KAAQ,KACtFhF,KAAKuE,aAAavB,OAClB7E,QAAQC,UAAUU,MAAI,WACpBuG,EAAKtB,mBAAmB0B,oBAKtB5B,EAAAhC,UAAAiF,QAAA,SAAQpB,EAAkBsB,EAAaN,GAC7C,GAAKhB,EAGL,GAAIsB,GAAOtB,EAASmB,QAAQG,IAAQ,EAAG,KAC/BC,EAA0BvB,EAASI,MAAMkB,GAC/CN,EAAKQ,QACLlH,KAAK8G,QAAQG,EAAc,QAAIE,OAAWA,GAC1CnH,KAAKuF,UAAUnC,iBAAiBgE,OAAOpH,KAAKmE,YAAY6C,GAAKK,SAAUrH,KAAKuF,UAAUnC,iBAAiB7C,QACvGP,KAAKmE,YAAY6C,QAAOG,SACjBnH,KAAKmE,YAAY6C,GACxBhH,KAAK8G,QAAQG,EAAc,GAAIP,EAAK,GAAIA,OACnC,KACCY,EAAgDtH,KAAK8D,0BACxDyD,wBAAwBC,EAAAA,qBACxB9G,OAAOV,KAAKgE,WACfsD,EAAWG,SAAS/C,QAAUgB,EAC9B4B,EAAWG,SAAS5C,UAAY7E,KAAK8E,WACrCwC,EAAWG,SAAS7C,iBAAmB5E,KAAKkE,kBAC5CoD,EAAWG,SAAStC,UACpBnF,KAAKuF,UAAUnC,iBAAiBgE,OAAOE,EAAWD,SAAUrH,KAAKuF,UAAUnC,iBAAiB7C,UAIxFsD,EAAAhC,UAAA6F,kBAAA,SACNhC,EACAiC,EACAC,EACAC,GAJM,IAAAxC,EAAArF,KAMF8H,EAAyB,EAC7B,OAAOpC,EAASG,QAAQ+B,GAAM,eAAG,IAAArG,EAAA,GAAAwG,EAAA,EAAAA,EAAA5G,UAAAZ,OAAAwH,IAAAxG,EAAAwG,GAAA5G,UAAA4G,OACzBC,EAAwC3C,EAAKvB,0BAA0ByD,wBAAwBI,GAC/FM,EAAgCD,EAAiBtH,OAAO2E,EAAKrB,WACnE6D,EAAY9I,WAAA,EAAAmC,EAAA,CAAC+G,GAAiB1G,QACxByF,EAAc,IAAMgB,EAAiBxG,SAAW,gBAAkBsG,IAAmB,IAE3F,OADAzC,EAAKlB,YAAY6C,GAAOiB,EACjBjB,MAIHnD,EAAAhC,UAAAyE,iBAAA,SAAiBZ,GAAjB,IAAAL,EAAArF,KAEN,OAAOA,KAAK0H,kBACVhC,EACAwC,EAAAA,YAH6B,6BAIf,SACbD,EAAyCjC,EAAemC,EAAiB5I,GACxE0I,EAAaR,SAASU,UAAYA,EAAQxC,OAC1CsC,EAAaR,SAASW,UAAW,EACjCH,EAAaR,SAASY,cAAgB,QACtChD,EAAKhC,UAAUE,YACC0E,EAAaR,SAASxD,YAAyB,cAAEqE,uBAC7D,sBACA,GACF,YACA/I,OAMAsE,EAAAhC,UAAA4E,gBAAA,SAAgBf,GAAhB,IAAAL,EAAArF,KACAuI,EAAuB,gCACvBC,EAA6B,IAAItC,OAAOqC,EAAaE,OAAQF,EAAaG,MAAQ,KACxF,OAAO1I,KAAK0H,kBACVhC,EACAhD,EACA8F,GAAkB,SACjBP,EAA+DjC,OACxD2C,EAA2BJ,EAAaK,KAAK5C,GAC7CpD,EAAe+F,EAAQ,GACvBtG,EAAesG,EAAQ,GAC7BV,EAAaR,SAAS7E,KAAOA,EAC7BqF,EAAaR,SAASpF,KAAOA,EAC7B4F,EAAaR,SAAS5E,QAAQgG,WAAS,SAAEC,GACvC,OAAAzD,EAAKb,cAAcxB,KAAK8F,UAMxBjF,EAAAhC,UAAAwE,mBAAA,SAAmBX,GAAnB,IAAAL,EAAArF,KAEN,OAAOA,KAAK0H,kBACVhC,EACAqD,EAAAA,qBAH8B,qCAIf,SACdd,EAAkDjC,EAAegD,EAAkBC,GAC9ED,IACFf,EAAaR,SAASyB,SAAWF,GAEnCf,EAAaR,SAASpD,oBAAsBgB,EAAKhB,oBACjD4D,EAAaR,SAASnD,iBAAmBe,EAAKf,iBAC9C2D,EAAaR,SAAS/C,QAAUuE,MAK9BpF,EAAAhC,UAAA0E,eAAA,SAAeb,GAGrB,OAAO1F,KAAK0H,kBACVhC,EACA/D,EAHA,0HAIQ,SACPsG,EAA8DjC,GAoB7D,QAnBMmD,EAA2BnD,EAAMH,QAAQ,wBAAyB,IAAIC,MAAM,MAC5EsD,EAAoBD,EAAe,GACtCrD,MAAM,KACNuD,QAAM,SAAEC,GACP,OAAOA,KAERtH,KAAG,SAAEuH,GACJ,OAAOA,EAAE5D,UAEP6D,EAAsBL,EAAe,GACxCrD,MAAM,KACNuD,QAAM,SAAEnJ,GACP,OAAOA,KAER8B,KAAG,SAAEuH,GACJ,OAAOA,EAAE5D,UAGPtD,EAAc,cACXtB,OACD0I,EAAqBN,EAAepI,GACvC+E,MAAM,KACNuD,QAAM,SAAEK,GACP,OAAOA,KAER1H,KAAG,SAAEuH,GACJ,OAAOA,EAAE5D,UAEPgE,EAAW,GACjBP,EAAQQ,SAAO,SAAEN,EAAaO,OACtBC,EAAuBL,EAASI,GAClCC,IACFH,EAAIL,EAAIS,cAAcpE,QAAUmE,EAAajE,QAAQ,UAAQ,SAAGhF,EAAWtC,GACzE,OAAOA,SAIb8D,EAAK7B,KAAKmJ,IAlBH5I,EAAY,EAAGA,EAAIoI,EAAe5I,OAAQQ,MAA1CA,GAoBTkH,EAAaR,SAAS7F,WAAawH,EAAQpH,KAAG,SAAEsH,EAAaO,GAC3D,MAAO,CACLtK,MAAO+J,EACPpH,KAAMoH,EAAIS,cAAcpE,OACxBqE,QAAS,qBAAqBC,KAAKT,EAAUK,QAGjD5B,EAAaR,SAASpF,KAAOA,MAK3BwB,EAAAhC,UAAA2E,cAAA,SAAcd,GAEpB,OAAO1F,KAAK0H,kBACVhC,EACAwE,EAHyB,kCAIf,SACTjC,EAAqDjC,OAC9CmE,EAAsBnE,EAAMF,MAChC,IAAII,OAAO,SAAWF,EAAMa,QAAQ,KAAO,GAAGuD,WAAa,gBAE7DD,EAAUjD,YACJtB,EAA6B,GACnCuE,EAAUP,SAAO,SAAEhH,EAAciH,OACzBQ,EAAyBzH,EAAKkD,MAAM,WAC1CF,EAAMpF,KAAK,CACT2F,KAAMkE,EAAanD,QACnBoD,SAAUD,EAAarI,KAAG,SAAEuI,GAC1B,OAAOA,EAAQ5E,eAIrBsC,EAAaR,SAAS7B,MAAQA,+BAtVrCtE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,uBAEVC,SAAA,2EACA+I,gBAAiBC,EAAAA,wBAAwBC,gtBApGzCC,EAAAA,gCAPA/G,EAAAA,iBAGAgH,EAAAA,yBAKAC,EAAAA,gBAMAC,EAAAA,+CA8GCpJ,EAAAA,MAAKH,KAAA,CAAC,qCAWNG,EAAAA,MAAKH,KAAA,CAAC,uCAWNG,EAAAA,MAAKH,KAAA,CAAC,6BAWNG,EAAAA,MAAKH,KAAA,CAAC,uCAWNG,EAAAA,gCAOAA,EAAAA,4BAKAwB,EAAAA,8BAOAA,EAAAA,0BAGAV,EAAAA,UAASjB,KAAA,CAAC4B,EAAsC,CAAE4H,QAAQ,wBC1H3D,SAAAC,EACUjH,EACAkH,GADAjL,KAAA+D,mBAAAA,EACA/D,KAAAiL,0BAAAA,EA5BDjL,KAAAqE,qBAA+B,EAO/BrE,KAAAsE,iBAAsC,GAMrCtE,KAAAuE,aAAmC,IAAIzB,EAAAA,aAMvC9C,KAAAkL,WAAkC,IAAIpI,EAAAA,aAEtC9C,KAAAwE,cAAmE,IAAI1B,EAAAA,aAGjF9C,KAAAmL,SAAmB,SAOnBH,EAAAnJ,UAAAoD,YAAA,SAAYC,IACNA,EAAQkG,KAAOlG,EAAQmG,cACzBrL,KAAKsL,gBAIHN,EAAAnJ,UAAAyJ,aAAA,6GACJtL,KAAKmL,SAAU,EACfnL,KAAK+D,mBAAmB0B,gCAEP,8BAAf8F,EAAAvL,KAAe,CAAA,EAAMA,KAAKiL,0BAA0BO,KAAKxL,KAAKoL,IAAKpL,KAAKqL,4BAAxEE,EAAK7G,QAAU+G,EAAAjM,sCAEfQ,KAAKkL,WAAWlI,KAAK0I,uBAErB1L,KAAKmL,SAAU,EACfnL,KAAK+D,mBAAmB0B,qEA7E7BnE,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,8BAEVC,SAAA,0cACA+I,gBAAiBC,EAAAA,wBAAwBC,8OAjBzCE,EAAAA,yBAOOe,EAAAA,wDAiBNjK,EAAAA,2BAMAA,EAAAA,sBAMAA,EAAAA,mCAQAA,EAAAA,gCAOAA,EAAAA,4BAMAwB,EAAAA,2BAMAA,EAAAA,8BAEAA,EAAAA,gBCxBH,iCAtBC0I,EAAAA,SAAQrK,KAAA,CAAC,CACRsK,QAAS,CACPC,EAAAA,aACAC,EAAAA,kBACAC,EAAAA,cACAC,EAAAA,qBACAC,EAAAA,wBACAC,EAAAA,uBACAC,EAAAA,gBACAC,EAAAA,eACAC,EAAAA,eAEFC,aAAc,CACZrC,EACArG,EACAV,EACA6H,EACAtI,EACAf,GAEF6K,QAAS,CAAC3I,EAA6BmH","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: '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: boolean = 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} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TdFlavoredListComponent, IFlavoredListItem } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\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>{{ column.label }}</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((c: ITdFlavoredMarkDownTableColumn) => c.name);\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: string = 'inline-block';\n @Input() text: string = '';\n @Input() data: string = '';\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(public viewContainerRef: ViewContainerRef, private _renderer: Renderer2) {}\n\n clear(): void {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => 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 implements AfterViewInit, OnChanges {\n private _content: string;\n private _simpleLineBreaks: boolean = false;\n private _hostedUrl: string;\n private _anchor: string;\n\n private _components: {} = {};\n private _viewInit: boolean = 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('content')\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('simpleLineBreaks')\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('hostedUrl')\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('anchor')\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: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> = 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 }) container: TdFlavoredMarkdownContainerDirective;\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 (changes.anchor && !changes.content && !changes.simpleLineBreaks && !changes.hostedUrl) {\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((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\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.replace(/^(\\s|\\t)*\\n+/g, '').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 firstLineWhitespace: string = lines[0].match(/^(\\s|\\t)*/)[0];\n\n // Remove all indentation spaces so markdown can be parsed correctly\n const startingWhitespaceRegex: RegExp = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '');\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._replaceLists(markdown);\n markdown = this._replaceButtons(markdown);\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(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\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], undefined, undefined);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n this._components[key] = undefined;\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> = 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(contentRef.hostView, this.container.viewContainerRef.length);\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: number = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key: string = '[' + componentFactory.selector + '-placeholder-' + componentIndex++ + ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp: RegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (componentRef: ComponentRef<MatCheckbox>, match: string, checked: string, label: string) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>componentRef.instance._elementRef.nativeElement).getElementsByClassName(\n 'mat-checkbox-label',\n )[0],\n 'innerHTML',\n label,\n );\n },\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp: RegExp = /\\[([^\\[]+)\\](\\(#data=(.*)\\))/i;\n const globalButtonRegExp: RegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>, match: string) => {\n const matches: RegExpExecArray = buttonRegExp.exec(match);\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.subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent),\n );\n },\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp: RegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (componentRef: ComponentRef<TdHighlightComponent>, match: string, language: string, codeblock: string) => {\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: RegExp =\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 (componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>, match: string) => {\n const dataTableLines: string[] = match.replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '').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: number = 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(/`(.*)`/, (m: string, value: string) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col: string, index: number) => {\n return {\n label: col,\n name: col.toLowerCase().trim(),\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n },\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp: RegExp = /(?:^|\\n)(( *\\+)[ |\\t](.*)\\n)+/g;\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const lineTexts: string[] = match.split(\n new RegExp('\\\\n {' + (match.indexOf('+') - 1).toString() + '}\\\\+[ |\\\\t]'),\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string, index: number) => {\n const sublineTexts: string[] = text.split(/\\n *\\+ /);\n lines.push({\n line: sublineTexts.shift(),\n sublines: sublineTexts.map((subline: string) => {\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n },\n );\n }\n}\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: boolean = 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 * 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> = new EventEmitter();\n\n content: string;\n loading: boolean = 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(this.url, this.httpOptions);\n } catch (error) {\n this.loadFailed.emit(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';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentHighlightModule } from '@covalent/highlight';\nimport { CovalentMarkdownModule } from '@covalent/markdown';\n\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';\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';\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"]}
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ITdFlavoredMarkdownButtonClickEvent":{"__symbolic":"interface"},"ITdFlavoredMarkDownTableColumn":{"__symbolic":"interface"},"TdFlavoredMarkdownTableComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":42,"character":1},"arguments":[{"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>{{ column.label }}</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 "}]}],"members":{"columnDefs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":61,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/material/sort","name":"MatSort","line":61,"character":13}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"TdFlavoredMarkdownButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":76,"character":1},"arguments":[{"template":"\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n "}]}],"members":{"display":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":84,"character":3},"arguments":["style.display"]}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"clicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":3}}]}],"emitClick":[{"__symbolic":"method"}]}},"TdFlavoredMarkdownContainerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":94,"character":1},"arguments":[{"selector":"[tdFlavoredMarkdownContainer]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":98,"character":39},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":98,"character":76}]}],"clear":[{"__symbolic":"method"}]}},"IReplacerFunc":{"__symbolic":"interface"},"TdFlavoredMarkdownComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":108,"character":1},"arguments":[{"selector":"td-flavored-markdown","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":112,"character":19},"member":"OnPush"},"template":"<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n","styles":[":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox,:host ::ng-deep td-data-table{display:block}:host ::ng-deep mat-checkbox:last-of-type,:host ::ng-deep td-data-table,:host ::ng-deep td-highlight{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{-ms-flex-direction:row;-ms-flex-pack:justify;display:-ms-flexbox;display:flex;flex-direction:row;justify-content:space-between}"]}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":3},"arguments":["content"]}]}],"simpleLineBreaks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3},"arguments":["simpleLineBreaks"]}]}],"hostedUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3},"arguments":["hostedUrl"]}]}],"anchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":162,"character":3},"arguments":["anchor"]}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":3}}]}],"contentReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":185,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":192,"character":3}}]}],"container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":195,"character":3},"arguments":[{"__symbolic":"reference","name":"TdFlavoredMarkdownContainerDirective"},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":198,"character":39},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":98,"character":76},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":200,"character":32},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":201,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":202,"character":25}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"refresh":[{"__symbolic":"method"}],"_loadContent":[{"__symbolic":"method"}],"_render":[{"__symbolic":"method"}],"_replaceComponent":[{"__symbolic":"method"}],"_replaceCheckbox":[{"__symbolic":"method"}],"_replaceButtons":[{"__symbolic":"method"}],"_replaceCodeBlocks":[{"__symbolic":"method"}],"_replaceTables":[{"__symbolic":"method"}],"_replaceLists":[{"__symbolic":"method"}]}},"CovalentFlavoredMarkdownModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material/progress-bar","name":"MatProgressBarModule","line":27,"character":4},{"__symbolic":"reference","module":"@covalent/highlight","name":"CovalentHighlightModule","line":28,"character":4},{"__symbolic":"reference","module":"@covalent/markdown","name":"CovalentMarkdownModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":30,"character":4},{"__symbolic":"reference","module":"@angular/material/table","name":"MatTableModule","line":31,"character":4},{"__symbolic":"reference","module":"@angular/material/sort","name":"MatSortModule","line":32,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"TdFlavoredMarkdownComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownContainerDirective"},{"__symbolic":"reference","name":"TdFlavoredMarkdownLoaderComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownButtonComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownTableComponent"}],"exports":[{"__symbolic":"reference","name":"TdFlavoredMarkdownComponent"},{"__symbolic":"reference","name":"TdFlavoredMarkdownLoaderComponent"}]}]}],"members":{}},"TdFlavoredMarkdownLoaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"td-flavored-markdown-loader","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":19},"member":"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 (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n","styles":[":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delayAnimation;animation-duration:.6s}@keyframes delayAnimation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"]}]}],"members":{"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"httpOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"anchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"copyCodeToClipboard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"copyCodeTooltips":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"contentReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"loadFailed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"buttonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":68,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":74,"character":32},{"__symbolic":"reference","module":"@covalent/markdown","name":"TdMarkdownLoaderService","line":75,"character":39}]}],"ngOnChanges":[{"__symbolic":"method"}],"loadMarkdown":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"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":[""]}]}],"members":{"lines":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"dense":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}]}}},"origins":{"ITdFlavoredMarkdownButtonClickEvent":"./flavored-markdown.component","ITdFlavoredMarkDownTableColumn":"./flavored-markdown.component","TdFlavoredMarkdownTableComponent":"./flavored-markdown.component","TdFlavoredMarkdownButtonComponent":"./flavored-markdown.component","TdFlavoredMarkdownContainerDirective":"./flavored-markdown.component","IReplacerFunc":"./flavored-markdown.component","TdFlavoredMarkdownComponent":"./flavored-markdown.component","CovalentFlavoredMarkdownModule":"./flavored-markdown.module","TdFlavoredMarkdownLoaderComponent":"./flavored-markdown-loader/flavored-markdown-loader.component","ɵa":"./cfm-list/cfm-list.component"},"importAs":"@covalent/flavored-markdown"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: cfm-list/cfm-list.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Component, Input } from '@angular/core';
|
|
7
|
-
/**
|
|
8
|
-
* @record
|
|
9
|
-
*/
|
|
10
|
-
export function IFlavoredListItem() { }
|
|
11
|
-
if (false) {
|
|
12
|
-
/** @type {?} */
|
|
13
|
-
IFlavoredListItem.prototype.line;
|
|
14
|
-
/** @type {?|undefined} */
|
|
15
|
-
IFlavoredListItem.prototype.sublines;
|
|
16
|
-
}
|
|
17
|
-
export class TdFlavoredListComponent {
|
|
18
|
-
constructor() {
|
|
19
|
-
this.dense = false;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
TdFlavoredListComponent.decorators = [
|
|
23
|
-
{ type: Component, args: [{
|
|
24
|
-
selector: 'cfm-list',
|
|
25
|
-
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",
|
|
26
|
-
styles: [""]
|
|
27
|
-
}] }
|
|
28
|
-
];
|
|
29
|
-
TdFlavoredListComponent.propDecorators = {
|
|
30
|
-
lines: [{ type: Input }],
|
|
31
|
-
dense: [{ type: Input }]
|
|
32
|
-
};
|
|
33
|
-
if (false) {
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
TdFlavoredListComponent.prototype.lines;
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
TdFlavoredListComponent.prototype.dense;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9mbGF2b3JlZC1tYXJrZG93bi8iLCJzb3VyY2VzIjpbImNmbS1saXN0L2NmbS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRWpELHVDQUdDOzs7SUFGQyxpQ0FBYTs7SUFDYixxQ0FBb0I7O0FBUXRCLE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUFPVyxVQUFLLEdBQVksS0FBSyxDQUFDO0lBQ2xDLENBQUM7OztZQVJBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFFcEIsd1pBQXdDOzthQUN6Qzs7O29CQUVFLEtBQUs7b0JBQ0wsS0FBSzs7OztJQUROLHdDQUFvQzs7SUFDcEMsd0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElGbGF2b3JlZExpc3RJdGVtIHtcbiAgbGluZTogc3RyaW5nO1xuICBzdWJsaW5lcz86IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjZm0tbGlzdCcsXG4gIHN0eWxlVXJsczogWycuL2NmbS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jZm0tbGlzdC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkRmxhdm9yZWRMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbGluZXM6IElGbGF2b3JlZExpc3RJdGVtW107XG4gIEBJbnB1dCgpIGRlbnNlOiBib29sZWFuID0gZmFsc2U7XG59XG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: covalent-flavored-markdown.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Generated bundle index. Do not edit.
|
|
8
|
-
*/
|
|
9
|
-
export { TdFlavoredMarkdownTableComponent, TdFlavoredMarkdownButtonComponent, TdFlavoredMarkdownContainerDirective, TdFlavoredMarkdownComponent, CovalentFlavoredMarkdownModule, TdFlavoredMarkdownLoaderComponent } from './index';
|
|
10
|
-
export { TdFlavoredListComponent as ɵa } from './cfm-list/cfm-list.component';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtZmxhdm9yZWQtbWFya2Rvd24uanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2ZsYXZvcmVkLW1hcmtkb3duLyIsInNvdXJjZXMiOlsiY292YWxlbnQtZmxhdm9yZWQtbWFya2Rvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFJQSwwTkFBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtUZEZsYXZvcmVkTGlzdENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vY2ZtLWxpc3QvY2ZtLWxpc3QuY29tcG9uZW50JzsiXX0=
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: flavored-markdown-loader/flavored-markdown-loader.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { __awaiter } from "tslib";
|
|
7
|
-
import { Component, Input, ChangeDetectorRef, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
|
|
8
|
-
import { TdMarkdownLoaderService } from '@covalent/markdown';
|
|
9
|
-
// TODO: make a td-markdown-loader component
|
|
10
|
-
export class TdFlavoredMarkdownLoaderComponent {
|
|
11
|
-
/**
|
|
12
|
-
* @param {?} _changeDetectorRef
|
|
13
|
-
* @param {?} _markdownUrlLoaderService
|
|
14
|
-
*/
|
|
15
|
-
constructor(_changeDetectorRef, _markdownUrlLoaderService) {
|
|
16
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
17
|
-
this._markdownUrlLoaderService = _markdownUrlLoaderService;
|
|
18
|
-
/**
|
|
19
|
-
* copyCodeToClipboard?: boolean
|
|
20
|
-
*
|
|
21
|
-
* Display copy button on code snippets to copy code to clipboard.
|
|
22
|
-
*
|
|
23
|
-
*/
|
|
24
|
-
this.copyCodeToClipboard = false;
|
|
25
|
-
/**
|
|
26
|
-
* copyCodeTooltips?: ICopyCodeTooltips
|
|
27
|
-
*
|
|
28
|
-
* Tooltips for copy button to copy and upon copying.
|
|
29
|
-
*/
|
|
30
|
-
this.copyCodeTooltips = {};
|
|
31
|
-
/**
|
|
32
|
-
* contentReady: void
|
|
33
|
-
* Emitted when markdown rendering is finished.
|
|
34
|
-
*/
|
|
35
|
-
this.contentReady = new EventEmitter();
|
|
36
|
-
/**
|
|
37
|
-
* loadFailed: Error
|
|
38
|
-
* Emitted when loading of markdown file fails.
|
|
39
|
-
*/
|
|
40
|
-
this.loadFailed = new EventEmitter();
|
|
41
|
-
this.buttonClicked = new EventEmitter();
|
|
42
|
-
this.loading = true;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* @param {?} changes
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
ngOnChanges(changes) {
|
|
49
|
-
if (changes.url || changes.httpOptions) {
|
|
50
|
-
this.loadMarkdown();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
loadMarkdown() {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
this.loading = true;
|
|
59
|
-
this._changeDetectorRef.markForCheck();
|
|
60
|
-
try {
|
|
61
|
-
this.content = yield this._markdownUrlLoaderService.load(this.url, this.httpOptions);
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
this.loadFailed.emit(error);
|
|
65
|
-
}
|
|
66
|
-
finally {
|
|
67
|
-
this.loading = false;
|
|
68
|
-
this._changeDetectorRef.markForCheck();
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
TdFlavoredMarkdownLoaderComponent.decorators = [
|
|
74
|
-
{ type: Component, args: [{
|
|
75
|
-
selector: 'td-flavored-markdown-loader',
|
|
76
|
-
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 (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n",
|
|
77
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
78
|
-
styles: [":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delayAnimation;animation-duration:.6s}@keyframes delayAnimation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"]
|
|
79
|
-
}] }
|
|
80
|
-
];
|
|
81
|
-
/** @nocollapse */
|
|
82
|
-
TdFlavoredMarkdownLoaderComponent.ctorParameters = () => [
|
|
83
|
-
{ type: ChangeDetectorRef },
|
|
84
|
-
{ type: TdMarkdownLoaderService }
|
|
85
|
-
];
|
|
86
|
-
TdFlavoredMarkdownLoaderComponent.propDecorators = {
|
|
87
|
-
url: [{ type: Input }],
|
|
88
|
-
httpOptions: [{ type: Input }],
|
|
89
|
-
anchor: [{ type: Input }],
|
|
90
|
-
copyCodeToClipboard: [{ type: Input }],
|
|
91
|
-
copyCodeTooltips: [{ type: Input }],
|
|
92
|
-
contentReady: [{ type: Output }],
|
|
93
|
-
loadFailed: [{ type: Output }],
|
|
94
|
-
buttonClicked: [{ type: Output }]
|
|
95
|
-
};
|
|
96
|
-
if (false) {
|
|
97
|
-
/**
|
|
98
|
-
* url: string
|
|
99
|
-
* The url of the markdown file.
|
|
100
|
-
* @type {?}
|
|
101
|
-
*/
|
|
102
|
-
TdFlavoredMarkdownLoaderComponent.prototype.url;
|
|
103
|
-
/**
|
|
104
|
-
* httpOptions: object
|
|
105
|
-
* HTTP options that can be part of the request.
|
|
106
|
-
* @type {?}
|
|
107
|
-
*/
|
|
108
|
-
TdFlavoredMarkdownLoaderComponent.prototype.httpOptions;
|
|
109
|
-
/**
|
|
110
|
-
* anchor: string
|
|
111
|
-
* Anchor to jump to.
|
|
112
|
-
* @type {?}
|
|
113
|
-
*/
|
|
114
|
-
TdFlavoredMarkdownLoaderComponent.prototype.anchor;
|
|
115
|
-
/**
|
|
116
|
-
* copyCodeToClipboard?: boolean
|
|
117
|
-
*
|
|
118
|
-
* Display copy button on code snippets to copy code to clipboard.
|
|
119
|
-
*
|
|
120
|
-
* @type {?}
|
|
121
|
-
*/
|
|
122
|
-
TdFlavoredMarkdownLoaderComponent.prototype.copyCodeToClipboard;
|
|
123
|
-
/**
|
|
124
|
-
* copyCodeTooltips?: ICopyCodeTooltips
|
|
125
|
-
*
|
|
126
|
-
* Tooltips for copy button to copy and upon copying.
|
|
127
|
-
* @type {?}
|
|
128
|
-
*/
|
|
129
|
-
TdFlavoredMarkdownLoaderComponent.prototype.copyCodeTooltips;
|
|
130
|
-
/**
|
|
131
|
-
* contentReady: void
|
|
132
|
-
* Emitted when markdown rendering is finished.
|
|
133
|
-
* @type {?}
|
|
134
|
-
*/
|
|
135
|
-
TdFlavoredMarkdownLoaderComponent.prototype.contentReady;
|
|
136
|
-
/**
|
|
137
|
-
* loadFailed: Error
|
|
138
|
-
* Emitted when loading of markdown file fails.
|
|
139
|
-
* @type {?}
|
|
140
|
-
*/
|
|
141
|
-
TdFlavoredMarkdownLoaderComponent.prototype.loadFailed;
|
|
142
|
-
/** @type {?} */
|
|
143
|
-
TdFlavoredMarkdownLoaderComponent.prototype.buttonClicked;
|
|
144
|
-
/** @type {?} */
|
|
145
|
-
TdFlavoredMarkdownLoaderComponent.prototype.content;
|
|
146
|
-
/** @type {?} */
|
|
147
|
-
TdFlavoredMarkdownLoaderComponent.prototype.loading;
|
|
148
|
-
/**
|
|
149
|
-
* @type {?}
|
|
150
|
-
* @private
|
|
151
|
-
*/
|
|
152
|
-
TdFlavoredMarkdownLoaderComponent.prototype._changeDetectorRef;
|
|
153
|
-
/**
|
|
154
|
-
* @type {?}
|
|
155
|
-
* @private
|
|
156
|
-
*/
|
|
157
|
-
TdFlavoredMarkdownLoaderComponent.prototype._markdownUrlLoaderService;
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vZmxhdm9yZWQtbWFya2Rvd24vIiwic291cmNlcyI6WyJmbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIvZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFHakIsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBWTdELE1BQU0sT0FBTyxpQ0FBaUM7Ozs7O0lBbUQ1QyxZQUNVLGtCQUFxQyxFQUNyQyx5QkFBa0Q7UUFEbEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUNyQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQXlCOzs7Ozs7O1FBNUJuRCx3QkFBbUIsR0FBWSxLQUFLLENBQUM7Ozs7OztRQU9yQyxxQkFBZ0IsR0FBc0IsRUFBRSxDQUFDOzs7OztRQU14QyxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDOzs7OztRQU10RCxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFckQsa0JBQWEsR0FBc0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRyxZQUFPLEdBQVksSUFBSSxDQUFDO0lBS3JCLENBQUM7Ozs7O0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7Ozs7SUFFSyxZQUFZOztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkMsSUFBSTtnQkFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN0RjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO29CQUFTO2dCQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDeEM7UUFDSCxDQUFDO0tBQUE7OztZQS9FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFFdkMsMmVBQXdEO2dCQUN4RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7Ozs7WUFsQkMsaUJBQWlCO1lBT1YsdUJBQXVCOzs7a0JBaUI3QixLQUFLOzBCQU1MLEtBQUs7cUJBTUwsS0FBSztrQ0FRTCxLQUFLOytCQU9MLEtBQUs7MkJBTUwsTUFBTTt5QkFNTixNQUFNOzRCQUVOLE1BQU07Ozs7Ozs7O0lBekNQLGdEQUFxQjs7Ozs7O0lBTXJCLHdEQUE2Qjs7Ozs7O0lBTTdCLG1EQUF3Qjs7Ozs7Ozs7SUFReEIsZ0VBQThDOzs7Ozs7O0lBTzlDLDZEQUFrRDs7Ozs7O0lBTWxELHlEQUFnRTs7Ozs7O0lBTWhFLHVEQUErRDs7SUFFL0QsMERBQWdHOztJQUVoRyxvREFBZ0I7O0lBQ2hCLG9EQUF3Qjs7Ozs7SUFHdEIsK0RBQTZDOzs7OztJQUM3QyxzRUFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGRNYXJrZG93bkxvYWRlclNlcnZpY2UgfSBmcm9tICdAY292YWxlbnQvbWFya2Rvd24nO1xuaW1wb3J0IHsgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQgfSBmcm9tICcuLi9mbGF2b3JlZC1tYXJrZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuLy8gVE9ETzogbWFrZSBhIHRkLW1hcmtkb3duLWxvYWRlciBjb21wb25lbnRcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIHVybDogc3RyaW5nXG4gICAqIFRoZSB1cmwgb2YgdGhlIG1hcmtkb3duIGZpbGUuXG4gICAqL1xuICBASW5wdXQoKSB1cmw6IHN0cmluZztcblxuICAvKipcbiAgICogaHR0cE9wdGlvbnM6IG9iamVjdFxuICAgKiBIVFRQIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFydCBvZiB0aGUgcmVxdWVzdC5cbiAgICovXG4gIEBJbnB1dCgpIGh0dHBPcHRpb25zOiBvYmplY3Q7XG5cbiAgLyoqXG4gICAqIGFuY2hvcjogc3RyaW5nXG4gICAqIEFuY2hvciB0byBqdW1wIHRvLlxuICAgKi9cbiAgQElucHV0KCkgYW5jaG9yOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9DbGlwYm9hcmQ/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgY29weSBidXR0b24gb24gY29kZSBzbmlwcGV0cyB0byBjb3B5IGNvZGUgdG8gY2xpcGJvYXJkLlxuICAgKlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHNcbiAgICpcbiAgICogVG9vbHRpcHMgZm9yIGNvcHkgYnV0dG9uIHRvIGNvcHkgYW5kIHVwb24gY29weWluZy5cbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIGNvbnRlbnRSZWFkeTogdm9pZFxuICAgKiBFbWl0dGVkIHdoZW4gbWFya2Rvd24gcmVuZGVyaW5nIGlzIGZpbmlzaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNvbnRlbnRSZWFkeTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBsb2FkRmFpbGVkOiBFcnJvclxuICAgKiBFbWl0dGVkIHdoZW4gbG9hZGluZyBvZiBtYXJrZG93biBmaWxlIGZhaWxzLlxuICAgKi9cbiAgQE91dHB1dCgpIGxvYWRGYWlsZWQ6IEV2ZW50RW1pdHRlcjxFcnJvcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29udGVudDogc3RyaW5nO1xuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfbWFya2Rvd25VcmxMb2FkZXJTZXJ2aWNlOiBUZE1hcmtkb3duTG9hZGVyU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy51cmwgfHwgY2hhbmdlcy5odHRwT3B0aW9ucykge1xuICAgICAgdGhpcy5sb2FkTWFya2Rvd24oKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTWFya2Rvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5jb250ZW50ID0gYXdhaXQgdGhpcy5fbWFya2Rvd25VcmxMb2FkZXJTZXJ2aWNlLmxvYWQodGhpcy51cmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmxvYWRGYWlsZWQuZW1pdChlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|