diff --git a/build.gradle.kts b/build.gradle.kts
index 11650ad..d01bc82 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -42,6 +42,7 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor")
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
+ implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect")
implementation("org.springframework.boot:spring-boot-starter-security")
compileOnly("org.projectlombok:lombok")
runtimeOnly("org.mariadb.jdbc:mariadb-java-client")
@@ -52,6 +53,7 @@ dependencies {
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
+
kotlin {
compilerOptions {
freeCompilerArgs.addAll("-Xjsr305=strict")
diff --git a/src/main/kotlin/kr/lunaticbum/back/lun/controllers/BlogController.kt b/src/main/kotlin/kr/lunaticbum/back/lun/controllers/BlogController.kt
index 4113894..f266990 100644
--- a/src/main/kotlin/kr/lunaticbum/back/lun/controllers/BlogController.kt
+++ b/src/main/kotlin/kr/lunaticbum/back/lun/controllers/BlogController.kt
@@ -26,9 +26,9 @@ class BlogController() {
@Autowired
lateinit var logService: LogService
- @GetMapping("/write")
+ @GetMapping("write")
fun writ() : ModelAndView{
- val vm = ModelAndView("/content/blog/write")
+ val vm = ModelAndView("content/blog/write")
// when(System.currentTimeMillis() % 5L) {
// 0L -> vm.modelMap.put(EncTypeKey,"T4")
// 1L -> vm.modelMap.put(EncTypeKey,"T3")
@@ -39,6 +39,20 @@ class BlogController() {
return vm
}
+ @GetMapping("viewer/{blogId}")
+ fun viewer(@PathVariable blogId : String) : ModelAndView{
+ val vm = ModelAndView("content/blog/viewer")
+// when(System.currentTimeMillis() % 5L) {
+// 0L -> vm.modelMap.put(EncTypeKey,"T4")
+// 1L -> vm.modelMap.put(EncTypeKey,"T3")
+// 2L -> vm.modelMap.put(EncTypeKey,"T2")
+// else -> vm.modelMap.put(EncTypeKey,"T0")
+// }
+
+ return vm
+ }
+
+
@Value("\${image.upload.path}")
private val uploadPath: String? = null
@@ -47,13 +61,13 @@ class BlogController() {
@ResponseBody
- @GetMapping("/post/images/{fileName}")
+ @GetMapping("post/images/{fileName}")
fun getImage(@PathVariable fileName : String) : Resource {
val imgUploadPath = ("file:" +uploadPath + File.separator + fileName)
return UrlResource.from(imgUploadPath)
}
- @PostMapping("/post/imageUpload")
+ @PostMapping("post/imageUpload")
fun postImage(@RequestPart("file") upload: MultipartFile, res: HttpServletResponse, req: HttpServletRequest) : ResponseEntity
'; + +// EXTERNAL MODULE: ../../node_modules/tui-code-snippet/type/isNull.js + var type_isNull = __webpack_require__(934); +// EXTERNAL MODULE: ../../node_modules/tui-code-snippet/request/sendHostname.js + var request_sendHostname = __webpack_require__(391); + ;// CONCATENATED MODULE: ./src/utils/common.ts + + + + + + var isMac = /Mac/.test(navigator.platform); + var reSpaceMoreThanOne = /[\u0020]+/g; + var common_reEscapeChars = /[>(){}[\]+-.!#|]/g; + var reEscapeHTML = /<([a-zA-Z_][a-zA-Z0-9\-._]*)(\s|[^\\>])*\/?>|<(\/)([a-zA-Z_][a-zA-Z0-9\-._]*)\s*\/?>||<([a-zA-Z_][a-zA-Z0-9\-.:/]*)>/g; + var reEscapeBackSlash = /\\[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~\\]/g; + var reEscapePairedChars = /[*_~`]/g; + var reMdImageSyntax = /!\[.*\]\(.*\)/g; + var reEscapedCharInLinkSyntax = /[[\]]/g; + var reEscapeBackSlashInSentence = /(?:^|[^\\])\\(?!\\)/g; + var common_XMLSPECIAL = '[&<>"]'; + var common_reXmlSpecial = new RegExp(common_XMLSPECIAL, 'g'); + function common_replaceUnsafeChar(char) { + switch (char) { + case '&': + return '&'; + case '<': + return '<'; + case '>': + return '>'; + case '"': + return '"'; + default: + return char; + } + } + function common_escapeXml(text) { + if (common_reXmlSpecial.test(text)) { + return text.replace(common_reXmlSpecial, common_replaceUnsafeChar); + } + return text; + } + function sendHostName() { + sendHostname('editor', 'UA-129966929-1'); + } + function common_includes(arr, targetItem) { + return arr.indexOf(targetItem) !== -1; + } + var availableLinkAttributes = ['rel', 'target', 'hreflang', 'type']; + var reMarkdownTextToEscapeMap = { + codeblock: /(^ {4}[^\n]+\n*)+/, + thematicBreak: /^ *((\* *){3,}|(- *){3,} *|(_ *){3,}) */, + atxHeading: /^(#{1,6}) +[\s\S]+/, + seTextheading: /^([^\n]+)\n *(=|-){2,} */, + blockquote: /^( *>[^\n]+.*)+/, + list: /^ *(\*+|-+|\d+\.) [\s\S]+/, + def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +["(]([^\n]+)[")])? */, + link: /!?\[.*\]\(.*\)/, + reflink: /!?\[.*\]\s*\[([^\]]*)\]/, + verticalBar: /\u007C/, + fencedCodeblock: /^((`|~){3,})/, + }; + function sanitizeLinkAttribute(attribute) { + if (!attribute) { + return null; + } + var linkAttributes = {}; + availableLinkAttributes.forEach(function (key) { + if (!isUndefined_default()(attribute[key])) { + linkAttributes[key] = attribute[key]; + } + }); + return linkAttributes; + } + function common_repeat(text, count) { + var result = ''; + for (var i = 0; i < count; i += 1) { + result += text; + } + return result; + } + function isNeedEscapeText(text) { + var needEscape = false; + forEachOwnProperties(reMarkdownTextToEscapeMap, function (reMarkdownTextToEscape) { + if (reMarkdownTextToEscape.test(text)) { + needEscape = true; + } + return !needEscape; + }); + return needEscape; + } + function escapeTextForLink(text) { + var imageSyntaxRanges = []; + var result = reMdImageSyntax.exec(text); + while (result) { + imageSyntaxRanges.push([result.index, result.index + result[0].length]); + result = reMdImageSyntax.exec(text); + } + return text.replace(reEscapedCharInLinkSyntax, function (matched, offset) { + var isDelimiter = imageSyntaxRanges.some(function (range) { return offset > range[0] && offset < range[1]; }); + return isDelimiter ? matched : "\\" + matched; + }); + } + function common_escape(text) { + var aheadReplacer = function (matched) { return "\\" + matched; }; + var behindReplacer = function (matched) { return matched + "\\"; }; + var escapedText = text.replace(reSpaceMoreThanOne, ' '); + if (reEscapeBackSlash.test(escapedText)) { + escapedText = escapedText.replace(reEscapeBackSlash, aheadReplacer); + } + if (reEscapeBackSlashInSentence.test(escapedText)) { + escapedText = escapedText.replace(reEscapeBackSlashInSentence, behindReplacer); + } + escapedText = escapedText.replace(reEscapePairedChars, aheadReplacer); + if (reEscapeHTML.test(escapedText)) { + escapedText = escapedText.replace(reEscapeHTML, aheadReplacer); + } + if (isNeedEscapeText(escapedText)) { + escapedText = escapedText.replace(common_reEscapeChars, aheadReplacer); + } + return escapedText; + } + function quote(text) { + var result; + if (text.indexOf('"') === -1) { + result = '""'; + } + else { + result = text.indexOf("'") === -1 ? "''" : '()'; + } + return result[0] + text + result[1]; + } + function common_isNil(value) { + return isNull(value) || isUndefined(value); + } + function shallowEqual(o1, o2) { + if (o1 === null && o1 === o2) { + return true; + } + if (typeof o1 !== 'object' || typeof o2 !== 'object' || common_isNil(o1) || common_isNil(o2)) { + return o1 === o2; + } + for (var key in o1) { + if (o1[key] !== o2[key]) { + return false; + } + } + for (var key in o2) { + if (!(key in o1)) { + return false; + } + } + return true; + } + function common_last(arr) { + return arr[arr.length - 1]; + } + function common_between(value, min, max) { + return value >= min && value <= max; + } + function isObject(obj) { + return typeof obj === 'object' && obj !== null; + } + function deepMergedCopy(targetObj, obj) { + var resultObj = tslib_es6_assign({}, targetObj); + if (targetObj && obj) { + Object.keys(obj).forEach(function (prop) { + if (isObject(resultObj[prop])) { + if (Array.isArray(obj[prop])) { + resultObj[prop] = deepCopyArray(obj[prop]); + } + else if (resultObj.hasOwnProperty(prop)) { + resultObj[prop] = deepMergedCopy(resultObj[prop], obj[prop]); + } + else { + resultObj[prop] = deepCopy(obj[prop]); + } + } + else { + resultObj[prop] = obj[prop]; + } + }); + } + return resultObj; + } + function deepCopyArray(items) { + return items.map(function (item) { + if (isObject(item)) { + return Array.isArray(item) ? deepCopyArray(item) : deepCopy(item); + } + return item; + }); + } + function deepCopy(obj) { + var keys = Object.keys(obj); + if (!keys.length) { + return obj; + } + return keys.reduce(function (acc, prop) { + if (isObject(obj[prop])) { + acc[prop] = Array.isArray(obj[prop]) ? deepCopyArray(obj[prop]) : deepCopy(obj[prop]); + } + else { + acc[prop] = obj[prop]; + } + return acc; + }, {}); + } + function common_assign(targetObj, obj) { + if (obj === void 0) { obj = {}; } + Object.keys(obj).forEach(function (prop) { + if (targetObj.hasOwnProperty(prop) && typeof targetObj[prop] === 'object') { + if (Array.isArray(obj[prop])) { + targetObj[prop] = obj[prop]; + } + else { + common_assign(targetObj[prop], obj[prop]); + } + } + else { + targetObj[prop] = obj[prop]; + } + }); + return targetObj; + } + function getSortedNumPair(valueA, valueB) { + return valueA > valueB ? [valueB, valueA] : [valueA, valueB]; + } + + ;// CONCATENATED MODULE: ./src/utils/dom.ts + + + + + + + + + + + function isPositionInBox(style, offsetX, offsetY) { + var left = parseInt(style.left, 10); + var top = parseInt(style.top, 10); + var width = parseInt(style.width, 10) + parseInt(style.paddingLeft, 10) + parseInt(style.paddingRight, 10); + var height = parseInt(style.height, 10) + parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10); + return offsetX >= left && offsetX <= left + width && offsetY >= top && offsetY <= top + height; + } + var CLS_PREFIX = 'toastui-editor-'; + function cls() { + var names = []; + for (var _i = 0; _i < arguments.length; _i++) { + names[_i] = arguments[_i]; + } + var result = []; + for (var _a = 0, names_1 = names; _a < names_1.length; _a++) { + var name = names_1[_a]; + var className = void 0; + if (Array.isArray(name)) { + className = name[0] ? name[1] : null; + } + else { + className = name; + } + if (className) { + result.push("" + CLS_PREFIX + className); + } + } + return result.join(' '); + } + function clsWithMdPrefix() { + var names = []; + for (var _i = 0; _i < arguments.length; _i++) { + names[_i] = arguments[_i]; + } + return names.map(function (className) { return CLS_PREFIX + "md-" + className; }).join(' '); + } + function isTextNode(node) { + return (node === null || node === void 0 ? void 0 : node.nodeType) === Node.TEXT_NODE; + } + function isElemNode(node) { + return node && node.nodeType === Node.ELEMENT_NODE; + } + function findNodes(element, selector) { + var nodeList = toArray(element.querySelectorAll(selector)); + if (nodeList.length) { + return nodeList; + } + return []; + } + function appendNodes(node, nodesToAppend) { + nodesToAppend = isArray(nodesToAppend) ? toArray(nodesToAppend) : [nodesToAppend]; + nodesToAppend.forEach(function (nodeToAppend) { + node.appendChild(nodeToAppend); + }); + } + function insertBeforeNode(insertedNode, node) { + if (node.parentNode) { + node.parentNode.insertBefore(insertedNode, node); + } + } + function removeNode(node) { + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } + function unwrapNode(node) { + var result = []; + while (node.firstChild) { + result.push(node.firstChild); + if (node.parentNode) { + node.parentNode.insertBefore(node.firstChild, node); + } + } + removeNode(node); + return result; + } + function toggleClass(element, className, state) { + if (isUndefined_default()(state)) { + state = !hasClass_default()(element, className); + } + var toggleFn = state ? (addClass_default()) : (removeClass_default()); + toggleFn(element, className); + } + function createElementWith(contents, target) { + var container = document.createElement('div'); + if (isString_default()(contents)) { + container.innerHTML = contents; + } + else { + container.appendChild(contents); + } + var firstChild = container.firstChild; + if (target) { + target.appendChild(firstChild); + } + return firstChild; + } + function getOuterWidth(el) { + var computed = window.getComputedStyle(el); + return (['margin-left', 'margin-right'].reduce(function (acc, type) { return acc + parseInt(computed.getPropertyValue(type), 10); }, 0) + el.offsetWidth); + } + function closest(node, found) { + var condition; + if (isString(found)) { + condition = function (target) { return matches(target, found); }; + } + else { + condition = function (target) { return target === found; }; + } + while (node && node !== document) { + if (isElemNode(node) && condition(node)) { + return node; + } + node = node.parentNode; + } + return null; + } + function getTotalOffset(el, root) { + var offsetTop = 0; + var offsetLeft = 0; + while (el && el !== root) { + var top = el.offsetTop, left = el.offsetLeft, offsetParent = el.offsetParent; + offsetTop += top; + offsetLeft += left; + if (offsetParent === root.offsetParent) { + break; + } + el = el.offsetParent; + } + return { offsetTop: offsetTop, offsetLeft: offsetLeft }; + } + function finalizeHtml(html, needHtmlText) { + var result; + if (needHtmlText) { + result = html.innerHTML; + } + else { + var frag = document.createDocumentFragment(); + var childNodes = toArray(html.childNodes); + var length = childNodes.length; + for (var i = 0; i < length; i += 1) { + frag.appendChild(childNodes[i]); + } + result = frag; + } + return result; + } + function dom_empty(node) { + while (node.firstChild) { + node.removeChild(node.firstChild); + } + } + function appendNode(node, appended) { + if (isString(appended)) { + node.insertAdjacentHTML('beforeend', appended); + } + else { + var nodes = appended.length + ? toArray(appended) + : [appended]; + for (var i = 0, len = nodes.length; i < len; i += 1) { + node.appendChild(nodes[i]); + } + } + } + function prependNode(node, appended) { + if (isString(appended)) { + node.insertAdjacentHTML('afterbegin', appended); + } + else { + var nodes = appended.length + ? toArray(appended) + : [appended]; + for (var i = nodes.length - 1, len = 0; i >= len; i -= 1) { + node.insertBefore(nodes[i], node.firstChild); + } + } + } + function setAttributes(attributes, element) { + Object.keys(attributes).forEach(function (attrName) { + if (isNil(attributes[attrName])) { + element.removeAttribute(attrName); + } + else { + element.setAttribute(attrName, attributes[attrName]); + } + }); + } + function replaceBRWithEmptyBlock(html) { + // remove br in paragraph to compatible with markdown + var replacedHTML = html.replace(/
<\/p>/gi, '
";
+
+ function wa(e, t, n) {
+ var r = parseInt(e.left, 10),
+ o = parseInt(e.top, 10),
+ i = parseInt(e.width, 10) + parseInt(e.paddingLeft, 10) + parseInt(e.paddingRight, 10),
+ s = parseInt(e.height, 10) + parseInt(e.paddingTop, 10) + parseInt(e.paddingBottom, 10);
+ return t >= r && t <= r + i && n >= o && n <= o + s
+ }
+ var ka = "toastui-editor-";
+
+ function xa() {
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
+ for (var n = [], r = 0, o = e; r < o.length; r++) {
+ var i = o[r],
+ s = void 0;
+ (s = Array.isArray(i) ? i[0] ? i[1] : null : i) && n.push("" + ka + s)
+ }
+ return n.join(" ")
+ }
+
+ function Ca() {
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
+ return e.map((function(e) {
+ return ka + "md-" + e
+ })).join(" ")
+ }
+
+ function Ta(e) {
+ return e && e.nodeType === Node.ELEMENT_NODE
+ }
+
+ function Ma(e) {
+ e.parentNode && e.parentNode.removeChild(e)
+ }
+
+ function Sa(e, t, n) {
+ Oe()(n) && (n = !ca()(e, t)), (n ? ke() : Ce())(e, t)
+ }
+
+ function Ea(e, t) {
+ var n = document.createElement("div");
+ Me()(e) ? n.innerHTML = e : n.appendChild(e);
+ var r = n.firstChild;
+ return t && t.appendChild(r), r
+ }
+
+ function Na(e) {
+ var t = window.getComputedStyle(e);
+ return ["margin-left", "margin-right"].reduce((function(e, n) {
+ return e + parseInt(t.getPropertyValue(n), 10)
+ }), 0) + e.offsetWidth
+ }
+
+ function Oa(e, t) {
+ var n;
+ for (n = Me()(t) ? function(e) {
+ return da()(e, t)
+ } : function(e) {
+ return e === t
+ }; e && e !== document;) {
+ if (Ta(e) && n(e)) return e;
+ e = e.parentNode
+ }
+ return null
+ }
+
+ function Da(e, t) {
+ for (var n = 0, r = 0; e && e !== t;) {
+ if (n += e.offsetTop, r += e.offsetLeft, e.offsetParent === t.offsetParent) break;
+ e = e.offsetParent
+ }
+ return {
+ offsetTop: n,
+ offsetLeft: r
+ }
+ }
+
+ function Aa(e, t) {
+ Object.keys(e).forEach((function(n) {
+ Qe(e[n]) ? t.removeAttribute(n) : t.setAttribute(n, e[n])
+ }))
+ }
+
+ function La(e) {
+ var t = e;
+ return t = (t = t.replace(//g, "")).replace(/ class="ProseMirror-trailingBreak"/g, "")
+ }
+ var Ia = new un("widget"),
+ Ra = function() {
+ function e(e, t) {
+ var n = this;
+ this.popup = null, this.removeWidget = function() {
+ n.popup && (n.rootEl.removeChild(n.popup), n.popup = null)
+ }, this.rootEl = e.dom.parentElement, this.eventEmitter = t, this.eventEmitter.listen("blur", this.removeWidget), this.eventEmitter.listen("loadUI", (function() {
+ n.rootEl = Oa(e.dom.parentElement, "." + xa("defaultUI"))
+ })), this.eventEmitter.listen("removePopupWidget", this.removeWidget)
+ }
+ return e.prototype.update = function(e) {
+ var t = Ia.getState(e.state);
+ if (this.removeWidget(), t) {
+ var n = t.node,
+ r = t.style,
+ o = e.coordsAtPos(t.pos),
+ i = o.top,
+ s = o.left,
+ a = o.bottom - i,
+ l = this.rootEl.getBoundingClientRect(),
+ c = i - l.top;
+ be()(n, {
+ opacity: "0"
+ }), this.rootEl.appendChild(n), be()(n, {
+ position: "absolute",
+ left: s - l.left + 5 + "px",
+ top: ("bottom" === r ? c + a - 5 : c - a) + "px",
+ opacity: "1"
+ }), this.popup = n, e.focus()
+ }
+ }, e.prototype.destroy = function() {
+ this.eventEmitter.removeEventHandler("blur", this.removeWidget)
+ }, e
+ }();
+
+ function Pa(e) {
+ return new an({
+ key: Ia,
+ state: {
+ init: function() {
+ return null
+ },
+ apply: function(e) {
+ return e.getMeta("widget")
+ }
+ },
+ view: function(t) {
+ return new Ra(t, e)
+ }
+ })
+ }
+ var Ba = n(893),
+ Fa = n.n(Ba);
+
+ function Ha(e, t, n) {
+ e.emit("addImageBlobHook", t, (function(n, r) {
+ e.emit("command", "addImage", {
+ imageUrl: n,
+ altText: r || t.name || "image"
+ })
+ }), n)
+ }
+
+ function za(e) {
+ var t = vi()(e).filter((function(e) {
+ return -1 !== e.type.indexOf("image")
+ }));
+ if (1 === t.length) {
+ var n = t[0];
+ if (n) return n.getAsFile()
+ }
+ return null
+ }
+
+ function qa(e) {
+ var t = e.eventEmitter;
+ return new an({
+ props: {
+ handleDOMEvents: {
+ drop: function(e, n) {
+ var r, o = null === (r = n.dataTransfer) || void 0 === r ? void 0 : r.files;
+ return o && Fa()(o, (function(e) {
+ return -1 === e.type.indexOf("image") || (n.preventDefault(), n.stopPropagation(), Ha(t, e, n.type), !1)
+ })), !0
+ }
+ }
+ }
+ })
+ }
+ var Va = function() {
+ function e() {}
+ return Object.defineProperty(e.prototype, "type", {
+ get: function() {
+ return "node"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), e.prototype.setContext = function(e) {
+ this.context = e
+ }, e
+ }();
+
+ function ja(e) {
+ var t = document.createElement("span"),
+ n = Ys(e.attrs.info, e.textContent);
+ return t.className = "tui-widget", t.appendChild(n), {
+ dom: t
+ }
+ }
+
+ function $a(e) {
+ return "widget" === e.type.name
+ }
+ var _a = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "widget"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ attrs: {
+ info: {
+ default: null
+ }
+ },
+ group: "inline",
+ inline: !0,
+ content: "text*",
+ selectable: !1,
+ atom: !0,
+ toDOM: function() {
+ return ["span", {
+ class: "tui-widget"
+ }, 0]
+ },
+ parseDOM: [{
+ tag: "span.tui-widget",
+ getAttrs: function(e) {
+ return {
+ info: e.textContent.match(/\$\$(widget\d+)/)[1]
+ }
+ }
+ }]
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Va),
+ Ua = function() {
+ function e(e) {
+ this.timer = null, this.el = document.createElement("div"), this.el.className = "toastui-editor", this.eventEmitter = e, this.placeholder = {
+ text: ""
+ }
+ }
+ return e.prototype.createState = function() {
+ return on.create({
+ schema: this.schema,
+ plugins: this.createPlugins()
+ })
+ }, e.prototype.initEvent = function() {
+ var e = this,
+ t = e.eventEmitter,
+ n = e.view,
+ r = e.editorType;
+ n.dom.addEventListener("focus", (function() {
+ return t.emit("focus", r)
+ })), n.dom.addEventListener("blur", (function() {
+ return t.emit("blur", r)
+ }))
+ }, e.prototype.emitChangeEvent = function(e) {
+ this.eventEmitter.emit("caretChange", this.editorType), e.docChanged && this.eventEmitter.emit("change", this.editorType)
+ }, Object.defineProperty(e.prototype, "defaultPlugins", {
+ get: function() {
+ var e, t = this.createInputRules(),
+ n = i(i([], this.keymaps), [Ai(o({
+ "Shift-Enter": ts.Enter
+ }, ts)), Ts(), (e = this.placeholder, new an({
+ props: {
+ decorations: function(t) {
+ var n = t.doc;
+ if (e.text && 1 === n.childCount && n.firstChild.isTextblock && 0 === n.firstChild.content.size) {
+ var r = document.createElement("span");
+ return ke()(r, "placeholder"), e.className && ke()(r, e.className), r.textContent = e.text, _o.create(n, [Vo.widget(1, r)])
+ }
+ return null
+ }
+ }
+ })), Pa(this.eventEmitter), qa(this.context)]);
+ return t ? n.concat(t) : n
+ },
+ enumerable: !1,
+ configurable: !0
+ }), e.prototype.createInputRules = function() {
+ var e = ea().map((function(e) {
+ var t = e.rule;
+ return new ns(t, (function(e, n, r, o) {
+ var i = e.schema,
+ s = e.tr,
+ a = e.doc,
+ l = n.input.match(new RegExp(t, "g")),
+ c = a.resolve(r),
+ u = c.parent,
+ d = 0;
+ if ($a(u) && (u = c.node(c.depth - 1)), u.forEach((function(e) {
+ return $a(e) && (d += 1)
+ })), l.length > d) {
+ var p = et(l),
+ h = ra(p, i);
+ return s.replaceWith(o - p.length + 1, o, h)
+ }
+ return null
+ }))
+ }));
+ return e.length ? rs({
+ rules: e
+ }) : null
+ }, e.prototype.clearTimer = function() {
+ this.timer && (clearTimeout(this.timer), this.timer = null)
+ }, e.prototype.createSchema = function() {
+ return new Y({
+ nodes: this.specs.nodes,
+ marks: this.specs.marks
+ })
+ }, e.prototype.createKeymaps = function(e) {
+ var t = ia(),
+ n = t.undo,
+ r = t.redo,
+ o = this.specs.keymaps(e),
+ i = {
+ "Mod-z": n(),
+ "Shift-Mod-z": r()
+ };
+ return e ? o.concat(Ai(i)) : o
+ }, e.prototype.createCommands = function() {
+ return this.specs.commands(this.view)
+ }, e.prototype.createPluginProps = function() {
+ var e = this;
+ return this.extraPlugins.map((function(t) {
+ return t(e.eventEmitter)
+ }))
+ }, e.prototype.focus = function() {
+ var e = this;
+ this.clearTimer(), this.timer = setTimeout((function() {
+ e.view.focus(), e.view.dispatch(e.view.state.tr.scrollIntoView())
+ }))
+ }, e.prototype.blur = function() {
+ this.view.dom.blur()
+ }, e.prototype.destroy = function() {
+ var e = this;
+ this.clearTimer(), this.view.destroy(), Object.keys(this).forEach((function(t) {
+ delete e[t]
+ }))
+ }, e.prototype.moveCursorToStart = function(e) {
+ var t = this.view.state.tr;
+ this.view.dispatch(t.setSelection(Os(t, 1)).scrollIntoView()), e && this.focus()
+ }, e.prototype.moveCursorToEnd = function(e) {
+ var t = this.view.state.tr;
+ this.view.dispatch(t.setSelection(Os(t, t.doc.content.size - 1)).scrollIntoView()), e && this.focus()
+ }, e.prototype.setScrollTop = function(e) {
+ this.view.dom.scrollTop = e
+ }, e.prototype.getScrollTop = function() {
+ return this.view.dom.scrollTop
+ }, e.prototype.setPlaceholder = function(e) {
+ this.placeholder.text = e, this.view.dispatch(this.view.state.tr.scrollIntoView())
+ }, e.prototype.setHeight = function(e) {
+ be()(this.el, {
+ height: e + "px"
+ })
+ }, e.prototype.setMinHeight = function(e) {
+ be()(this.el, {
+ minHeight: e + "px"
+ })
+ }, e.prototype.getElement = function() {
+ return this.el
+ }, e
+ }(),
+ Wa = Ua,
+ Ja = n(294),
+ Ga = n.n(Ja),
+ Ka = ["Enter", "Shift-Enter", "Mod-Enter", "Tab", "Shift-Tab", "Delete", "Backspace", "Mod-Delete", "Mod-Backspace", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Mod-d", "Mod-D", "Alt-ArrowUp", "Alt-ArrowDown"];
+
+ function Za(e, t, n) {
+ return e.focus(), t(n)(e.state, e.dispatch, e)
+ }
+ var Xa = function() {
+ function e(e) {
+ this.specs = e
+ }
+ return Object.defineProperty(e.prototype, "nodes", {
+ get: function() {
+ return this.specs.filter((function(e) {
+ return "node" === e.type
+ })).reduce((function(e, t) {
+ var n, r = t.name,
+ i = t.schema;
+ return o(o({}, e), ((n = {})[r] = i, n))
+ }), {})
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(e.prototype, "marks", {
+ get: function() {
+ return this.specs.filter((function(e) {
+ return "mark" === e.type
+ })).reduce((function(e, t) {
+ var n, r = t.name,
+ i = t.schema;
+ return o(o({}, e), ((n = {})[r] = i, n))
+ }), {})
+ },
+ enumerable: !1,
+ configurable: !0
+ }), e.prototype.commands = function(e, t) {
+ var n = this.specs.filter((function(e) {
+ return e.commands
+ })).reduce((function(t, n) {
+ var r = {},
+ i = n.commands();
+ return Ga()(i) ? r[n.name] = function(t) {
+ return Za(e, i, t)
+ } : Object.keys(i).forEach((function(t) {
+ r[t] = function(n) {
+ return Za(e, i[t], n)
+ }
+ })), o(o({}, t), r)
+ }), {}),
+ r = ia();
+ return Object.keys(r).forEach((function(t) {
+ n[t] = function(n) {
+ return Za(e, r[t], n)
+ }
+ })), t && Object.keys(t).forEach((function(r) {
+ n[r] = function(n) {
+ return Za(e, t[r], n)
+ }
+ })), n
+ }, e.prototype.keymaps = function(e) {
+ return this.specs.filter((function(e) {
+ return e.keymaps
+ })).map((function(e) {
+ return e.keymaps()
+ })).map((function(t) {
+ return e || Object.keys(t).forEach((function(e) {
+ Ue(Ka, e) || delete t[e]
+ })), Ai(t)
+ }))
+ }, e.prototype.setContext = function(e) {
+ this.specs.forEach((function(t) {
+ t.setContext(e)
+ }))
+ }, e
+ }(),
+ Qa = Xa;
+
+ function Ya(e) {
+ var t = e.from,
+ n = e.to;
+ return e instanceof Kt ? [t + 1, n - 1] : [t, n]
+ }
+
+ function el(e) {
+ return e.index(0) + 1
+ }
+
+ function tl(e, t, n) {
+ void 0 === n && (n = 1);
+ var r = 0;
+ return e.forEach((function(e, o) {
+ $a(e) && o + 2 < t && (r += 2 * n)
+ })), r
+ }
+
+ function nl(e, t, n) {
+ void 0 === n && (n = t);
+ var r = t === n,
+ o = e.resolve(t),
+ i = el(o),
+ s = i,
+ a = o.start(1),
+ l = a;
+ if (!r) {
+ var c = e.resolve(n === e.content.size ? n - 1 : n);
+ l = c.start(1), s = el(c), c.pos === e.content.size && (n = e.content.size - 2)
+ }
+ var u = Math.max(t - a + 1, 1),
+ d = Math.max(n - l + 1, 1);
+ return [
+ [i, u + tl(e.child(i - 1), u, -1)],
+ [s, d + tl(e.child(s - 1), d, -1)]
+ ]
+ }
+
+ function rl(e, t) {
+ for (var n = [], r = 0, o = 0; r < t; r += 1) {
+ var i = e.child(r);
+ n[r] = o, o += i.nodeSize
+ }
+ return n
+ }
+
+ function ol(e, t, n) {
+ var r = rl(e, n[0]),
+ o = t[0] - 1,
+ i = n[0] - 1,
+ s = e.child(o),
+ a = e.child(i),
+ l = r[o],
+ c = r[i];
+ return l += t[1] + tl(s, t[1] - 1), c += n[1] + tl(a, n[1] - 1), [l, Math.min(c, e.content.size)]
+ }
+
+ function il(e) {
+ var t = e.$from,
+ n = e.$to,
+ r = e.from,
+ o = e.to,
+ i = t.doc;
+ return e instanceof Kt && (t = i.resolve(r + 1), n = i.resolve(o - 1)), 0 === t.depth && (n = t = i.resolve(r - 1)), {
+ startFromOffset: t.start(1),
+ endFromOffset: n.start(1),
+ startToOffset: t.end(1),
+ endToOffset: n.end(1),
+ startIndex: t.index(0),
+ endIndex: n.index(0),
+ from: t.pos,
+ to: n.pos
+ }
+ }
+
+ function sl(e, t) {
+ for (var n = 1, r = 1, o = 0, i = 0; o < e.childCount; o += 1) {
+ var s = e.child(o).nodeSize;
+ if (n = i + 1, r = i + s - 1, o === t) break;
+ i += s
+ }
+ return {
+ startOffset: n,
+ endOffset: r
+ }
+ }
+ var al = "heading",
+ ll = "link",
+ cl = "code",
+ ul = "meta",
+ dl = "delimiter",
+ pl = "markedText",
+ hl = {
+ strong: 2,
+ emph: 1,
+ strike: 2
+ };
+
+ function fl(e, t, n, r) {
+ return {
+ start: e,
+ end: t,
+ spec: {
+ type: n,
+ attrs: r
+ }
+ }
+ }
+
+ function ml(e, t, n) {
+ var r = e.type,
+ o = $s(t, hl[r]),
+ i = $s(n, -hl[r]);
+ return [fl(o, i, r), fl(t, o, dl), fl(i, n, dl)]
+ }
+
+ function gl(e, t, n, r) {
+ return [fl(e, t, ll), fl(_s(e, n[1] + 1), _s(t, r), ll, {
+ desc: !0
+ }), fl(_s(t, r + 2), $s(t, -1), ll, {
+ url: !0
+ })]
+ }
+
+ function vl(e, t, n, r) {
+ var i = {
+ start: t,
+ end: n,
+ spec: {
+ attrs: {
+ className: r + "-line-background",
+ codeStart: t[0],
+ codeEnd: n[0]
+ }
+ },
+ lineBackground: !0
+ };
+ return "item" !== e.type && "blockQuote" !== e.type ? [o(o({}, i), {
+ end: t,
+ spec: {
+ attrs: {
+ className: r + "-line-background start"
+ }
+ }
+ }), o(o({}, i), {
+ start: [Math.min(t[0] + 1, n[0]), t[1]]
+ })] : null
+ }
+
+ function yl(e, t) {
+ for (var n = []; e;) {
+ var r = e.type;
+ "paragraph" !== r && "codeBlock" !== r || n.push(fl([Is(e), Ps(e) - 1], [Rs(e), Bs(e) + 1], t)), e = e.next
+ }
+ return n
+ }
+ var bl = {
+ heading: function(e, t, n) {
+ var r = e.level,
+ o = e.headingType,
+ i = [fl(t, n, al, {
+ level: r
+ })];
+ return "atx" === o ? i.push(fl(t, $s(t, r), dl)) : i.push(fl(_s(n, 0), n, al, {
+ seText: !0
+ })), i
+ },
+ strong: ml,
+ emph: ml,
+ strike: ml,
+ link: function(e, t, n) {
+ var r = e.lastChild,
+ o = e.extendedAutolink,
+ i = r ? Bs(r) + 1 : 2;
+ return o ? [fl(t, n, ll, {
+ desc: !0
+ })] : gl(t, n, t, i)
+ },
+ image: function(e, t, n) {
+ var r = e.lastChild,
+ o = r ? Bs(r) + 1 : 3,
+ s = $s(t, 1);
+ return i([fl(t, s, ul)], gl(t, n, s, o))
+ },
+ code: function(e, t, n) {
+ var r = e.tickCount,
+ o = $s(t, r),
+ i = $s(n, -r);
+ return [fl(t, n, cl), fl(t, o, cl, {
+ start: !0
+ }), fl(o, i, cl, {
+ marked: !0
+ }), fl(i, n, cl, {
+ end: !0
+ })]
+ },
+ codeBlock: function(e, t, n, r) {
+ var o = e.fenceOffset,
+ i = e.fenceLength,
+ s = e.fenceChar,
+ a = e.info,
+ l = e.infoPadding,
+ c = e.parent,
+ u = o + i,
+ d = [fl(_s(t, 1), n, "codeBlock")];
+ s && d.push(fl(t, $s(t, u), dl)), a && d.push(fl($s(t, i), $s(t, i + l + a.length), ul)), new RegExp("^(\\s{0,4})(" + s + "{" + i + ",})").test(r) && d.push(fl(_s(n, 1), n, dl));
+ var p = vl(c, t, n, "code-block");
+ return p ? d.concat(p) : d
+ },
+ blockQuote: function(e, t, n) {
+ var r = e.parent && "blockQuote" !== e.parent.type ? [fl(t, n, "blockQuote")] : [];
+ if (e.firstChild) {
+ var o = [];
+ "paragraph" === e.firstChild.type ? o = function(e) {
+ for (var t = []; e;) t.push(fl([Is(e), Ps(e)], [Rs(e), Bs(e) + 1], pl)), e = e.next;
+ return t
+ }(e.firstChild.firstChild) : "list" === e.firstChild.type && (o = yl(e.firstChild, pl)), r = i(i([], r), o)
+ }
+ return r
+ },
+ item: function(e, t) {
+ var n = e.listData,
+ r = n.padding,
+ s = n.task,
+ a = function(e) {
+ for (var t = 0; e.parent.parent && "item" === e.parent.parent.type;) e = e.parent.parent, t += 1;
+ return ["listItem", o(o({}, [{
+ odd: !0
+ }, {
+ even: !0
+ }][t % 2]), {
+ listStyle: !0
+ })]
+ }(e),
+ l = [fl.apply(void 0, i([t, $s(t, r)], a))];
+ return s && (l.push(fl($s(t, r), $s(t, r + 3), "taskDelimiter")), l.push(fl($s(t, r + 1), $s(t, r + 2), ul))), l.concat(yl(e.firstChild, pl))
+ },
+ customBlock: function(e, t, n) {
+ var r = e,
+ o = r.offset,
+ i = r.syntaxLength,
+ s = r.info,
+ a = r.parent,
+ l = o + i,
+ c = [fl(_s(t, 1), n, "customBlock")];
+ c.push(fl(t, $s(t, l), dl)), s && c.push(fl($s(t, l), $s(t, i + s.length), ul)), c.push(fl(_s(n, 1), n, dl));
+ var u = vl(a, t, n, "custom-block");
+ return u ? c.concat(u) : c
+ }
+ },
+ wl = {
+ thematicBreak: "thematicBreak",
+ table: "table",
+ tableCell: "tableCell",
+ htmlInline: "html"
+ };
+
+ function kl(e, t, n, r) {
+ var o = e.type;
+ return Ga()(bl[o]) ? bl[o](e, t, n, r) : wl[o] ? [fl(t, n, wl[o])] : null
+ }
+ var xl = {};
+
+ function Cl(e) {
+ var t = e.schema,
+ n = e.toastMark;
+ return new an({
+ appendTransaction: function(e, r, o) {
+ var i = e[0],
+ s = o.tr;
+ if (i.docChanged) {
+ var a = [];
+ i.getMeta("editResult").forEach((function(e) {
+ var t = e.nodes,
+ r = e.removedNodeRange;
+ if (t.length) {
+ a = a.concat(function(e, t) {
+ var n = e.doc,
+ r = t[0].sourcepos[0],
+ o = et(t).sourcepos[1],
+ i = [r[0], r[1]],
+ s = [o[0], o[1] + 1],
+ a = [];
+ return function(e, t, n) {
+ var r = [];
+ xl = {};
+ for (var o = t[0] - 1; o < n[0]; o += 1) {
+ var i = e.child(o),
+ s = i.attrs.codeEnd,
+ a = i.attrs.codeStart;
+ if (a && s && !Ue(r, a)) {
+ r.push(a), s = Math.min(s, e.childCount);
+ for (var l = a - 1, c = n[0], u = l; u < c; u += 1) xl[u] = !0
+ }
+ }
+ }(n, r, o), a.push({
+ start: i,
+ end: s
+ }), a
+ }(s, t));
+ for (var o = 0, i = t; o < i.length; o++)
+ for (var l = i[o].walker(), c = l.next(); c;) {
+ var u = c.node;
+ c.entering && (a = a.concat(Ml(u, n))), c = l.next()
+ }
+ } else if (r)
+ for (var d = s.doc.childCount - 1, p = r.line, h = p[0], f = p[1], m = Math.min(h, d), g = Math.min(f, d), v = m; v <= g; v += 1) xl[v] = !0
+ })),
+ function(e, t, n) {
+ var r = e.doc,
+ o = t.nodes.paragraph,
+ i = rl(r, r.childCount);
+ n.forEach((function(n) {
+ var s = n.start,
+ a = n.end,
+ l = n.spec,
+ c = n.lineBackground,
+ u = Math.min(s[0], r.childCount) - 1,
+ d = Math.min(a[0], r.childCount) - 1,
+ p = r.child(u),
+ h = r.child(d),
+ f = i[u],
+ m = i[d];
+ (f += s[1] + tl(p, s[1] - 1), m += a[1] + tl(h, a[1] - 1), l) ? c ? function(e, t, n, r, o) {
+ void 0 === o && (o = {});
+ for (var i = r.startIndex, s = r.endIndex, a = r.from, l = r.to, c = !1, u = i; u <= s; u += 1) delete xl[u], c = Tl(t, u, o);
+ c && e.setBlockType(a, l, n, o)
+ }(e, r, o, {
+ from: f,
+ to: m,
+ startIndex: u,
+ endIndex: d
+ }, l.attrs) : e.addMark(f, m, t.mark(l.type, l.attrs)): e.removeMark(f, m)
+ })),
+ function(e, t, n) {
+ Object.keys(xl).forEach((function(r) {
+ var o = Number(r),
+ i = Math.min(Number(r) + 1, e.doc.childCount - 1),
+ s = t[o],
+ a = t[i] - 1;
+ o === i && (a += 2), e.setBlockType(s, a, n)
+ }))
+ }(e, i, o)
+ }(s, t, a)
+ }
+ return s.setMeta("widget", i.getMeta("widget"))
+ }
+ })
+ }
+
+ function Tl(e, t, n) {
+ return Object.keys(n).some((function(r) {
+ return n[r] !== e.child(t).attrs[r]
+ }))
+ }
+
+ function Ml(e, t) {
+ var n = t.getLineTexts(),
+ r = [Is(e), Ps(e)],
+ o = [Rs(e), Bs(e) + 1],
+ i = kl(e, r, o, n[o[0] - 1]);
+ return null != i ? i : []
+ }
+ var Sl = ["taskList", "orderedList", "bulletList", "table", "strong", "emph", "strike", "heading", "thematicBreak", "blockQuote", "code", "codeBlock", "indent", "outdent"];
+
+ function El(e) {
+ var t = {
+ indent: {
+ active: !1,
+ disabled: !0
+ },
+ outdent: {
+ active: !1,
+ disabled: !0
+ }
+ },
+ n = !0;
+ return function(e, t, n) {
+ for (void 0 === n && (n = !0), e = n ? e : e.parent; e && "document" !== e.type;) t(e), e = e.parent
+ }(e, (function(e) {
+ var r = function(e) {
+ var t = e.type;
+ return Hs(e) ? e.listData.task ? "taskList" : "ordered" === e.listData.type ? "orderedList" : "bulletList" : -1 !== t.indexOf("table") ? "table" : Ue(Sl, t) ? t : null
+ }(e);
+ r && ("bulletList" === r || "orderedList" === r ? n && (t[r] = {
+ active: !0
+ }, t.indent.disabled = !1, t.outdent.disabled = !1, n = !1) : t[r] = {
+ active: !0
+ })
+ })), t
+ }
+
+ function Nl(e) {
+ var t = e.toastMark,
+ n = e.eventEmitter;
+ return new an({
+ view: function() {
+ return {
+ update: function(e, r) {
+ var o = e.state,
+ i = o.doc,
+ s = o.selection;
+ if (!(r && r.doc.eq(i) && r.selection.eq(s))) {
+ var a = s.from,
+ l = o.doc.resolve(a).start(),
+ c = a - l;
+ a === l && (c += 1);
+ var u = [o.doc.content.findIndex(a).index + 1, c],
+ d = t.findNodeAtPosition(u),
+ p = El(d);
+ n.emit("changeToolbarState", {
+ cursorPos: u,
+ mdNode: d,
+ toolbarState: p
+ }), n.emit("setFocusedNode", d)
+ }
+ }
+ }
+ }
+ })
+ }
+ var Ol = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "doc"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ content: "block+"
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Va),
+ Dl = function() {
+ function e() {}
+ return Object.defineProperty(e.prototype, "type", {
+ get: function() {
+ return "mark"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), e.prototype.setContext = function(e) {
+ this.context = e
+ }, e
+ }(),
+ Al = Dl;
+
+ function Ll(e, t) {
+ return Il(e, t - 1)
+ }
+
+ function Il(e, t) {
+ return e.child(t).textContent
+ }
+ var Rl = /^\s*> ?/,
+ Pl = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "blockQuote"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("block-quote")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.createBlockQuoteText = function(e, t) {
+ return t ? e.replace(Rl, "").trim() : "> " + e.trim()
+ }, n.prototype.extendBlockQuote = function() {
+ var e = this;
+ return function(t, n) {
+ var r = t.selection,
+ o = t.doc,
+ i = t.tr,
+ s = t.schema,
+ a = il(r),
+ l = a.endFromOffset,
+ c = a.endToOffset,
+ u = a.endIndex,
+ d = a.to,
+ p = Il(o, u);
+ if (Rl.test(p) && d > l && r.empty) {
+ if (!p.replace(Rl, "").trim()) i.deleteRange(l, c).split(i.mapping.map(c));
+ else {
+ var h = p.slice(d - l).trim();
+ Ls(i, c, h, Ns(s, e.createBlockQuoteText(h)))
+ }
+ return n(i), !0
+ }
+ return !1
+ }
+ }, n.prototype.commands = function() {
+ var e = this;
+ return function() {
+ return function(t, n) {
+ var r = t.selection,
+ o = t.doc,
+ i = il(r),
+ s = i.startFromOffset,
+ a = i.endToOffset,
+ l = i.startIndex,
+ c = i.endIndex,
+ u = Rl.test(Il(o, l)),
+ d = As({
+ state: t,
+ startIndex: l,
+ endIndex: c,
+ from: s,
+ createText: function(t) {
+ return e.createBlockQuoteText(t, u)
+ }
+ });
+ return n(d.setSelection(Os(d, d.mapping.map(a)))), !0
+ }
+ }
+ }, n.prototype.keymaps = function() {
+ var e = this.commands()();
+ return {
+ "alt-q": e,
+ "alt-Q": e,
+ Enter: this.extendBlockQuote()
+ }
+ }, n
+ }(Al),
+ Bl = /(^\s*)([-*+] |[\d]+\. )/,
+ Fl = /(^\s*)([\d])+\.( \[[ xX]])? /,
+ Hl = /^(\s*)((\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(.*)/,
+ zl = /(^\s*)([-*+]|[\d]+\.)( \[[ xX]])? /,
+ ql = /^(\s*)([-*+]+(\s(?:\[(?:x|\s)\]\s)?))(.*)/,
+ Vl = /(^\s*)([-*+] |[\d]+\. )(\[[ xX]] )/,
+ jl = /(^\s*)([-*+])( \[[ xX]]) /;
+
+ function $l(e) {
+ return Fl.test(e) ? "ordered" : "bullet"
+ }
+
+ function _l(e) {
+ for (var t = 0; e && "document" !== e.type;) "list" === e.type && (t += 1), e = e.parent;
+ return t
+ }
+
+ function Ul(e, t, n, r) {
+ for (var o = e.getLineTexts().length, i = [], s = t; r ? s < o : s > 1;) {
+ s = r ? s + 1 : s - 1;
+ var a = e.findFirstNodeAtLine(s),
+ l = _l(a);
+ if (l === n) i.push({
+ line: s,
+ depth: n,
+ mdNode: a
+ });
+ else if (l < n) break
+ }
+ return i
+ }
+
+ function Wl(e, t, n, r) {
+ void 0 === r && (r = 0);
+ var o = Number.MAX_VALUE,
+ i = 0,
+ s = t.map((function(t, s) {
+ var a = t.line;
+ o = Math.min(a - 1, o), i = Math.max(a - 1, i);
+ var l = Ll(e, a);
+ return l = "bullet" === n ? function(e) {
+ if (!Bl.test(e)) return "* " + e;
+ var t = $l(e);
+ return "bullet" === t && zl.test(e) ? e = e.replace(jl, "$1$2 ") : "ordered" === t && (e = e.replace(Fl, "$1* ")), e
+ }(l) : function(e, t) {
+ if (!Bl.test(e)) return t + ". " + e;
+ var n = $l(e);
+ if ("bullet" === n || "ordered" === n && zl.test(e)) e = e.replace(zl, "$1" + t + ". ");
+ else if ("ordered" === n) {
+ var r = Hl.exec(e)[3];
+ Number(r) !== t && (e = e.replace(Fl, "$1" + t + ". "))
+ }
+ return e
+ }(l, s + 1 + r), {
+ text: l,
+ line: a
+ }
+ }));
+ return {
+ changedResults: s,
+ firstIndex: o,
+ lastIndex: i
+ }
+ }
+
+ function Jl(e, t) {
+ var n, r, o, i, s, a, l, c = (r = (n = t).toastMark, o = n.mdNode, i = n.line, s = _l(o), a = Ul(r, i, s, !1).reverse(), l = Ul(r, i, s, !0), a.concat([{
+ line: i,
+ depth: s,
+ mdNode: o
+ }]).concat(l));
+ return Wl(t.doc, c, e)
+ }
+ var Gl = {
+ bullet: function(e) {
+ return Jl("bullet", e)
+ },
+ ordered: function(e) {
+ return Jl("ordered", e)
+ },
+ task: function(e) {
+ var t = e.mdNode,
+ n = e.doc,
+ r = e.line,
+ o = Ll(n, r);
+ return t.listData.task ? o = o.replace(Vl, "$1$2") : Hs(t) && (o = o.replace(Bl, "$1$2[ ] ")), {
+ changedResults: [{
+ text: o,
+ line: r
+ }]
+ }
+ }
+ },
+ Kl = {
+ bullet: function(e) {
+ var t = e.doc,
+ n = e.line;
+ return {
+ changedResults: [{
+ text: "* " + Ll(t, n),
+ line: n
+ }]
+ }
+ },
+ ordered: function(e) {
+ for (var t = e.toastMark, n = e.doc, r = e.line, o = e.startLine, i = Ll(n, r), s = 1, a = o, l = 0, c = o - 1; c > 0; c -= 1) {
+ var u = t.findFirstNodeAtLine(c),
+ d = Ll(n, c) && !!js(u, (function(e) {
+ return Hs(e)
+ })),
+ p = Hl.exec(Ll(n, c));
+ if (!p && !d) break;
+ if (p || !d) {
+ var h = p,
+ f = h[1],
+ m = h[3];
+ if (!f) {
+ s = Number(m), a = c;
+ break
+ }
+ } else l += 1
+ }
+ return {
+ changedResults: [{
+ text: s + r - a - l + ". " + i,
+ line: r
+ }]
+ }
+ },
+ task: function(e) {
+ var t = e.doc,
+ n = e.line;
+ return {
+ changedResults: [{
+ text: "* [ ] " + Ll(t, n),
+ line: n
+ }]
+ }
+ }
+ },
+ Zl = {
+ bullet: function(e) {
+ var t = e.line,
+ n = Ll(e.doc, t),
+ r = ql.exec(n);
+ return {
+ listSyntax: "" + r[1] + r[2]
+ }
+ },
+ ordered: function(e) {
+ var t = e.toastMark,
+ n = e.line,
+ r = e.mdNode,
+ i = e.doc,
+ s = _l(r),
+ a = Ll(i, n),
+ l = Hl.exec(a),
+ c = l[1],
+ u = l[3],
+ d = l[4],
+ p = Number(u) + 1,
+ h = "" + c + p + d,
+ f = Ul(t, n, s, !0).filter((function(e) {
+ var t = Hl.exec(Ll(i, e.line));
+ return t && t[1].length === c.length && !!js(e.mdNode, (function(e) {
+ return zs(e)
+ }))
+ }));
+ return o({
+ listSyntax: h
+ }, Wl(i, f, "ordered", p))
+ }
+ };
+
+ function Xl(e, t, n, r, o) {
+ for (var i = [], s = Ll(e, n), a = Hl.exec(s); a;) {
+ var l = a[1],
+ c = a[4],
+ u = a[5],
+ d = l.length;
+ if (d === o) i.push(Ns(t, "" + l + r + c + u)), r += 1, n += 1;
+ else if (d > o) {
+ var p = Xl(e, t, n, 1, d);
+ n = p.line, i = i.concat(p.nodes)
+ }
+ if (d < o || n > e.childCount) break;
+ s = Ll(e, n), a = Hl.exec(s)
+ }
+ return {
+ nodes: i,
+ line: n
+ }
+ }
+ var Ql = /(^\s{1,4})(.*)/;
+
+ function Yl(e, t, n) {
+ return e < t || Bl.test(n) || Rl.test(n)
+ }
+
+ function ec(e, t, n) {
+ var r = n.$from;
+ 0 === r.depth && (r = e.resolve(r.pos - 1));
+ var o = r.node(1),
+ i = r.start(1),
+ s = o.content.size;
+ return o.rangeHasMark(0, s, t.marks.table) && r.pos - i !== s && r.pos !== i
+ }
+
+ function tc(e, t) {
+ var n = t.from,
+ r = t.to;
+ if ("indent" === t.type) {
+ n += 4, r += 4 * (t.lineLen + 1)
+ } else {
+ var o = t.spaceLenList;
+ n -= o[0];
+ for (var i = 0; i < o.length; i += 1) r -= o[i]
+ }
+ return Os(e, n, r)
+ }
+ var nc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "paragraph"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ content: "inline*",
+ attrs: {
+ className: {
+ default: null
+ },
+ codeStart: {
+ default: null
+ },
+ codeEnd: {
+ default: null
+ }
+ },
+ selectable: !1,
+ group: "block",
+ parseDOM: [{
+ tag: "div"
+ }],
+ toDOM: function(e) {
+ var t = e.attrs;
+ return t.className ? ["div", {
+ class: Ca(t.className)
+ }, 0] : ["div", 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.reorderList = function(e, t) {
+ for (var n = this.context, r = n.view, o = n.toastMark, i = n.schema, s = r.state, a = s.tr, l = s.selection, c = s.doc, u = o.findFirstNodeAtLine(e), d = u; u && !qs(u) && "document" !== u.parent.type;)
+ if (zs(u = u.parent)) {
+ d = u;
+ break
+ } d && (e = d.sourcepos[0][0]);
+ var p = Hl.exec(Ll(c, e)),
+ h = p[1],
+ f = p[3],
+ m = h.length,
+ g = Xl(c, i, e, Number(f), m),
+ v = g.line,
+ y = g.nodes;
+ t = Math.max(t, v - 1);
+ for (var b = sl(c, e - 1).startOffset, w = e - 1; w <= t - 1; w += 1) {
+ var k = c.child(w),
+ x = k.nodeSize,
+ C = k.content,
+ T = a.mapping.map(b),
+ M = T + C.size;
+ a.replaceWith(T, M, y[w - e + 1]), b += x
+ }
+ var S = Os(a, l.from, l.to);
+ r.dispatch(a.setSelection(S))
+ }, n.prototype.indent = function(e) {
+ var t = this;
+ return void 0 === e && (e = !1),
+ function() {
+ return function(n, r) {
+ var o = n.schema,
+ i = n.selection,
+ s = n.doc,
+ a = il(i),
+ l = a.from,
+ c = a.to,
+ u = a.startFromOffset,
+ d = a.startIndex,
+ p = a.endIndex;
+ if (e && ec(s, o, i)) return !1;
+ var h = Il(s, d);
+ if (e && Yl(l, c, h) || !e && Bl.test(h)) {
+ var f = As({
+ state: n,
+ from: u,
+ startIndex: d,
+ endIndex: p,
+ createText: function(e) {
+ return " " + e
+ }
+ }),
+ m = {
+ type: "indent",
+ from: l,
+ to: c,
+ lineLen: p - d
+ };
+ r(f.setSelection(tc(f, m))), Hl.test(h) && t.reorderList(d + 1, p + 1)
+ } else e && r(n.tr.insert(c, Ns(o, " ")));
+ return !0
+ }
+ }
+ }, n.prototype.outdent = function(e) {
+ var t = this;
+ return void 0 === e && (e = !1),
+ function() {
+ return function(n, r) {
+ var o = n.selection,
+ i = n.doc,
+ s = n.schema,
+ a = il(o),
+ l = a.from,
+ c = a.to,
+ u = a.startFromOffset,
+ d = a.startIndex,
+ p = a.endIndex;
+ if (e && ec(i, s, o)) return !1;
+ var h = Il(i, d);
+ if (e && Yl(l, c, h) || !e && Bl.test(h)) {
+ var f = [],
+ m = As({
+ state: n,
+ from: u,
+ startIndex: d,
+ endIndex: p,
+ createText: function(e) {
+ var t = Ql.exec(e);
+ return f.push(t ? t[1].length : 0), e.replace(Ql, "$2")
+ }
+ }),
+ g = {
+ type: "outdent",
+ from: l,
+ to: c,
+ spaceLenList: f
+ };
+ r(m.setSelection(tc(m, g))), Hl.test(h) && t.reorderList(d + 1, p + 1)
+ } else if (e) {
+ var v = h.slice(0, c - u),
+ y = v.replace(/\s{1,4}$/, ""),
+ b = c - (v.length - y.length);
+ r(n.tr.delete(b, c))
+ }
+ return !0
+ }
+ }
+ }, n.prototype.deleteLines = function() {
+ var e = this;
+ return function(t, n) {
+ var r = e.context.view,
+ o = il(t.selection),
+ i = o.startFromOffset,
+ s = o.endToOffset;
+ return Zi((function() {
+ return n(t.tr.deleteRange(i, s)), !0
+ }), Bi)(t, n, r)
+ }
+ }, n.prototype.moveDown = function() {
+ return function(e, t) {
+ var n = e.doc,
+ r = e.tr,
+ o = e.selection,
+ i = e.schema,
+ s = il(o),
+ a = s.startFromOffset,
+ l = s.endToOffset,
+ c = s.endIndex;
+ if (c < n.content.childCount - 1) {
+ var u = n.child(c + 1),
+ d = u.nodeSize,
+ p = u.textContent;
+ return r.delete(l, l + d).split(a).insert(r.mapping.map(a) - 2, Ns(i, p)), t(r), !0
+ }
+ return !1
+ }
+ }, n.prototype.moveUp = function() {
+ return function(e, t) {
+ var n = e.tr,
+ r = e.doc,
+ o = e.selection,
+ i = e.schema,
+ s = il(o),
+ a = s.startFromOffset,
+ l = s.endToOffset,
+ c = s.startIndex;
+ if (c > 0) {
+ var u = r.child(c - 1),
+ d = u.nodeSize,
+ p = u.textContent;
+ return n.delete(a - d, a).split(n.mapping.map(l)).insert(n.mapping.map(l), Ns(i, p)), t(n), !0
+ }
+ return !1
+ }
+ }, n.prototype.commands = function() {
+ return {
+ indent: this.indent(),
+ outdent: this.outdent()
+ }
+ }, n.prototype.keymaps = function() {
+ return {
+ Tab: this.indent(!0)(),
+ "Shift-Tab": this.outdent(!0)(),
+ "Mod-d": this.deleteLines(),
+ "Mod-D": this.deleteLines(),
+ "Alt-ArrowUp": this.moveUp(),
+ "Alt-ArrowDown": this.moveDown()
+ }
+ }, n
+ }(Va),
+ rc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "text"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ group: "inline"
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Va),
+ oc = /^#{1,6}\s/,
+ ic = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "heading"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ attrs: {
+ level: {
+ default: 1
+ },
+ seText: {
+ default: !1
+ }
+ },
+ toDOM: function(e) {
+ var t = e.attrs,
+ n = "heading|heading" + t.level;
+ return t.seText && (n += "|delimiter|setext"), ["span", {
+ class: Ca.apply(void 0, n.split("|"))
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.createHeadingText = function(e, t, n) {
+ for (var r = t.replace(n, "").trim(), o = ""; e > 0;) o += "#", e -= 1;
+ return o + " " + r
+ }, n.prototype.commands = function() {
+ var e = this;
+ return function(t) {
+ return function(n, r) {
+ var o = t.level,
+ i = il(n.selection),
+ s = i.startFromOffset,
+ a = i.endToOffset,
+ l = As({
+ state: n,
+ from: s,
+ startIndex: i.startIndex,
+ endIndex: i.endIndex,
+ createText: function(t) {
+ var n = t.match(oc),
+ r = n ? n[0] : "";
+ return e.createHeadingText(o, t, r)
+ }
+ });
+ return r(l.setSelection(Os(l, l.mapping.map(a)))), !0
+ }
+ }
+ }, n
+ }(Al),
+ sc = "```",
+ ac = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "codeBlock"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("code-block")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.commands = function() {
+ return function() {
+ return function(e, t) {
+ var n = e.selection,
+ r = e.schema,
+ o = e.tr,
+ i = il(n),
+ s = i.startFromOffset,
+ a = i.endToOffset,
+ l = Ns(r, sc);
+ return o.insert(s, l).split(s + sc.length), o.split(o.mapping.map(a)).insert(o.mapping.map(a), l), t(o.setSelection(Os(o, o.mapping.map(a) - (sc.length + 2)))), !0
+ }
+ }
+ }, n.prototype.keepIndentation = function() {
+ var e = this;
+ return function(t, n) {
+ var r = t.selection,
+ o = t.tr,
+ i = t.doc,
+ s = t.schema,
+ a = e.context.toastMark,
+ l = il(r),
+ c = l.startFromOffset,
+ u = l.endToOffset,
+ d = l.endIndex,
+ p = l.from,
+ h = l.to,
+ f = Il(i, d);
+ if (p === h && f.trim()) {
+ var m = f.match(/^\s+/);
+ if (function(e) {
+ return e && "codeBlock" === e.type
+ }(a.findFirstNodeAtLine(d + 1)) && m) {
+ var g = m[0],
+ v = f.slice(h - c);
+ return Ls(o, u, v, Ns(s, g + v)), n(o), !0
+ }
+ }
+ return !1
+ }
+ }, n.prototype.keymaps = function() {
+ var e = this.commands()();
+ return {
+ "Shift-Mod-p": e,
+ "Shift-Mod-P": e,
+ Enter: this.keepIndentation()
+ }
+ }, n
+ }(Al),
+ lc = /\||\s/g;
+
+ function cc(e, t) {
+ for (var n = "|", r = 0; r < e; r += 1) n += t ? " --- |" : " |";
+ return n
+ }
+ var uc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "table"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("table")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.extendTable = function() {
+ var e = this;
+ return function(t, n) {
+ var r = t.selection,
+ o = t.doc,
+ i = t.tr,
+ s = t.schema;
+ if (!r.empty) return !1;
+ var a = il(r),
+ l = a.endFromOffset,
+ c = a.endToOffset,
+ u = a.endIndex,
+ d = a.to,
+ p = Il(o, u),
+ h = [u + 1, d - l + 1],
+ f = js(e.context.toastMark.findNodeAtPosition(h), (function(e) {
+ return Vs(e) && ("tableDelimRow" === e.parent.type || "tableBody" === e.parent.parent.type)
+ }));
+ if (f) {
+ var m = !p.replace(lc, "").trim(),
+ g = cc(f.parent.parent.parent.columns.length);
+ return m ? i.deleteRange(l, c).split(i.mapping.map(c)) : i.split(c).insert(i.mapping.map(c), Ns(s, g)).setSelection(Os(i, i.mapping.map(c) - 2)), n(i), !0
+ }
+ return !1
+ }
+ }, n.prototype.moveTableCell = function(e) {
+ var t = this;
+ return function(n, r) {
+ var o = n.selection,
+ i = n.tr,
+ s = il(o),
+ a = s.endFromOffset,
+ l = [s.endIndex + 1, s.to - a],
+ c = js(t.context.toastMark.findNodeAtPosition(l), (function(e) {
+ return Vs(e)
+ }));
+ if (c) {
+ var u = c.parent,
+ d = function(e) {
+ return e ? {
+ type: "next",
+ parentType: "tableHead",
+ childType: "firstChild"
+ } : {
+ type: "prev",
+ parentType: "tableBody",
+ childType: "lastChild"
+ }
+ }(e),
+ p = d.type,
+ h = d.parentType,
+ f = d.childType,
+ m = Bs(c);
+ if (c[p]) m = Bs(c[p]) - 1;
+ else {
+ var g = u[p] || u.parent.type !== h ? u[p] : u.parent[p][f];
+ if ("next" === p) m += (g ? Bs(g[f]) : 0) + 2;
+ else "prev" === p && (m = g ? -4 : 0)
+ }
+ return r(i.setSelection(Os(i, a + m))), !0
+ }
+ return !1
+ }
+ }, n.prototype.addTable = function() {
+ return function(e) {
+ return function(t, n) {
+ var r = t.selection,
+ o = t.tr,
+ s = t.schema,
+ a = e,
+ l = a.columnCount,
+ c = a.rowCount,
+ u = il(r).endToOffset,
+ d = function(e) {
+ return [cc(e), cc(e, !0)]
+ }(l),
+ p = function(e, t) {
+ for (var n = [], r = 0; r < t; r += 1) n.push(cc(e));
+ return n
+ }(l, c - 1);
+ return i(i([], d), p).forEach((function(e) {
+ o.split(o.mapping.map(u)).insert(o.mapping.map(u), Ns(s, e))
+ })), n(o.setSelection(Os(o, u + 4))), !0
+ }
+ }
+ }, n.prototype.commands = function() {
+ return {
+ addTable: this.addTable()
+ }
+ }, n.prototype.keymaps = function() {
+ return {
+ Enter: this.extendTable(),
+ Tab: this.moveTableCell(!0),
+ "Shift-Tab": this.moveTableCell(!1)
+ }
+ }, n
+ }(Al),
+ dc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "thematicBreak"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("thematic-break")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.hr = function() {
+ return function() {
+ return function(e, t) {
+ var n = e.selection,
+ r = e.schema,
+ o = e.tr,
+ i = il(n),
+ s = i.from,
+ a = i.to,
+ l = i.endToOffset,
+ c = Ns(r, "***");
+ return o.split(s).replaceWith(o.mapping.map(s), o.mapping.map(a), c).split(o.mapping.map(a)).setSelection(Os(o, o.mapping.map(l))), t(o), !0
+ }
+ }
+ }, n.prototype.commands = function() {
+ return {
+ hr: this.hr()
+ }
+ }, n.prototype.keymaps = function() {
+ var e = this.hr()();
+ return {
+ "Mod-l": e,
+ "Mod-L": e
+ }
+ }, n
+ }(Al);
+
+ function pc(e, t) {
+ var n = e.type;
+ return t <= e.sourcepos[0][0] && ("codeBlock" === n || "heading" === n || n.match("table"))
+ }
+ var hc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "listItem"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ attrs: {
+ odd: {
+ default: !1
+ },
+ even: {
+ default: !1
+ },
+ listStyle: {
+ default: !1
+ }
+ },
+ toDOM: function(e) {
+ var t = e.attrs,
+ n = t.odd,
+ r = t.even,
+ o = "list-item";
+ return t.listStyle && (o += "|list-item-style"), n && (o += "|list-item-odd"), r && (o += "|list-item-even"), ["span", {
+ class: Ca.apply(void 0, o.split("|"))
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.extendList = function() {
+ var e = this;
+ return function(t, n) {
+ var r = t.selection,
+ o = t.doc,
+ i = t.schema,
+ s = t.tr,
+ a = e.context.toastMark,
+ l = il(r),
+ c = l.to,
+ u = l.startFromOffset,
+ d = l.endFromOffset,
+ p = l.endIndex,
+ h = l.endToOffset,
+ f = Il(o, p);
+ if (!Bl.test(f) || r.from === u || !r.empty) return !1;
+ if (!f.replace(zl, "").trim()) s.deleteRange(d, h).split(s.mapping.map(h));
+ else {
+ var m = $l(f),
+ g = a.findFirstNodeAtLine(p + 1),
+ v = f.slice(c - d),
+ y = {
+ toastMark: a,
+ mdNode: g,
+ doc: o,
+ line: p + 1
+ },
+ b = Zl[m](y),
+ w = b.listSyntax,
+ k = b.changedResults;
+ if (null == k ? void 0 : k.length) {
+ s.split(c), k.unshift({
+ text: w + v,
+ line: p + 1
+ }), e.changeToListPerLine(s, k, {
+ from: c,
+ startLine: k[0].line,
+ endLine: et(k).line
+ });
+ var x = s.mapping.map(h) - v.length;
+ s.setSelection(Os(s, x))
+ } else {
+ Ls(s, h, v, Ns(i, w + v))
+ }
+ }
+ return n(s), !0
+ }
+ }, n.prototype.toList = function(e) {
+ var t = this;
+ return function() {
+ return function(n, r) {
+ for (var o = n.doc, i = n.tr, s = n.selection, a = t.context.toastMark, l = il(s), c = l.startIndex + 1, u = l.endIndex + 1, d = l.endToOffset, p = [], h = c; h <= u; h += 1) {
+ var f = a.findFirstNodeAtLine(h);
+ if (f && pc(f, h)) break;
+ if (-1 === p.indexOf(h)) {
+ var m = {
+ toastMark: a,
+ mdNode: f,
+ doc: o,
+ line: h,
+ startLine: c
+ },
+ g = (Hs(f) ? Gl[e](m) : Kl[e](m)).changedResults,
+ v = t.changeToListPerLine(i, g, {
+ from: sl(o, g[0].line - 1).startOffset,
+ startLine: g[0].line,
+ endLine: et(g).line,
+ indexDiff: 1
+ });
+ d = Math.max(v, d), g && (p = p.concat(g.map((function(e) {
+ return e.line
+ }))))
+ }
+ }
+ return r(i.setSelection(Os(i, i.mapping.map(d)))), !0
+ }
+ }
+ }, n.prototype.changeToListPerLine = function(e, t, n) {
+ for (var r = n.from, o = n.startLine, i = n.endLine, s = n.indexDiff, a = void 0 === s ? 0 : s, l = 0, c = function(n) {
+ var o = e.doc.child(n),
+ i = o.nodeSize,
+ s = o.content,
+ c = e.mapping.map(r),
+ d = c + s.size,
+ p = t.filter((function(e) {
+ return e.line - a === n
+ }))[0];
+ p && (e.replaceWith(c, d, Ns(u.context.schema, p.text)), l = Math.max(l, r + s.size)), r += i
+ }, u = this, d = o - a; d <= i - a; d += 1) c(d);
+ return l
+ }, n.prototype.toggleTask = function() {
+ var e = this;
+ return function(t, n) {
+ for (var r = t.selection, o = t.tr, i = t.doc, s = t.schema, a = e.context.toastMark, l = il(r), c = l.startIndex, u = l.endIndex, d = null, p = c; p <= u; p += 1) {
+ var h = a.findFirstNodeAtLine(p + 1);
+ if (Hs(h) && h.listData.task) {
+ var f = h.listData,
+ m = f.checked,
+ g = f.padding,
+ v = m ? " " : "x",
+ y = h.sourcepos[0],
+ b = sl(i, y[0] - 1).startOffset;
+ b += y[1] + g, d = o.replaceWith(b, b + 1, s.text(v))
+ }
+ }
+ return !!d && (n(d), !0)
+ }
+ }, n.prototype.commands = function() {
+ return {
+ bulletList: this.toList("bullet"),
+ orderedList: this.toList("ordered"),
+ taskList: this.toList("task")
+ }
+ }, n.prototype.keymaps = function() {
+ var e = this.toList("bullet")(),
+ t = this.toList("ordered")(),
+ n = this.toList("task")(),
+ r = this.toggleTask();
+ return {
+ "Mod-u": e,
+ "Mod-U": e,
+ "Mod-o": t,
+ "Mod-O": t,
+ "alt-t": n,
+ "alt-T": n,
+ "Shift-Ctrl-x": r,
+ "Shift-Ctrl-X": r,
+ Enter: this.extendList()
+ }
+ }, n
+ }(Al);
+
+ function fc(e, t) {
+ return function() {
+ return function(n, r) {
+ var o = n.tr,
+ i = n.selection,
+ s = Ga()(e) ? e : function(t) {
+ return e.test(t)
+ },
+ a = t.length,
+ l = o.doc,
+ c = Ya(i),
+ u = c[0],
+ d = c[1],
+ p = Math.max(u - a, 1),
+ h = Math.min(d + a, l.content.size - 1),
+ f = i.content(),
+ m = f.content.textBetween(0, f.content.size, "\n"),
+ g = l.textBetween(p, u, "\n"),
+ v = l.textBetween(d, h, "\n");
+ if (m = "" + g + m + v, g && v && s(m)) o.delete(h - a, h).delete(p, p + a);
+ else {
+ o.insertText(t, d).insertText(t, u);
+ var y = i.empty ? Os(o, u + a) : Os(o, u + a, d + a);
+ o.setSelection(y)
+ }
+ return r(o), !0
+ }
+ }
+ }
+ var mc = /^(\*{2}|_{2}).*([\s\S]*)\1$/m,
+ gc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "strong"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("strong")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.bold = function() {
+ return fc(mc, "**")
+ }, n.prototype.commands = function() {
+ return {
+ bold: this.bold()
+ }
+ }, n.prototype.keymaps = function() {
+ var e = this.bold()();
+ return {
+ "Mod-b": e,
+ "Mod-B": e
+ }
+ }, n
+ }(Al),
+ vc = /^(~{2}).*([\s\S]*)\1$/m,
+ yc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "strike"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("strike")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.commands = function() {
+ return fc(vc, "~~")
+ }, n.prototype.keymaps = function() {
+ var e = this.commands()();
+ return {
+ "Mod-s": e,
+ "Mod-S": e
+ }
+ }, n
+ }(Al),
+ bc = /^(\*|_).*([\s\S]*)\1$/m,
+ wc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "emph"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("emph")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.italic = function() {
+ return fc(bc, "*")
+ }, n.prototype.commands = function() {
+ return {
+ italic: this.italic()
+ }
+ }, n.prototype.keymaps = function() {
+ var e = this.italic()();
+ return {
+ "Mod-i": e,
+ "Mod-I": e
+ }
+ }, n
+ }(Al),
+ kc = /^(`).*([\s\S]*)\1$/m,
+ xc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "code"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ attrs: {
+ start: {
+ default: !1
+ },
+ end: {
+ default: !1
+ },
+ marked: {
+ default: !1
+ }
+ },
+ toDOM: function(e) {
+ var t = e.attrs,
+ n = "code";
+ return t.start && (n += "|delimiter|start"), t.end && (n += "|delimiter|end"), t.marked && (n += "|marked-text"), ["span", {
+ class: Ca.apply(void 0, n.split("|"))
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.commands = function() {
+ return fc(kc, "`")
+ }, n.prototype.keymaps = function() {
+ var e = this.commands()();
+ return {
+ "Shift-Mod-c": e,
+ "Shift-Mod-C": e
+ }
+ }, n
+ }(Al),
+ Cc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "link"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ attrs: {
+ url: {
+ default: !1
+ },
+ desc: {
+ default: !1
+ }
+ },
+ toDOM: function(e) {
+ var t = e.attrs,
+ n = "link";
+ return t.url && (n += "|link-url|marked-text"), t.desc && (n += "|link-desc|marked-text"), ["span", {
+ class: Ca.apply(void 0, n.split("|"))
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.addLinkOrImage = function(e) {
+ return function(t) {
+ return function(n, r) {
+ var o = n.selection,
+ i = n.tr,
+ s = n.schema,
+ a = Ya(o),
+ l = a[0],
+ c = a[1],
+ u = t,
+ d = u.linkText,
+ p = u.altText,
+ h = u.linkUrl,
+ f = u.imageUrl,
+ m = d,
+ g = h,
+ v = "";
+ return "image" === e && (m = p, g = f, v = "!"), v += "[" + (m = Ze(m)) + "](" + g + ")", r(i.replaceWith(l, c, Ns(s, v))), !0
+ }
+ }
+ }, n.prototype.commands = function() {
+ return {
+ addImage: this.addLinkOrImage("image"),
+ addLink: this.addLinkOrImage("link")
+ }
+ }, n
+ }(Al),
+ Tc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "taskDelimiter"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("delimiter", "list-item")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Al),
+ Mc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "delimiter"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("delimiter")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Al),
+ Sc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "meta"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("meta")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Al),
+ Ec = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "markedText"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("marked-text")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Al),
+ Nc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "tableCell"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("table-cell")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Al),
+ Oc = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "html"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("html")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n
+ }(Al),
+ Dc = "$$",
+ Ac = function(e) {
+ function n() {
+ return null !== e && e.apply(this, arguments) || this
+ }
+ return t(n, e), Object.defineProperty(n.prototype, "name", {
+ get: function() {
+ return "customBlock"
+ },
+ enumerable: !1,
+ configurable: !0
+ }), Object.defineProperty(n.prototype, "schema", {
+ get: function() {
+ return {
+ toDOM: function() {
+ return ["span", {
+ class: Ca("custom-block")
+ }, 0]
+ }
+ }
+ },
+ enumerable: !1,
+ configurable: !0
+ }), n.prototype.commands = function() {
+ return function(e) {
+ return function(t, n) {
+ var r = t.selection,
+ o = t.schema,
+ i = t.tr,
+ s = il(r),
+ a = s.startFromOffset,
+ l = s.endToOffset;
+ if (!(null == e ? void 0 : e.info)) return !1;
+ var c = "$$" + e.info,
+ u = Ns(o, c),
+ d = Ns(o, Dc);
+ return i.insert(a, u).split(a + c.length), i.split(i.mapping.map(l)).insert(i.mapping.map(l), d), n(i.setSelection(Os(i, i.mapping.map(l) - (Dc.length + 2)))), !0
+ }
+ }
+ }, n
+ }(Al),
+ Lc = /x|backspace/i,
+ Ic = /^\[(\s*)(x?)(\s*)\](?:\s+)/i;
+ var Rc = "cut",
+ Pc = /\r\n|\n|\r/,
+ Bc = function(e) {
+ function n(t, n) {
+ var r = e.call(this, t) || this,
+ i = n.toastMark,
+ s = n.useCommandShortcut,
+ a = void 0 === s || s,
+ l = n.mdPlugins,
+ c = void 0 === l ? [] : l;
+ return r.editorType = "markdown", r.el.classList.add("md-mode"), r.toastMark = i, r.extraPlugins = c, r.specs = r.createSpecs(), r.schema = r.createSchema(), r.context = r.createContext(), r.keymaps = r.createKeymaps(a), r.view = r.createView(), r.commands = r.createCommands(), r.specs.setContext(o(o({}, r.context), {
+ view: r.view
+ })), r.createClipboard(), r.eventEmitter.listen("changePreviewTabWrite", (function(e) {
+ return r.toggleActive(!0, e)
+ })), r.eventEmitter.listen("changePreviewTabPreview", (function() {
+ return r.toggleActive(!1)
+ })), r.initEvent(), r
+ }
+ return t(n, e), n.prototype.toggleActive = function(e, t) {
+ Sa(this.el, "active", e), e ? t || this.focus() : this.blur()
+ }, n.prototype.createClipboard = function() {
+ var e = this;
+ this.clipboard = document.createElement("textarea"), this.clipboard.className = xa("pseudo-clipboard"), this.clipboard.addEventListener("paste", (function(t) {
+ var n = t.clipboardData || window.clipboardData,
+ r = n && n.items;
+ if (r) {
+ var o = vi()(r).some((function(e) {
+ return "string" === e.kind && "text/rtf" === e.type
+ }));
+ if (!o) {
+ var i = za(r);
+ i && (t.preventDefault(), Ha(e.eventEmitter, i, t.type))
+ }
+ }
+ })), this.clipboard.addEventListener("input", (function(t) {
+ var n = t.target.value;
+ e.replaceSelection(n), t.preventDefault(), t.target.value = ""
+ })), this.el.insertBefore(this.clipboard, this.view.dom)
+ }, n.prototype.createContext = function() {
+ return {
+ toastMark: this.toastMark,
+ schema: this.schema,
+ eventEmitter: this.eventEmitter
+ }
+ }, n.prototype.createSpecs = function() {
+ return new Qa([new Ol, new nc, new _a, new rc, new ic, new Pl, new ac, new Ac, new uc, new Nc, new dc, new hc, new gc, new yc, new wc, new xc, new Cc, new Mc, new Tc, new Ec, new Sc, new Oc])
+ }, n.prototype.createPlugins = function() {
+ return i([Cl(this.context), Nl(this.context), (e = this.context, t = e.schema, n = e.toastMark, new an({
+ props: {
+ handleDOMEvents: {
+ keyup: function(e, r) {
+ var o, i = e.state,
+ s = i.doc,
+ a = i.tr,
+ l = i.selection;
+ if (l.empty && Lc.test(r.key)) {
+ var c = il(l),
+ u = c.startIndex,
+ d = c.startFromOffset,
+ p = [u + 1, c.from - d + 1],
+ h = js(n.findNodeAtPosition(p), (function(e) {
+ var t;
+ return "paragraph" === e.type && "item" === (null === (t = e.parent) || void 0 === t ? void 0 : t.type)
+ }));
+ if (null === (o = null == h ? void 0 : h.firstChild) || void 0 === o ? void 0 : o.literal) {
+ var f = h.firstChild,
+ m = f.literal.match(Ic);
+ if (m) {
+ var g = f.sourcepos[0],
+ v = m[1],
+ y = m[2],
+ b = m[3],
+ w = v.length + b.length,
+ k = sl(s, g[0] - 1).startOffset,
+ x = g[1] + k;
+ if (y) {
+ var C = w ? w + 1 : 0;
+ a.replaceWith(x, C + x, t.text(y)), e.dispatch(a)
+ } else w || (a.insertText(" ", x), e.dispatch(a))
+ }
+ }
+ }
+ return !1
+ }
+ }
+ }
+ }))], this.createPluginProps()).concat(this.defaultPlugins);
+ var e, t, n
+ }, n.prototype.createView = function() {
+ var e = this;
+ return new ui(this.el, {
+ state: this.createState(),
+ dispatchTransaction: function(t) {
+ e.updateMarkdown(t);
+ var n = e.view.state.applyTransaction(t).state;
+ e.view.updateState(n), e.emitChangeEvent(t)
+ },
+ handleKeyDown: function(t, n) {
+ return (n.metaKey || n.ctrlKey) && "V" === n.key.toUpperCase() && e.clipboard.focus(), e.eventEmitter.emit("keydown", e.editorType, n), !1
+ },
+ handleDOMEvents: {
+ copy: function(t, n) {
+ return e.captureCopy(n)
+ },
+ cut: function(t, n) {
+ return e.captureCopy(n, Rc)
+ },
+ scroll: function() {
+ return e.eventEmitter.emit("scroll", "editor"), !0
+ },
+ keyup: function(t, n) {
+ return e.eventEmitter.emit("keyup", e.editorType, n), !1
+ }
+ },
+ nodeViews: {
+ widget: ja
+ }
+ })
+ }, n.prototype.createCommands = function() {
+ return this.specs.commands(this.view)
+ }, n.prototype.captureCopy = function(e, t) {
+ e.preventDefault();
+ var n = this.view.state,
+ r = n.selection,
+ o = n.tr;
+ if (r.empty) return !0;
+ var i = this.getChanged(r.content());
+ return e.clipboardData ? e.clipboardData.setData("text/plain", i) : window.clipboardData.setData("Text", i), t === Rc && this.view.dispatch(o.deleteSelection().scrollIntoView().setMeta("uiEvent", Rc)), !0
+ }, n.prototype.updateMarkdown = function(e) {
+ var t = this;
+ e.docChanged && e.steps.forEach((function(n, r) {
+ if (n.slice && !(n instanceof wt)) {
+ var o = e.docs[r],
+ i = [n.from, n.to],
+ s = nl(o, i[0], i[1]),
+ a = s[0],
+ l = s[1],
+ c = t.getChanged(n.slice);
+ a[0] === l[0] && a[1] === l[1] && "" === c && (c = "\n");
+ var u = t.toastMark.editMarkdown(a, l, c);
+ t.eventEmitter.emit("updatePreview", u), e.setMeta("editResult", u).scrollIntoView()
+ }
+ }))
+ }, n.prototype.getChanged = function(e) {
+ var t = "",
+ n = e.content.size;
+ return e.content.nodesBetween(0, n, (function(e, r) {
+ e.isText ? t += e.text.slice(Math.max(0, r) - r, n - r) : e.isBlock && r > 0 && (t += "\n")
+ })), t
+ }, n.prototype.setSelection = function(e, t) {
+ void 0 === t && (t = e);
+ var n = this.view.state.tr,
+ r = ol(n.doc, e, t),
+ o = r[0],
+ i = r[1];
+ this.view.dispatch(n.setSelection(Os(n, o, i)).scrollIntoView())
+ }, n.prototype.replaceSelection = function(e, t, n) {
+ var r, o = this.view.state,
+ i = o.tr,
+ s = o.schema,
+ a = o.doc,
+ l = e.split(Pc).map((function(e) {
+ return Es(s, ra(e, s))
+ })),
+ c = new v(d.from(l), 1, 1);
+ if (this.focus(), t && n) {
+ var u = ol(a, t, n),
+ p = u[0],
+ h = u[1];
+ r = i.replaceRange(p, h, c)
+ } else r = i.replaceSelection(c);
+ this.view.dispatch(r.scrollIntoView())
+ }, n.prototype.deleteSelection = function(e, t) {
+ var n, r = this.view.state,
+ o = r.tr,
+ i = r.doc;
+ if (e && t) {
+ var s = ol(i, e, t),
+ a = s[0],
+ l = s[1];
+ n = o.deleteRange(a, l)
+ } else n = o.deleteSelection();
+ this.view.dispatch(n.scrollIntoView())
+ }, n.prototype.getSelectedText = function(e, t) {
+ var n = this.view.state,
+ r = n.doc,
+ o = n.selection,
+ i = o.from,
+ s = o.to;
+ if (e && t) {
+ var a = ol(r, e, t);
+ i = a[0], s = a[1]
+ }
+ return r.textBetween(i, s, "\n")
+ }, n.prototype.getSelection = function() {
+ var e = this.view.state.selection,
+ t = e.from,
+ n = e.to;
+ return nl(this.view.state.tr.doc, t, n)
+ }, n.prototype.setMarkdown = function(e, t) {
+ void 0 === t && (t = !0);
+ var n = e.split(Pc),
+ r = this.view.state,
+ o = r.tr,
+ i = r.doc,
+ s = r.schema,
+ a = n.map((function(e) {
+ return Es(s, ra(e, s))
+ }));
+ this.view.dispatch(o.replaceWith(0, i.content.size, a)), t && this.moveCursorToEnd(!0)
+ }, n.prototype.addWidget = function(e, t, n) {
+ var r = this.view.state,
+ o = r.tr,
+ i = r.doc,
+ s = r.selection,
+ a = n ? ol(i, n, n)[0] : s.to;
+ this.view.dispatch(o.setMeta("widget", {
+ pos: a,
+ node: e,
+ style: t
+ }))
+ }, n.prototype.replaceWithWidget = function(e, t, n) {
+ var r = this.view.state,
+ o = r.tr,
+ i = r.schema,
+ s = ol(r.doc, e, t),
+ a = ra(n, i);
+ this.view.dispatch(o.replaceWith(s[0], s[1], a))
+ }, n.prototype.getRangeInfoOfNode = function(e) {
+ var t = this.view.state,
+ n = t.doc,
+ r = t.selection,
+ o = e || nl(n, r.from)[0],
+ i = this.toastMark.findNodeAtPosition(o);
+ return "text" === i.type && "paragraph" !== i.parent.type && (i = i.parent), i.sourcepos[1][1] += 1, {
+ range: i.sourcepos,
+ type: i.type
+ }
+ }, n.prototype.getMarkdown = function() {
+ return this.toastMark.getLineTexts().map((function(e) {
+ return Xs(e)
+ })).join("\n")
+ }, n.prototype.getToastMark = function() {
+ return this.toastMark
+ }, n
+ }(Wa),
+ Fc = Bc,
+ Hc = n(349),
+ zc = n.n(Hc),
+ qc = n(348),
+ Vc = n.n(qc),
+ jc = function(e, t) {
+ return jc = Object.setPrototypeOf || {
+ __proto__: []
+ }
+ instanceof Array && function(e, t) {
+ e.__proto__ = t
+ } || function(e, t) {
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n])
+ }, jc(e, t)
+ };
+
+ function $c(e, t) {
+ if ("function" != typeof t && null !== t) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
+
+ function n() {
+ this.constructor = e
+ }
+ jc(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
+ }
+ var _c = function() {
+ return _c = Object.assign || function(e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var o in t = arguments[n]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
+ return e
+ }, _c.apply(this, arguments)
+ };
+
+ function Uc(e, t, n) {
+ if (n || 2 === arguments.length)
+ for (var r, o = 0, i = t.length; o < i; o++) !r && o in t || (r || (r = Array.prototype.slice.call(t, 0, o)), r[o] = t[o]);
+ return e.concat(r || Array.prototype.slice.call(t))
+ }
+ var Wc = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : void 0 !== n.g ? n.g : "undefined" != typeof self ? self : {},
+ Jc = {};
+
+ function Gc(e, t, n) {
+ var r, o, i, s, a, l = "";
+ for ("string" != typeof t && (n = t, t = Gc.defaultChars), void 0 === n && (n = !0), a = function(e) {
+ var t, n, r = Jc[e];
+ if (r) return r;
+ for (r = Jc[e] = [], t = 0; t < 128; t++) n = String.fromCharCode(t), /^[0-9a-z]$/i.test(n) ? r.push(n) : r.push("%" + ("0" + t.toString(16).toUpperCase()).slice(-2));
+ for (t = 0; t < e.length; t++) r[e.charCodeAt(t)] = e[t];
+ return r
+ }(t), r = 0, o = e.length; r < o; r++)
+ if (i = e.charCodeAt(r), n && 37 === i && r + 2 < o && /^[0-9a-f]{2}$/i.test(e.slice(r + 1, r + 3))) l += e.slice(r, r + 3), r += 2;
+ else if (i < 128) l += a[i];
+ else if (i >= 55296 && i <= 57343) {
+ if (i >= 55296 && i <= 56319 && r + 1 < o && (s = e.charCodeAt(r + 1)) >= 56320 && s <= 57343) {
+ l += encodeURIComponent(e[r] + e[r + 1]), r++;
+ continue
+ }
+ l += "%EF%BF%BD"
+ } else l += encodeURIComponent(e[r]);
+ return l
+ }
+ Gc.defaultChars = ";/?:@&=+$,-_.!~*'()#", Gc.componentChars = "-_.!~*'()";
+ var Kc = Gc,
+ Zc = {},
+ Xc = {},
+ Qc = {
+ Aacute: "Ã",
+ aacute: "á",
+ Abreve: "Ä‚",
+ abreve: "ă",
+ ac: "∾",
+ acd: "∿",
+ acE: "∾̳",
+ Acirc: "Â",
+ acirc: "â",
+ acute: "´",
+ Acy: "Ð",
+ acy: "а",
+ AElig: "Æ",
+ aelig: "æ",
+ af: "â¡",
+ Afr: "ð”„",
+ afr: "ð”ž",
+ Agrave: "À",
+ agrave: "Ã ",
+ alefsym: "ℵ",
+ aleph: "ℵ",
+ Alpha: "Α",
+ alpha: "α",
+ Amacr: "Ä€",
+ amacr: "Ä",
+ amalg: "⨿",
+ amp: "&",
+ AMP: "&",
+ andand: "â©•",
+ And: "â©“",
+ and: "∧",
+ andd: "⩜",
+ andslope: "⩘",
+ andv: "⩚",
+ ang: "∠",
+ ange: "⦤",
+ angle: "∠",
+ angmsdaa: "⦨",
+ angmsdab: "⦩",
+ angmsdac: "⦪",
+ angmsdad: "⦫",
+ angmsdae: "⦬",
+ angmsdaf: "â¦",
+ angmsdag: "⦮",
+ angmsdah: "⦯",
+ angmsd: "∡",
+ angrt: "∟",
+ angrtvb: "⊾",
+ angrtvbd: "â¦",
+ angsph: "∢",
+ angst: "Ã…",
+ angzarr: "â¼",
+ Aogon: "Ä„",
+ aogon: "Ä…",
+ Aopf: "ð”¸",
+ aopf: "ð•’",
+ apacir: "⩯",
+ ap: "≈",
+ apE: "â©°",
+ ape: "≊",
+ apid: "≋",
+ apos: "'",
+ ApplyFunction: "â¡",
+ approx: "≈",
+ approxeq: "≊",
+ Aring: "Ã…",
+ aring: "Ã¥",
+ Ascr: "ð’œ",
+ ascr: "ð’¶",
+ Assign: "≔",
+ ast: "*",
+ asymp: "≈",
+ asympeq: "â‰",
+ Atilde: "Ã",
+ atilde: "ã",
+ Auml: "Ä",
+ auml: "ä",
+ awconint: "∳",
+ awint: "⨑",
+ backcong: "≌",
+ backepsilon: "϶",
+ backprime: "‵",
+ backsim: "∽",
+ backsimeq: "â‹",
+ Backslash: "∖",
+ Barv: "â«§",
+ barvee: "⊽",
+ barwed: "⌅",
+ Barwed: "⌆",
+ barwedge: "⌅",
+ bbrk: "⎵",
+ bbrktbrk: "⎶",
+ bcong: "≌",
+ Bcy: "Б",
+ bcy: "б",
+ bdquo: "„",
+ becaus: "∵",
+ because: "∵",
+ Because: "∵",
+ bemptyv: "⦰",
+ bepsi: "϶",
+ bernou: "ℬ",
+ Bernoullis: "ℬ",
+ Beta: "Î’",
+ beta: "β",
+ beth: "â„¶",
+ between: "≬",
+ Bfr: "ð”…",
+ bfr: "ð”Ÿ",
+ bigcap: "â‹‚",
+ bigcirc: "â—¯",
+ bigcup: "⋃",
+ bigodot: "⨀",
+ bigoplus: "â¨",
+ bigotimes: "⨂",
+ bigsqcup: "⨆",
+ bigstar: "★",
+ bigtriangledown: "â–½",
+ bigtriangleup: "â–³",
+ biguplus: "⨄",
+ bigvee: "â‹",
+ bigwedge: "â‹€",
+ bkarow: "â¤",
+ blacklozenge: "â§«",
+ blacksquare: "â–ª",
+ blacktriangle: "â–´",
+ blacktriangledown: "â–¾",
+ blacktriangleleft: "â—‚",
+ blacktriangleright: "â–¸",
+ blank: "â£",
+ blk12: "â–’",
+ blk14: "â–‘",
+ blk34: "â–“",
+ block: "â–ˆ",
+ bne: "=⃥",
+ bnequiv: "≡⃥",
+ bNot: "â«",
+ bnot: "âŒ",
+ Bopf: "ð”¹",
+ bopf: "ð•“",
+ bot: "⊥",
+ bottom: "⊥",
+ bowtie: "⋈",
+ boxbox: "⧉",
+ boxdl: "â”",
+ boxdL: "â••",
+ boxDl: "â•–",
+ boxDL: "â•—",
+ boxdr: "┌",
+ boxdR: "â•’",
+ boxDr: "â•“",
+ boxDR: "â•”",
+ boxh: "─",
+ boxH: "â•",
+ boxhd: "┬",
+ boxHd: "╤",
+ boxhD: "â•¥",
+ boxHD: "╦",
+ boxhu: "â”´",
+ boxHu: "â•§",
+ boxhU: "╨",
+ boxHU: "â•©",
+ boxminus: "⊟",
+ boxplus: "⊞",
+ boxtimes: "⊠",
+ boxul: "┘",
+ boxuL: "â•›",
+ boxUl: "╜",
+ boxUL: "â•",
+ boxur: "â””",
+ boxuR: "╘",
+ boxUr: "â•™",
+ boxUR: "╚",
+ boxv: "│",
+ boxV: "â•‘",
+ boxvh: "┼",
+ boxvH: "╪",
+ boxVh: "â•«",
+ boxVH: "╬",
+ boxvl: "┤",
+ boxvL: "â•¡",
+ boxVl: "â•¢",
+ boxVL: "â•£",
+ boxvr: "├",
+ boxvR: "╞",
+ boxVr: "╟",
+ boxVR: "â• ",
+ bprime: "‵",
+ breve: "˘",
+ Breve: "˘",
+ brvbar: "¦",
+ bscr: "ð’·",
+ Bscr: "ℬ",
+ bsemi: "â",
+ bsim: "∽",
+ bsime: "â‹",
+ bsolb: "â§…",
+ bsol: "\\",
+ bsolhsub: "⟈",
+ bull: "•",
+ bullet: "•",
+ bump: "≎",
+ bumpE: "⪮",
+ bumpe: "â‰",
+ Bumpeq: "≎",
+ bumpeq: "â‰",
+ Cacute: "Ć",
+ cacute: "ć",
+ capand: "â©„",
+ capbrcup: "⩉",
+ capcap: "â©‹",
+ cap: "∩",
+ Cap: "â‹’",
+ capcup: "⩇",
+ capdot: "â©€",
+ CapitalDifferentialD: "â……",
+ caps: "∩︀",
+ caret: "â",
+ caron: "ˇ",
+ Cayleys: "â„",
+ ccaps: "â©",
+ Ccaron: "Č",
+ ccaron: "Ä",
+ Ccedil: "Ç",
+ ccedil: "ç",
+ Ccirc: "Ĉ",
+ ccirc: "ĉ",
+ Cconint: "∰",
+ ccups: "⩌",
+ ccupssm: "â©",
+ Cdot: "ÄŠ",
+ cdot: "Ä‹",
+ cedil: "¸",
+ Cedilla: "¸",
+ cemptyv: "⦲",
+ cent: "¢",
+ centerdot: "·",
+ CenterDot: "·",
+ cfr: "ð” ",
+ Cfr: "â„",
+ CHcy: "Ч",
+ chcy: "ч",
+ check: "✓",
+ checkmark: "✓",
+ Chi: "Χ",
+ chi: "χ",
+ circ: "ˆ",
+ circeq: "≗",
+ circlearrowleft: "↺",
+ circlearrowright: "↻",
+ circledast: "⊛",
+ circledcirc: "⊚",
+ circleddash: "âŠ",
+ CircleDot: "⊙",
+ circledR: "®",
+ circledS: "Ⓢ",
+ CircleMinus: "⊖",
+ CirclePlus: "⊕",
+ CircleTimes: "⊗",
+ cir: "â—‹",
+ cirE: "⧃",
+ cire: "≗",
+ cirfnint: "â¨",
+ cirmid: "⫯",
+ cirscir: "â§‚",
+ ClockwiseContourIntegral: "∲",
+ CloseCurlyDoubleQuote: "â€",
+ CloseCurlyQuote: "’",
+ clubs: "♣",
+ clubsuit: "♣",
+ colon: ":",
+ Colon: "∷",
+ Colone: "â©´",
+ colone: "≔",
+ coloneq: "≔",
+ comma: ",",
+ commat: "@",
+ comp: "âˆ",
+ compfn: "∘",
+ complement: "âˆ",
+ complexes: "â„‚",
+ cong: "≅",
+ congdot: "â©",
+ Congruent: "≡",
+ conint: "∮",
+ Conint: "∯",
+ ContourIntegral: "∮",
+ copf: "ð•”",
+ Copf: "â„‚",
+ coprod: "âˆ",
+ Coproduct: "âˆ",
+ copy: "©",
+ COPY: "©",
+ copysr: "â„—",
+ CounterClockwiseContourIntegral: "∳",
+ crarr: "↵",
+ cross: "✗",
+ Cross: "⨯",
+ Cscr: "ð’ž",
+ cscr: "ð’¸",
+ csub: "â«",
+ csube: "â«‘",
+ csup: "â«",
+ csupe: "â«’",
+ ctdot: "⋯",
+ cudarrl: "⤸",
+ cudarrr: "⤵",
+ cuepr: "⋞",
+ cuesc: "⋟",
+ cularr: "↶",
+ cularrp: "⤽",
+ cupbrcap: "⩈",
+ cupcap: "⩆",
+ CupCap: "â‰",
+ cup: "∪",
+ Cup: "â‹“",
+ cupcup: "⩊",
+ cupdot: "âŠ",
+ cupor: "â©…",
+ cups: "∪︀",
+ curarr: "↷",
+ curarrm: "⤼",
+ curlyeqprec: "⋞",
+ curlyeqsucc: "⋟",
+ curlyvee: "⋎",
+ curlywedge: "â‹",
+ curren: "¤",
+ curvearrowleft: "↶",
+ curvearrowright: "↷",
+ cuvee: "⋎",
+ cuwed: "â‹",
+ cwconint: "∲",
+ cwint: "∱",
+ cylcty: "âŒ",
+ dagger: "†",
+ Dagger: "‡",
+ daleth: "ℸ",
+ darr: "↓",
+ Darr: "↡",
+ dArr: "⇓",
+ dash: "â€",
+ Dashv: "⫤",
+ dashv: "⊣",
+ dbkarow: "â¤",
+ dblac: "Ë",
+ Dcaron: "ÄŽ",
+ dcaron: "Ä",
+ Dcy: "Д",
+ dcy: "д",
+ ddagger: "‡",
+ ddarr: "⇊",
+ DD: "â……",
+ dd: "â…†",
+ DDotrahd: "⤑",
+ ddotseq: "â©·",
+ deg: "°",
+ Del: "∇",
+ Delta: "Δ",
+ delta: "δ",
+ demptyv: "⦱",
+ dfisht: "⥿",
+ Dfr: "ð”‡",
+ dfr: "ð”¡",
+ dHar: "⥥",
+ dharl: "⇃",
+ dharr: "⇂",
+ DiacriticalAcute: "´",
+ DiacriticalDot: "Ë™",
+ DiacriticalDoubleAcute: "Ë",
+ DiacriticalGrave: "`",
+ DiacriticalTilde: "˜",
+ diam: "â‹„",
+ diamond: "â‹„",
+ Diamond: "â‹„",
+ diamondsuit: "♦",
+ diams: "♦",
+ die: "¨",
+ DifferentialD: "â…†",
+ digamma: "Ï",
+ disin: "⋲",
+ div: "÷",
+ divide: "÷",
+ divideontimes: "⋇",
+ divonx: "⋇",
+ DJcy: "Ђ",
+ djcy: "Ñ’",
+ dlcorn: "⌞",
+ dlcrop: "âŒ",
+ dollar: "$",
+ Dopf: "ð”»",
+ dopf: "ð••",
+ Dot: "¨",
+ dot: "Ë™",
+ DotDot: "⃜",
+ doteq: "â‰",
+ doteqdot: "≑",
+ DotEqual: "â‰",
+ dotminus: "∸",
+ dotplus: "∔",
+ dotsquare: "⊡",
+ doublebarwedge: "⌆",
+ DoubleContourIntegral: "∯",
+ DoubleDot: "¨",
+ DoubleDownArrow: "⇓",
+ DoubleLeftArrow: "â‡",
+ DoubleLeftRightArrow: "⇔",
+ DoubleLeftTee: "⫤",
+ DoubleLongLeftArrow: "⟸",
+ DoubleLongLeftRightArrow: "⟺",
+ DoubleLongRightArrow: "⟹",
+ DoubleRightArrow: "⇒",
+ DoubleRightTee: "⊨",
+ DoubleUpArrow: "⇑",
+ DoubleUpDownArrow: "⇕",
+ DoubleVerticalBar: "∥",
+ DownArrowBar: "⤓",
+ downarrow: "↓",
+ DownArrow: "↓",
+ Downarrow: "⇓",
+ DownArrowUpArrow: "⇵",
+ DownBreve: "Ì‘",
+ downdownarrows: "⇊",
+ downharpoonleft: "⇃",
+ downharpoonright: "⇂",
+ DownLeftRightVector: "â¥",
+ DownLeftTeeVector: "⥞",
+ DownLeftVectorBar: "⥖",
+ DownLeftVector: "↽",
+ DownRightTeeVector: "⥟",
+ DownRightVectorBar: "⥗",
+ DownRightVector: "â‡",
+ DownTeeArrow: "↧",
+ DownTee: "⊤",
+ drbkarow: "â¤",
+ drcorn: "⌟",
+ drcrop: "⌌",
+ Dscr: "ð’Ÿ",
+ dscr: "ð’¹",
+ DScy: "Ð…",
+ dscy: "Ñ•",
+ dsol: "â§¶",
+ Dstrok: "Ä",
+ dstrok: "Ä‘",
+ dtdot: "⋱",
+ dtri: "â–¿",
+ dtrif: "â–¾",
+ duarr: "⇵",
+ duhar: "⥯",
+ dwangle: "⦦",
+ DZcy: "Ð",
+ dzcy: "ÑŸ",
+ dzigrarr: "⟿",
+ Eacute: "É",
+ eacute: "é",
+ easter: "â©®",
+ Ecaron: "Äš",
+ ecaron: "Ä›",
+ Ecirc: "Ê",
+ ecirc: "ê",
+ ecir: "≖",
+ ecolon: "≕",
+ Ecy: "Ð",
+ ecy: "Ñ",
+ eDDot: "â©·",
+ Edot: "Ä–",
+ edot: "Ä—",
+ eDot: "≑",
+ ee: "â…‡",
+ efDot: "≒",
+ Efr: "ð”ˆ",
+ efr: "ð”¢",
+ eg: "⪚",
+ Egrave: "È",
+ egrave: "è",
+ egs: "⪖",
+ egsdot: "⪘",
+ el: "⪙",
+ Element: "∈",
+ elinters: "â§",
+ ell: "â„“",
+ els: "⪕",
+ elsdot: "⪗",
+ Emacr: "Ä’",
+ emacr: "Ä“",
+ empty: "∅",
+ emptyset: "∅",
+ EmptySmallSquare: "â—»",
+ emptyv: "∅",
+ EmptyVerySmallSquare: "â–«",
+ emsp13: " ",
+ emsp14: " ",
+ emsp: " ",
+ ENG: "ÅŠ",
+ eng: "Å‹",
+ ensp: " ",
+ Eogon: "Ę",
+ eogon: "Ä™",
+ Eopf: "ð”¼",
+ eopf: "ð•–",
+ epar: "â‹•",
+ eparsl: "â§£",
+ eplus: "⩱",
+ epsi: "ε",
+ Epsilon: "Ε",
+ epsilon: "ε",
+ epsiv: "ϵ",
+ eqcirc: "≖",
+ eqcolon: "≕",
+ eqsim: "≂",
+ eqslantgtr: "⪖",
+ eqslantless: "⪕",
+ Equal: "⩵",
+ equals: "=",
+ EqualTilde: "≂",
+ equest: "≟",
+ Equilibrium: "⇌",
+ equiv: "≡",
+ equivDD: "⩸",
+ eqvparsl: "â§¥",
+ erarr: "⥱",
+ erDot: "≓",
+ escr: "ℯ",
+ Escr: "â„°",
+ esdot: "â‰",
+ Esim: "⩳",
+ esim: "≂",
+ Eta: "Η",
+ eta: "η",
+ ETH: "Ã",
+ eth: "ð",
+ Euml: "Ë",
+ euml: "ë",
+ euro: "€",
+ excl: "!",
+ exist: "∃",
+ Exists: "∃",
+ expectation: "â„°",
+ exponentiale: "â…‡",
+ ExponentialE: "â…‡",
+ fallingdotseq: "≒",
+ Fcy: "Ф",
+ fcy: "Ñ„",
+ female: "♀",
+ ffilig: "ffi",
+ fflig: "ff",
+ ffllig: "ffl",
+ Ffr: "ð”‰",
+ ffr: "ð”£",
+ filig: "ï¬",
+ FilledSmallSquare: "â—¼",
+ FilledVerySmallSquare: "â–ª",
+ fjlig: "fj",
+ flat: "â™",
+ fllig: "fl",
+ fltns: "â–±",
+ fnof: "Æ’",
+ Fopf: "ð”½",
+ fopf: "ð•—",
+ forall: "∀",
+ ForAll: "∀",
+ fork: "â‹”",
+ forkv: "â«™",
+ Fouriertrf: "ℱ",
+ fpartint: "â¨",
+ frac12: "½",
+ frac13: "â…“",
+ frac14: "¼",
+ frac15: "â…•",
+ frac16: "â…™",
+ frac18: "â…›",
+ frac23: "â…”",
+ frac25: "â…–",
+ frac34: "¾",
+ frac35: "â…—",
+ frac38: "⅜",
+ frac45: "â…˜",
+ frac56: "â…š",
+ frac58: "â…",
+ frac78: "â…ž",
+ frasl: "â„",
+ frown: "⌢",
+ fscr: "ð’»",
+ Fscr: "ℱ",
+ gacute: "ǵ",
+ Gamma: "Γ",
+ gamma: "γ",
+ Gammad: "Ϝ",
+ gammad: "Ï",
+ gap: "⪆",
+ Gbreve: "Äž",
+ gbreve: "ÄŸ",
+ Gcedil: "Ä¢",
+ Gcirc: "Ĝ",
+ gcirc: "Ä",
+ Gcy: "Г",
+ gcy: "г",
+ Gdot: "Ä ",
+ gdot: "Ä¡",
+ ge: "≥",
+ gE: "≧",
+ gEl: "⪌",
+ gel: "â‹›",
+ geq: "≥",
+ geqq: "≧",
+ geqslant: "⩾",
+ gescc: "⪩",
+ ges: "⩾",
+ gesdot: "⪀",
+ gesdoto: "⪂",
+ gesdotol: "⪄",
+ gesl: "⋛︀",
+ gesles: "⪔",
+ Gfr: "ð”Š",
+ gfr: "ð”¤",
+ gg: "≫",
+ Gg: "â‹™",
+ ggg: "â‹™",
+ gimel: "â„·",
+ GJcy: "Ѓ",
+ gjcy: "Ñ“",
+ gla: "⪥",
+ gl: "≷",
+ glE: "⪒",
+ glj: "⪤",
+ gnap: "⪊",
+ gnapprox: "⪊",
+ gne: "⪈",
+ gnE: "≩",
+ gneq: "⪈",
+ gneqq: "≩",
+ gnsim: "â‹§",
+ Gopf: "ð”¾",
+ gopf: "ð•˜",
+ grave: "`",
+ GreaterEqual: "≥",
+ GreaterEqualLess: "â‹›",
+ GreaterFullEqual: "≧",
+ GreaterGreater: "⪢",
+ GreaterLess: "≷",
+ GreaterSlantEqual: "⩾",
+ GreaterTilde: "≳",
+ Gscr: "ð’¢",
+ gscr: "ℊ",
+ gsim: "≳",
+ gsime: "⪎",
+ gsiml: "âª",
+ gtcc: "⪧",
+ gtcir: "⩺",
+ gt: ">",
+ GT: ">",
+ Gt: "≫",
+ gtdot: "â‹—",
+ gtlPar: "⦕",
+ gtquest: "⩼",
+ gtrapprox: "⪆",
+ gtrarr: "⥸",
+ gtrdot: "â‹—",
+ gtreqless: "â‹›",
+ gtreqqless: "⪌",
+ gtrless: "≷",
+ gtrsim: "≳",
+ gvertneqq: "≩︀",
+ gvnE: "≩︀",
+ Hacek: "ˇ",
+ hairsp: " ",
+ half: "½",
+ hamilt: "â„‹",
+ HARDcy: "Ъ",
+ hardcy: "ÑŠ",
+ harrcir: "⥈",
+ harr: "↔",
+ hArr: "⇔",
+ harrw: "â†",
+ Hat: "^",
+ hbar: "â„",
+ Hcirc: "Ĥ",
+ hcirc: "Ä¥",
+ hearts: "♥",
+ heartsuit: "♥",
+ hellip: "…",
+ hercon: "⊹",
+ hfr: "ð”¥",
+ Hfr: "ℌ",
+ HilbertSpace: "â„‹",
+ hksearow: "⤥",
+ hkswarow: "⤦",
+ hoarr: "⇿",
+ homtht: "∻",
+ hookleftarrow: "↩",
+ hookrightarrow: "↪",
+ hopf: "ð•™",
+ Hopf: "â„",
+ horbar: "―",
+ HorizontalLine: "─",
+ hscr: "ð’½",
+ Hscr: "â„‹",
+ hslash: "â„",
+ Hstrok: "Ħ",
+ hstrok: "ħ",
+ HumpDownHump: "≎",
+ HumpEqual: "â‰",
+ hybull: "âƒ",
+ hyphen: "â€",
+ Iacute: "Ã",
+ iacute: "Ã",
+ ic: "â£",
+ Icirc: "ÃŽ",
+ icirc: "î",
+ Icy: "И",
+ icy: "и",
+ Idot: "İ",
+ IEcy: "Е",
+ iecy: "е",
+ iexcl: "¡",
+ iff: "⇔",
+ ifr: "ð”¦",
+ Ifr: "â„‘",
+ Igrave: "Ì",
+ igrave: "ì",
+ ii: "â…ˆ",
+ iiiint: "⨌",
+ iiint: "âˆ",
+ iinfin: "⧜",
+ iiota: "â„©",
+ IJlig: "IJ",
+ ijlig: "ij",
+ Imacr: "Ī",
+ imacr: "Ä«",
+ image: "â„‘",
+ ImaginaryI: "â…ˆ",
+ imagline: "â„",
+ imagpart: "â„‘",
+ imath: "ı",
+ Im: "â„‘",
+ imof: "⊷",
+ imped: "Ƶ",
+ Implies: "⇒",
+ incare: "â„…",
+ in: "∈",
+ infin: "∞",
+ infintie: "â§",
+ inodot: "ı",
+ intcal: "⊺",
+ int: "∫",
+ Int: "∬",
+ integers: "ℤ",
+ Integral: "∫",
+ intercal: "⊺",
+ Intersection: "â‹‚",
+ intlarhk: "⨗",
+ intprod: "⨼",
+ InvisibleComma: "â£",
+ InvisibleTimes: "â¢",
+ IOcy: "Ð",
+ iocy: "Ñ‘",
+ Iogon: "Ä®",
+ iogon: "į",
+ Iopf: "ð•€",
+ iopf: "ð•š",
+ Iota: "Ι",
+ iota: "ι",
+ iprod: "⨼",
+ iquest: "¿",
+ iscr: "ð’¾",
+ Iscr: "â„",
+ isin: "∈",
+ isindot: "⋵",
+ isinE: "⋹",
+ isins: "â‹´",
+ isinsv: "⋳",
+ isinv: "∈",
+ it: "â¢",
+ Itilde: "Ĩ",
+ itilde: "Ä©",
+ Iukcy: "І",
+ iukcy: "Ñ–",
+ Iuml: "Ã",
+ iuml: "ï",
+ Jcirc: "Ä´",
+ jcirc: "ĵ",
+ Jcy: "Й",
+ jcy: "й",
+ Jfr: "ð”",
+ jfr: "ð”§",
+ jmath: "È·",
+ Jopf: "ð•",
+ jopf: "ð•›",
+ Jscr: "ð’¥",
+ jscr: "ð’¿",
+ Jsercy: "Ј",
+ jsercy: "ј",
+ Jukcy: "Є",
+ jukcy: "Ñ”",
+ Kappa: "Κ",
+ kappa: "κ",
+ kappav: "ϰ",
+ Kcedil: "Ķ",
+ kcedil: "Ä·",
+ Kcy: "К",
+ kcy: "к",
+ Kfr: "ð”Ž",
+ kfr: "ð”¨",
+ kgreen: "ĸ",
+ KHcy: "Ð¥",
+ khcy: "Ñ…",
+ KJcy: "Ќ",
+ kjcy: "ќ",
+ Kopf: "ð•‚",
+ kopf: "ð•œ",
+ Kscr: "ð’¦",
+ kscr: "ð“€",
+ lAarr: "⇚",
+ Lacute: "Ĺ",
+ lacute: "ĺ",
+ laemptyv: "⦴",
+ lagran: "â„’",
+ Lambda: "Λ",
+ lambda: "λ",
+ lang: "⟨",
+ Lang: "⟪",
+ langd: "⦑",
+ langle: "⟨",
+ lap: "⪅",
+ Laplacetrf: "â„’",
+ laquo: "«",
+ larrb: "⇤",
+ larrbfs: "⤟",
+ larr: "â†",
+ Larr: "↞",
+ lArr: "â‡",
+ larrfs: "â¤",
+ larrhk: "↩",
+ larrlp: "↫",
+ larrpl: "⤹",
+ larrsim: "⥳",
+ larrtl: "↢",
+ latail: "⤙",
+ lAtail: "⤛",
+ lat: "⪫",
+ late: "âª",
+ lates: "âªï¸€",
+ lbarr: "⤌",
+ lBarr: "⤎",
+ lbbrk: "â²",
+ lbrace: "{",
+ lbrack: "[",
+ lbrke: "⦋",
+ lbrksld: "â¦",
+ lbrkslu: "â¦",
+ Lcaron: "Ľ",
+ lcaron: "ľ",
+ Lcedil: "Ä»",
+ lcedil: "ļ",
+ lceil: "⌈",
+ lcub: "{",
+ Lcy: "Л",
+ lcy: "л",
+ ldca: "⤶",
+ ldquo: "“",
+ ldquor: "„",
+ ldrdhar: "⥧",
+ ldrushar: "⥋",
+ ldsh: "↲",
+ le: "≤",
+ lE: "≦",
+ LeftAngleBracket: "⟨",
+ LeftArrowBar: "⇤",
+ leftarrow: "â†",
+ LeftArrow: "â†",
+ Leftarrow: "â‡",
+ LeftArrowRightArrow: "⇆",
+ leftarrowtail: "↢",
+ LeftCeiling: "⌈",
+ LeftDoubleBracket: "⟦",
+ LeftDownTeeVector: "⥡",
+ LeftDownVectorBar: "⥙",
+ LeftDownVector: "⇃",
+ LeftFloor: "⌊",
+ leftharpoondown: "↽",
+ leftharpoonup: "↼",
+ leftleftarrows: "⇇",
+ leftrightarrow: "↔",
+ LeftRightArrow: "↔",
+ Leftrightarrow: "⇔",
+ leftrightarrows: "⇆",
+ leftrightharpoons: "⇋",
+ leftrightsquigarrow: "â†",
+ LeftRightVector: "⥎",
+ LeftTeeArrow: "↤",
+ LeftTee: "⊣",
+ LeftTeeVector: "⥚",
+ leftthreetimes: "â‹‹",
+ LeftTriangleBar: "â§",
+ LeftTriangle: "⊲",
+ LeftTriangleEqual: "⊴",
+ LeftUpDownVector: "⥑",
+ LeftUpTeeVector: "⥠",
+ LeftUpVectorBar: "⥘",
+ LeftUpVector: "↿",
+ LeftVectorBar: "⥒",
+ LeftVector: "↼",
+ lEg: "⪋",
+ leg: "⋚",
+ leq: "≤",
+ leqq: "≦",
+ leqslant: "⩽",
+ lescc: "⪨",
+ les: "⩽",
+ lesdot: "â©¿",
+ lesdoto: "âª",
+ lesdotor: "⪃",
+ lesg: "⋚︀",
+ lesges: "⪓",
+ lessapprox: "⪅",
+ lessdot: "â‹–",
+ lesseqgtr: "⋚",
+ lesseqqgtr: "⪋",
+ LessEqualGreater: "⋚",
+ LessFullEqual: "≦",
+ LessGreater: "≶",
+ lessgtr: "≶",
+ LessLess: "⪡",
+ lesssim: "≲",
+ LessSlantEqual: "⩽",
+ LessTilde: "≲",
+ lfisht: "⥼",
+ lfloor: "⌊",
+ Lfr: "ð”",
+ lfr: "ð”©",
+ lg: "≶",
+ lgE: "⪑",
+ lHar: "⥢",
+ lhard: "↽",
+ lharu: "↼",
+ lharul: "⥪",
+ lhblk: "â–„",
+ LJcy: "Љ",
+ ljcy: "Ñ™",
+ llarr: "⇇",
+ ll: "≪",
+ Ll: "⋘",
+ llcorner: "⌞",
+ Lleftarrow: "⇚",
+ llhard: "⥫",
+ lltri: "â—º",
+ Lmidot: "Ä¿",
+ lmidot: "Å€",
+ lmoustache: "⎰",
+ lmoust: "⎰",
+ lnap: "⪉",
+ lnapprox: "⪉",
+ lne: "⪇",
+ lnE: "≨",
+ lneq: "⪇",
+ lneqq: "≨",
+ lnsim: "⋦",
+ loang: "⟬",
+ loarr: "⇽",
+ lobrk: "⟦",
+ longleftarrow: "⟵",
+ LongLeftArrow: "⟵",
+ Longleftarrow: "⟸",
+ longleftrightarrow: "⟷",
+ LongLeftRightArrow: "⟷",
+ Longleftrightarrow: "⟺",
+ longmapsto: "⟼",
+ longrightarrow: "⟶",
+ LongRightArrow: "⟶",
+ Longrightarrow: "⟹",
+ looparrowleft: "↫",
+ looparrowright: "↬",
+ lopar: "⦅",
+ Lopf: "ð•ƒ",
+ lopf: "ð•",
+ loplus: "â¨",
+ lotimes: "⨴",
+ lowast: "∗",
+ lowbar: "_",
+ LowerLeftArrow: "↙",
+ LowerRightArrow: "↘",
+ loz: "â—Š",
+ lozenge: "â—Š",
+ lozf: "â§«",
+ lpar: "(",
+ lparlt: "⦓",
+ lrarr: "⇆",
+ lrcorner: "⌟",
+ lrhar: "⇋",
+ lrhard: "â¥",
+ lrm: "‎",
+ lrtri: "⊿",
+ lsaquo: "‹",
+ lscr: "ð“",
+ Lscr: "â„’",
+ lsh: "↰",
+ Lsh: "↰",
+ lsim: "≲",
+ lsime: "âª",
+ lsimg: "âª",
+ lsqb: "[",
+ lsquo: "‘",
+ lsquor: "‚",
+ Lstrok: "Å",
+ lstrok: "Å‚",
+ ltcc: "⪦",
+ ltcir: "⩹",
+ lt: "<",
+ LT: "<",
+ Lt: "≪",
+ ltdot: "â‹–",
+ lthree: "â‹‹",
+ ltimes: "⋉",
+ ltlarr: "⥶",
+ ltquest: "â©»",
+ ltri: "â—ƒ",
+ ltrie: "⊴",
+ ltrif: "â—‚",
+ ltrPar: "⦖",
+ lurdshar: "⥊",
+ luruhar: "⥦",
+ lvertneqq: "≨︀",
+ lvnE: "≨︀",
+ macr: "¯",
+ male: "♂",
+ malt: "✠",
+ maltese: "✠",
+ Map: "⤅",
+ map: "↦",
+ mapsto: "↦",
+ mapstodown: "↧",
+ mapstoleft: "↤",
+ mapstoup: "↥",
+ marker: "â–®",
+ mcomma: "⨩",
+ Mcy: "М",
+ mcy: "м",
+ mdash: "—",
+ mDDot: "∺",
+ measuredangle: "∡",
+ MediumSpace: "âŸ",
+ Mellintrf: "ℳ",
+ Mfr: "ð”",
+ mfr: "ð”ª",
+ mho: "â„§",
+ micro: "µ",
+ midast: "*",
+ midcir: "â«°",
+ mid: "∣",
+ middot: "·",
+ minusb: "⊟",
+ minus: "−",
+ minusd: "∸",
+ minusdu: "⨪",
+ MinusPlus: "∓",
+ mlcp: "â«›",
+ mldr: "…",
+ mnplus: "∓",
+ models: "⊧",
+ Mopf: "ð•„",
+ mopf: "ð•ž",
+ mp: "∓",
+ mscr: "ð“‚",
+ Mscr: "ℳ",
+ mstpos: "∾",
+ Mu: "Μ",
+ mu: "μ",
+ multimap: "⊸",
+ mumap: "⊸",
+ nabla: "∇",
+ Nacute: "Ń",
+ nacute: "Å„",
+ nang: "∠⃒",
+ nap: "≉",
+ napE: "⩰̸",
+ napid: "≋̸",
+ napos: "ʼn",
+ napprox: "≉",
+ natural: "â™®",
+ naturals: "â„•",
+ natur: "â™®",
+ nbsp: "Â ",
+ nbump: "≎̸",
+ nbumpe: "â‰Ì¸",
+ ncap: "⩃",
+ Ncaron: "Ň",
+ ncaron: "ň",
+ Ncedil: "Å…",
+ ncedil: "ņ",
+ ncong: "≇",
+ ncongdot: "â©Ì¸",
+ ncup: "â©‚",
+ Ncy: "Ð",
+ ncy: "н",
+ ndash: "–",
+ nearhk: "⤤",
+ nearr: "↗",
+ neArr: "⇗",
+ nearrow: "↗",
+ ne: "≠",
+ nedot: "â‰Ì¸",
+ NegativeMediumSpace: "​",
+ NegativeThickSpace: "​",
+ NegativeThinSpace: "​",
+ NegativeVeryThinSpace: "​",
+ nequiv: "≢",
+ nesear: "⤨",
+ nesim: "≂̸",
+ NestedGreaterGreater: "≫",
+ NestedLessLess: "≪",
+ NewLine: "\n",
+ nexist: "∄",
+ nexists: "∄",
+ Nfr: "ð”‘",
+ nfr: "ð”«",
+ ngE: "≧̸",
+ nge: "≱",
+ ngeq: "≱",
+ ngeqq: "≧̸",
+ ngeqslant: "⩾̸",
+ nges: "⩾̸",
+ nGg: "⋙̸",
+ ngsim: "≵",
+ nGt: "≫⃒",
+ ngt: "≯",
+ ngtr: "≯",
+ nGtv: "≫̸",
+ nharr: "↮",
+ nhArr: "⇎",
+ nhpar: "⫲",
+ ni: "∋",
+ nis: "⋼",
+ nisd: "⋺",
+ niv: "∋",
+ NJcy: "Њ",
+ njcy: "Ñš",
+ nlarr: "↚",
+ nlArr: "â‡",
+ nldr: "‥",
+ nlE: "≦̸",
+ nle: "≰",
+ nleftarrow: "↚",
+ nLeftarrow: "â‡",
+ nleftrightarrow: "↮",
+ nLeftrightarrow: "⇎",
+ nleq: "≰",
+ nleqq: "≦̸",
+ nleqslant: "⩽̸",
+ nles: "⩽̸",
+ nless: "≮",
+ nLl: "⋘̸",
+ nlsim: "≴",
+ nLt: "≪⃒",
+ nlt: "≮",
+ nltri: "⋪",
+ nltrie: "⋬",
+ nLtv: "≪̸",
+ nmid: "∤",
+ NoBreak: "â ",
+ NonBreakingSpace: "Â ",
+ nopf: "ð•Ÿ",
+ Nopf: "â„•",
+ Not: "⫬",
+ not: "¬",
+ NotCongruent: "≢",
+ NotCupCap: "â‰",
+ NotDoubleVerticalBar: "∦",
+ NotElement: "∉",
+ NotEqual: "≠",
+ NotEqualTilde: "≂̸",
+ NotExists: "∄",
+ NotGreater: "≯",
+ NotGreaterEqual: "≱",
+ NotGreaterFullEqual: "≧̸",
+ NotGreaterGreater: "≫̸",
+ NotGreaterLess: "≹",
+ NotGreaterSlantEqual: "⩾̸",
+ NotGreaterTilde: "≵",
+ NotHumpDownHump: "≎̸",
+ NotHumpEqual: "â‰Ì¸",
+ notin: "∉",
+ notindot: "⋵̸",
+ notinE: "⋹̸",
+ notinva: "∉",
+ notinvb: "â‹·",
+ notinvc: "â‹¶",
+ NotLeftTriangleBar: "â§Ì¸",
+ NotLeftTriangle: "⋪",
+ NotLeftTriangleEqual: "⋬",
+ NotLess: "≮",
+ NotLessEqual: "≰",
+ NotLessGreater: "≸",
+ NotLessLess: "≪̸",
+ NotLessSlantEqual: "⩽̸",
+ NotLessTilde: "≴",
+ NotNestedGreaterGreater: "⪢̸",
+ NotNestedLessLess: "⪡̸",
+ notni: "∌",
+ notniva: "∌",
+ notnivb: "⋾",
+ notnivc: "⋽",
+ NotPrecedes: "⊀",
+ NotPrecedesEqual: "⪯̸",
+ NotPrecedesSlantEqual: "â‹ ",
+ NotReverseElement: "∌",
+ NotRightTriangleBar: "â§Ì¸",
+ NotRightTriangle: "â‹«",
+ NotRightTriangleEqual: "â‹",
+ NotSquareSubset: "âŠÌ¸",
+ NotSquareSubsetEqual: "â‹¢",
+ NotSquareSuperset: "âŠÌ¸",
+ NotSquareSupersetEqual: "â‹£",
+ NotSubset: "⊂⃒",
+ NotSubsetEqual: "⊈",
+ NotSucceeds: "âŠ",
+ NotSucceedsEqual: "⪰̸",
+ NotSucceedsSlantEqual: "â‹¡",
+ NotSucceedsTilde: "≿̸",
+ NotSuperset: "⊃⃒",
+ NotSupersetEqual: "⊉",
+ NotTilde: "â‰",
+ NotTildeEqual: "≄",
+ NotTildeFullEqual: "≇",
+ NotTildeTilde: "≉",
+ NotVerticalBar: "∤",
+ nparallel: "∦",
+ npar: "∦",
+ nparsl: "⫽⃥",
+ npart: "∂̸",
+ npolint: "⨔",
+ npr: "⊀",
+ nprcue: "â‹ ",
+ nprec: "⊀",
+ npreceq: "⪯̸",
+ npre: "⪯̸",
+ nrarrc: "⤳̸",
+ nrarr: "↛",
+ nrArr: "â‡",
+ nrarrw: "â†Ì¸",
+ nrightarrow: "↛",
+ nRightarrow: "â‡",
+ nrtri: "â‹«",
+ nrtrie: "â‹",
+ nsc: "âŠ",
+ nsccue: "â‹¡",
+ nsce: "⪰̸",
+ Nscr: "ð’©",
+ nscr: "ð“ƒ",
+ nshortmid: "∤",
+ nshortparallel: "∦",
+ nsim: "â‰",
+ nsime: "≄",
+ nsimeq: "≄",
+ nsmid: "∤",
+ nspar: "∦",
+ nsqsube: "â‹¢",
+ nsqsupe: "â‹£",
+ nsub: "⊄",
+ nsubE: "⫅̸",
+ nsube: "⊈",
+ nsubset: "⊂⃒",
+ nsubseteq: "⊈",
+ nsubseteqq: "⫅̸",
+ nsucc: "âŠ",
+ nsucceq: "⪰̸",
+ nsup: "⊅",
+ nsupE: "⫆̸",
+ nsupe: "⊉",
+ nsupset: "⊃⃒",
+ nsupseteq: "⊉",
+ nsupseteqq: "⫆̸",
+ ntgl: "≹",
+ Ntilde: "Ñ",
+ ntilde: "ñ",
+ ntlg: "≸",
+ ntriangleleft: "⋪",
+ ntrianglelefteq: "⋬",
+ ntriangleright: "â‹«",
+ ntrianglerighteq: "â‹",
+ Nu: "Î",
+ nu: "ν",
+ num: "#",
+ numero: "â„–",
+ numsp: " ",
+ nvap: "â‰âƒ’",
+ nvdash: "⊬",
+ nvDash: "âŠ",
+ nVdash: "⊮",
+ nVDash: "⊯",
+ nvge: "≥⃒",
+ nvgt: ">⃒",
+ nvHarr: "⤄",
+ nvinfin: "â§ž",
+ nvlArr: "⤂",
+ nvle: "≤⃒",
+ nvlt: "<⃒",
+ nvltrie: "⊴⃒",
+ nvrArr: "⤃",
+ nvrtrie: "⊵⃒",
+ nvsim: "∼⃒",
+ nwarhk: "⤣",
+ nwarr: "↖",
+ nwArr: "⇖",
+ nwarrow: "↖",
+ nwnear: "⤧",
+ Oacute: "Ó",
+ oacute: "ó",
+ oast: "⊛",
+ Ocirc: "Ô",
+ ocirc: "ô",
+ ocir: "⊚",
+ Ocy: "О",
+ ocy: "о",
+ odash: "âŠ",
+ Odblac: "Å",
+ odblac: "Å‘",
+ odiv: "⨸",
+ odot: "⊙",
+ odsold: "⦼",
+ OElig: "Å’",
+ oelig: "Å“",
+ ofcir: "⦿",
+ Ofr: "ð”’",
+ ofr: "ð”¬",
+ ogon: "Ë›",
+ Ograve: "Ã’",
+ ograve: "ò",
+ ogt: "â§",
+ ohbar: "⦵",
+ ohm: "Ω",
+ oint: "∮",
+ olarr: "↺",
+ olcir: "⦾",
+ olcross: "⦻",
+ oline: "‾",
+ olt: "â§€",
+ Omacr: "Ō",
+ omacr: "Å",
+ Omega: "Ω",
+ omega: "ω",
+ Omicron: "Ο",
+ omicron: "ο",
+ omid: "⦶",
+ ominus: "⊖",
+ Oopf: "ð•†",
+ oopf: "ð• ",
+ opar: "⦷",
+ OpenCurlyDoubleQuote: "“",
+ OpenCurlyQuote: "‘",
+ operp: "⦹",
+ oplus: "⊕",
+ orarr: "↻",
+ Or: "â©”",
+ or: "∨",
+ ord: "â©",
+ order: "â„´",
+ orderof: "â„´",
+ ordf: "ª",
+ ordm: "º",
+ origof: "⊶",
+ oror: "â©–",
+ orslope: "â©—",
+ orv: "â©›",
+ oS: "Ⓢ",
+ Oscr: "ð’ª",
+ oscr: "â„´",
+ Oslash: "Ø",
+ oslash: "ø",
+ osol: "⊘",
+ Otilde: "Õ",
+ otilde: "õ",
+ otimesas: "⨶",
+ Otimes: "⨷",
+ otimes: "⊗",
+ Ouml: "Ö",
+ ouml: "ö",
+ ovbar: "⌽",
+ OverBar: "‾",
+ OverBrace: "âž",
+ OverBracket: "⎴",
+ OverParenthesis: "âœ",
+ para: "¶",
+ parallel: "∥",
+ par: "∥",
+ parsim: "⫳",
+ parsl: "⫽",
+ part: "∂",
+ PartialD: "∂",
+ Pcy: "П",
+ pcy: "п",
+ percnt: "%",
+ period: ".",
+ permil: "‰",
+ perp: "⊥",
+ pertenk: "‱",
+ Pfr: "ð”“",
+ pfr: "ð”",
+ Phi: "Φ",
+ phi: "φ",
+ phiv: "Ï•",
+ phmmat: "ℳ",
+ phone: "☎",
+ Pi: "Î ",
+ pi: "Ï€",
+ pitchfork: "â‹”",
+ piv: "Ï–",
+ planck: "â„",
+ planckh: "ℎ",
+ plankv: "â„",
+ plusacir: "⨣",
+ plusb: "⊞",
+ pluscir: "⨢",
+ plus: "+",
+ plusdo: "∔",
+ plusdu: "⨥",
+ pluse: "⩲",
+ PlusMinus: "±",
+ plusmn: "±",
+ plussim: "⨦",
+ plustwo: "⨧",
+ pm: "±",
+ Poincareplane: "ℌ",
+ pointint: "⨕",
+ popf: "ð•¡",
+ Popf: "â„™",
+ pound: "£",
+ prap: "⪷",
+ Pr: "⪻",
+ pr: "≺",
+ prcue: "≼",
+ precapprox: "⪷",
+ prec: "≺",
+ preccurlyeq: "≼",
+ Precedes: "≺",
+ PrecedesEqual: "⪯",
+ PrecedesSlantEqual: "≼",
+ PrecedesTilde: "≾",
+ preceq: "⪯",
+ precnapprox: "⪹",
+ precneqq: "⪵",
+ precnsim: "⋨",
+ pre: "⪯",
+ prE: "⪳",
+ precsim: "≾",
+ prime: "′",
+ Prime: "″",
+ primes: "â„™",
+ prnap: "⪹",
+ prnE: "⪵",
+ prnsim: "⋨",
+ prod: "âˆ",
+ Product: "âˆ",
+ profalar: "⌮",
+ profline: "⌒",
+ profsurf: "⌓",
+ prop: "âˆ",
+ Proportional: "âˆ",
+ Proportion: "∷",
+ propto: "âˆ",
+ prsim: "≾",
+ prurel: "⊰",
+ Pscr: "ð’«",
+ pscr: "ð“…",
+ Psi: "Ψ",
+ psi: "ψ",
+ puncsp: " ",
+ Qfr: "ð””",
+ qfr: "ð”®",
+ qint: "⨌",
+ qopf: "ð•¢",
+ Qopf: "ℚ",
+ qprime: "â—",
+ Qscr: "ð’¬",
+ qscr: "ð“†",
+ quaternions: "â„",
+ quatint: "⨖",
+ quest: "?",
+ questeq: "≟",
+ quot: '"',
+ QUOT: '"',
+ rAarr: "⇛",
+ race: "∽̱",
+ Racute: "Å”",
+ racute: "Å•",
+ radic: "√",
+ raemptyv: "⦳",
+ rang: "⟩",
+ Rang: "⟫",
+ rangd: "⦒",
+ range: "⦥",
+ rangle: "⟩",
+ raquo: "»",
+ rarrap: "⥵",
+ rarrb: "⇥",
+ rarrbfs: "⤠",
+ rarrc: "⤳",
+ rarr: "→",
+ Rarr: "↠",
+ rArr: "⇒",
+ rarrfs: "⤞",
+ rarrhk: "↪",
+ rarrlp: "↬",
+ rarrpl: "⥅",
+ rarrsim: "⥴",
+ Rarrtl: "⤖",
+ rarrtl: "↣",
+ rarrw: "â†",
+ ratail: "⤚",
+ rAtail: "⤜",
+ ratio: "∶",
+ rationals: "ℚ",
+ rbarr: "â¤",
+ rBarr: "â¤",
+ RBarr: "â¤",
+ rbbrk: "â³",
+ rbrace: "}",
+ rbrack: "]",
+ rbrke: "⦌",
+ rbrksld: "⦎",
+ rbrkslu: "â¦",
+ Rcaron: "Ř",
+ rcaron: "Å™",
+ Rcedil: "Å–",
+ rcedil: "Å—",
+ rceil: "⌉",
+ rcub: "}",
+ Rcy: "Ð ",
+ rcy: "Ñ€",
+ rdca: "⤷",
+ rdldhar: "⥩",
+ rdquo: "â€",
+ rdquor: "â€",
+ rdsh: "↳",
+ real: "ℜ",
+ realine: "â„›",
+ realpart: "ℜ",
+ reals: "â„",
+ Re: "ℜ",
+ rect: "â–",
+ reg: "®",
+ REG: "®",
+ ReverseElement: "∋",
+ ReverseEquilibrium: "⇋",
+ ReverseUpEquilibrium: "⥯",
+ rfisht: "⥽",
+ rfloor: "⌋",
+ rfr: "ð”¯",
+ Rfr: "ℜ",
+ rHar: "⥤",
+ rhard: "â‡",
+ rharu: "⇀",
+ rharul: "⥬",
+ Rho: "Ρ",
+ rho: "Ï",
+ rhov: "ϱ",
+ RightAngleBracket: "⟩",
+ RightArrowBar: "⇥",
+ rightarrow: "→",
+ RightArrow: "→",
+ Rightarrow: "⇒",
+ RightArrowLeftArrow: "⇄",
+ rightarrowtail: "↣",
+ RightCeiling: "⌉",
+ RightDoubleBracket: "⟧",
+ RightDownTeeVector: "â¥",
+ RightDownVectorBar: "⥕",
+ RightDownVector: "⇂",
+ RightFloor: "⌋",
+ rightharpoondown: "â‡",
+ rightharpoonup: "⇀",
+ rightleftarrows: "⇄",
+ rightleftharpoons: "⇌",
+ rightrightarrows: "⇉",
+ rightsquigarrow: "â†",
+ RightTeeArrow: "↦",
+ RightTee: "⊢",
+ RightTeeVector: "⥛",
+ rightthreetimes: "⋌",
+ RightTriangleBar: "â§",
+ RightTriangle: "⊳",
+ RightTriangleEqual: "⊵",
+ RightUpDownVector: "â¥",
+ RightUpTeeVector: "⥜",
+ RightUpVectorBar: "⥔",
+ RightUpVector: "↾",
+ RightVectorBar: "⥓",
+ RightVector: "⇀",
+ ring: "Ëš",
+ risingdotseq: "≓",
+ rlarr: "⇄",
+ rlhar: "⇌",
+ rlm: "â€",
+ rmoustache: "⎱",
+ rmoust: "⎱",
+ rnmid: "â«®",
+ roang: "âŸ",
+ roarr: "⇾",
+ robrk: "⟧",
+ ropar: "⦆",
+ ropf: "ð•£",
+ Ropf: "â„",
+ roplus: "⨮",
+ rotimes: "⨵",
+ RoundImplies: "⥰",
+ rpar: ")",
+ rpargt: "⦔",
+ rppolint: "⨒",
+ rrarr: "⇉",
+ Rrightarrow: "⇛",
+ rsaquo: "›",
+ rscr: "ð“‡",
+ Rscr: "â„›",
+ rsh: "↱",
+ Rsh: "↱",
+ rsqb: "]",
+ rsquo: "’",
+ rsquor: "’",
+ rthree: "⋌",
+ rtimes: "⋊",
+ rtri: "â–¹",
+ rtrie: "⊵",
+ rtrif: "â–¸",
+ rtriltri: "â§Ž",
+ RuleDelayed: "â§´",
+ ruluhar: "⥨",
+ rx: "℞",
+ Sacute: "Åš",
+ sacute: "Å›",
+ sbquo: "‚",
+ scap: "⪸",
+ Scaron: "Å ",
+ scaron: "Å¡",
+ Sc: "⪼",
+ sc: "≻",
+ sccue: "≽",
+ sce: "⪰",
+ scE: "⪴",
+ Scedil: "Åž",
+ scedil: "ÅŸ",
+ Scirc: "Ŝ",
+ scirc: "Å",
+ scnap: "⪺",
+ scnE: "⪶",
+ scnsim: "â‹©",
+ scpolint: "⨓",
+ scsim: "≿",
+ Scy: "С",
+ scy: "Ñ",
+ sdotb: "⊡",
+ sdot: "â‹…",
+ sdote: "⩦",
+ searhk: "⤥",
+ searr: "↘",
+ seArr: "⇘",
+ searrow: "↘",
+ sect: "§",
+ semi: ";",
+ seswar: "⤩",
+ setminus: "∖",
+ setmn: "∖",
+ sext: "✶",
+ Sfr: "ð”–",
+ sfr: "ð”°",
+ sfrown: "⌢",
+ sharp: "♯",
+ SHCHcy: "Щ",
+ shchcy: "щ",
+ SHcy: "Ш",
+ shcy: "ш",
+ ShortDownArrow: "↓",
+ ShortLeftArrow: "â†",
+ shortmid: "∣",
+ shortparallel: "∥",
+ ShortRightArrow: "→",
+ ShortUpArrow: "↑",
+ shy: "Â",
+ Sigma: "Σ",
+ sigma: "σ",
+ sigmaf: "Ï‚",
+ sigmav: "Ï‚",
+ sim: "∼",
+ simdot: "⩪",
+ sime: "≃",
+ simeq: "≃",
+ simg: "⪞",
+ simgE: "⪠",
+ siml: "âª",
+ simlE: "⪟",
+ simne: "≆",
+ simplus: "⨤",
+ simrarr: "⥲",
+ slarr: "â†",
+ SmallCircle: "∘",
+ smallsetminus: "∖",
+ smashp: "⨳",
+ smeparsl: "⧤",
+ smid: "∣",
+ smile: "⌣",
+ smt: "⪪",
+ smte: "⪬",
+ smtes: "⪬︀",
+ SOFTcy: "Ь",
+ softcy: "ь",
+ solbar: "⌿",
+ solb: "â§„",
+ sol: "/",
+ Sopf: "ð•Š",
+ sopf: "ð•¤",
+ spades: "â™ ",
+ spadesuit: "â™ ",
+ spar: "∥",
+ sqcap: "⊓",
+ sqcaps: "⊓︀",
+ sqcup: "⊔",
+ sqcups: "⊔︀",
+ Sqrt: "√",
+ sqsub: "âŠ",
+ sqsube: "⊑",
+ sqsubset: "âŠ",
+ sqsubseteq: "⊑",
+ sqsup: "âŠ",
+ sqsupe: "⊒",
+ sqsupset: "âŠ",
+ sqsupseteq: "⊒",
+ square: "â–¡",
+ Square: "â–¡",
+ SquareIntersection: "⊓",
+ SquareSubset: "âŠ",
+ SquareSubsetEqual: "⊑",
+ SquareSuperset: "âŠ",
+ SquareSupersetEqual: "⊒",
+ SquareUnion: "⊔",
+ squarf: "â–ª",
+ squ: "â–¡",
+ squf: "â–ª",
+ srarr: "→",
+ Sscr: "ð’®",
+ sscr: "ð“ˆ",
+ ssetmn: "∖",
+ ssmile: "⌣",
+ sstarf: "⋆",
+ Star: "⋆",
+ star: "☆",
+ starf: "★",
+ straightepsilon: "ϵ",
+ straightphi: "Ï•",
+ strns: "¯",
+ sub: "⊂",
+ Sub: "â‹",
+ subdot: "⪽",
+ subE: "â«…",
+ sube: "⊆",
+ subedot: "⫃",
+ submult: "â«",
+ subnE: "â«‹",
+ subne: "⊊",
+ subplus: "⪿",
+ subrarr: "⥹",
+ subset: "⊂",
+ Subset: "â‹",
+ subseteq: "⊆",
+ subseteqq: "â«…",
+ SubsetEqual: "⊆",
+ subsetneq: "⊊",
+ subsetneqq: "â«‹",
+ subsim: "⫇",
+ subsub: "â«•",
+ subsup: "â«“",
+ succapprox: "⪸",
+ succ: "≻",
+ succcurlyeq: "≽",
+ Succeeds: "≻",
+ SucceedsEqual: "⪰",
+ SucceedsSlantEqual: "≽",
+ SucceedsTilde: "≿",
+ succeq: "⪰",
+ succnapprox: "⪺",
+ succneqq: "⪶",
+ succnsim: "â‹©",
+ succsim: "≿",
+ SuchThat: "∋",
+ sum: "∑",
+ Sum: "∑",
+ sung: "♪",
+ sup1: "¹",
+ sup2: "²",
+ sup3: "³",
+ sup: "⊃",
+ Sup: "â‹‘",
+ supdot: "⪾",
+ supdsub: "⫘",
+ supE: "⫆",
+ supe: "⊇",
+ supedot: "â«„",
+ Superset: "⊃",
+ SupersetEqual: "⊇",
+ suphsol: "⟉",
+ suphsub: "â«—",
+ suplarr: "⥻",
+ supmult: "â«‚",
+ supnE: "⫌",
+ supne: "⊋",
+ supplus: "â«€",
+ supset: "⊃",
+ Supset: "â‹‘",
+ supseteq: "⊇",
+ supseteqq: "⫆",
+ supsetneq: "⊋",
+ supsetneqq: "⫌",
+ supsim: "⫈",
+ supsub: "â«”",
+ supsup: "â«–",
+ swarhk: "⤦",
+ swarr: "↙",
+ swArr: "⇙",
+ swarrow: "↙",
+ swnwar: "⤪",
+ szlig: "ß",
+ Tab: "\t",
+ target: "⌖",
+ Tau: "Τ",
+ tau: "Ï„",
+ tbrk: "⎴",
+ Tcaron: "Ť",
+ tcaron: "Å¥",
+ Tcedil: "Å¢",
+ tcedil: "Å£",
+ Tcy: "Т",
+ tcy: "Ñ‚",
+ tdot: "⃛",
+ telrec: "⌕",
+ Tfr: "ð”—",
+ tfr: "ð”±",
+ there4: "∴",
+ therefore: "∴",
+ Therefore: "∴",
+ Theta: "Θ",
+ theta: "θ",
+ thetasym: "Ï‘",
+ thetav: "Ï‘",
+ thickapprox: "≈",
+ thicksim: "∼",
+ ThickSpace: "âŸâ€Š",
+ ThinSpace: " ",
+ thinsp: " ",
+ thkap: "≈",
+ thksim: "∼",
+ THORN: "Þ",
+ thorn: "þ",
+ tilde: "˜",
+ Tilde: "∼",
+ TildeEqual: "≃",
+ TildeFullEqual: "≅",
+ TildeTilde: "≈",
+ timesbar: "⨱",
+ timesb: "⊠",
+ times: "×",
+ timesd: "⨰",
+ tint: "âˆ",
+ toea: "⤨",
+ topbot: "⌶",
+ topcir: "⫱",
+ top: "⊤",
+ Topf: "ð•‹",
+ topf: "ð•¥",
+ topfork: "⫚",
+ tosa: "⤩",
+ tprime: "‴",
+ trade: "â„¢",
+ TRADE: "â„¢",
+ triangle: "â–µ",
+ triangledown: "â–¿",
+ triangleleft: "â—ƒ",
+ trianglelefteq: "⊴",
+ triangleq: "≜",
+ triangleright: "â–¹",
+ trianglerighteq: "⊵",
+ tridot: "â—¬",
+ trie: "≜",
+ triminus: "⨺",
+ TripleDot: "⃛",
+ triplus: "⨹",
+ trisb: "â§",
+ tritime: "⨻",
+ trpezium: "â¢",
+ Tscr: "ð’¯",
+ tscr: "ð“‰",
+ TScy: "Ц",
+ tscy: "ц",
+ TSHcy: "Ћ",
+ tshcy: "Ñ›",
+ Tstrok: "Ŧ",
+ tstrok: "ŧ",
+ twixt: "≬",
+ twoheadleftarrow: "↞",
+ twoheadrightarrow: "↠",
+ Uacute: "Ú",
+ uacute: "ú",
+ uarr: "↑",
+ Uarr: "↟",
+ uArr: "⇑",
+ Uarrocir: "⥉",
+ Ubrcy: "ÐŽ",
+ ubrcy: "Ñž",
+ Ubreve: "Ŭ",
+ ubreve: "Å",
+ Ucirc: "Û",
+ ucirc: "û",
+ Ucy: "У",
+ ucy: "у",
+ udarr: "⇅",
+ Udblac: "Ű",
+ udblac: "ű",
+ udhar: "⥮",
+ ufisht: "⥾",
+ Ufr: "ð”˜",
+ ufr: "ð”²",
+ Ugrave: "Ù",
+ ugrave: "ù",
+ uHar: "⥣",
+ uharl: "↿",
+ uharr: "↾",
+ uhblk: "â–€",
+ ulcorn: "⌜",
+ ulcorner: "⌜",
+ ulcrop: "âŒ",
+ ultri: "â—¸",
+ Umacr: "Ū",
+ umacr: "Å«",
+ uml: "¨",
+ UnderBar: "_",
+ UnderBrace: "âŸ",
+ UnderBracket: "⎵",
+ UnderParenthesis: "â",
+ Union: "⋃",
+ UnionPlus: "⊎",
+ Uogon: "Ų",
+ uogon: "ų",
+ Uopf: "ð•Œ",
+ uopf: "ð•¦",
+ UpArrowBar: "⤒",
+ uparrow: "↑",
+ UpArrow: "↑",
+ Uparrow: "⇑",
+ UpArrowDownArrow: "⇅",
+ updownarrow: "↕",
+ UpDownArrow: "↕",
+ Updownarrow: "⇕",
+ UpEquilibrium: "⥮",
+ upharpoonleft: "↿",
+ upharpoonright: "↾",
+ uplus: "⊎",
+ UpperLeftArrow: "↖",
+ UpperRightArrow: "↗",
+ upsi: "Ï…",
+ Upsi: "Ï’",
+ upsih: "Ï’",
+ Upsilon: "Î¥",
+ upsilon: "Ï…",
+ UpTeeArrow: "↥",
+ UpTee: "⊥",
+ upuparrows: "⇈",
+ urcorn: "âŒ",
+ urcorner: "âŒ",
+ urcrop: "⌎",
+ Uring: "Å®",
+ uring: "ů",
+ urtri: "â—¹",
+ Uscr: "ð’°",
+ uscr: "ð“Š",
+ utdot: "â‹°",
+ Utilde: "Ũ",
+ utilde: "Å©",
+ utri: "â–µ",
+ utrif: "â–´",
+ uuarr: "⇈",
+ Uuml: "Ü",
+ uuml: "ü",
+ uwangle: "⦧",
+ vangrt: "⦜",
+ varepsilon: "ϵ",
+ varkappa: "ϰ",
+ varnothing: "∅",
+ varphi: "Ï•",
+ varpi: "Ï–",
+ varpropto: "âˆ",
+ varr: "↕",
+ vArr: "⇕",
+ varrho: "ϱ",
+ varsigma: "Ï‚",
+ varsubsetneq: "⊊︀",
+ varsubsetneqq: "⫋︀",
+ varsupsetneq: "⊋︀",
+ varsupsetneqq: "⫌︀",
+ vartheta: "Ï‘",
+ vartriangleleft: "⊲",
+ vartriangleright: "⊳",
+ vBar: "⫨",
+ Vbar: "â««",
+ vBarv: "â«©",
+ Vcy: "Ð’",
+ vcy: "в",
+ vdash: "⊢",
+ vDash: "⊨",
+ Vdash: "⊩",
+ VDash: "⊫",
+ Vdashl: "⫦",
+ veebar: "⊻",
+ vee: "∨",
+ Vee: "â‹",
+ veeeq: "≚",
+ vellip: "â‹®",
+ verbar: "|",
+ Verbar: "‖",
+ vert: "|",
+ Vert: "‖",
+ VerticalBar: "∣",
+ VerticalLine: "|",
+ VerticalSeparator: "â˜",
+ VerticalTilde: "≀",
+ VeryThinSpace: " ",
+ Vfr: "ð”™",
+ vfr: "ð”³",
+ vltri: "⊲",
+ vnsub: "⊂⃒",
+ vnsup: "⊃⃒",
+ Vopf: "ð•",
+ vopf: "ð•§",
+ vprop: "âˆ",
+ vrtri: "⊳",
+ Vscr: "ð’±",
+ vscr: "ð“‹",
+ vsubnE: "⫋︀",
+ vsubne: "⊊︀",
+ vsupnE: "⫌︀",
+ vsupne: "⊋︀",
+ Vvdash: "⊪",
+ vzigzag: "⦚",
+ Wcirc: "Å´",
+ wcirc: "ŵ",
+ wedbar: "⩟",
+ wedge: "∧",
+ Wedge: "â‹€",
+ wedgeq: "≙",
+ weierp: "℘",
+ Wfr: "ð”š",
+ wfr: "ð”´",
+ Wopf: "ð•Ž",
+ wopf: "ð•¨",
+ wp: "℘",
+ wr: "≀",
+ wreath: "≀",
+ Wscr: "ð’²",
+ wscr: "ð“Œ",
+ xcap: "â‹‚",
+ xcirc: "â—¯",
+ xcup: "⋃",
+ xdtri: "â–½",
+ Xfr: "ð”›",
+ xfr: "ð”µ",
+ xharr: "⟷",
+ xhArr: "⟺",
+ Xi: "Ξ",
+ xi: "ξ",
+ xlarr: "⟵",
+ xlArr: "⟸",
+ xmap: "⟼",
+ xnis: "â‹»",
+ xodot: "⨀",
+ Xopf: "ð•",
+ xopf: "ð•©",
+ xoplus: "â¨",
+ xotime: "⨂",
+ xrarr: "⟶",
+ xrArr: "⟹",
+ Xscr: "ð’³",
+ xscr: "ð“",
+ xsqcup: "⨆",
+ xuplus: "⨄",
+ xutri: "â–³",
+ xvee: "â‹",
+ xwedge: "â‹€",
+ Yacute: "Ã",
+ yacute: "ý",
+ YAcy: "Я",
+ yacy: "Ñ",
+ Ycirc: "Ŷ",
+ ycirc: "Å·",
+ Ycy: "Ы",
+ ycy: "Ñ‹",
+ yen: "Â¥",
+ Yfr: "ð”œ",
+ yfr: "ð”¶",
+ YIcy: "Ї",
+ yicy: "Ñ—",
+ Yopf: "ð•",
+ yopf: "ð•ª",
+ Yscr: "ð’´",
+ yscr: "ð“Ž",
+ YUcy: "Ю",
+ yucy: "ÑŽ",
+ yuml: "ÿ",
+ Yuml: "Ÿ",
+ Zacute: "Ź",
+ zacute: "ź",
+ Zcaron: "Ž",
+ zcaron: "ž",
+ Zcy: "З",
+ zcy: "з",
+ Zdot: "Å»",
+ zdot: "ż",
+ zeetrf: "ℨ",
+ ZeroWidthSpace: "​",
+ Zeta: "Ζ",
+ zeta: "ζ",
+ zfr: "ð”·",
+ Zfr: "ℨ",
+ ZHcy: "Ж",
+ zhcy: "ж",
+ zigrarr: "â‡",
+ zopf: "ð•«",
+ Zopf: "ℤ",
+ Zscr: "ð’µ",
+ zscr: "ð“",
+ zwj: "â€",
+ zwnj: "‌"
+ },
+ Yc = {
+ Aacute: "Ã",
+ aacute: "á",
+ Acirc: "Â",
+ acirc: "â",
+ acute: "´",
+ AElig: "Æ",
+ aelig: "æ",
+ Agrave: "À",
+ agrave: "Ã ",
+ amp: "&",
+ AMP: "&",
+ Aring: "Ã…",
+ aring: "Ã¥",
+ Atilde: "Ã",
+ atilde: "ã",
+ Auml: "Ä",
+ auml: "ä",
+ brvbar: "¦",
+ Ccedil: "Ç",
+ ccedil: "ç",
+ cedil: "¸",
+ cent: "¢",
+ copy: "©",
+ COPY: "©",
+ curren: "¤",
+ deg: "°",
+ divide: "÷",
+ Eacute: "É",
+ eacute: "é",
+ Ecirc: "Ê",
+ ecirc: "ê",
+ Egrave: "È",
+ egrave: "è",
+ ETH: "Ã",
+ eth: "ð",
+ Euml: "Ë",
+ euml: "ë",
+ frac12: "½",
+ frac14: "¼",
+ frac34: "¾",
+ gt: ">",
+ GT: ">",
+ Iacute: "Ã",
+ iacute: "Ã",
+ Icirc: "ÃŽ",
+ icirc: "î",
+ iexcl: "¡",
+ Igrave: "Ì",
+ igrave: "ì",
+ iquest: "¿",
+ Iuml: "Ã",
+ iuml: "ï",
+ laquo: "«",
+ lt: "<",
+ LT: "<",
+ macr: "¯",
+ micro: "µ",
+ middot: "·",
+ nbsp: "Â ",
+ not: "¬",
+ Ntilde: "Ñ",
+ ntilde: "ñ",
+ Oacute: "Ó",
+ oacute: "ó",
+ Ocirc: "Ô",
+ ocirc: "ô",
+ Ograve: "Ã’",
+ ograve: "ò",
+ ordf: "ª",
+ ordm: "º",
+ Oslash: "Ø",
+ oslash: "ø",
+ Otilde: "Õ",
+ otilde: "õ",
+ Ouml: "Ö",
+ ouml: "ö",
+ para: "¶",
+ plusmn: "±",
+ pound: "£",
+ quot: '"',
+ QUOT: '"',
+ raquo: "»",
+ reg: "®",
+ REG: "®",
+ sect: "§",
+ shy: "Â",
+ sup1: "¹",
+ sup2: "²",
+ sup3: "³",
+ szlig: "ß",
+ THORN: "Þ",
+ thorn: "þ",
+ times: "×",
+ Uacute: "Ú",
+ uacute: "ú",
+ Ucirc: "Û",
+ ucirc: "û",
+ Ugrave: "Ù",
+ ugrave: "ù",
+ uml: "¨",
+ Uuml: "Ü",
+ uuml: "ü",
+ Yacute: "Ã",
+ yacute: "ý",
+ yen: "Â¥",
+ yuml: "ÿ"
+ },
+ eu = {
+ amp: "&",
+ apos: "'",
+ gt: ">",
+ lt: "<",
+ quot: '"'
+ },
+ tu = {},
+ nu = Wc && Wc.__importDefault || function(e) {
+ return e && e.__esModule ? e : {
+ default: e
+ }
+ };
+ Object.defineProperty(tu, "__esModule", {
+ value: !0
+ });
+ var ru = nu({
+ 0: 65533,
+ 128: 8364,
+ 130: 8218,
+ 131: 402,
+ 132: 8222,
+ 133: 8230,
+ 134: 8224,
+ 135: 8225,
+ 136: 710,
+ 137: 8240,
+ 138: 352,
+ 139: 8249,
+ 140: 338,
+ 142: 381,
+ 145: 8216,
+ 146: 8217,
+ 147: 8220,
+ 148: 8221,
+ 149: 8226,
+ 150: 8211,
+ 151: 8212,
+ 152: 732,
+ 153: 8482,
+ 154: 353,
+ 155: 8250,
+ 156: 339,
+ 158: 382,
+ 159: 376
+ }),
+ ou = String.fromCodePoint || function(e) {
+ var t = "";
+ return e > 65535 && (e -= 65536, t += String.fromCharCode(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), t += String.fromCharCode(e)
+ };
+ tu.default = function(e) {
+ return e >= 55296 && e <= 57343 || e > 1114111 ? "�" : (e in ru.default && (e = ru.default[e]), ou(e))
+ };
+ var iu = Wc && Wc.__importDefault || function(e) {
+ return e && e.__esModule ? e : {
+ default: e
+ }
+ };
+ Object.defineProperty(Xc, "__esModule", {
+ value: !0
+ }), Xc.decodeHTML = Xc.decodeHTMLStrict = Xc.decodeXML = void 0;
+ var su = iu(Qc),
+ au = iu(Yc),
+ lu = iu(eu),
+ cu = iu(tu),
+ uu = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
+
+ function du(e) {
+ var t = hu(e);
+ return function(e) {
+ return String(e).replace(uu, t)
+ }
+ }
+ Xc.decodeXML = du(lu.default), Xc.decodeHTMLStrict = du(su.default);
+ var pu = function(e, t) {
+ return e < t ? 1 : -1
+ };
+
+ function hu(e) {
+ return function(t) {
+ if ("#" === t.charAt(1)) {
+ var n = t.charAt(2);
+ return "X" === n || "x" === n ? cu.default(parseInt(t.substr(3), 16)) : cu.default(parseInt(t.substr(2), 10))
+ }
+ return e[t.slice(1, -1)] || t
+ }
+ }
+ Xc.decodeHTML = function() {
+ for (var e = Object.keys(au.default).sort(pu), t = Object.keys(su.default).sort(pu), n = 0, r = 0; n < t.length; n++) e[r] === t[n] ? (t[n] += ";?", r++) : t[n] += ";";
+ var o = new RegExp("&(?:" + t.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),
+ i = hu(su.default);
+
+ function s(e) {
+ return ";" !== e.substr(-1) && (e += ";"), i(e)
+ }
+ return function(e) {
+ return String(e).replace(o, s)
+ }
+ }();
+ var fu = {},
+ mu = Wc && Wc.__importDefault || function(e) {
+ return e && e.__esModule ? e : {
+ default: e
+ }
+ };
+ Object.defineProperty(fu, "__esModule", {
+ value: !0
+ }), fu.escapeUTF8 = fu.escape = fu.encodeNonAsciiHTML = fu.encodeHTML = fu.encodeXML = void 0;
+ var gu = xu(mu(eu).default),
+ vu = Cu(gu);
+ fu.encodeXML = Nu(gu);
+ var yu, bu, wu = xu(mu(Qc).default),
+ ku = Cu(wu);
+
+ function xu(e) {
+ return Object.keys(e).sort().reduce((function(t, n) {
+ return t[e[n]] = "&" + n + ";", t
+ }), {})
+ }
+
+ function Cu(e) {
+ for (var t = [], n = [], r = 0, o = Object.keys(e); r < o.length; r++) {
+ var i = o[r];
+ 1 === i.length ? t.push("\\" + i) : n.push(i)
+ }
+ t.sort();
+ for (var s = 0; s < t.length - 1; s++) {
+ for (var a = s; a < t.length - 1 && t[a].charCodeAt(1) + 1 === t[a + 1].charCodeAt(1);) a += 1;
+ var l = 1 + a - s;
+ l < 3 || t.splice(s, l, t[s] + "-" + t[a])
+ }
+ return n.unshift("[" + t.join("") + "]"), new RegExp(n.join("|"), "g")
+ }
+ fu.encodeHTML = (yu = wu, bu = ku, function(e) {
+ return e.replace(bu, (function(e) {
+ return yu[e]
+ })).replace(Tu, Su)
+ }), fu.encodeNonAsciiHTML = Nu(wu);
+ var Tu = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,
+ Mu = null != String.prototype.codePointAt ? function(e) {
+ return e.codePointAt(0)
+ } : function(e) {
+ return 1024 * (e.charCodeAt(0) - 55296) + e.charCodeAt(1) - 56320 + 65536
+ };
+
+ function Su(e) {
+ return "" + (e.length > 1 ? Mu(e) : e.charCodeAt(0)).toString(16).toUpperCase() + ";"
+ }
+ var Eu = new RegExp(vu.source + "|" + Tu.source, "g");
+
+ function Nu(e) {
+ return function(t) {
+ return t.replace(Eu, (function(t) {
+ return e[t] || Su(t)
+ }))
+ }
+ }
+ fu.escape = function(e) {
+ return e.replace(Eu, Su)
+ }, fu.escapeUTF8 = function(e) {
+ return e.replace(vu, Su)
+ },
+ function(e) {
+ Object.defineProperty(e, "__esModule", {
+ value: !0
+ }), e.decodeXMLStrict = e.decodeHTML5Strict = e.decodeHTML4Strict = e.decodeHTML5 = e.decodeHTML4 = e.decodeHTMLStrict = e.decodeHTML = e.decodeXML = e.encodeHTML5 = e.encodeHTML4 = e.escapeUTF8 = e.escape = e.encodeNonAsciiHTML = e.encodeHTML = e.encodeXML = e.encode = e.decodeStrict = e.decode = void 0;
+ var t = Xc,
+ n = fu;
+ e.decode = function(e, n) {
+ return (!n || n <= 0 ? t.decodeXML : t.decodeHTML)(e)
+ }, e.decodeStrict = function(e, n) {
+ return (!n || n <= 0 ? t.decodeXML : t.decodeHTMLStrict)(e)
+ }, e.encode = function(e, t) {
+ return (!t || t <= 0 ? n.encodeXML : n.encodeHTML)(e)
+ };
+ var r = fu;
+ Object.defineProperty(e, "encodeXML", {
+ enumerable: !0,
+ get: function() {
+ return r.encodeXML
+ }
+ }), Object.defineProperty(e, "encodeHTML", {
+ enumerable: !0,
+ get: function() {
+ return r.encodeHTML
+ }
+ }), Object.defineProperty(e, "encodeNonAsciiHTML", {
+ enumerable: !0,
+ get: function() {
+ return r.encodeNonAsciiHTML
+ }
+ }), Object.defineProperty(e, "escape", {
+ enumerable: !0,
+ get: function() {
+ return r.escape
+ }
+ }), Object.defineProperty(e, "escapeUTF8", {
+ enumerable: !0,
+ get: function() {
+ return r.escapeUTF8
+ }
+ }), Object.defineProperty(e, "encodeHTML4", {
+ enumerable: !0,
+ get: function() {
+ return r.encodeHTML
+ }
+ }), Object.defineProperty(e, "encodeHTML5", {
+ enumerable: !0,
+ get: function() {
+ return r.encodeHTML
+ }
+ });
+ var o = Xc;
+ Object.defineProperty(e, "decodeXML", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeXML
+ }
+ }), Object.defineProperty(e, "decodeHTML", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeHTML
+ }
+ }), Object.defineProperty(e, "decodeHTMLStrict", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeHTMLStrict
+ }
+ }), Object.defineProperty(e, "decodeHTML4", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeHTML
+ }
+ }), Object.defineProperty(e, "decodeHTML5", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeHTML
+ }
+ }), Object.defineProperty(e, "decodeHTML4Strict", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeHTMLStrict
+ }
+ }), Object.defineProperty(e, "decodeHTML5Strict", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeHTMLStrict
+ }
+ }), Object.defineProperty(e, "decodeXMLStrict", {
+ enumerable: !0,
+ get: function() {
+ return o.decodeXML
+ }
+ })
+ }(Zc);
+ var Ou = "&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});",
+ Du = /[\\&]/,
+ Au = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]",
+ Lu = new RegExp("\\\\" + Au + "|" + Ou, "gi"),
+ Iu = new RegExp('[&<>"]', "g"),
+ Ru = function(e) {
+ return 92 === e.charCodeAt(0) ? e.charAt(1) : Zc.decodeHTML(e)
+ };
+
+ function Pu(e) {
+ return Du.test(e) ? e.replace(Lu, Ru) : e
+ }
+
+ function Bu(e) {
+ try {
+ return Kc(e)
+ } catch (t) {
+ return e
+ }
+ }
+
+ function Fu(e) {
+ switch (e) {
+ case "&":
+ return "&";
+ case "<":
+ return "<";
+ case ">":
+ return ">";
+ case '"':
+ return """;
+ default:
+ return e
+ }
+ }
+
+ function Hu(e) {
+ return Iu.test(e) ? e.replace(Iu, Fu) : e
+ }
+
+ function zu(e, t) {
+ for (var n = [], r = 0; r < t; r++) n.push(e);
+ return n.join("")
+ }
+
+ function qu(e) {
+ return !e || !/[^ \t]+/.test(e)
+ }
+ var Vu = function() {
+ function e(e) {
+ this.current = e, this.root = e, this.entering = !0
+ }
+ return e.prototype.next = function() {
+ var e = this.current,
+ t = this.entering;
+ if (null === e) return null;
+ var n = ju(e);
+ return t && n ? e.firstChild ? (this.current = e.firstChild, this.entering = !0) : this.entering = !1 : e === this.root ? this.current = null : null === e.next ? (this.current = e.parent, this.entering = !1) : (this.current = e.next, this.entering = !0), {
+ entering: t,
+ node: e
+ }
+ }, e.prototype.resumeAt = function(e, t) {
+ this.current = e, this.entering = !0 === t
+ }, e
+ }();
+
+ function ju(e) {
+ switch (e.type) {
+ case "document":
+ case "blockQuote":
+ case "list":
+ case "item":
+ case "paragraph":
+ case "heading":
+ case "emph":
+ case "strong":
+ case "strike":
+ case "link":
+ case "image":
+ case "table":
+ case "tableHead":
+ case "tableBody":
+ case "tableRow":
+ case "tableCell":
+ case "tableDelimRow":
+ case "customInline":
+ return !0;
+ default:
+ return !1
+ }
+ }
+ var $u = 1,
+ _u = {};
+
+ function Uu(e) {
+ delete _u[e]
+ }
+ var Wu = function() {
+ function e(e, t) {
+ this.parent = null, this.prev = null, this.next = null, this.firstChild = null, this.lastChild = null, this.literal = null, this.id = "document" === e ? -1 : $u++, this.type = e, this.sourcepos = t, _u[this.id] = this
+ }
+ return e.prototype.isContainer = function() {
+ return ju(this)
+ }, e.prototype.unlink = function() {
+ this.prev ? this.prev.next = this.next : this.parent && (this.parent.firstChild = this.next), this.next ? this.next.prev = this.prev : this.parent && (this.parent.lastChild = this.prev), this.parent = null, this.next = null, this.prev = null
+ }, e.prototype.replaceWith = function(e) {
+ this.insertBefore(e), this.unlink()
+ }, e.prototype.insertAfter = function(e) {
+ e.unlink(), e.next = this.next, e.next && (e.next.prev = e), e.prev = this, this.next = e, this.parent && (e.parent = this.parent, e.next || (e.parent.lastChild = e))
+ }, e.prototype.insertBefore = function(e) {
+ e.unlink(), e.prev = this.prev, e.prev && (e.prev.next = e), e.next = this, this.prev = e, e.parent = this.parent, e.prev || (e.parent.firstChild = e)
+ }, e.prototype.appendChild = function(e) {
+ e.unlink(), e.parent = this, this.lastChild ? (this.lastChild.next = e, e.prev = this.lastChild, this.lastChild = e) : (this.firstChild = e, this.lastChild = e)
+ }, e.prototype.prependChild = function(e) {
+ e.unlink(), e.parent = this, this.firstChild ? (this.firstChild.prev = e, e.next = this.firstChild, this.firstChild = e) : (this.firstChild = e, this.lastChild = e)
+ }, e.prototype.walker = function() {
+ return new Vu(this)
+ }, e
+ }(),
+ Ju = function(e) {
+ function t(t, n) {
+ var r = e.call(this, t, n) || this;
+ return r.open = !0, r.lineOffsets = null, r.stringContent = null, r.lastLineBlank = !1, r.lastLineChecked = !1, r.type = t, r
+ }
+ return $c(t, e), t
+ }(Wu),
+ Gu = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.listData = null, t
+ }
+ return $c(t, e), t
+ }(Ju),
+ Ku = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.level = 0, t.headingType = "atx", t
+ }
+ return $c(t, e), t
+ }(Ju),
+ Zu = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.isFenced = !1, t.fenceChar = null, t.fenceLength = 0, t.fenceOffset = -1, t.info = null, t.infoPadding = 0, t
+ }
+ return $c(t, e), t
+ }(Ju),
+ Xu = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.columns = [], t
+ }
+ return $c(t, e), t
+ }(Ju),
+ Qu = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.startIdx = 0, t.endIdx = 0, t.paddingLeft = 0, t.paddingRight = 0, t.ignored = !1, t
+ }
+ return $c(t, e), t
+ }(Ju),
+ Yu = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.title = "", t.dest = "", t.label = "", t
+ }
+ return $c(t, e), t
+ }(Ju),
+ ed = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.syntaxLength = 0, t.offset = -1, t.info = "", t
+ }
+ return $c(t, e), t
+ }(Ju),
+ td = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.htmlBlockType = -1, t
+ }
+ return $c(t, e), t
+ }(Ju),
+ nd = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.destination = null, t.title = null, t.extendedAutolink = !1, t
+ }
+ return $c(t, e), t
+ }(Wu),
+ rd = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.tickCount = 0, t
+ }
+ return $c(t, e), t
+ }(Wu),
+ od = function(e) {
+ function t() {
+ var t = null !== e && e.apply(this, arguments) || this;
+ return t.info = "", t
+ }
+ return $c(t, e), t
+ }(Wu);
+
+ function id(e, t) {
+ switch (e) {
+ case "heading":
+ return new Ku(e, t);
+ case "list":
+ case "item":
+ return new Gu(e, t);
+ case "link":
+ case "image":
+ return new nd(e, t);
+ case "codeBlock":
+ return new Zu(e, t);
+ case "htmlBlock":
+ return new td(e, t);
+ case "table":
+ return new Xu(e, t);
+ case "tableCell":
+ return new Qu(e, t);
+ case "document":
+ case "paragraph":
+ case "blockQuote":
+ case "thematicBreak":
+ case "tableRow":
+ case "tableBody":
+ case "tableHead":
+ case "frontMatter":
+ return new Ju(e, t);
+ case "code":
+ return new rd(e, t);
+ case "refDef":
+ return new Yu(e, t);
+ case "customBlock":
+ return new ed(e, t);
+ case "customInline":
+ return new od(e, t);
+ default:
+ return new Wu(e, t)
+ }
+ }
+
+ function sd(e) {
+ return "codeBlock" === e.type
+ }
+
+ function ad(e) {
+ return "list" === e.type
+ }
+
+ function ld(e) {
+ return "refDef" === e.type
+ }
+
+ function cd(e) {
+ return "customBlock" === e.type
+ }
+
+ function ud(e, t) {
+ var n = id("text", t);
+ return n.literal = e, n
+ }
+ var dd, pd = "[A-Za-z][A-Za-z0-9-]*",
+ hd = "<" + pd + "(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>",
+ fd = "" + pd + "\\s*[>]",
+ md = new RegExp("^(?:<[A-Za-z][A-Za-z0-9-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>|[A-Za-z][A-Za-z0-9-]*\\s*[>]|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|[<][?].*?[?][>]|]*>|)", "i");
+ if (String.fromCodePoint) dd = function(e) {
+ try {
+ return String.fromCodePoint(e)
+ } catch (e) {
+ if (e instanceof RangeError) return String.fromCharCode(65533);
+ throw e
+ }
+ };
+ else {
+ var gd = String.fromCharCode,
+ vd = Math.floor;
+ dd = function() {
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
+ var n, r, o = 16384,
+ i = [],
+ s = -1,
+ a = e.length;
+ if (!a) return "";
+ for (var l = ""; ++s < a;) {
+ var c = Number(e[s]);
+ if (!isFinite(c) || c < 0 || c > 1114111 || vd(c) !== c) return String.fromCharCode(65533);
+ c <= 65535 ? i.push(c) : (n = 55296 + ((c -= 65536) >> 10), r = c % 1024 + 56320, i.push(n, r)), (s + 1 === a || i.length > o) && (l += gd.apply(void 0, i), i.length = 0)
+ }
+ return l
+ }
+ }
+ var yd = dd;
+
+ function bd(e) {
+ var t = /\)+$/.exec(e);
+ if (t) {
+ for (var n = 0, r = 0, o = e; r < o.length; r++) {
+ var i = o[r];
+ "(" === i ? n < 0 ? n = 1 : n += 1 : ")" === i && (n -= 1)
+ }
+ if (n < 0) {
+ var s = Math.min(-n, t[0].length);
+ return e.substring(0, e.length - s)
+ }
+ }
+ return e
+ }
+
+ function wd(e) {
+ return e.replace(/&[A-Za-z0-9]+;$/, "")
+ }
+
+ function kd(e) {
+ return Uc(Uc([], function(e) {
+ for (var t, n = new RegExp("(www|https?://).(?:[w-]+.)*[A-Za-z0-9-]+.[A-Za-z0-9-]+[^<\\s]*[^!.,:*_?~\\s]", "g"), r = []; t = n.exec(e);) {
+ var o = wd(bd(t[0])),
+ i = "www" === t[1] ? "http://" : "";
+ r.push({
+ text: o,
+ range: [t.index, t.index + o.length - 1],
+ url: "" + i + o
+ })
+ }
+ return r
+ }(e)), function(e) {
+ for (var t, n = new RegExp("[\\w.+-]+@(?:[\\w-]+\\.)+[\\w-]+", "g"), r = []; t = n.exec(e);) {
+ var o = t[0];
+ /[_-]+$/.test(o) || r.push({
+ text: o,
+ range: [t.index, t.index + o.length - 1],
+ url: "mailto:" + o
+ })
+ }
+ return r
+ }(e)).sort((function(e, t) {
+ return e.range[0] - t.range[0]
+ }))
+ }
+
+ function xd(e) {
+ return e[e.length - 1]
+ }
+
+ function Cd(e) {
+ return e.slice(1, e.length - 1).trim().replace(/[ \t\r\n]+/, " ").toLowerCase().toUpperCase()
+ }
+
+ function Td(e, t) {
+ Object.keys(e).forEach((function(n) {
+ t(n, e[n])
+ }))
+ }
+
+ function Md(e) {
+ return !Object.keys(e).length
+ }
+ var Sd = 126,
+ Ed = 39,
+ Nd = 34,
+ Od = 36,
+ Dd = "\\\\" + Au,
+ Ad = new RegExp(/[!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/),
+ Ld = new RegExp('^(?:"(' + Dd + '|[^"\\x00])*"|\'(' + Dd + "|[^'\\x00])*'|\\((" + Dd + "|[^()\\x00])*\\))"),
+ Id = /^(?:<(?:[^<>\n\\\x00]|\\.)*>)/,
+ Rd = new RegExp("^" + Au),
+ Pd = new RegExp("^" + Ou, "i"),
+ Bd = /`+/,
+ Fd = /^`+/,
+ Hd = /\.\.\./g,
+ zd = /--+/g,
+ qd = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,
+ Vd = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,
+ jd = /^ *(?:\n *)?/,
+ $d = /^[ \t\n\x0b\x0c\x0d]/,
+ _d = /^\s/,
+ Ud = / *$/,
+ Wd = /^ */,
+ Jd = /^ *(?:\n|$)/,
+ Gd = /^\[(?:[^\\\[\]]|\\.){0,1000}\]/,
+ Kd = /^[^\n`\[\]\\!<&*_'"~$]+/m,
+ Zd = function() {
+ function e(e) {
+ this.subject = "", this.delimiters = null, this.brackets = null, this.pos = 0, this.lineStartNum = 0, this.lineIdx = 0, this.lineOffsets = [0], this.linePosOffset = 0, this.refMap = {}, this.refLinkCandidateMap = {}, this.refDefCandidateMap = {}, this.options = e
+ }
+ return e.prototype.sourcepos = function(e, t) {
+ var n = this.linePosOffset + this.lineOffsets[this.lineIdx],
+ r = this.lineStartNum + this.lineIdx,
+ o = [r, e + n];
+ return "number" == typeof t ? [o, [r, t + n]] : o
+ }, e.prototype.nextLine = function() {
+ this.lineIdx += 1, this.linePosOffset = -this.pos
+ }, e.prototype.match = function(e) {
+ var t = e.exec(this.subject.slice(this.pos));
+ return null === t ? null : (this.pos += t.index + t[0].length, t[0])
+ }, e.prototype.peek = function() {
+ return this.pos < this.subject.length ? this.subject.charCodeAt(this.pos) : -1
+ }, e.prototype.spnl = function() {
+ return this.match(jd), !0
+ }, e.prototype.parseBackticks = function(e) {
+ var t = this.pos + 1,
+ n = this.match(Fd);
+ if (null === n) return !1;
+ for (var r, o = this.pos; null !== (r = this.match(Bd));)
+ if (r === n) {
+ var i = this.subject.slice(o, this.pos - n.length),
+ s = this.sourcepos(t, this.pos),
+ a = i.split("\n");
+ if (a.length > 1) {
+ var l = xd(a);
+ this.lineIdx += a.length - 1, this.linePosOffset = -(this.pos - l.length - n.length), s[1] = this.sourcepos(this.pos), i = a.join(" ")
+ }
+ var c = id("code", s);
+ return i.length > 0 && null !== i.match(/[^ ]/) && " " == i[0] && " " == i[i.length - 1] ? c.literal = i.slice(1, i.length - 1) : c.literal = i, c.tickCount = n.length, e.appendChild(c), !0
+ } return this.pos = o, e.appendChild(ud(n, this.sourcepos(t, this.pos - 1))), !0
+ }, e.prototype.parseBackslash = function(e) {
+ var t, n = this.subject;
+ this.pos += 1;
+ var r = this.pos;
+ return 10 === this.peek() ? (this.pos += 1, t = id("linebreak", this.sourcepos(this.pos - 1, this.pos)), e.appendChild(t), this.nextLine()) : Rd.test(n.charAt(this.pos)) ? (e.appendChild(ud(n.charAt(this.pos), this.sourcepos(r, this.pos))), this.pos += 1) : e.appendChild(ud("\\", this.sourcepos(r, r))), !0
+ }, e.prototype.parseAutolink = function(e) {
+ var t, n, r, o = this.pos + 1;
+ return (t = this.match(qd)) ? (n = t.slice(1, t.length - 1), (r = id("link", this.sourcepos(o, this.pos))).destination = Bu("mailto:" + n), r.title = "", r.appendChild(ud(n, this.sourcepos(o + 1, this.pos - 1))), e.appendChild(r), !0) : !!(t = this.match(Vd)) && (n = t.slice(1, t.length - 1), (r = id("link", this.sourcepos(o, this.pos))).destination = Bu(n), r.title = "", r.appendChild(ud(n, this.sourcepos(o + 1, this.pos - 1))), e.appendChild(r), !0)
+ }, e.prototype.parseHtmlTag = function(e) {
+ var t = this.pos + 1,
+ n = this.match(md);
+ if (null === n) return !1;
+ var r = id("htmlInline", this.sourcepos(t, this.pos));
+ return r.literal = n, e.appendChild(r), !0
+ }, e.prototype.scanDelims = function(e) {
+ var t = 0,
+ n = this.pos;
+ if (e === Ed || e === Nd) t++, this.pos++;
+ else
+ for (; this.peek() === e;) t++, this.pos++;
+ if (0 === t || t < 2 && (e === Sd || e === Od)) return this.pos = n, null;
+ var r, o = 0 === n ? "\n" : this.subject.charAt(n - 1),
+ i = this.peek();
+ r = -1 === i ? "\n" : yd(i);
+ var s, a, l = _d.test(r),
+ c = Ad.test(r),
+ u = _d.test(o),
+ d = Ad.test(o),
+ p = !l && (!c || u || d),
+ h = !u && (!d || l || c);
+ return 95 === e ? (s = p && (!h || d), a = h && (!p || c)) : e === Ed || e === Nd ? (s = p && !h, a = h) : e === Od ? (s = !l, a = !u) : (s = p, a = h), this.pos = n, {
+ numdelims: t,
+ canOpen: s,
+ canClose: a
+ }
+ }, e.prototype.handleDelim = function(e, t) {
+ var n = this.scanDelims(e);
+ if (!n) return !1;
+ var r = n.numdelims,
+ o = this.pos + 1;
+ this.pos += r;
+ var i = ud(e === Ed ? "’" : e === Nd ? "“" : this.subject.slice(o - 1, this.pos), this.sourcepos(o, this.pos));
+ return t.appendChild(i), (n.canOpen || n.canClose) && (this.options.smart || e !== Ed && e !== Nd) && (this.delimiters = {
+ cc: e,
+ numdelims: r,
+ origdelims: r,
+ node: i,
+ previous: this.delimiters,
+ next: null,
+ canOpen: n.canOpen,
+ canClose: n.canClose
+ }, this.delimiters.previous && (this.delimiters.previous.next = this.delimiters)), !0
+ }, e.prototype.removeDelimiter = function(e) {
+ null !== e.previous && (e.previous.next = e.next), null === e.next ? this.delimiters = e.previous : e.next.previous = e.previous
+ }, e.prototype.removeDelimitersBetween = function(e, t) {
+ e.next !== t && (e.next = t, t.previous = e)
+ }, e.prototype.processEmphasis = function(e) {
+ var t, n, r, o, i, s, a, l = !1,
+ c = ((t = {})[95] = [e, e, e], t[42] = [e, e, e], t[39] = [e], t[34] = [e], t[126] = [e], t[36] = [e], t);
+ for (r = this.delimiters; null !== r && r.previous !== e;) r = r.previous;
+ for (; null !== r;) {
+ var u = r.cc,
+ d = 95 === u || 42 === u;
+ if (r.canClose) {
+ for (n = r.previous, a = !1; null !== n && n !== e && n !== c[u][d ? r.origdelims % 3 : 0];) {
+ if (l = d && (r.canOpen || n.canClose) && r.origdelims % 3 != 0 && (n.origdelims + r.origdelims) % 3 == 0, n.cc === r.cc && n.canOpen && !l) {
+ a = !0;
+ break
+ }
+ n = n.previous
+ }
+ if (o = r, d || u === Sd || u === Od)
+ if (a) {
+ if (n) {
+ var p = r.numdelims >= 2 && n.numdelims >= 2 ? 2 : 1,
+ h = d ? 0 : 1;
+ i = n.node, s = r.node;
+ var f = d ? 1 === p ? "emph" : "strong" : "strike";
+ u === Od && (f = "customInline");
+ var m = id(f),
+ g = i.sourcepos[1],
+ v = s.sourcepos[0];
+ m.sourcepos = [
+ [g[0], g[1] - p + 1],
+ [v[0], v[1] + p - 1]
+ ], i.sourcepos[1][1] -= p, s.sourcepos[0][1] += p, i.literal = i.literal.slice(p), s.literal = s.literal.slice(p), n.numdelims -= p, r.numdelims -= p;
+ for (var y = i.next, b = void 0; y && y !== s;) b = y.next, y.unlink(), m.appendChild(y), y = b;
+ if (u === Od) {
+ var w = m.firstChild,
+ k = w.literal || "",
+ x = k.split(/\s/)[0];
+ m.info = x, k.length <= x.length ? w.unlink() : (w.sourcepos[0][1] += x.length, w.literal = k.replace(x + " ", ""))
+ }
+ if (i.insertAfter(m), this.removeDelimitersBetween(n, r), n.numdelims <= h && (0 === n.numdelims && i.unlink(), this.removeDelimiter(n)), r.numdelims <= h) {
+ 0 === r.numdelims && s.unlink();
+ var C = r.next;
+ this.removeDelimiter(r), r = C
+ }
+ }
+ } else r = r.next;
+ else u === Ed ? (r.node.literal = "’", a && (n.node.literal = "‘"), r = r.next) : u === Nd && (r.node.literal = "â€", a && (n.node.literal = "“"), r = r.next);
+ a || (c[u][d ? o.origdelims % 3 : 0] = o.previous, o.canOpen || this.removeDelimiter(o))
+ } else r = r.next
+ }
+ for (; null !== this.delimiters && this.delimiters !== e;) this.removeDelimiter(this.delimiters)
+ }, e.prototype.parseLinkTitle = function() {
+ var e = this.match(Ld);
+ return null === e ? null : Pu(e.substr(1, e.length - 2))
+ }, e.prototype.parseLinkDestination = function() {
+ var e = this.match(Id);
+ if (null === e) {
+ if (60 === this.peek()) return null;
+ for (var t = this.pos, n = 0, r = void 0; - 1 !== (r = this.peek());)
+ if (92 === r && Rd.test(this.subject.charAt(this.pos + 1))) this.pos += 1, -1 !== this.peek() && (this.pos += 1);
+ else if (40 === r) this.pos += 1, n += 1;
+ else if (41 === r) {
+ if (n < 1) break;
+ this.pos += 1, n -= 1
+ } else {
+ if (null !== $d.exec(yd(r))) break;
+ this.pos += 1
+ }
+ return this.pos === t && 41 !== r || 0 !== n ? null : Bu(Pu(e = this.subject.substr(t, this.pos - t)))
+ }
+ return Bu(Pu(e.substr(1, e.length - 2)))
+ }, e.prototype.parseLinkLabel = function() {
+ var e = this.match(Gd);
+ return null === e || e.length > 1001 ? 0 : e.length
+ }, e.prototype.parseOpenBracket = function(e) {
+ var t = this.pos;
+ this.pos += 1;
+ var n = ud("[", this.sourcepos(this.pos, this.pos));
+ return e.appendChild(n), this.addBracket(n, t, !1), !0
+ }, e.prototype.parseBang = function(e) {
+ var t = this.pos;
+ if (this.pos += 1, 91 === this.peek()) {
+ this.pos += 1;
+ var n = ud("![", this.sourcepos(this.pos - 1, this.pos));
+ e.appendChild(n), this.addBracket(n, t + 1, !0)
+ } else {
+ n = ud("!", this.sourcepos(this.pos, this.pos));
+ e.appendChild(n)
+ }
+ return !0
+ }, e.prototype.parseCloseBracket = function(e) {
+ var t = null,
+ n = null,
+ r = !1;
+ this.pos += 1;
+ var o = this.pos,
+ i = this.brackets;
+ if (null === i) return e.appendChild(ud("]", this.sourcepos(o, o))), !0;
+ if (!i.active) return e.appendChild(ud("]", this.sourcepos(o, o))), this.removeBracket(), !0;
+ var s = i.image,
+ a = this.pos;
+ 40 === this.peek() && (this.pos++, this.spnl() && null !== (t = this.parseLinkDestination()) && this.spnl() && ($d.test(this.subject.charAt(this.pos - 1)) && (n = this.parseLinkTitle()), 1) && this.spnl() && 41 === this.peek() ? (this.pos += 1, r = !0) : this.pos = a);
+ var l = "";
+ if (!r) {
+ var c = this.pos,
+ u = this.parseLinkLabel();
+ if (u > 2 ? l = this.subject.slice(c, c + u) : i.bracketAfter || (l = this.subject.slice(i.index, o)), 0 === u && (this.pos = a), l) {
+ l = Cd(l);
+ var d = this.refMap[l];
+ d && (t = d.destination, n = d.title, r = !0)
+ }
+ }
+ if (r) {
+ var p = id(s ? "image" : "link");
+ p.destination = t, p.title = n || "", p.sourcepos = [i.startpos, this.sourcepos(this.pos)];
+ for (var h = i.node.next, f = void 0; h;) f = h.next, h.unlink(), p.appendChild(h), h = f;
+ if (e.appendChild(p), this.processEmphasis(i.previousDelimiter), this.removeBracket(), i.node.unlink(), !s)
+ for (i = this.brackets; null !== i;) i.image || (i.active = !1), i = i.previous;
+ return this.options.referenceDefinition && (this.refLinkCandidateMap[e.id] = {
+ node: e,
+ refLabel: l
+ }), !0
+ }
+ return this.removeBracket(), this.pos = o, e.appendChild(ud("]", this.sourcepos(o, o))), this.options.referenceDefinition && (this.refLinkCandidateMap[e.id] = {
+ node: e,
+ refLabel: l
+ }), !0
+ }, e.prototype.addBracket = function(e, t, n) {
+ null !== this.brackets && (this.brackets.bracketAfter = !0), this.brackets = {
+ node: e,
+ startpos: this.sourcepos(t + (n ? 0 : 1)),
+ previous: this.brackets,
+ previousDelimiter: this.delimiters,
+ index: t,
+ image: n,
+ active: !0
+ }
+ }, e.prototype.removeBracket = function() {
+ this.brackets && (this.brackets = this.brackets.previous)
+ }, e.prototype.parseEntity = function(e) {
+ var t, n = this.pos + 1;
+ return !!(t = this.match(Pd)) && (e.appendChild(ud(Zc.decodeHTML(t), this.sourcepos(n, this.pos))), !0)
+ }, e.prototype.parseString = function(e) {
+ var t, n = this.pos + 1;
+ if (t = this.match(Kd)) {
+ if (this.options.smart) {
+ var r = t.replace(Hd, "…").replace(zd, (function(e) {
+ var t = 0,
+ n = 0;
+ return e.length % 3 == 0 ? n = e.length / 3 : e.length % 2 == 0 ? t = e.length / 2 : e.length % 3 == 2 ? (t = 1, n = (e.length - 2) / 3) : (t = 2, n = (e.length - 4) / 3), zu("—", n) + zu("–", t)
+ }));
+ e.appendChild(ud(r, this.sourcepos(n, this.pos)))
+ } else {
+ var o = ud(t, this.sourcepos(n, this.pos));
+ e.appendChild(o)
+ }
+ return !0
+ }
+ return !1
+ }, e.prototype.parseNewline = function(e) {
+ this.pos += 1;
+ var t = e.lastChild;
+ if (t && "text" === t.type && " " === t.literal[t.literal.length - 1]) {
+ var n = " " === t.literal[t.literal.length - 2],
+ r = t.literal.length;
+ t.literal = t.literal.replace(Ud, "");
+ var o = r - t.literal.length;
+ t.sourcepos[1][1] -= o, e.appendChild(id(n ? "linebreak" : "softbreak", this.sourcepos(this.pos - o, this.pos)))
+ } else e.appendChild(id("softbreak", this.sourcepos(this.pos, this.pos)));
+ return this.nextLine(), this.match(Wd), !0
+ }, e.prototype.parseReference = function(e, t) {
+ if (!this.options.referenceDefinition) return 0;
+ this.subject = e.stringContent, this.pos = 0;
+ var n = null,
+ r = this.pos,
+ o = this.parseLinkLabel();
+ if (0 === o) return 0;
+ var i = this.subject.substr(0, o);
+ if (58 !== this.peek()) return this.pos = r, 0;
+ this.pos++, this.spnl();
+ var s = this.parseLinkDestination();
+ if (null === s) return this.pos = r, 0;
+ var a = this.pos;
+ this.spnl(), this.pos !== a && (n = this.parseLinkTitle()), null === n && (n = "", this.pos = a);
+ var l = !0;
+ if (null === this.match(Jd) && ("" === n ? l = !1 : (n = "", this.pos = a, l = null !== this.match(Jd))), !l) return this.pos = r, 0;
+ var c = Cd(i);
+ if ("" === c) return this.pos = r, 0;
+ var u = this.getReferenceDefSourcepos(e);
+ e.sourcepos[0][0] = u[1][0] + 1;
+ var d = id("refDef", u);
+ return d.title = n, d.dest = s, d.label = c, e.insertBefore(d), t[c] ? this.refDefCandidateMap[d.id] = d : t[c] = $p(d), this.pos - r
+ }, e.prototype.mergeTextNodes = function(e) {
+ for (var t, n = []; t = e.next();) {
+ var r = t.entering,
+ o = t.node;
+ if (r && "text" === o.type) n.push(o);
+ else if (1 === n.length) n = [];
+ else if (n.length > 1) {
+ var i = n[0],
+ s = n[n.length - 1];
+ i.sourcepos && s.sourcepos && (i.sourcepos[1] = s.sourcepos[1]), i.next = s.next, i.next && (i.next.prev = i);
+ for (var a = 1; a < n.length; a += 1) i.literal += n[a].literal, n[a].unlink();
+ n = []
+ }
+ }
+ }, e.prototype.getReferenceDefSourcepos = function(e) {
+ for (var t = e.stringContent.split(/\n|\r\n/), n = !1, r = 0, o = {
+ line: 0,
+ ch: 0
+ }, i = 0; i < t.length; i += 1) {
+ var s = t[i];
+ if ($d.test(s)) break;
+ if (/\:/.test(s) && 0 === r) {
+ if (n) break;
+ var a = s.indexOf(":") === s.length - 1 ? i + 1 : i;
+ o = {
+ line: a,
+ ch: t[a].length
+ }, n = !0
+ }
+ var l = s.match(/'|"/g);
+ if (l && (r += l.length), 2 === r) {
+ o = {
+ line: i,
+ ch: s.length
+ };
+ break
+ }
+ }
+ return [
+ [e.sourcepos[0][0], e.sourcepos[0][1]],
+ [e.sourcepos[0][0] + o.line, o.ch]
+ ]
+ }, e.prototype.parseInline = function(e) {
+ var t, n = !1,
+ r = this.peek();
+ if (-1 === r) return !1;
+ switch (r) {
+ case 10:
+ n = this.parseNewline(e);
+ break;
+ case 92:
+ n = this.parseBackslash(e);
+ break;
+ case 96:
+ n = this.parseBackticks(e);
+ break;
+ case 42:
+ case 95:
+ case Sd:
+ case Od:
+ n = this.handleDelim(r, e);
+ break;
+ case Ed:
+ case Nd:
+ n = !!(null === (t = this.options) || void 0 === t ? void 0 : t.smart) && this.handleDelim(r, e);
+ break;
+ case 91:
+ n = this.parseOpenBracket(e);
+ break;
+ case 33:
+ n = this.parseBang(e);
+ break;
+ case 93:
+ n = this.parseCloseBracket(e);
+ break;
+ case 60:
+ n = this.parseAutolink(e) || this.parseHtmlTag(e);
+ break;
+ case 38:
+ e.disabledEntityParse || (n = this.parseEntity(e));
+ break;
+ default:
+ n = this.parseString(e)
+ }
+ return n || (this.pos += 1, e.appendChild(ud(yd(r), this.sourcepos(this.pos, this.pos + 1)))), !0
+ }, e.prototype.parse = function(e) {
+ for (this.subject = e.stringContent.trim(), this.pos = 0, this.delimiters = null, this.brackets = null, this.lineOffsets = e.lineOffsets || [0], this.lineIdx = 0, this.linePosOffset = 0, this.lineStartNum = e.sourcepos[0][0], function(e) {
+ return "heading" === e.type
+ }(e) && (this.lineOffsets[0] += e.level + 1); this.parseInline(e););
+ e.stringContent = null, this.processEmphasis(null), this.mergeTextNodes(e.walker());
+ var t = this.options,
+ n = t.extendedAutolinks,
+ r = t.customParser;
+ if (n && function(e, t) {
+ var n;
+ "boolean" == typeof t && (t = kd);
+ for (var r = function() {
+ var e = n.entering,
+ r = n.node;
+ if (e && "text" === r.type && "link" !== r.parent.type) {
+ var o = r.literal,
+ i = t(o);
+ if (!i || !i.length) return "continue";
+ for (var s = 0, a = r.sourcepos[0], l = a[0], c = a[1], u = function(e, t) {
+ return [
+ [l, c + e],
+ [l, c + t]
+ ]
+ }, d = [], p = 0, h = i; p < h.length; p++) {
+ var f = h[p],
+ m = f.range,
+ g = f.url,
+ v = f.text;
+ m[0] > s && d.push(ud(o.substring(s, m[0]), u(s, m[0] - 1)));
+ var y = id("link", u.apply(void 0, m));
+ y.appendChild(ud(v, u.apply(void 0, m))), y.destination = g, y.extendedAutolink = !0, d.push(y), s = m[1] + 1
+ }
+ s < o.length && d.push(ud(o.substring(s), u(s, o.length - 1)));
+ for (var b = 0, w = d; b < w.length; b++) {
+ var k = w[b];
+ r.insertBefore(k)
+ }
+ r.unlink()
+ }
+ }; n = e.next();) r()
+ }(e.walker(), n), r && e.firstChild)
+ for (var o, i = e.firstChild.walker(); o = i.next();) {
+ var s = o.node,
+ a = o.entering;
+ r[s.type] && r[s.type](s, {
+ entering: a,
+ options: this.options
+ })
+ }
+ }, e
+ }(),
+ Xd = /^\[([ \txX])\][ \t]+/;
+ var Qd = /[^ \t\f\v\r\n]/,
+ Yd = /^(?:`{3,}|~{3,})(?= *$)/;
+
+ function ep(e) {
+ for (var t = e; t;) {
+ if (t.lastLineBlank) return !0;
+ var n = t.type;
+ if (t.lastLineChecked || "list" !== n && "item" !== n) {
+ t.lastLineChecked = !0;
+ break
+ }
+ t.lastLineChecked = !0, t = t.lastChild
+ }
+ return !1
+ }
+
+ function tp(e, t) {
+ return t < e.length ? e.charCodeAt(t) : -1
+ }
+
+ function np(e) {
+ return !Qd.test(e)
+ }
+
+ function rp(e) {
+ return 32 === e || 9 === e
+ }
+ var op = /^\$\$$/,
+ ip = {
+ continue: function(e, t) {
+ var n = e.currentLine,
+ r = n.match(op);
+ if (r) return e.lastLineLength = r[0].length, e.finalize(t, e.lineNumber), 2;
+ for (var o = t.offset; o > 0 && rp(tp(n, e.offset));) e.advanceOffset(1, !0), o--;
+ return 0
+ },
+ finalize: function(e, t) {
+ if (null !== t.stringContent) {
+ var n = t.stringContent,
+ r = n.indexOf("\n"),
+ o = n.slice(0, r),
+ i = n.slice(r + 1),
+ s = o.match(/^(\s*)(.*)/);
+ t.info = Pu(s[2].trim()), t.literal = i, t.stringContent = null
+ }
+ },
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !0
+ },
+ sp = {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !0
+ },
+ ap = {
+ continue: function() {
+ return 0
+ },
+ finalize: function(e, t) {
+ for (var n = t.firstChild; n;) {
+ if (ep(n) && n.next) {
+ t.listData.tight = !1;
+ break
+ }
+ for (var r = n.firstChild; r;) {
+ if (ep(r) && (n.next || r.next)) {
+ t.listData.tight = !1;
+ break
+ }
+ r = r.next
+ }
+ n = n.next
+ }
+ },
+ canContain: function(e) {
+ return "item" === e
+ },
+ acceptsLines: !1
+ },
+ lp = {
+ continue: function(e, t) {
+ if (e.blank) {
+ if (null === t.firstChild) return 1;
+ e.advanceNextNonspace()
+ } else {
+ if (!(e.indent >= t.listData.markerOffset + t.listData.padding)) return 1;
+ e.advanceOffset(t.listData.markerOffset + t.listData.padding, !0)
+ }
+ return 0
+ },
+ finalize: function(e, t) {
+ if (t.firstChild && "paragraph" === t.firstChild.type) {
+ var n = t.firstChild,
+ r = n.stringContent.match(Xd);
+ if (r) {
+ var o = r[0].length;
+ n.stringContent = n.stringContent.substring(o - 1), n.sourcepos[0][1] += o, n.lineOffsets[0] += o, t.listData.task = !0, t.listData.checked = /[xX]/.test(r[1])
+ }
+ }
+ },
+ canContain: function(e) {
+ return "item" !== e
+ },
+ acceptsLines: !1
+ },
+ cp = {
+ continue: function(e, t) {
+ var n = e.currentLine,
+ r = e.indent;
+ if (t.isFenced) {
+ var o = r <= 3 && n.charAt(e.nextNonspace) === t.fenceChar && n.slice(e.nextNonspace).match(Yd);
+ if (o && o[0].length >= t.fenceLength) return e.lastLineLength = e.offset + r + o[0].length, e.finalize(t, e.lineNumber), 2;
+ for (var i = t.fenceOffset; i > 0 && rp(tp(n, e.offset));) e.advanceOffset(1, !0), i--
+ } else if (r >= 4) e.advanceOffset(4, !0);
+ else {
+ if (!e.blank) return 1;
+ e.advanceNextNonspace()
+ }
+ return 0
+ },
+ finalize: function(e, t) {
+ var n;
+ if (null !== t.stringContent) {
+ if (t.isFenced) {
+ var r = t.stringContent,
+ o = r.indexOf("\n"),
+ i = r.slice(0, o),
+ s = r.slice(o + 1),
+ a = i.match(/^(\s*)(.*)/);
+ t.infoPadding = a[1].length, t.info = Pu(a[2].trim()), t.literal = s
+ } else t.literal = null === (n = t.stringContent) || void 0 === n ? void 0 : n.replace(/(\n *)+$/, "\n");
+ t.stringContent = null
+ }
+ },
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !0
+ },
+ up = {
+ continue: function(e) {
+ return e.blank ? 1 : 0
+ },
+ finalize: function(e, t) {
+ if (null !== t.stringContent) {
+ for (var n, r = !1; 91 === tp(t.stringContent, 0) && (n = e.inlineParser.parseReference(t, e.refMap));) t.stringContent = t.stringContent.slice(n), r = !0;
+ r && np(t.stringContent) && t.unlink()
+ }
+ },
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !0
+ },
+ dp = {
+ document: {
+ continue: function() {
+ return 0
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "item" !== e
+ },
+ acceptsLines: !1
+ },
+ list: ap,
+ blockQuote: {
+ continue: function(e) {
+ var t = e.currentLine;
+ return e.indented || 62 !== tp(t, e.nextNonspace) ? 1 : (e.advanceNextNonspace(), e.advanceOffset(1, !1), rp(tp(t, e.offset)) && e.advanceOffset(1, !0), 0)
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "item" !== e
+ },
+ acceptsLines: !1
+ },
+ item: lp,
+ heading: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !1
+ },
+ thematicBreak: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !1
+ },
+ codeBlock: cp,
+ htmlBlock: {
+ continue: function(e, t) {
+ return !e.blank || 6 !== t.htmlBlockType && 7 !== t.htmlBlockType ? 0 : 1
+ },
+ finalize: function(e, t) {
+ var n;
+ t.literal = (null === (n = t.stringContent) || void 0 === n ? void 0 : n.replace(/(\n *)+$/, "")) || null, t.stringContent = null
+ },
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !0
+ },
+ paragraph: up,
+ table: {
+ continue: function() {
+ return 0
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "tableHead" === e || "tableBody" === e
+ },
+ acceptsLines: !1
+ },
+ tableBody: {
+ continue: function() {
+ return 0
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "tableRow" === e
+ },
+ acceptsLines: !1
+ },
+ tableHead: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "tableRow" === e || "tableDelimRow" === e
+ },
+ acceptsLines: !1
+ },
+ tableRow: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "tableCell" === e
+ },
+ acceptsLines: !1
+ },
+ tableCell: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !1
+ },
+ tableDelimRow: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function(e) {
+ return "tableDelimCell" === e
+ },
+ acceptsLines: !1
+ },
+ tableDelimCell: {
+ continue: function() {
+ return 1
+ },
+ finalize: function() {},
+ canContain: function() {
+ return !1
+ },
+ acceptsLines: !1
+ },
+ refDef: sp,
+ customBlock: ip,
+ frontMatter: sp
+ };
+
+ function pp(e) {
+ for (var t = 0, n = 0, r = [], o = 0; o < e.length; o += 1)
+ if ("|" === e[o] && "\\" !== e[o - 1]) {
+ var i = e.substring(t, o);
+ 0 === t && qu(i) ? n = o + 1 : r.push(i), t = o + 1
+ } t < e.length && (qu(i = e.substring(t, e.length)) || r.push(i));
+ return [n, r]
+ }
+
+ function hp(e, t, n, r) {
+ for (var o = [], i = 0, s = t; i < s.length; i++) {
+ var a = s[i],
+ l = a.match(/^[ \t]+/),
+ c = l ? l[0].length : 0,
+ u = void 0,
+ d = void 0;
+ if (c === a.length) c = 0, u = 0, d = "";
+ else {
+ var p = a.match(/[ \t]+$/);
+ u = p ? p[0].length : 0, d = a.slice(c, a.length - u)
+ }
+ var h = r + c,
+ f = id(e, [
+ [n, r],
+ [n, r + a.length - 1]
+ ]);
+ f.stringContent = d.replace(/\\\|/g, "|"), f.startIdx = o.length, f.endIdx = o.length, f.lineOffsets = [h - 1], f.paddingLeft = c, f.paddingRight = u, o.push(f), r += a.length + 1
+ }
+ return o
+ }
+
+ function fp(e) {
+ var t = null,
+ n = e.stringContent,
+ r = n[0];
+ return ":" === n[n.length - 1] ? t = ":" === r ? "center" : "right" : ":" === r && (t = "left"), {
+ align: t
+ }
+ }
+ var mp = /^(\$\$)(\s*[a-zA-Z])+/,
+ gp = /^(\$\$)(\s*[a-zA-Z])+.*(\$\$)/,
+ vp = /^`{3,}(?!.*`)|^~{3,}/,
+ yp = [/./, /^<(?:script|pre|style)(?:\s|>|$)/i, /^/, /\?>/, />/, /\]\]>/],
+ Dp = /^[#`~*+_=<>0-9-;$]/,
+ Ap = /\r\n|\n|\r/;
+
+ function Lp() {
+ return id("document", [
+ [1, 1],
+ [0, 0]
+ ])
+ }
+ var Ip = {
+ smart: !1,
+ tagFilter: !1,
+ extendedAutolinks: !1,
+ disallowedHtmlBlockTags: [],
+ referenceDefinition: !1,
+ disallowDeepHeading: !1,
+ customParser: null,
+ frontMatter: !1
+ },
+ Rp = function() {
+ function e(e) {
+ this.options = _c(_c({}, Ip), e), this.doc = Lp(), this.tip = this.doc, this.oldtip = this.doc, this.lineNumber = 0, this.offset = 0, this.column = 0, this.nextNonspace = 0, this.nextNonspaceColumn = 0, this.indent = 0, this.currentLine = "", this.indented = !1, this.blank = !1, this.partiallyConsumedTab = !1, this.allClosed = !0, this.lastMatchedContainer = this.doc, this.refMap = {}, this.refLinkCandidateMap = {}, this.refDefCandidateMap = {}, this.lastLineLength = 0, this.lines = [], this.options.frontMatter && (dp.frontMatter = Np, Mp.unshift(Ep)), this.inlineParser = new Zd(this.options)
+ }
+ return e.prototype.advanceOffset = function(e, t) {
+ void 0 === t && (t = !1);
+ for (var n, r, o, i = this.currentLine; e > 0 && (o = i[this.offset]);) "\t" === o ? (n = 4 - this.column % 4, t ? (this.partiallyConsumedTab = n > e, r = n > e ? e : n, this.column += r, this.offset += this.partiallyConsumedTab ? 0 : 1, e -= r) : (this.partiallyConsumedTab = !1, this.column += n, this.offset += 1, e -= 1)) : (this.partiallyConsumedTab = !1, this.offset += 1, this.column += 1, e -= 1)
+ }, e.prototype.advanceNextNonspace = function() {
+ this.offset = this.nextNonspace, this.column = this.nextNonspaceColumn, this.partiallyConsumedTab = !1
+ }, e.prototype.findNextNonspace = function() {
+ for (var e, t = this.currentLine, n = this.offset, r = this.column;
+ "" !== (e = t.charAt(n));)
+ if (" " === e) n++, r++;
+ else {
+ if ("\t" !== e) break;
+ n++, r += 4 - r % 4
+ } this.blank = "\n" === e || "\r" === e || "" === e, this.nextNonspace = n, this.nextNonspaceColumn = r, this.indent = this.nextNonspaceColumn - this.column, this.indented = this.indent >= 4
+ }, e.prototype.addLine = function() {
+ if (this.partiallyConsumedTab) {
+ this.offset += 1;
+ var e = 4 - this.column % 4;
+ this.tip.stringContent += zu(" ", e)
+ }
+ this.tip.lineOffsets ? this.tip.lineOffsets.push(this.offset) : this.tip.lineOffsets = [this.offset], this.tip.stringContent += this.currentLine.slice(this.offset) + "\n"
+ }, e.prototype.addChild = function(e, t) {
+ for (; !dp[this.tip.type].canContain(e);) this.finalize(this.tip, this.lineNumber - 1);
+ var n = t + 1,
+ r = id(e, [
+ [this.lineNumber, n],
+ [0, 0]
+ ]);
+ return r.stringContent = "", this.tip.appendChild(r), this.tip = r, r
+ }, e.prototype.closeUnmatchedBlocks = function() {
+ if (!this.allClosed) {
+ for (; this.oldtip !== this.lastMatchedContainer;) {
+ var e = this.oldtip.parent;
+ this.finalize(this.oldtip, this.lineNumber - 1), this.oldtip = e
+ }
+ this.allClosed = !0
+ }
+ }, e.prototype.finalize = function(e, t) {
+ var n = e.parent;
+ e.open = !1, e.sourcepos[1] = [t, this.lastLineLength], dp[e.type].finalize(this, e), this.tip = n
+ }, e.prototype.processInlines = function(e) {
+ var t, n = this.options.customParser,
+ r = e.walker();
+ for (this.inlineParser.refMap = this.refMap, this.inlineParser.refLinkCandidateMap = this.refLinkCandidateMap, this.inlineParser.refDefCandidateMap = this.refDefCandidateMap, this.inlineParser.options = this.options; t = r.next();) {
+ var o = t.node,
+ i = t.entering,
+ s = o.type;
+ n && n[s] && n[s](o, {
+ entering: i,
+ options: this.options
+ }), i || "paragraph" !== s && "heading" !== s && ("tableCell" !== s || o.ignored) || this.inlineParser.parse(o)
+ }
+ }, e.prototype.incorporateLine = function(e) {
+ var t = this.doc;
+ this.oldtip = this.tip, this.offset = 0, this.column = 0, this.blank = !1, this.partiallyConsumedTab = !1, this.lineNumber += 1, -1 !== e.indexOf("\0") && (e = e.replace(/\0/g, "�")), this.currentLine = e;
+ for (var n, r = !0;
+ (n = t.lastChild) && n.open;) {
+ switch (t = n, this.findNextNonspace(), dp[t.type].continue(this, t)) {
+ case 0:
+ break;
+ case 1:
+ r = !1;
+ break;
+ case 2:
+ return void(this.lastLineLength = e.length);
+ default:
+ throw new Error("continue returned illegal value, must be 0, 1, or 2")
+ }
+ if (!r) {
+ t = t.parent;
+ break
+ }
+ }
+ this.allClosed = t === this.oldtip, this.lastMatchedContainer = t;
+ for (var o = "paragraph" !== t.type && dp[t.type].acceptsLines, i = Mp.length; !o;) {
+ if (this.findNextNonspace(), "table" !== t.type && "tableBody" !== t.type && "paragraph" !== t.type && !this.indented && !Dp.test(e.slice(this.nextNonspace))) {
+ this.advanceNextNonspace();
+ break
+ }
+ for (var s = 0; s < i;) {
+ var a = Mp[s](this, t);
+ if (1 === a) {
+ t = this.tip;
+ break
+ }
+ if (2 === a) {
+ t = this.tip, o = !0;
+ break
+ }
+ s++
+ }
+ if (s === i) {
+ this.advanceNextNonspace();
+ break
+ }
+ }
+ if (this.allClosed || this.blank || "paragraph" !== this.tip.type) {
+ this.closeUnmatchedBlocks(), this.blank && t.lastChild && (t.lastChild.lastLineBlank = !0);
+ for (var l = t.type, c = this.blank && !("blockQuote" === l || sd(t) && t.isFenced || "item" === l && !t.firstChild && t.sourcepos[0][0] === this.lineNumber), u = t; u;) u.lastLineBlank = c, u = u.parent;
+ dp[l].acceptsLines ? (this.addLine(), function(e) {
+ return "htmlBlock" === e.type
+ }(t) && t.htmlBlockType >= 1 && t.htmlBlockType <= 5 && Op[t.htmlBlockType].test(this.currentLine.slice(this.offset)) && (this.lastLineLength = e.length, this.finalize(t, this.lineNumber))) : this.offset < e.length && !this.blank && (t = this.addChild("paragraph", this.offset), this.advanceNextNonspace(), this.addLine())
+ } else this.addLine();
+ this.lastLineLength = e.length
+ }, e.prototype.parse = function(e, t) {
+ this.doc = Lp(), this.tip = this.doc, this.lineNumber = 0, this.lastLineLength = 0, this.offset = 0, this.column = 0, this.lastMatchedContainer = this.doc, this.currentLine = "";
+ var n = e.split(Ap),
+ r = n.length;
+ this.lines = t || n, this.options.referenceDefinition && this.clearRefMaps(), 10 === e.charCodeAt(e.length - 1) && (r -= 1);
+ for (var o = 0; o < r; o++) this.incorporateLine(n[o]);
+ for (; this.tip;) this.finalize(this.tip, r);
+ return this.processInlines(this.doc), this.doc
+ }, e.prototype.partialParseStart = function(e, t) {
+ this.doc = Lp(), this.tip = this.doc, this.lineNumber = e - 1, this.lastLineLength = 0, this.offset = 0, this.column = 0, this.lastMatchedContainer = this.doc, this.currentLine = "";
+ for (var n = t.length, r = 0; r < n; r++) this.incorporateLine(t[r]);
+ return this.doc
+ }, e.prototype.partialParseExtends = function(e) {
+ for (var t = 0; t < e.length; t++) this.incorporateLine(e[t])
+ }, e.prototype.partialParseFinish = function() {
+ for (; this.tip;) this.finalize(this.tip, this.lineNumber);
+ this.processInlines(this.doc)
+ }, e.prototype.setRefMaps = function(e, t, n) {
+ this.refMap = e, this.refLinkCandidateMap = t, this.refDefCandidateMap = n
+ }, e.prototype.clearRefMaps = function() {
+ [this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap].forEach((function(e) {
+ var t;
+ t = e, Object.keys(t).forEach((function(e) {
+ delete t[e]
+ }))
+ }))
+ }, e
+ }();
+
+ function Pp(e, t) {
+ return e[0] < t[0] ? 1 : e[0] > t[0] ? -1 : e[1] < t[1] ? 1 : e[1] > t[1] ? -1 : 0
+ }
+
+ function Bp(e, t) {
+ var n = e[0];
+ return 1 === Pp(e[1], t) ? 1 : -1 === Pp(n, t) ? -1 : 0
+ }
+
+ function Fp(e, t) {
+ for (var n = 0, r = t; n < r.length; n++) {
+ var o = r[n];
+ e.insertBefore(o)
+ }
+ }
+
+ function Hp(e, t) {
+ var n = e[0];
+ return e[1][0] < t ? 1 : n[0] > t ? -1 : 0
+ }
+
+ function zp(e, t) {
+ for (var n = e.firstChild; n;) {
+ var r = Hp(n.sourcepos, t);
+ if (0 === r) return n;
+ if (-1 === r) return n.prev || n;
+ n = n.next
+ }
+ return e.lastChild
+ }
+
+ function qp(e) {
+ return function(e) {
+ return _u[e]
+ }(e) || null
+ }
+
+ function Vp(e, t, n) {
+ if (void 0 === n && (n = null), t)
+ for (var r = t.walker(); t && t !== n;) {
+ e(t);
+ var o = r.next();
+ if (!o) break;
+ t = o.node
+ }
+ }
+ var jp = /\r\n|\n|\r/;
+
+ function $p(e) {
+ return {
+ id: e.id,
+ title: e.title,
+ sourcepos: e.sourcepos,
+ unlinked: !1,
+ destination: e.dest
+ }
+ }
+ var _p = function() {
+ function e(e, t) {
+ this.refMap = {}, this.refLinkCandidateMap = {}, this.refDefCandidateMap = {}, this.referenceDefinition = !!(null == t ? void 0 : t.referenceDefinition), this.parser = new Rp(t), this.parser.setRefMaps(this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap), this.eventHandlerMap = {
+ change: []
+ }, e = e || "", this.lineTexts = e.split(jp), this.root = this.parser.parse(e, this.lineTexts)
+ }
+ return e.prototype.updateLineTexts = function(e, t, n) {
+ var r, o = e[0],
+ i = e[1],
+ s = t[0],
+ a = t[1],
+ l = n.split(jp),
+ c = l.length,
+ u = this.lineTexts[o - 1],
+ d = this.lineTexts[s - 1];
+ l[0] = u.slice(0, i - 1) + l[0], l[c - 1] = l[c - 1] + d.slice(a - 1);
+ var p = s - o + 1;
+ return (r = this.lineTexts).splice.apply(r, Uc([o - 1, p], l)), c - p
+ }, e.prototype.updateRootNodeState = function() {
+ if (1 === this.lineTexts.length && "" === this.lineTexts[0]) return this.root.lastLineBlank = !0, void(this.root.sourcepos = [
+ [1, 1],
+ [1, 0]
+ ]);
+ this.root.lastChild && (this.root.lastLineBlank = this.root.lastChild.lastLineBlank);
+ for (var e = this.lineTexts, t = e.length - 1;
+ "" === e[t];) t -= 1;
+ e.length - 2 > t && (t += 1), this.root.sourcepos[1] = [t + 1, e[t].length]
+ }, e.prototype.replaceRangeNodes = function(e, t, n) {
+ e ? (Fp(e, n), function(e, t) {
+ if (e.parent === t.parent && e !== t) {
+ for (var n = e.next; n && n !== t;) {
+ for (var r = n.next, o = 0, i = ["parent", "prev", "next"]; o < i.length; o++) {
+ var s = i[o];
+ n[s] && (Uu(n[s].id), n[s] = null)
+ }
+ n = r
+ }
+ e.next = t.next, t.next ? t.next.prev = e : e.parent.lastChild = e
+ }
+ }(e, t), [e.id, t.id].forEach((function(e) {
+ return Uu(e)
+ })), e.unlink()) : t ? (Fp(t, n), Uu(t.id), t.unlink()) : function(e, t) {
+ for (var n = t.length - 1; n >= 0; n -= 1) e.prependChild(t[n])
+ }(this.root, n)
+ }, e.prototype.getNodeRange = function(e, t) {
+ var n = zp(this.root, e[0]),
+ r = zp(this.root, t[0]);
+ return r && r.next && t[0] + 1 === r.next.sourcepos[0][0] && (r = r.next), [n, r]
+ }, e.prototype.trigger = function(e, t) {
+ this.eventHandlerMap[e].forEach((function(e) {
+ e(t)
+ }))
+ }, e.prototype.extendEndLine = function(e) {
+ for (;
+ "" === this.lineTexts[e];) e += 1;
+ return e
+ }, e.prototype.parseRange = function(e, t, n, r) {
+ var o;
+ e && e.prev && (ad(e.prev) && function(e) {
+ var t = e.match(/^[ \t]+/);
+ if (t && (t[0].length >= 2 || /\t/.test(t[0]))) return !0;
+ var n = t ? e.slice(t.length) : e;
+ return xp.test(n) || Cp.test(n)
+ }(this.lineTexts[n - 1]) || function(e) {
+ return "table" === e.type
+ }(e.prev) && (!np(o = this.lineTexts[n - 1]) && -1 !== o.indexOf("|"))) && (n = (e = e.prev).sourcepos[0][0]);
+ for (var i = this.lineTexts.slice(n - 1, r), s = this.parser.partialParseStart(n, i), a = t ? t.next : this.root.firstChild, l = s.lastChild, c = l && sd(l) && l.open, u = l && cd(l) && l.open, d = l && ad(l);
+ (c || u) && a || d && a && ("list" === a.type || a.sourcepos[0][1] >= 2);) {
+ var p = this.extendEndLine(a.sourcepos[1][0]);
+ this.parser.partialParseExtends(this.lineTexts.slice(r, p)), e || (e = t), t = a, r = p, a = a.next
+ }
+ return this.parser.partialParseFinish(), {
+ newNodes: function(e) {
+ for (var t = [], n = e.firstChild; n;) t.push(n), n = n.next;
+ return t
+ }(s),
+ extStartNode: e,
+ extEndNode: t
+ }
+ }, e.prototype.getRemovedNodeRange = function(e, t) {
+ return !e || e && ld(e) || t && ld(t) ? null : {
+ id: [e.id, t.id],
+ line: [e.sourcepos[0][0] - 1, t.sourcepos[1][0] - 1]
+ }
+ }, e.prototype.markDeletedRefMap = function(e, t) {
+ var n = this;
+ if (!Md(this.refMap)) {
+ var r = function(e) {
+ if (ld(e)) {
+ var t = n.refMap[e.label];
+ t && e.id === t.id && (t.unlinked = !0)
+ }
+ };
+ e && Vp(r, e.parent, t), t && Vp(r, t)
+ }
+ }, e.prototype.replaceWithNewRefDefState = function(e) {
+ var t = this;
+ if (!Md(this.refMap)) {
+ var n = function(e) {
+ if (ld(e)) {
+ var n = e.label,
+ r = t.refMap[n];
+ r && !r.unlinked || (t.refMap[n] = $p(e))
+ }
+ };
+ e.forEach((function(e) {
+ Vp(n, e)
+ }))
+ }
+ }, e.prototype.replaceWithRefDefCandidate = function() {
+ var e = this;
+ Md(this.refDefCandidateMap) || Td(this.refDefCandidateMap, (function(t, n) {
+ var r = n.label,
+ o = n.sourcepos,
+ i = e.refMap[r];
+ (!i || i.unlinked || i.sourcepos[0][0] > o[0][0]) && (e.refMap[r] = $p(n))
+ }))
+ }, e.prototype.getRangeWithRefDef = function(e, t, n, r, o) {
+ if (this.referenceDefinition && !Md(this.refMap)) {
+ var i = zp(this.root, e - 1),
+ s = zp(this.root, t + 1);
+ i && ld(i) && i !== n && i !== r && (e = (n = i).sourcepos[0][0]), s && ld(s) && s !== n && s !== r && (r = s, t = this.extendEndLine(r.sourcepos[1][0] + o))
+ }
+ return [n, r, e, t]
+ }, e.prototype.parse = function(e, t, n) {
+ void 0 === n && (n = 0);
+ var r = this.getNodeRange(e, t),
+ o = r[0],
+ i = r[1],
+ s = o ? Math.min(o.sourcepos[0][0], e[0]) : e[0],
+ a = this.extendEndLine((i ? Math.max(i.sourcepos[1][0], t[0]) : t[0]) + n),
+ l = this.parseRange.apply(this, this.getRangeWithRefDef(s, a, o, i, n)),
+ c = l.newNodes,
+ u = l.extStartNode,
+ d = l.extEndNode,
+ p = this.getRemovedNodeRange(u, d),
+ h = d ? d.next : this.root.firstChild;
+ return this.referenceDefinition ? (this.markDeletedRefMap(u, d), this.replaceRangeNodes(u, d, c), this.replaceWithNewRefDefState(c)) : this.replaceRangeNodes(u, d, c), {
+ nodes: c,
+ removedNodeRange: p,
+ nextNode: h
+ }
+ }, e.prototype.parseRefLink = function() {
+ var e = this,
+ t = [];
+ return Md(this.refMap) || Td(this.refMap, (function(n, r) {
+ r.unlinked && delete e.refMap[n], Td(e.refLinkCandidateMap, (function(r, o) {
+ var i = o.node;
+ o.refLabel === n && t.push(e.parse(i.sourcepos[0], i.sourcepos[1]))
+ }))
+ })), t
+ }, e.prototype.removeUnlinkedCandidate = function() {
+ Md(this.refDefCandidateMap) || [this.refLinkCandidateMap, this.refDefCandidateMap].forEach((function(e) {
+ Td(e, (function(t) {
+ (function(e) {
+ var t = qp(e);
+ if (!t) return !0;
+ for (; t && "document" !== t.type;) {
+ if (!t.parent && !t.prev && !t.next) return !0;
+ t = t.parent
+ }
+ return !1
+ })(t) && delete e[t]
+ }))
+ }))
+ }, e.prototype.editMarkdown = function(e, t, n) {
+ var r = this.updateLineTexts(e, t, n),
+ o = this.parse(e, t, r),
+ i = function(e) {
+ for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
+ var r = _c({}, e);
+ return t.forEach((function(e) {
+ delete r[e]
+ })), r
+ }(o, "nextNode");
+ ! function(e, t) {
+ if (e && e.parent && 0 !== t) {
+ var n, r = e.parent.walker();
+ for (r.resumeAt(e, !0); n = r.next();) {
+ var o = n.node;
+ n.entering && (o.sourcepos[0][0] += t, o.sourcepos[1][0] += t)
+ }
+ }
+ }(o.nextNode, r), this.updateRootNodeState();
+ var s = [i];
+ return this.referenceDefinition && (this.removeUnlinkedCandidate(), this.replaceWithRefDefCandidate(), s = s.concat(this.parseRefLink())), this.trigger("change", s), s
+ }, e.prototype.getLineTexts = function() {
+ return this.lineTexts
+ }, e.prototype.getRootNode = function() {
+ return this.root
+ }, e.prototype.findNodeAtPosition = function(e) {
+ var t = function(e, t) {
+ for (var n = e, r = null; n;) {
+ var o = Bp(n.sourcepos, t);
+ if (0 === o) {
+ if (!n.firstChild) return n;
+ r = n, n = n.firstChild
+ } else {
+ if (-1 === o) return r;
+ if (!n.next) return r;
+ n = n.next
+ }
+ }
+ return n
+ }(this.root, e);
+ return t && t !== this.root ? t : null
+ }, e.prototype.findFirstNodeAtLine = function(e) {
+ return function(e, t) {
+ for (var n = e.firstChild, r = null; n;) {
+ var o = Hp(n.sourcepos, t);
+ if (0 === o) {
+ if (n.sourcepos[0][0] === t || !n.firstChild) return n;
+ r = n, n = n.firstChild
+ } else {
+ if (-1 === o) break;
+ r = n, n = n.next
+ }
+ }
+ return r ? function(e) {
+ for (; e.parent && "document" !== e.parent.type && e.parent.sourcepos[0][0] === e.sourcepos[0][0];) e = e.parent;
+ return e
+ }(function(e) {
+ for (; e.lastChild;) e = e.lastChild;
+ return e
+ }(r)) : null
+ }(this.root, e)
+ }, e.prototype.on = function(e, t) {
+ this.eventHandlerMap[e].push(t)
+ }, e.prototype.off = function(e, t) {
+ var n = this.eventHandlerMap[e],
+ r = n.indexOf(t);
+ n.splice(r, 1)
+ }, e.prototype.findNodeById = function(e) {
+ return qp(e)
+ }, e.prototype.removeAllNode = function() {
+ _u = {}
+ }, e
+ }(),
+ Up = new RegExp("<(/?(?:" + ["title", "textarea", "style", "xmp", "iframe", "noembed", "noframes", "script", "plaintext"].join("|") + ")[^>]*>)", "ig");
+
+ function Wp(e) {
+ return Up.test(e) ? e.replace(Up, (function(e, t) {
+ return "<" + t
+ })) : e
+ }
+ var Jp = {
+ heading: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "h" + e.level,
+ outerNewLine: !0
+ }
+ },
+ text: function(e) {
+ return {
+ type: "text",
+ content: e.literal
+ }
+ },
+ softbreak: function(e, t) {
+ return {
+ type: "html",
+ content: t.options.softbreak
+ }
+ },
+ linebreak: function() {
+ return {
+ type: "html",
+ content: "
\n"
+ }
+ },
+ emph: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "em"
+ }
+ },
+ strong: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "strong"
+ }
+ },
+ paragraph: function(e, t) {
+ var n, r = t.entering,
+ o = null === (n = e.parent) || void 0 === n ? void 0 : n.parent;
+ return o && "list" === o.type && o.listData.tight ? null : {
+ type: r ? "openTag" : "closeTag",
+ tagName: "p",
+ outerNewLine: !0
+ }
+ },
+ thematicBreak: function() {
+ return {
+ type: "openTag",
+ tagName: "hr",
+ outerNewLine: !0,
+ selfClose: !0
+ }
+ },
+ blockQuote: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "blockquote",
+ outerNewLine: !0,
+ innerNewLine: !0
+ }
+ },
+ list: function(e, t) {
+ var n = t.entering,
+ r = e.listData,
+ o = r.type,
+ i = r.start,
+ s = "bullet" === o ? "ul" : "ol",
+ a = {};
+ return "ol" === s && null !== i && 1 !== i && (a.start = i.toString()), {
+ type: n ? "openTag" : "closeTag",
+ tagName: s,
+ attributes: a,
+ outerNewLine: !0
+ }
+ },
+ item: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "li",
+ outerNewLine: !0
+ }
+ },
+ htmlInline: function(e, t) {
+ return {
+ type: "html",
+ content: t.options.tagFilter ? Wp(e.literal) : e.literal
+ }
+ },
+ htmlBlock: function(e, t) {
+ var n = t.options,
+ r = n.tagFilter ? Wp(e.literal) : e.literal;
+ return n.nodeId ? [{
+ type: "openTag",
+ tagName: "div",
+ outerNewLine: !0
+ }, {
+ type: "html",
+ content: r
+ }, {
+ type: "closeTag",
+ tagName: "div",
+ outerNewLine: !0
+ }] : {
+ type: "html",
+ content: r,
+ outerNewLine: !0
+ }
+ },
+ code: function(e) {
+ return [{
+ type: "openTag",
+ tagName: "code"
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "code"
+ }]
+ },
+ codeBlock: function(e) {
+ var t = e.info,
+ n = t ? t.split(/\s+/) : [],
+ r = [];
+ return n.length > 0 && n[0].length > 0 && r.push("language-" + Hu(n[0])), [{
+ type: "openTag",
+ tagName: "pre",
+ outerNewLine: !0
+ }, {
+ type: "openTag",
+ tagName: "code",
+ classNames: r
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "code"
+ }, {
+ type: "closeTag",
+ tagName: "pre",
+ outerNewLine: !0
+ }]
+ },
+ link: function(e, t) {
+ if (t.entering) {
+ var n = e,
+ r = n.title,
+ o = n.destination;
+ return {
+ type: "openTag",
+ tagName: "a",
+ attributes: _c({
+ href: Hu(o)
+ }, r && {
+ title: Hu(r)
+ })
+ }
+ }
+ return {
+ type: "closeTag",
+ tagName: "a"
+ }
+ },
+ image: function(e, t) {
+ var n = t.getChildrenText,
+ r = t.skipChildren,
+ o = e,
+ i = o.title,
+ s = o.destination;
+ return r(), {
+ type: "openTag",
+ tagName: "img",
+ selfClose: !0,
+ attributes: _c({
+ src: Hu(s),
+ alt: n(e)
+ }, i && {
+ title: Hu(i)
+ })
+ }
+ },
+ customBlock: function(e, t, n) {
+ var r = e.info.trim().toLowerCase(),
+ o = n[r];
+ if (o) try {
+ return o(e, t)
+ } catch (e) {
+ console.warn("[@toast-ui/editor] - The error occurred when " + r + " block node was parsed in markdown renderer: " + e)
+ }
+ return [{
+ type: "openTag",
+ tagName: "div",
+ outerNewLine: !0
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "div",
+ outerNewLine: !0
+ }]
+ },
+ frontMatter: function(e) {
+ return [{
+ type: "openTag",
+ tagName: "div",
+ outerNewLine: !0,
+ attributes: {
+ style: "white-space: pre; display: none;"
+ }
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "div",
+ outerNewLine: !0
+ }]
+ },
+ customInline: function(e, t, n) {
+ var r = e,
+ o = r.info,
+ i = r.firstChild,
+ s = o.trim().toLowerCase(),
+ a = n[s],
+ l = t.entering;
+ if (a) try {
+ return a(e, t)
+ } catch (e) {
+ console.warn("[@toast-ui/editor] - The error occurred when " + s + " inline node was parsed in markdown renderer: " + e)
+ }
+ return l ? [{
+ type: "openTag",
+ tagName: "span"
+ }, {
+ type: "text",
+ content: "$$" + o + (i ? " " : "")
+ }] : [{
+ type: "text",
+ content: "$$"
+ }, {
+ type: "closeTag",
+ tagName: "span"
+ }]
+ }
+ },
+ Gp = {
+ strike: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "del"
+ }
+ },
+ item: function(e, t) {
+ var n = t.entering,
+ r = e.listData,
+ o = r.checked,
+ i = r.task;
+ if (n) {
+ var s = {
+ type: "openTag",
+ tagName: "li",
+ outerNewLine: !0
+ };
+ return i ? [s, {
+ type: "openTag",
+ tagName: "input",
+ selfClose: !0,
+ attributes: _c(_c({}, o && {
+ checked: ""
+ }), {
+ disabled: "",
+ type: "checkbox"
+ })
+ }, {
+ type: "text",
+ content: " "
+ }] : s
+ }
+ return {
+ type: "closeTag",
+ tagName: "li",
+ outerNewLine: !0
+ }
+ },
+ table: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "table",
+ outerNewLine: !0
+ }
+ },
+ tableHead: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "thead",
+ outerNewLine: !0
+ }
+ },
+ tableBody: function(e, t) {
+ return {
+ type: t.entering ? "openTag" : "closeTag",
+ tagName: "tbody",
+ outerNewLine: !0
+ }
+ },
+ tableRow: function(e, t) {
+ if (t.entering) return {
+ type: "openTag",
+ tagName: "tr",
+ outerNewLine: !0
+ };
+ var n = [];
+ if (e.lastChild)
+ for (var r = e.parent.parent.columns.length, o = e.lastChild.endIdx + 1; o < r; o += 1) n.push({
+ type: "openTag",
+ tagName: "td",
+ outerNewLine: !0
+ }, {
+ type: "closeTag",
+ tagName: "td",
+ outerNewLine: !0
+ });
+ return n.push({
+ type: "closeTag",
+ tagName: "tr",
+ outerNewLine: !0
+ }), n
+ },
+ tableCell: function(e, t) {
+ var n = t.entering;
+ if (e.ignored) return {
+ type: "text",
+ content: ""
+ };
+ var r = e.parent.parent,
+ o = "tableHead" === r.type ? "th" : "td",
+ i = r.parent.columns[e.startIdx],
+ s = (null == i ? void 0 : i.align) ? {
+ align: i.align
+ } : null;
+ return n ? _c({
+ type: "openTag",
+ tagName: o,
+ outerNewLine: !0
+ }, s && {
+ attributes: s
+ }) : {
+ type: "closeTag",
+ tagName: o,
+ outerNewLine: !0
+ }
+ }
+ },
+ Kp = {
+ softbreak: "\n",
+ gfm: !1,
+ tagFilter: !1,
+ nodeId: !1
+ };
+
+ function Zp(e) {
+ for (var t = [], n = e.walker(), r = null; r = n.next();) {
+ var o = r.node;
+ "text" === o.type && t.push(o.literal)
+ }
+ return t.join("")
+ }
+ var Xp = function() {
+ function e(e) {
+ this.buffer = [], this.options = _c(_c({}, Kp), e), this.convertors = this.createConvertors(), delete this.options.convertors
+ }
+ return e.prototype.createConvertors = function() {
+ var e = _c({}, Jp);
+ if (this.options.gfm && (e = _c(_c({}, e), Gp)), this.options.convertors) {
+ var t = this.options.convertors,
+ n = Object.keys(t),
+ r = _c(_c({}, Jp), Gp);
+ n.forEach((function(n) {
+ var o = e[n],
+ i = t[n],
+ s = -1 === Object.keys(r).indexOf(n) ? n.toLowerCase() : n;
+ e[s] = o ? function(e, t, n) {
+ return t.origin = function() {
+ return o(e, t, n)
+ }, i(e, t)
+ } : i
+ }))
+ }
+ return e
+ }, e.prototype.getConvertors = function() {
+ return this.convertors
+ }, e.prototype.getOptions = function() {
+ return this.options
+ }, e.prototype.render = function(e) {
+ var t = this;
+ this.buffer = [];
+ for (var n = e.walker(), r = null, o = function() {
+ var e = r.node,
+ o = r.entering,
+ s = i.convertors[e.type];
+ if (!s) return "continue";
+ var a = !1,
+ l = {
+ entering: o,
+ leaf: !ju(e),
+ options: i.options,
+ getChildrenText: Zp,
+ skipChildren: function() {
+ a = !0
+ }
+ },
+ c = cd(e) || function(e) {
+ return "customInline" === e.type
+ }(e) ? s(e, l, i.convertors) : s(e, l);
+ c && ((Array.isArray(c) ? c : [c]).forEach((function(n, r) {
+ "openTag" === n.type && t.options.nodeId && 0 === r && (n.attributes || (n.attributes = {}), n.attributes["data-nodeid"] = String(e.id)), t.renderHTMLNode(n)
+ })), a && (n.resumeAt(e, !1), n.next()))
+ }, i = this; r = n.next();) o();
+ return this.addNewLine(), this.buffer.join("")
+ }, e.prototype.renderHTMLNode = function(e) {
+ switch (e.type) {
+ case "openTag":
+ case "closeTag":
+ this.renderElementNode(e);
+ break;
+ case "text":
+ this.renderTextNode(e);
+ break;
+ case "html":
+ this.renderRawHtmlNode(e)
+ }
+ }, e.prototype.generateOpenTagString = function(e) {
+ var t = this,
+ n = e.tagName,
+ r = e.classNames,
+ o = e.attributes;
+ this.buffer.push("<" + n), r && r.length > 0 && this.buffer.push(' class="' + r.join(" ") + '"'), o && Object.keys(o).forEach((function(e) {
+ var n = o[e];
+ t.buffer.push(" " + e + '="' + n + '"')
+ })), e.selfClose && this.buffer.push(" /"), this.buffer.push(">")
+ }, e.prototype.generateCloseTagString = function(e) {
+ var t = e.tagName;
+ this.buffer.push("" + t + ">")
+ }, e.prototype.addNewLine = function() {
+ this.buffer.length && "\n" !== xd(xd(this.buffer)) && this.buffer.push("\n")
+ }, e.prototype.addOuterNewLine = function(e) {
+ e.outerNewLine && this.addNewLine()
+ }, e.prototype.addInnerNewLine = function(e) {
+ e.innerNewLine && this.addNewLine()
+ }, e.prototype.renderTextNode = function(e) {
+ this.buffer.push(Hu(e.content))
+ }, e.prototype.renderRawHtmlNode = function(e) {
+ this.addOuterNewLine(e), this.buffer.push(e.content), this.addOuterNewLine(e)
+ }, e.prototype.renderElementNode = function(e) {
+ "openTag" === e.type ? (this.addOuterNewLine(e), this.generateOpenTagString(e), e.selfClose ? this.addOuterNewLine(e) : this.addInnerNewLine(e)) : (this.addInnerNewLine(e), this.generateCloseTagString(e), this.addOuterNewLine(e))
+ }, e
+ }(),
+ Qp = n(368),
+ Yp = n.n(Qp),
+ eh = ["iframe", "embed"],
+ th = [];
+
+ function nh(e) {
+ Ue(eh, e) && th.push(e.toLowerCase())
+ }
+
+ function rh(e, t) {
+ return Yp().sanitize(e, o({
+ ADD_TAGS: th,
+ ADD_ATTR: ["rel", "target", "hreflang", "type"],
+ FORBID_TAGS: ["input", "script", "textarea", "form", "button", "select", "meta", "style", "link", "title", "object", "base"]
+ }, t))
+ }
+
+ function oh(e, t) {
+ return e.literal.replace(new RegExp("(<\\s*" + t + "[^>]*>)|(" + t + "\\s*[>])", "ig"), "").trim()
+ }
+
+ function ih(e) {
+ var t = (e = e.match(ga)[0]).match(new RegExp(ha, "g"));
+ return t ? t.reduce((function(e, t) {
+ var n = t.trim().split("="),
+ r = n[0],
+ o = n.slice(1);
+ return o.length && (e[r] = o.join("=").replace(/'|"/g, "").trim()), e
+ }), {}) : {}
+ }
+
+ function sh(e) {
+ return vi()(e.attributes).reduce((function(e, t) {
+ return e[t.nodeName] = t.nodeValue, e
+ }), {})
+ }
+
+ function ah(e, t, n, r) {
+ var o = r.getToDOMNode(t)(e),
+ i = n(o.outerHTML),
+ s = document.createElement("div");
+ return s.innerHTML = i, {
+ dom: o = s.firstChild,
+ htmlAttrs: sh(o)
+ }
+ }
+ var lh = {
+ htmlBlock: function(e, t, n) {
+ return {
+ atom: !0,
+ content: "block+",
+ group: "block",
+ attrs: {
+ htmlAttrs: {
+ default: {}
+ },
+ childrenHTML: {
+ default: ""
+ },
+ htmlBlock: {
+ default: !0
+ }
+ },
+ parseDOM: [{
+ tag: e,
+ getAttrs: function(e) {
+ return {
+ htmlAttrs: sh(e),
+ childrenHTML: e.innerHTML
+ }
+ }
+ }],
+ toDOM: function(r) {
+ var o = ah(r, e, t, n),
+ s = o.dom,
+ a = o.htmlAttrs;
+ return a.class = a.class ? a.class + " html-block" : "html-block", i([e, a], vi()(s.childNodes))
+ }
+ }
+ },
+ htmlInline: function(e, t, n) {
+ return {
+ attrs: {
+ htmlAttrs: {
+ default: {}
+ },
+ htmlInline: {
+ default: !0
+ }
+ },
+ parseDOM: [{
+ tag: e,
+ getAttrs: function(e) {
+ return {
+ htmlAttrs: sh(e)
+ }
+ }
+ }],
+ toDOM: function(r) {
+ var o = ah(r, e, t, n).htmlAttrs;
+ return [e, o, 0]
+ }
+ }
+ }
+ };
+ var ch = /^\s*<\s*\//,
+ uh = {
+ paragraph: function(e, t) {
+ var n = t.entering,
+ r = t.origin;
+ return t.options.nodeId ? {
+ type: n ? "openTag" : "closeTag",
+ outerNewLine: !0,
+ tagName: "p"
+ } : r()
+ },
+ softbreak: function(e) {
+ return {
+ type: "html",
+ content: e.prev && "htmlInline" === e.prev.type && /
/.test(e.prev.literal) ? "\n" : "
\n"
+ }
+ },
+ item: function(e, t) {
+ if (t.entering) {
+ var n = {},
+ r = [];
+ return e.listData.task && (n["data-task"] = "", r.push("task-list-item"), e.listData.checked && (r.push("checked"), n["data-task-checked"] = "")), {
+ type: "openTag",
+ tagName: "li",
+ classNames: r,
+ attributes: n,
+ outerNewLine: !0
+ }
+ }
+ return {
+ type: "closeTag",
+ tagName: "li",
+ outerNewLine: !0
+ }
+ },
+ code: function(e) {
+ return [{
+ type: "openTag",
+ tagName: "code",
+ attributes: {
+ "data-backticks": String(e.tickCount)
+ }
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "code"
+ }]
+ },
+ codeBlock: function(e) {
+ var t = e,
+ n = t.fenceLength,
+ r = t.info,
+ o = r ? r.split(/\s+/) : [],
+ i = [],
+ s = {};
+ if (n > 3 && (s["data-backticks"] = n), o.length > 0 && o[0].length > 0) {
+ var a = o[0];
+ i.push("lang-" + a), s["data-language"] = a
+ }
+ return [{
+ type: "openTag",
+ tagName: "pre",
+ classNames: i
+ }, {
+ type: "openTag",
+ tagName: "code",
+ attributes: s
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "code"
+ }, {
+ type: "closeTag",
+ tagName: "pre"
+ }]
+ },
+ customInline: function(e, t) {
+ var n = t.origin,
+ r = t.entering,
+ o = t.skipChildren,
+ i = e.info;
+ return -1 !== i.indexOf("widget") && r ? (o(), [{
+ type: "openTag",
+ tagName: "span",
+ classNames: ["tui-widget"]
+ }, {
+ type: "html",
+ content: Ys(i, oa(e)).outerHTML
+ }, {
+ type: "closeTag",
+ tagName: "span"
+ }]) : n()
+ }
+ };
+
+ function dh(e, t) {
+ var n = o({}, uh);
+ return e && (n.link = function(t, n) {
+ var r = n.entering,
+ i = (0, n.origin)();
+ return r && (i.attributes = o(o({}, i.attributes), e)), i
+ }), t && Object.keys(t).forEach((function(e) {
+ var r = n[e],
+ i = t[e];
+ r && Ga()(i) ? n[e] = function(e, t) {
+ var n = o({}, t);
+ return n.origin = function() {
+ return r(e, t)
+ }, i(e, n)
+ } : Ue(["htmlBlock", "htmlInline"], e) && !Ga()(i) ? n[e] = function(e, t) {
+ var n = e.literal.match(ga);
+ if (n) {
+ var r = n[0],
+ s = n[1],
+ a = n[3],
+ l = (s || a).toLowerCase(),
+ c = i[l],
+ u = oh(e, l);
+ if (c) {
+ var d = o({}, e);
+ return d.attrs = ih(r), d.childrenHTML = u, d.type = l, t.entering = !ch.test(e.literal), c(d, t)
+ }
+ }
+ return t.origin()
+ } : n[e] = i
+ })), n
+ }
+ var ph = ["list", "item", "blockQuote"],
+ hh = ["UL", "OL", "BLOCKQUOTE"];
+
+ function fh(e, t) {
+ var n, r = e.child(t);
+ return !r.childCount || 1 === r.childCount && !(null === (n = r.firstChild.text) || void 0 === n ? void 0 : n.trim())
+ }
+
+ function mh(e, t, n) {
+ var r = Is(t) - 1,
+ o = Rs(t) - 1,
+ i = n[r].getBoundingClientRect(),
+ s = n[o].offsetTop - n[r].offsetTop + n[o].clientHeight;
+ return {
+ height: s <= 0 ? n[r].clientHeight : s + gh(e, n, Math.min(o + 1, e.childCount - 1)),
+ rect: i
+ }
+ }
+
+ function gh(e, t, n) {
+ for (var r = e.childCount - 1, o = 0; n <= r && fh(e, n);) o += t[n].clientHeight, n += 1;
+ return o
+ }
+
+ function vh(e, t) {
+ for (var n = 0; e && e !== t && (Ue(hh, e.tagName) || (n += e.offsetTop), e.offsetParent !== t.offsetParent);) e = e.parentElement;
+ return n
+ }
+
+ function yh(e, t, n) {
+ return e && t > n + e.offsetTop ? yh(e.nextElementSibling, t, n) || e : null
+ }
+
+ function bh(e, t) {
+ for (var n = e.querySelector('[data-nodeid="' + t.id + '"]'); !n || Fs(t);) t = t.parent, n = e.querySelector('[data-nodeid="' + t.id + '"]');
+ return function(e) {
+ var t = e.mdNode,
+ n = e.el;
+ for (;
+ (Ue(ph, t.type) || "table" === t.type) && t.firstChild;) t = t.firstChild, n = n.firstElementChild;
+ return {
+ mdNode: t,
+ el: n
+ }
+ }({
+ mdNode: t,
+ el: n
+ })
+ }
+ var wh = {};
+
+ function kh(e) {
+ e && (delete wh[Number(e.getAttribute("data-nodeid"))], vi()(e.children).forEach((function(e) {
+ kh(e)
+ })))
+ }
+
+ function xh(e, t, n) {
+ var r, o = wh[r = n] && wh[r].height,
+ i = function(e) {
+ return wh[e] && wh[e].offsetTop
+ }(n),
+ s = o || e.clientHeight,
+ a = i || vh(e, t) || e.offsetTop;
+ return o || function(e, t) {
+ wh[e] = wh[e] || {}, wh[e].height = t
+ }(n, s), i || function(e, t) {
+ wh[e] = wh[e] || {}, wh[e].offsetTop = t
+ }(n, a), {
+ nodeHeight: s,
+ offsetTop: a
+ }
+ }
+ var Ch = xa("md-preview-highlight");
+ var Th = function() {
+ function e(e, t) {
+ var n = document.createElement("div");
+ this.el = n, this.eventEmitter = e, this.isViewer = !!t.isViewer, this.el.className = xa("md-preview");
+ var r = t.linkAttributes,
+ o = t.customHTMLRenderer,
+ i = t.sanitizer,
+ s = t.highlight,
+ a = void 0 !== s && s;
+ this.renderer = new Xp({
+ gfm: !0,
+ nodeId: !0,
+ convertors: dh(r, o)
+ }), this.cursorNodeId = null, this.sanitizer = i, this.initEvent(a), this.initContentSection(), this.isViewer && (this.previewContent.style.overflowWrap = "break-word")
+ }
+ return e.prototype.initContentSection = function() {
+ this.previewContent = Ea('
<\/p>/gi, "