| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447 |
- /*! showdown v 2.0.0 - 15-02-2022 */ ! function() {
- function a(e) {
- "use strict";
- var r = {
- omitExtraWLInCodeBlocks: {
- defaultValue: !1,
- describe: "Omit the default extra whiteline added to code blocks",
- type: "boolean"
- },
- noHeaderId: {
- defaultValue: !1,
- describe: "Turn on/off generated header id",
- type: "boolean"
- },
- prefixHeaderId: {
- defaultValue: !1,
- describe: "Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",
- type: "string"
- },
- rawPrefixHeaderId: {
- defaultValue: !1,
- describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',
- type: "boolean"
- },
- ghCompatibleHeaderId: {
- defaultValue: !1,
- describe: "Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",
- type: "boolean"
- },
- rawHeaderId: {
- defaultValue: !1,
- describe: "Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",
- type: "boolean"
- },
- headerLevelStart: {
- defaultValue: !1,
- describe: "The header blocks level start",
- type: "integer"
- },
- parseImgDimensions: {
- defaultValue: !1,
- describe: "Turn on/off image dimension parsing",
- type: "boolean"
- },
- simplifiedAutoLink: {
- defaultValue: !1,
- describe: "Turn on/off GFM autolink style",
- type: "boolean"
- },
- excludeTrailingPunctuationFromURLs: {
- defaultValue: !1,
- describe: "Excludes trailing punctuation from links generated with autoLinking",
- type: "boolean"
- },
- literalMidWordUnderscores: {
- defaultValue: !1,
- describe: "Parse midword underscores as literal underscores",
- type: "boolean"
- },
- literalMidWordAsterisks: {
- defaultValue: !1,
- describe: "Parse midword asterisks as literal asterisks",
- type: "boolean"
- },
- strikethrough: {
- defaultValue: !1,
- describe: "Turn on/off strikethrough support",
- type: "boolean"
- },
- tables: {
- defaultValue: !1,
- describe: "Turn on/off tables support",
- type: "boolean"
- },
- tablesHeaderId: {
- defaultValue: !1,
- describe: "Add an id to table headers",
- type: "boolean"
- },
- ghCodeBlocks: {
- defaultValue: !0,
- describe: "Turn on/off GFM fenced code blocks support",
- type: "boolean"
- },
- tasklists: {
- defaultValue: !1,
- describe: "Turn on/off GFM tasklist support",
- type: "boolean"
- },
- smoothLivePreview: {
- defaultValue: !1,
- describe: "Prevents weird effects in live previews due to incomplete input",
- type: "boolean"
- },
- smartIndentationFix: {
- defaultValue: !1,
- description: "Tries to smartly fix indentation in es6 strings",
- type: "boolean"
- },
- disableForced4SpacesIndentedSublists: {
- defaultValue: !1,
- description: "Disables the requirement of indenting nested sublists by 4 spaces",
- type: "boolean"
- },
- simpleLineBreaks: {
- defaultValue: !1,
- description: "Parses simple line breaks as <br> (GFM Style)",
- type: "boolean"
- },
- requireSpaceBeforeHeadingText: {
- defaultValue: !1,
- description: "Makes adding a space between `#` and the header text mandatory (GFM Style)",
- type: "boolean"
- },
- ghMentions: {
- defaultValue: !1,
- description: "Enables github @mentions",
- type: "boolean"
- },
- ghMentionsLink: {
- defaultValue: "https://github.com/{u}",
- description: "Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",
- type: "string"
- },
- encodeEmails: {
- defaultValue: !0,
- description: "Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",
- type: "boolean"
- },
- openLinksInNewWindow: {
- defaultValue: !1,
- description: "Open all links in new windows",
- type: "boolean"
- },
- backslashEscapesHTMLTags: {
- defaultValue: !1,
- description: "Support for HTML Tag escaping. ex: <div>foo</div>",
- type: "boolean"
- },
- emoji: {
- defaultValue: !1,
- description: "Enable emoji support. Ex: `this is a :smile: emoji`",
- type: "boolean"
- },
- underline: {
- defaultValue: !1,
- description: "Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",
- type: "boolean"
- },
- ellipsis: {
- defaultValue: !0,
- description: "Replaces three dots with the ellipsis unicode character",
- type: "boolean"
- },
- completeHTMLDocument: {
- defaultValue: !1,
- description: "Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",
- type: "boolean"
- },
- metadata: {
- defaultValue: !1,
- description: "Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",
- type: "boolean"
- },
- splitAdjacentBlockquotes: {
- defaultValue: !1,
- description: "Split adjacent blockquote blocks",
- type: "boolean"
- }
- };
- if (!1 === e) return JSON.parse(JSON.stringify(r));
- var t, a = {};
- for (t in r) r.hasOwnProperty(t) && (a[t] = r[t].defaultValue);
- return a
- }
- var x = {},
- t = {},
- d = {},
- p = a(!0),
- h = "vanilla",
- _ = {
- github: {
- omitExtraWLInCodeBlocks: !0,
- simplifiedAutoLink: !0,
- excludeTrailingPunctuationFromURLs: !0,
- literalMidWordUnderscores: !0,
- strikethrough: !0,
- tables: !0,
- tablesHeaderId: !0,
- ghCodeBlocks: !0,
- tasklists: !0,
- disableForced4SpacesIndentedSublists: !0,
- simpleLineBreaks: !0,
- requireSpaceBeforeHeadingText: !0,
- ghCompatibleHeaderId: !0,
- ghMentions: !0,
- backslashEscapesHTMLTags: !0,
- emoji: !0,
- splitAdjacentBlockquotes: !0
- },
- original: {
- noHeaderId: !0,
- ghCodeBlocks: !1
- },
- ghost: {
- omitExtraWLInCodeBlocks: !0,
- parseImgDimensions: !0,
- simplifiedAutoLink: !0,
- excludeTrailingPunctuationFromURLs: !0,
- literalMidWordUnderscores: !0,
- strikethrough: !0,
- tables: !0,
- tablesHeaderId: !0,
- ghCodeBlocks: !0,
- tasklists: !0,
- smoothLivePreview: !0,
- simpleLineBreaks: !0,
- requireSpaceBeforeHeadingText: !0,
- ghMentions: !1,
- encodeEmails: !0
- },
- vanilla: a(!0),
- allOn: function() {
- "use strict";
- var e, r = a(!0),
- t = {};
- for (e in r) r.hasOwnProperty(e) && (t[e] = !0);
- return t
- }()
- };
- function g(e, r) {
- "use strict";
- var t = r ? "Error in " + r + " extension->" : "Error in unnamed extension",
- a = {
- valid: !0,
- error: ""
- };
- x.helper.isArray(e) || (e = [e]);
- for (var n = 0; n < e.length; ++n) {
- var s = t + " sub-extension " + n + ": ",
- o = e[n];
- if ("object" != typeof o) return a.valid = !1, a.error = s + "must be an object, but " + typeof o + " given", a;
- if (!x.helper.isString(o.type)) return a.valid = !1, a.error = s + 'property "type" must be a string, but ' + typeof o.type + " given", a;
- var i = o.type = o.type.toLowerCase();
- if ("lang" !== (i = "html" === (i = "language" === i ? o.type = "lang" : i) ? o.type = "output" : i) && "output" !== i && "listener" !== i) return a.valid = !1, a.error = s + "type " + i + ' is not recognized. Valid values: "lang/language", "output/html" or "listener"', a;
- if ("listener" === i) {
- if (x.helper.isUndefined(o.listeners)) return a.valid = !1, a.error = s + '. Extensions of type "listener" must have a property called "listeners"', a
- } else if (x.helper.isUndefined(o.filter) && x.helper.isUndefined(o.regex)) return a.valid = !1, a.error = s + i + ' extensions must define either a "regex" property or a "filter" method', a;
- if (o.listeners) {
- if ("object" != typeof o.listeners) return a.valid = !1, a.error = s + '"listeners" property must be an object but ' + typeof o.listeners + " given", a;
- for (var l in o.listeners)
- if (o.listeners.hasOwnProperty(l) && "function" != typeof o.listeners[l]) return a.valid = !1, a.error = s + '"listeners" property must be an hash of [event name]: [callback]. listeners.' + l + " must be a function but " + typeof o.listeners[l] + " given", a
- }
- if (o.filter) {
- if ("function" != typeof o.filter) return a.valid = !1, a.error = s + '"filter" must be a function, but ' + typeof o.filter + " given", a
- } else if (o.regex) {
- if (x.helper.isString(o.regex) && (o.regex = new RegExp(o.regex, "g")), !(o.regex instanceof RegExp)) return a.valid = !1, a.error = s + '"regex" property must either be a string or a RegExp object, but ' + typeof o.regex + " given", a;
- if (x.helper.isUndefined(o.replace)) return a.valid = !1, a.error = s + '"regex" extensions must implement a replace string or function', a
- }
- }
- return a
- }
- function n(e, r) {
- "use strict";
- return "¨E" + r.charCodeAt(0) + "E"
- }
- x.helper = {}, x.extensions = {}, x.setOption = function(e, r) {
- "use strict";
- return p[e] = r, this
- }, x.getOption = function(e) {
- "use strict";
- return p[e]
- }, x.getOptions = function() {
- "use strict";
- return p
- }, x.resetOptions = function() {
- "use strict";
- p = a(!0)
- }, x.setFlavor = function(e) {
- "use strict";
- if (!_.hasOwnProperty(e)) throw Error(e + " flavor was not found");
- x.resetOptions();
- var r, t = _[e];
- for (r in h = e, t) t.hasOwnProperty(r) && (p[r] = t[r])
- }, x.getFlavor = function() {
- "use strict";
- return h
- }, x.getFlavorOptions = function(e) {
- "use strict";
- if (_.hasOwnProperty(e)) return _[e]
- }, x.getDefaultOptions = a, x.subParser = function(e, r) {
- "use strict";
- if (x.helper.isString(e)) {
- if (void 0 === r) {
- if (t.hasOwnProperty(e)) return t[e];
- throw Error("SubParser named " + e + " not registered!")
- }
- t[e] = r
- }
- }, x.extension = function(e, r) {
- "use strict";
- if (!x.helper.isString(e)) throw Error("Extension 'name' must be a string");
- if (e = x.helper.stdExtName(e), x.helper.isUndefined(r)) {
- if (!d.hasOwnProperty(e)) throw Error("Extension named " + e + " is not registered!");
- return d[e]
- }
- "function" == typeof r && (r = r());
- var t = g(r = x.helper.isArray(r) ? r : [r], e);
- if (!t.valid) throw Error(t.error);
- d[e] = r
- }, x.getAllExtensions = function() {
- "use strict";
- return d
- }, x.removeExtension = function(e) {
- "use strict";
- delete d[e]
- }, x.resetExtensions = function() {
- "use strict";
- d = {}
- }, x.validateExtension = function(e) {
- "use strict";
- e = g(e, null);
- return !!e.valid || (console.warn(e.error), !1)
- }, x.hasOwnProperty("helper") || (x.helper = {}), x.helper.isString = function(e) {
- "use strict";
- return "string" == typeof e || e instanceof String
- }, x.helper.isFunction = function(e) {
- "use strict";
- return e && "[object Function]" === {}.toString.call(e)
- }, x.helper.isArray = function(e) {
- "use strict";
- return Array.isArray(e)
- }, x.helper.isUndefined = function(e) {
- "use strict";
- return void 0 === e
- }, x.helper.forEach = function(e, r) {
- "use strict";
- if (x.helper.isUndefined(e)) throw new Error("obj param is required");
- if (x.helper.isUndefined(r)) throw new Error("callback param is required");
- if (!x.helper.isFunction(r)) throw new Error("callback param must be a function/closure");
- if ("function" == typeof e.forEach) e.forEach(r);
- else if (x.helper.isArray(e))
- for (var t = 0; t < e.length; t++) r(e[t], t, e);
- else {
- if ("object" != typeof e) throw new Error("obj does not seem to be an array or an iterable object");
- for (var a in e) e.hasOwnProperty(a) && r(e[a], a, e)
- }
- }, x.helper.stdExtName = function(e) {
- "use strict";
- return e.replace(/[_?*+\/\\.^-]/g, "").replace(/\s/g, "").toLowerCase()
- }, x.helper.escapeCharactersCallback = n, x.helper.escapeCharacters = function(e, r, t) {
- "use strict";
- r = "([" + r.replace(/([\[\]\\])/g, "\\$1") + "])", t && (r = "\\\\" + r), t = new RegExp(r, "g");
- return e = e.replace(t, n)
- }, x.helper.unescapeHTMLEntities = function(e) {
- "use strict";
- return e.replace(/"/g, '"').replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&")
- };
- function u(e, r, u, t) {
- "use strict";
- var a, n, s, d = -1 < (t = t || "").indexOf("g"),
- o = new RegExp(r + "|" + u, "g" + t.replace(/g/g, "")),
- p = new RegExp(r, t.replace(/g/g, "")),
- i = [];
- do {
- for (a = 0; c = o.exec(e);)
- if (p.test(c[0])) a++ || (s = (n = o.lastIndex) - c[0].length);
- else if (a && !--a) {
- var l = c.index + c[0].length,
- c = {
- left: {
- start: s,
- end: n
- },
- match: {
- start: n,
- end: c.index
- },
- right: {
- start: c.index,
- end: l
- },
- wholeMatch: {
- start: s,
- end: l
- }
- };
- if (i.push(c), !d) return i
- }
- } while (a && (o.lastIndex = n));
- return i
- }
- function s(u) {
- "use strict";
- return function(e, r, t, a, c, n, s) {
- var o = t = t.replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback),
- i = "",
- l = "",
- r = r || "",
- s = s || "";
- return /^www\./i.test(t) && (t = t.replace(/^www\./i, "http://www.")), u.excludeTrailingPunctuationFromURLs && n && (i = n), r + '<a href="' + t + '"' + (l = u.openLinksInNewWindow ? ' rel="noopener noreferrer" target="¨E95Eblank"' : l) + ">" + o + "</a>" + i + s
- }
- }
- function o(n, s) {
- "use strict";
- return function(e, r, t) {
- var a = "mailto:";
- return r = r || "", t = x.subParser("unescapeSpecialChars")(t, n, s), n.encodeEmails ? (a = x.helper.encodeEmailAddress(a + t), t = x.helper.encodeEmailAddress(t)) : a += t, r + '<a href="' + a + '">' + t + "</a>"
- }
- }
- x.helper.matchRecursiveRegExp = function(e, r, t, a) {
- "use strict";
- for (var n = u(e, r, t, a), s = [], o = 0; o < n.length; ++o) s.push([e.slice(n[o].wholeMatch.start, n[o].wholeMatch.end), e.slice(n[o].match.start, n[o].match.end), e.slice(n[o].left.start, n[o].left.end), e.slice(n[o].right.start, n[o].right.end)]);
- return s
- }, x.helper.replaceRecursiveRegExp = function(e, r, t, a, n) {
- "use strict";
- x.helper.isFunction(r) || (s = r, r = function() {
- return s
- });
- var s, o = u(e, t, a, n),
- t = e,
- i = o.length;
- if (0 < i) {
- var l = [];
- 0 !== o[0].wholeMatch.start && l.push(e.slice(0, o[0].wholeMatch.start));
- for (var c = 0; c < i; ++c) l.push(r(e.slice(o[c].wholeMatch.start, o[c].wholeMatch.end), e.slice(o[c].match.start, o[c].match.end), e.slice(o[c].left.start, o[c].left.end), e.slice(o[c].right.start, o[c].right.end))), c < i - 1 && l.push(e.slice(o[c].wholeMatch.end, o[c + 1].wholeMatch.start));
- o[i - 1].wholeMatch.end < e.length && l.push(e.slice(o[i - 1].wholeMatch.end)), t = l.join("")
- }
- return t
- }, x.helper.regexIndexOf = function(e, r, t) {
- "use strict";
- if (!x.helper.isString(e)) throw "InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";
- if (r instanceof RegExp == !1) throw "InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp";
- e = e.substring(t || 0).search(r);
- return 0 <= e ? e + (t || 0) : e
- }, x.helper.splitAtIndex = function(e, r) {
- "use strict";
- if (!x.helper.isString(e)) throw "InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";
- return [e.substring(0, r), e.substring(r)]
- }, x.helper.encodeEmailAddress = function(e) {
- "use strict";
- var t = [function(e) {
- return "&#" + e.charCodeAt(0) + ";"
- }, function(e) {
- return "&#x" + e.charCodeAt(0).toString(16) + ";"
- }, function(e) {
- return e
- }];
- return e = e.replace(/./g, function(e) {
- var r;
- return e = "@" === e ? t[Math.floor(2 * Math.random())](e) : .9 < (r = Math.random()) ? t[2](e) : .45 < r ? t[1](e) : t[0](e)
- })
- }, x.helper.padEnd = function(e, r, t) {
- "use strict";
- return r >>= 0, t = String(t || " "), e.length > r ? String(e) : ((r -= e.length) > t.length && (t += t.repeat(r / t.length)), String(e) + t.slice(0, r))
- }, "undefined" == typeof console && (console = {
- warn: function(e) {
- "use strict";
- alert(e)
- },
- log: function(e) {
- "use strict";
- alert(e)
- },
- error: function(e) {
- "use strict";
- throw e
- }
- }), x.helper.regexes = {
- asteriskDashAndColon: /([*_:~])/g
- }, x.helper.emojis = {
- "+1": "👍",
- "-1": "👎",
- 100: "💯",
- 1234: "🔢",
- "1st_place_medal": "🥇",
- "2nd_place_medal": "🥈",
- "3rd_place_medal": "🥉",
- "8ball": "🎱",
- a: "🅰️",
- ab: "🆎",
- abc: "🔤",
- abcd: "🔡",
- accept: "🉑",
- aerial_tramway: "🚡",
- airplane: "✈️",
- alarm_clock: "⏰",
- alembic: "⚗️",
- alien: "👽",
- ambulance: "🚑",
- amphora: "🏺",
- anchor: "⚓️",
- angel: "👼",
- anger: "💢",
- angry: "😠",
- anguished: "😧",
- ant: "🐜",
- apple: "🍎",
- aquarius: "♒️",
- aries: "♈️",
- arrow_backward: "◀️",
- arrow_double_down: "⏬",
- arrow_double_up: "⏫",
- arrow_down: "⬇️",
- arrow_down_small: "🔽",
- arrow_forward: "▶️",
- arrow_heading_down: "⤵️",
- arrow_heading_up: "⤴️",
- arrow_left: "⬅️",
- arrow_lower_left: "↙️",
- arrow_lower_right: "↘️",
- arrow_right: "➡️",
- arrow_right_hook: "↪️",
- arrow_up: "⬆️",
- arrow_up_down: "↕️",
- arrow_up_small: "🔼",
- arrow_upper_left: "↖️",
- arrow_upper_right: "↗️",
- arrows_clockwise: "🔃",
- arrows_counterclockwise: "🔄",
- art: "🎨",
- articulated_lorry: "🚛",
- artificial_satellite: "🛰",
- astonished: "😲",
- athletic_shoe: "👟",
- atm: "🏧",
- atom_symbol: "⚛️",
- avocado: "🥑",
- b: "🅱️",
- baby: "👶",
- baby_bottle: "🍼",
- baby_chick: "🐤",
- baby_symbol: "🚼",
- back: "🔙",
- bacon: "🥓",
- badminton: "🏸",
- baggage_claim: "🛄",
- baguette_bread: "🥖",
- balance_scale: "⚖️",
- balloon: "🎈",
- ballot_box: "🗳",
- ballot_box_with_check: "☑️",
- bamboo: "🎍",
- banana: "🍌",
- bangbang: "‼️",
- bank: "🏦",
- bar_chart: "📊",
- barber: "💈",
- baseball: "⚾️",
- basketball: "🏀",
- basketball_man: "⛹️",
- basketball_woman: "⛹️‍♀️",
- bat: "🦇",
- bath: "🛀",
- bathtub: "🛁",
- battery: "🔋",
- beach_umbrella: "🏖",
- bear: "🐻",
- bed: "🛏",
- bee: "🐝",
- beer: "🍺",
- beers: "🍻",
- beetle: "🐞",
- beginner: "🔰",
- bell: "🔔",
- bellhop_bell: "🛎",
- bento: "🍱",
- biking_man: "🚴",
- bike: "🚲",
- biking_woman: "🚴‍♀️",
- bikini: "👙",
- biohazard: "☣️",
- bird: "🐦",
- birthday: "🎂",
- black_circle: "⚫️",
- black_flag: "🏴",
- black_heart: "🖤",
- black_joker: "🃏",
- black_large_square: "⬛️",
- black_medium_small_square: "◾️",
- black_medium_square: "◼️",
- black_nib: "✒️",
- black_small_square: "▪️",
- black_square_button: "🔲",
- blonde_man: "👱",
- blonde_woman: "👱‍♀️",
- blossom: "🌼",
- blowfish: "🐡",
- blue_book: "📘",
- blue_car: "🚙",
- blue_heart: "💙",
- blush: "😊",
- boar: "🐗",
- boat: "⛵️",
- bomb: "💣",
- book: "📖",
- bookmark: "🔖",
- bookmark_tabs: "📑",
- books: "📚",
- boom: "💥",
- boot: "👢",
- bouquet: "💐",
- bowing_man: "🙇",
- bow_and_arrow: "🏹",
- bowing_woman: "🙇‍♀️",
- bowling: "🎳",
- boxing_glove: "🥊",
- boy: "👦",
- bread: "🍞",
- bride_with_veil: "👰",
- bridge_at_night: "🌉",
- briefcase: "💼",
- broken_heart: "💔",
- bug: "🐛",
- building_construction: "🏗",
- bulb: "💡",
- bullettrain_front: "🚅",
- bullettrain_side: "🚄",
- burrito: "🌯",
- bus: "🚌",
- business_suit_levitating: "🕴",
- busstop: "🚏",
- bust_in_silhouette: "👤",
- busts_in_silhouette: "👥",
- butterfly: "🦋",
- cactus: "🌵",
- cake: "🍰",
- calendar: "📆",
- call_me_hand: "🤙",
- calling: "📲",
- camel: "🐫",
- camera: "📷",
- camera_flash: "📸",
- camping: "🏕",
- cancer: "♋️",
- candle: "🕯",
- candy: "🍬",
- canoe: "🛶",
- capital_abcd: "🔠",
- capricorn: "♑️",
- car: "🚗",
- card_file_box: "🗃",
- card_index: "📇",
- card_index_dividers: "🗂",
- carousel_horse: "🎠",
- carrot: "🥕",
- cat: "🐱",
- cat2: "🐈",
- cd: "💿",
- chains: "⛓",
- champagne: "🍾",
- chart: "💹",
- chart_with_downwards_trend: "📉",
- chart_with_upwards_trend: "📈",
- checkered_flag: "🏁",
- cheese: "🧀",
- cherries: "🍒",
- cherry_blossom: "🌸",
- chestnut: "🌰",
- chicken: "🐔",
- children_crossing: "🚸",
- chipmunk: "🐿",
- chocolate_bar: "🍫",
- christmas_tree: "🎄",
- church: "⛪️",
- cinema: "🎦",
- circus_tent: "🎪",
- city_sunrise: "🌇",
- city_sunset: "🌆",
- cityscape: "🏙",
- cl: "🆑",
- clamp: "🗜",
- clap: "👏",
- clapper: "🎬",
- classical_building: "🏛",
- clinking_glasses: "🥂",
- clipboard: "📋",
- clock1: "🕐",
- clock10: "🕙",
- clock1030: "🕥",
- clock11: "🕚",
- clock1130: "🕦",
- clock12: "🕛",
- clock1230: "🕧",
- clock130: "🕜",
- clock2: "🕑",
- clock230: "🕝",
- clock3: "🕒",
- clock330: "🕞",
- clock4: "🕓",
- clock430: "🕟",
- clock5: "🕔",
- clock530: "🕠",
- clock6: "🕕",
- clock630: "🕡",
- clock7: "🕖",
- clock730: "🕢",
- clock8: "🕗",
- clock830: "🕣",
- clock9: "🕘",
- clock930: "🕤",
- closed_book: "📕",
- closed_lock_with_key: "🔐",
- closed_umbrella: "🌂",
- cloud: "☁️",
- cloud_with_lightning: "🌩",
- cloud_with_lightning_and_rain: "⛈",
- cloud_with_rain: "🌧",
- cloud_with_snow: "🌨",
- clown_face: "🤡",
- clubs: "♣️",
- cocktail: "🍸",
- coffee: "☕️",
- coffin: "⚰️",
- cold_sweat: "😰",
- comet: "☄️",
- computer: "💻",
- computer_mouse: "🖱",
- confetti_ball: "🎊",
- confounded: "😖",
- confused: "😕",
- congratulations: "㊗️",
- construction: "🚧",
- construction_worker_man: "👷",
- construction_worker_woman: "👷‍♀️",
- control_knobs: "🎛",
- convenience_store: "🏪",
- cookie: "🍪",
- cool: "🆒",
- policeman: "👮",
- copyright: "©️",
- corn: "🌽",
- couch_and_lamp: "🛋",
- couple: "👫",
- couple_with_heart_woman_man: "💑",
- couple_with_heart_man_man: "👨‍❤️‍👨",
- couple_with_heart_woman_woman: "👩‍❤️‍👩",
- couplekiss_man_man: "👨‍❤️‍💋‍👨",
- couplekiss_man_woman: "💏",
- couplekiss_woman_woman: "👩‍❤️‍💋‍👩",
- cow: "🐮",
- cow2: "🐄",
- cowboy_hat_face: "🤠",
- crab: "🦀",
- crayon: "🖍",
- credit_card: "💳",
- crescent_moon: "🌙",
- cricket: "🏏",
- crocodile: "🐊",
- croissant: "🥐",
- crossed_fingers: "🤞",
- crossed_flags: "🎌",
- crossed_swords: "⚔️",
- crown: "👑",
- cry: "😢",
- crying_cat_face: "😿",
- crystal_ball: "🔮",
- cucumber: "🥒",
- cupid: "💘",
- curly_loop: "➰",
- currency_exchange: "💱",
- curry: "🍛",
- custard: "🍮",
- customs: "🛃",
- cyclone: "🌀",
- dagger: "🗡",
- dancer: "💃",
- dancing_women: "👯",
- dancing_men: "👯‍♂️",
- dango: "🍡",
- dark_sunglasses: "🕶",
- dart: "🎯",
- dash: "💨",
- date: "📅",
- deciduous_tree: "🌳",
- deer: "🦌",
- department_store: "🏬",
- derelict_house: "🏚",
- desert: "🏜",
- desert_island: "🏝",
- desktop_computer: "🖥",
- male_detective: "🕵️",
- diamond_shape_with_a_dot_inside: "💠",
- diamonds: "♦️",
- disappointed: "😞",
- disappointed_relieved: "😥",
- dizzy: "💫",
- dizzy_face: "😵",
- do_not_litter: "🚯",
- dog: "🐶",
- dog2: "🐕",
- dollar: "💵",
- dolls: "🎎",
- dolphin: "🐬",
- door: "🚪",
- doughnut: "🍩",
- dove: "🕊",
- dragon: "🐉",
- dragon_face: "🐲",
- dress: "👗",
- dromedary_camel: "🐪",
- drooling_face: "🤤",
- droplet: "💧",
- drum: "🥁",
- duck: "🦆",
- dvd: "📀",
- "e-mail": "📧",
- eagle: "🦅",
- ear: "👂",
- ear_of_rice: "🌾",
- earth_africa: "🌍",
- earth_americas: "🌎",
- earth_asia: "🌏",
- egg: "🥚",
- eggplant: "🍆",
- eight_pointed_black_star: "✴️",
- eight_spoked_asterisk: "✳️",
- electric_plug: "🔌",
- elephant: "🐘",
- email: "✉️",
- end: "🔚",
- envelope_with_arrow: "📩",
- euro: "💶",
- european_castle: "🏰",
- european_post_office: "🏤",
- evergreen_tree: "🌲",
- exclamation: "❗️",
- expressionless: "😑",
- eye: "👁",
- eye_speech_bubble: "👁‍🗨",
- eyeglasses: "👓",
- eyes: "👀",
- face_with_head_bandage: "🤕",
- face_with_thermometer: "🤒",
- fist_oncoming: "👊",
- factory: "🏭",
- fallen_leaf: "🍂",
- family_man_woman_boy: "👪",
- family_man_boy: "👨‍👦",
- family_man_boy_boy: "👨‍👦‍👦",
- family_man_girl: "👨‍👧",
- family_man_girl_boy: "👨‍👧‍👦",
- family_man_girl_girl: "👨‍👧‍👧",
- family_man_man_boy: "👨‍👨‍👦",
- family_man_man_boy_boy: "👨‍👨‍👦‍👦",
- family_man_man_girl: "👨‍👨‍👧",
- family_man_man_girl_boy: "👨‍👨‍👧‍👦",
- family_man_man_girl_girl: "👨‍👨‍👧‍👧",
- family_man_woman_boy_boy: "👨‍👩‍👦‍👦",
- family_man_woman_girl: "👨‍👩‍👧",
- family_man_woman_girl_boy: "👨‍👩‍👧‍👦",
- family_man_woman_girl_girl: "👨‍👩‍👧‍👧",
- family_woman_boy: "👩‍👦",
- family_woman_boy_boy: "👩‍👦‍👦",
- family_woman_girl: "👩‍👧",
- family_woman_girl_boy: "👩‍👧‍👦",
- family_woman_girl_girl: "👩‍👧‍👧",
- family_woman_woman_boy: "👩‍👩‍👦",
- family_woman_woman_boy_boy: "👩‍👩‍👦‍👦",
- family_woman_woman_girl: "👩‍👩‍👧",
- family_woman_woman_girl_boy: "👩‍👩‍👧‍👦",
- family_woman_woman_girl_girl: "👩‍👩‍👧‍👧",
- fast_forward: "⏩",
- fax: "📠",
- fearful: "😨",
- feet: "🐾",
- female_detective: "🕵️‍♀️",
- ferris_wheel: "🎡",
- ferry: "⛴",
- field_hockey: "🏑",
- file_cabinet: "🗄",
- file_folder: "📁",
- film_projector: "📽",
- film_strip: "🎞",
- fire: "🔥",
- fire_engine: "🚒",
- fireworks: "🎆",
- first_quarter_moon: "🌓",
- first_quarter_moon_with_face: "🌛",
- fish: "🐟",
- fish_cake: "🍥",
- fishing_pole_and_fish: "🎣",
- fist_raised: "✊",
- fist_left: "🤛",
- fist_right: "🤜",
- flags: "🎏",
- flashlight: "🔦",
- fleur_de_lis: "⚜️",
- flight_arrival: "🛬",
- flight_departure: "🛫",
- floppy_disk: "💾",
- flower_playing_cards: "🎴",
- flushed: "😳",
- fog: "🌫",
- foggy: "🌁",
- football: "🏈",
- footprints: "👣",
- fork_and_knife: "🍴",
- fountain: "⛲️",
- fountain_pen: "🖋",
- four_leaf_clover: "🍀",
- fox_face: "🦊",
- framed_picture: "🖼",
- free: "🆓",
- fried_egg: "🍳",
- fried_shrimp: "🍤",
- fries: "🍟",
- frog: "🐸",
- frowning: "😦",
- frowning_face: "☹️",
- frowning_man: "🙍‍♂️",
- frowning_woman: "🙍",
- middle_finger: "🖕",
- fuelpump: "⛽️",
- full_moon: "🌕",
- full_moon_with_face: "🌝",
- funeral_urn: "⚱️",
- game_die: "🎲",
- gear: "⚙️",
- gem: "💎",
- gemini: "♊️",
- ghost: "👻",
- gift: "🎁",
- gift_heart: "💝",
- girl: "👧",
- globe_with_meridians: "🌐",
- goal_net: "🥅",
- goat: "🐐",
- golf: "⛳️",
- golfing_man: "🏌️",
- golfing_woman: "🏌️‍♀️",
- gorilla: "🦍",
- grapes: "🍇",
- green_apple: "🍏",
- green_book: "📗",
- green_heart: "💚",
- green_salad: "🥗",
- grey_exclamation: "❕",
- grey_question: "❔",
- grimacing: "😬",
- grin: "😁",
- grinning: "😀",
- guardsman: "💂",
- guardswoman: "💂‍♀️",
- guitar: "🎸",
- gun: "🔫",
- haircut_woman: "💇",
- haircut_man: "💇‍♂️",
- hamburger: "🍔",
- hammer: "🔨",
- hammer_and_pick: "⚒",
- hammer_and_wrench: "🛠",
- hamster: "🐹",
- hand: "✋",
- handbag: "👜",
- handshake: "🤝",
- hankey: "💩",
- hatched_chick: "🐥",
- hatching_chick: "🐣",
- headphones: "🎧",
- hear_no_evil: "🙉",
- heart: "❤️",
- heart_decoration: "💟",
- heart_eyes: "😍",
- heart_eyes_cat: "😻",
- heartbeat: "💓",
- heartpulse: "💗",
- hearts: "♥️",
- heavy_check_mark: "✔️",
- heavy_division_sign: "➗",
- heavy_dollar_sign: "💲",
- heavy_heart_exclamation: "❣️",
- heavy_minus_sign: "➖",
- heavy_multiplication_x: "✖️",
- heavy_plus_sign: "➕",
- helicopter: "🚁",
- herb: "🌿",
- hibiscus: "🌺",
- high_brightness: "🔆",
- high_heel: "👠",
- hocho: "🔪",
- hole: "🕳",
- honey_pot: "🍯",
- horse: "🐴",
- horse_racing: "🏇",
- hospital: "🏥",
- hot_pepper: "🌶",
- hotdog: "🌭",
- hotel: "🏨",
- hotsprings: "♨️",
- hourglass: "⌛️",
- hourglass_flowing_sand: "⏳",
- house: "🏠",
- house_with_garden: "🏡",
- houses: "🏘",
- hugs: "🤗",
- hushed: "😯",
- ice_cream: "🍨",
- ice_hockey: "🏒",
- ice_skate: "⛸",
- icecream: "🍦",
- id: "🆔",
- ideograph_advantage: "🉐",
- imp: "👿",
- inbox_tray: "📥",
- incoming_envelope: "📨",
- tipping_hand_woman: "💁",
- information_source: "ℹ️",
- innocent: "😇",
- interrobang: "⁉️",
- iphone: "📱",
- izakaya_lantern: "🏮",
- jack_o_lantern: "🎃",
- japan: "🗾",
- japanese_castle: "🏯",
- japanese_goblin: "👺",
- japanese_ogre: "👹",
- jeans: "👖",
- joy: "😂",
- joy_cat: "😹",
- joystick: "🕹",
- kaaba: "🕋",
- key: "🔑",
- keyboard: "⌨️",
- keycap_ten: "🔟",
- kick_scooter: "🛴",
- kimono: "👘",
- kiss: "💋",
- kissing: "😗",
- kissing_cat: "😽",
- kissing_closed_eyes: "😚",
- kissing_heart: "😘",
- kissing_smiling_eyes: "😙",
- kiwi_fruit: "🥝",
- koala: "🐨",
- koko: "🈁",
- label: "🏷",
- large_blue_circle: "🔵",
- large_blue_diamond: "🔷",
- large_orange_diamond: "🔶",
- last_quarter_moon: "🌗",
- last_quarter_moon_with_face: "🌜",
- latin_cross: "✝️",
- laughing: "😆",
- leaves: "🍃",
- ledger: "📒",
- left_luggage: "🛅",
- left_right_arrow: "↔️",
- leftwards_arrow_with_hook: "↩️",
- lemon: "🍋",
- leo: "♌️",
- leopard: "🐆",
- level_slider: "🎚",
- libra: "♎️",
- light_rail: "🚈",
- link: "🔗",
- lion: "🦁",
- lips: "👄",
- lipstick: "💄",
- lizard: "🦎",
- lock: "🔒",
- lock_with_ink_pen: "🔏",
- lollipop: "🍭",
- loop: "➿",
- loud_sound: "🔊",
- loudspeaker: "📢",
- love_hotel: "🏩",
- love_letter: "💌",
- low_brightness: "🔅",
- lying_face: "🤥",
- m: "Ⓜ️",
- mag: "🔍",
- mag_right: "🔎",
- mahjong: "🀄️",
- mailbox: "📫",
- mailbox_closed: "📪",
- mailbox_with_mail: "📬",
- mailbox_with_no_mail: "📭",
- man: "👨",
- man_artist: "👨‍🎨",
- man_astronaut: "👨‍🚀",
- man_cartwheeling: "🤸‍♂️",
- man_cook: "👨‍🍳",
- man_dancing: "🕺",
- man_facepalming: "🤦‍♂️",
- man_factory_worker: "👨‍🏭",
- man_farmer: "👨‍🌾",
- man_firefighter: "👨‍🚒",
- man_health_worker: "👨‍⚕️",
- man_in_tuxedo: "🤵",
- man_judge: "👨‍⚖️",
- man_juggling: "🤹‍♂️",
- man_mechanic: "👨‍🔧",
- man_office_worker: "👨‍💼",
- man_pilot: "👨‍✈️",
- man_playing_handball: "🤾‍♂️",
- man_playing_water_polo: "🤽‍♂️",
- man_scientist: "👨‍🔬",
- man_shrugging: "🤷‍♂️",
- man_singer: "👨‍🎤",
- man_student: "👨‍🎓",
- man_teacher: "👨‍🏫",
- man_technologist: "👨‍💻",
- man_with_gua_pi_mao: "👲",
- man_with_turban: "👳",
- tangerine: "🍊",
- mans_shoe: "👞",
- mantelpiece_clock: "🕰",
- maple_leaf: "🍁",
- martial_arts_uniform: "🥋",
- mask: "😷",
- massage_woman: "💆",
- massage_man: "💆‍♂️",
- meat_on_bone: "🍖",
- medal_military: "🎖",
- medal_sports: "🏅",
- mega: "📣",
- melon: "🍈",
- memo: "📝",
- men_wrestling: "🤼‍♂️",
- menorah: "🕎",
- mens: "🚹",
- metal: "🤘",
- metro: "🚇",
- microphone: "🎤",
- microscope: "🔬",
- milk_glass: "🥛",
- milky_way: "🌌",
- minibus: "🚐",
- minidisc: "💽",
- mobile_phone_off: "📴",
- money_mouth_face: "🤑",
- money_with_wings: "💸",
- moneybag: "💰",
- monkey: "🐒",
- monkey_face: "🐵",
- monorail: "🚝",
- moon: "🌔",
- mortar_board: "🎓",
- mosque: "🕌",
- motor_boat: "🛥",
- motor_scooter: "🛵",
- motorcycle: "🏍",
- motorway: "🛣",
- mount_fuji: "🗻",
- mountain: "⛰",
- mountain_biking_man: "🚵",
- mountain_biking_woman: "🚵‍♀️",
- mountain_cableway: "🚠",
- mountain_railway: "🚞",
- mountain_snow: "🏔",
- mouse: "🐭",
- mouse2: "🐁",
- movie_camera: "🎥",
- moyai: "🗿",
- mrs_claus: "🤶",
- muscle: "💪",
- mushroom: "🍄",
- musical_keyboard: "🎹",
- musical_note: "🎵",
- musical_score: "🎼",
- mute: "🔇",
- nail_care: "💅",
- name_badge: "📛",
- national_park: "🏞",
- nauseated_face: "🤢",
- necktie: "👔",
- negative_squared_cross_mark: "❎",
- nerd_face: "🤓",
- neutral_face: "😐",
- new: "🆕",
- new_moon: "🌑",
- new_moon_with_face: "🌚",
- newspaper: "📰",
- newspaper_roll: "🗞",
- next_track_button: "⏭",
- ng: "🆖",
- no_good_man: "🙅‍♂️",
- no_good_woman: "🙅",
- night_with_stars: "🌃",
- no_bell: "🔕",
- no_bicycles: "🚳",
- no_entry: "⛔️",
- no_entry_sign: "🚫",
- no_mobile_phones: "📵",
- no_mouth: "😶",
- no_pedestrians: "🚷",
- no_smoking: "🚭",
- "non-potable_water": "🚱",
- nose: "👃",
- notebook: "📓",
- notebook_with_decorative_cover: "📔",
- notes: "🎶",
- nut_and_bolt: "🔩",
- o: "⭕️",
- o2: "🅾️",
- ocean: "🌊",
- octopus: "🐙",
- oden: "🍢",
- office: "🏢",
- oil_drum: "🛢",
- ok: "🆗",
- ok_hand: "👌",
- ok_man: "🙆‍♂️",
- ok_woman: "🙆",
- old_key: "🗝",
- older_man: "👴",
- older_woman: "👵",
- om: "🕉",
- on: "🔛",
- oncoming_automobile: "🚘",
- oncoming_bus: "🚍",
- oncoming_police_car: "🚔",
- oncoming_taxi: "🚖",
- open_file_folder: "📂",
- open_hands: "👐",
- open_mouth: "😮",
- open_umbrella: "☂️",
- ophiuchus: "⛎",
- orange_book: "📙",
- orthodox_cross: "☦️",
- outbox_tray: "📤",
- owl: "🦉",
- ox: "🐂",
- package: "📦",
- page_facing_up: "📄",
- page_with_curl: "📃",
- pager: "📟",
- paintbrush: "🖌",
- palm_tree: "🌴",
- pancakes: "🥞",
- panda_face: "🐼",
- paperclip: "📎",
- paperclips: "🖇",
- parasol_on_ground: "⛱",
- parking: "🅿️",
- part_alternation_mark: "〽️",
- partly_sunny: "⛅️",
- passenger_ship: "🛳",
- passport_control: "🛂",
- pause_button: "⏸",
- peace_symbol: "☮️",
- peach: "🍑",
- peanuts: "🥜",
- pear: "🍐",
- pen: "🖊",
- pencil2: "✏️",
- penguin: "🐧",
- pensive: "😔",
- performing_arts: "🎭",
- persevere: "😣",
- person_fencing: "🤺",
- pouting_woman: "🙎",
- phone: "☎️",
- pick: "⛏",
- pig: "🐷",
- pig2: "🐖",
- pig_nose: "🐽",
- pill: "💊",
- pineapple: "🍍",
- ping_pong: "🏓",
- pisces: "♓️",
- pizza: "🍕",
- place_of_worship: "🛐",
- plate_with_cutlery: "🍽",
- play_or_pause_button: "⏯",
- point_down: "👇",
- point_left: "👈",
- point_right: "👉",
- point_up: "☝️",
- point_up_2: "👆",
- police_car: "🚓",
- policewoman: "👮‍♀️",
- poodle: "🐩",
- popcorn: "🍿",
- post_office: "🏣",
- postal_horn: "📯",
- postbox: "📮",
- potable_water: "🚰",
- potato: "🥔",
- pouch: "👝",
- poultry_leg: "🍗",
- pound: "💷",
- rage: "😡",
- pouting_cat: "😾",
- pouting_man: "🙎‍♂️",
- pray: "🙏",
- prayer_beads: "📿",
- pregnant_woman: "🤰",
- previous_track_button: "⏮",
- prince: "🤴",
- princess: "👸",
- printer: "🖨",
- purple_heart: "💜",
- purse: "👛",
- pushpin: "📌",
- put_litter_in_its_place: "🚮",
- question: "❓",
- rabbit: "🐰",
- rabbit2: "🐇",
- racehorse: "🐎",
- racing_car: "🏎",
- radio: "📻",
- radio_button: "🔘",
- radioactive: "☢️",
- railway_car: "🚃",
- railway_track: "🛤",
- rainbow: "🌈",
- rainbow_flag: "🏳️‍🌈",
- raised_back_of_hand: "🤚",
- raised_hand_with_fingers_splayed: "🖐",
- raised_hands: "🙌",
- raising_hand_woman: "🙋",
- raising_hand_man: "🙋‍♂️",
- ram: "🐏",
- ramen: "🍜",
- rat: "🐀",
- record_button: "⏺",
- recycle: "♻️",
- red_circle: "🔴",
- registered: "®️",
- relaxed: "☺️",
- relieved: "😌",
- reminder_ribbon: "🎗",
- repeat: "🔁",
- repeat_one: "🔂",
- rescue_worker_helmet: "⛑",
- restroom: "🚻",
- revolving_hearts: "💞",
- rewind: "⏪",
- rhinoceros: "🦏",
- ribbon: "🎀",
- rice: "🍚",
- rice_ball: "🍙",
- rice_cracker: "🍘",
- rice_scene: "🎑",
- right_anger_bubble: "🗯",
- ring: "💍",
- robot: "🤖",
- rocket: "🚀",
- rofl: "🤣",
- roll_eyes: "🙄",
- roller_coaster: "🎢",
- rooster: "🐓",
- rose: "🌹",
- rosette: "🏵",
- rotating_light: "🚨",
- round_pushpin: "📍",
- rowing_man: "🚣",
- rowing_woman: "🚣‍♀️",
- rugby_football: "🏉",
- running_man: "🏃",
- running_shirt_with_sash: "🎽",
- running_woman: "🏃‍♀️",
- sa: "🈂️",
- sagittarius: "♐️",
- sake: "🍶",
- sandal: "👡",
- santa: "🎅",
- satellite: "📡",
- saxophone: "🎷",
- school: "🏫",
- school_satchel: "🎒",
- scissors: "✂️",
- scorpion: "🦂",
- scorpius: "♏️",
- scream: "😱",
- scream_cat: "🙀",
- scroll: "📜",
- seat: "💺",
- secret: "㊙️",
- see_no_evil: "🙈",
- seedling: "🌱",
- selfie: "🤳",
- shallow_pan_of_food: "🥘",
- shamrock: "☘️",
- shark: "🦈",
- shaved_ice: "🍧",
- sheep: "🐑",
- shell: "🐚",
- shield: "🛡",
- shinto_shrine: "⛩",
- ship: "🚢",
- shirt: "👕",
- shopping: "🛍",
- shopping_cart: "🛒",
- shower: "🚿",
- shrimp: "🦐",
- signal_strength: "📶",
- six_pointed_star: "🔯",
- ski: "🎿",
- skier: "⛷",
- skull: "💀",
- skull_and_crossbones: "☠️",
- sleeping: "😴",
- sleeping_bed: "🛌",
- sleepy: "😪",
- slightly_frowning_face: "🙁",
- slightly_smiling_face: "🙂",
- slot_machine: "🎰",
- small_airplane: "🛩",
- small_blue_diamond: "🔹",
- small_orange_diamond: "🔸",
- small_red_triangle: "🔺",
- small_red_triangle_down: "🔻",
- smile: "😄",
- smile_cat: "😸",
- smiley: "😃",
- smiley_cat: "😺",
- smiling_imp: "😈",
- smirk: "😏",
- smirk_cat: "😼",
- smoking: "🚬",
- snail: "🐌",
- snake: "🐍",
- sneezing_face: "🤧",
- snowboarder: "🏂",
- snowflake: "❄️",
- snowman: "⛄️",
- snowman_with_snow: "☃️",
- sob: "😭",
- soccer: "⚽️",
- soon: "🔜",
- sos: "🆘",
- sound: "🔉",
- space_invader: "👾",
- spades: "♠️",
- spaghetti: "🍝",
- sparkle: "❇️",
- sparkler: "🎇",
- sparkles: "✨",
- sparkling_heart: "💖",
- speak_no_evil: "🙊",
- speaker: "🔈",
- speaking_head: "🗣",
- speech_balloon: "💬",
- speedboat: "🚤",
- spider: "🕷",
- spider_web: "🕸",
- spiral_calendar: "🗓",
- spiral_notepad: "🗒",
- spoon: "🥄",
- squid: "🦑",
- stadium: "🏟",
- star: "⭐️",
- star2: "🌟",
- star_and_crescent: "☪️",
- star_of_david: "✡️",
- stars: "🌠",
- station: "🚉",
- statue_of_liberty: "🗽",
- steam_locomotive: "🚂",
- stew: "🍲",
- stop_button: "⏹",
- stop_sign: "🛑",
- stopwatch: "⏱",
- straight_ruler: "📏",
- strawberry: "🍓",
- stuck_out_tongue: "😛",
- stuck_out_tongue_closed_eyes: "😝",
- stuck_out_tongue_winking_eye: "😜",
- studio_microphone: "🎙",
- stuffed_flatbread: "🥙",
- sun_behind_large_cloud: "🌥",
- sun_behind_rain_cloud: "🌦",
- sun_behind_small_cloud: "🌤",
- sun_with_face: "🌞",
- sunflower: "🌻",
- sunglasses: "😎",
- sunny: "☀️",
- sunrise: "🌅",
- sunrise_over_mountains: "🌄",
- surfing_man: "🏄",
- surfing_woman: "🏄‍♀️",
- sushi: "🍣",
- suspension_railway: "🚟",
- sweat: "😓",
- sweat_drops: "💦",
- sweat_smile: "😅",
- sweet_potato: "🍠",
- swimming_man: "🏊",
- swimming_woman: "🏊‍♀️",
- symbols: "🔣",
- synagogue: "🕍",
- syringe: "💉",
- taco: "🌮",
- tada: "🎉",
- tanabata_tree: "🎋",
- taurus: "♉️",
- taxi: "🚕",
- tea: "🍵",
- telephone_receiver: "📞",
- telescope: "🔭",
- tennis: "🎾",
- tent: "⛺️",
- thermometer: "🌡",
- thinking: "🤔",
- thought_balloon: "💭",
- ticket: "🎫",
- tickets: "🎟",
- tiger: "🐯",
- tiger2: "🐅",
- timer_clock: "⏲",
- tipping_hand_man: "💁‍♂️",
- tired_face: "😫",
- tm: "™️",
- toilet: "🚽",
- tokyo_tower: "🗼",
- tomato: "🍅",
- tongue: "👅",
- top: "🔝",
- tophat: "🎩",
- tornado: "🌪",
- trackball: "🖲",
- tractor: "🚜",
- traffic_light: "🚥",
- train: "🚋",
- train2: "🚆",
- tram: "🚊",
- triangular_flag_on_post: "🚩",
- triangular_ruler: "📐",
- trident: "🔱",
- triumph: "😤",
- trolleybus: "🚎",
- trophy: "🏆",
- tropical_drink: "🍹",
- tropical_fish: "🐠",
- truck: "🚚",
- trumpet: "🎺",
- tulip: "🌷",
- tumbler_glass: "🥃",
- turkey: "🦃",
- turtle: "🐢",
- tv: "📺",
- twisted_rightwards_arrows: "🔀",
- two_hearts: "💕",
- two_men_holding_hands: "👬",
- two_women_holding_hands: "👭",
- u5272: "🈹",
- u5408: "🈴",
- u55b6: "🈺",
- u6307: "🈯️",
- u6708: "🈷️",
- u6709: "🈶",
- u6e80: "🈵",
- u7121: "🈚️",
- u7533: "🈸",
- u7981: "🈲",
- u7a7a: "🈳",
- umbrella: "☔️",
- unamused: "😒",
- underage: "🔞",
- unicorn: "🦄",
- unlock: "🔓",
- up: "🆙",
- upside_down_face: "🙃",
- v: "✌️",
- vertical_traffic_light: "🚦",
- vhs: "📼",
- vibration_mode: "📳",
- video_camera: "📹",
- video_game: "🎮",
- violin: "🎻",
- virgo: "♍️",
- volcano: "🌋",
- volleyball: "🏐",
- vs: "🆚",
- vulcan_salute: "🖖",
- walking_man: "🚶",
- walking_woman: "🚶‍♀️",
- waning_crescent_moon: "🌘",
- waning_gibbous_moon: "🌖",
- warning: "⚠️",
- wastebasket: "🗑",
- watch: "⌚️",
- water_buffalo: "🐃",
- watermelon: "🍉",
- wave: "👋",
- wavy_dash: "〰️",
- waxing_crescent_moon: "🌒",
- wc: "🚾",
- weary: "😩",
- wedding: "💒",
- weight_lifting_man: "🏋️",
- weight_lifting_woman: "🏋️‍♀️",
- whale: "🐳",
- whale2: "🐋",
- wheel_of_dharma: "☸️",
- wheelchair: "♿️",
- white_check_mark: "✅",
- white_circle: "⚪️",
- white_flag: "🏳️",
- white_flower: "💮",
- white_large_square: "⬜️",
- white_medium_small_square: "◽️",
- white_medium_square: "◻️",
- white_small_square: "▫️",
- white_square_button: "🔳",
- wilted_flower: "🥀",
- wind_chime: "🎐",
- wind_face: "🌬",
- wine_glass: "🍷",
- wink: "😉",
- wolf: "🐺",
- woman: "👩",
- woman_artist: "👩‍🎨",
- woman_astronaut: "👩‍🚀",
- woman_cartwheeling: "🤸‍♀️",
- woman_cook: "👩‍🍳",
- woman_facepalming: "🤦‍♀️",
- woman_factory_worker: "👩‍🏭",
- woman_farmer: "👩‍🌾",
- woman_firefighter: "👩‍🚒",
- woman_health_worker: "👩‍⚕️",
- woman_judge: "👩‍⚖️",
- woman_juggling: "🤹‍♀️",
- woman_mechanic: "👩‍🔧",
- woman_office_worker: "👩‍💼",
- woman_pilot: "👩‍✈️",
- woman_playing_handball: "🤾‍♀️",
- woman_playing_water_polo: "🤽‍♀️",
- woman_scientist: "👩‍🔬",
- woman_shrugging: "🤷‍♀️",
- woman_singer: "👩‍🎤",
- woman_student: "👩‍🎓",
- woman_teacher: "👩‍🏫",
- woman_technologist: "👩‍💻",
- woman_with_turban: "👳‍♀️",
- womans_clothes: "👚",
- womans_hat: "👒",
- women_wrestling: "🤼‍♀️",
- womens: "🚺",
- world_map: "🗺",
- worried: "😟",
- wrench: "🔧",
- writing_hand: "✍️",
- x: "❌",
- yellow_heart: "💛",
- yen: "💴",
- yin_yang: "☯️",
- yum: "😋",
- zap: "⚡️",
- zipper_mouth_face: "🤐",
- zzz: "💤",
- octocat: '<img alt=":octocat:" height="20" width="20" align="absmiddle" src="https://assets-cdn.github.com/images/icons/emoji/octocat.png">',
- showdown: "<span style=\"font-family: 'Anonymous Pro', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;\">S</span>"
- }, x.Converter = function(e) {
- "use strict";
- var r, t, n = {},
- i = [],
- l = [],
- o = {},
- a = h,
- s = {
- parsed: {},
- raw: "",
- format: ""
- };
- for (r in e = e || {}, p) p.hasOwnProperty(r) && (n[r] = p[r]);
- if ("object" != typeof e) throw Error("Converter expects the passed parameter to be an object, but " + typeof e + " was passed instead.");
- for (t in e) e.hasOwnProperty(t) && (n[t] = e[t]);
- function c(e, r) {
- if (r = r || null, x.helper.isString(e)) {
- if (r = e = x.helper.stdExtName(e), x.extensions[e]) {
- console.warn("DEPRECATION WARNING: " + e + " is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!");
- var t = x.extensions[e],
- a = e;
- if ("function" == typeof t && (t = t(new x.Converter)), x.helper.isArray(t) || (t = [t]), !(a = g(t, a)).valid) throw Error(a.error);
- for (var n = 0; n < t.length; ++n) switch (t[n].type) {
- case "lang":
- i.push(t[n]);
- break;
- case "output":
- l.push(t[n]);
- break;
- default:
- throw Error("Extension loader error: Type unrecognized!!!")
- }
- return
- }
- if (x.helper.isUndefined(d[e])) throw Error('Extension "' + e + '" could not be loaded. It was either not found or is not a valid extension.');
- e = d[e]
- }
- "function" == typeof e && (e = e());
- a = g(e = x.helper.isArray(e) ? e : [e], r);
- if (!a.valid) throw Error(a.error);
- for (var s = 0; s < e.length; ++s) {
- switch (e[s].type) {
- case "lang":
- i.push(e[s]);
- break;
- case "output":
- l.push(e[s])
- }
- if (e[s].hasOwnProperty("listeners"))
- for (var o in e[s].listeners) e[s].listeners.hasOwnProperty(o) && u(o, e[s].listeners[o])
- }
- }
- function u(e, r) {
- if (!x.helper.isString(e)) throw Error("Invalid argument in converter.listen() method: name must be a string, but " + typeof e + " given");
- if ("function" != typeof r) throw Error("Invalid argument in converter.listen() method: callback must be a function, but " + typeof r + " given");
- o.hasOwnProperty(e) || (o[e] = []), o[e].push(r)
- }
- n.extensions && x.helper.forEach(n.extensions, c), this._dispatch = function(e, r, t, a) {
- if (o.hasOwnProperty(e))
- for (var n = 0; n < o[e].length; ++n) {
- var s = o[e][n](e, r, this, t, a);
- s && void 0 !== s && (r = s)
- }
- return r
- }, this.listen = function(e, r) {
- return u(e, r), this
- }, this.makeHtml = function(r) {
- if (!r) return r;
- var e, t, a = {
- gHtmlBlocks: [],
- gHtmlMdBlocks: [],
- gHtmlSpans: [],
- gUrls: {},
- gTitles: {},
- gDimensions: {},
- gListLevel: 0,
- hashLinkCounts: {},
- langExtensions: i,
- outputModifiers: l,
- converter: this,
- ghCodeBlocks: [],
- metadata: {
- parsed: {},
- raw: "",
- format: ""
- }
- };
- return r = (r = (r = (r = (r = r.replace(/¨/g, "¨T")).replace(/\$/g, "¨D")).replace(/\r\n/g, "\n")).replace(/\r/g, "\n")).replace(/\u00A0/g, " "), n.smartIndentationFix && (t = (e = r).match(/^\s*/)[0].length, t = new RegExp("^\\s{0," + t + "}", "gm"), r = e.replace(t, "")), r = "\n\n" + r + "\n\n", r = (r = x.subParser("detab")(r, n, a)).replace(/^[ \t]+$/gm, ""), x.helper.forEach(i, function(e) {
- r = x.subParser("runExtension")(e, r, n, a)
- }), r = x.subParser("metadata")(r, n, a), r = x.subParser("hashPreCodeTags")(r, n, a), r = x.subParser("githubCodeBlocks")(r, n, a), r = x.subParser("hashHTMLBlocks")(r, n, a), r = x.subParser("hashCodeTags")(r, n, a), r = x.subParser("stripLinkDefinitions")(r, n, a), r = x.subParser("blockGamut")(r, n, a), r = x.subParser("unhashHTMLSpans")(r, n, a), r = (r = (r = x.subParser("unescapeSpecialChars")(r, n, a)).replace(/¨D/g, "$$")).replace(/¨T/g, "¨"), r = x.subParser("completeHTMLDocument")(r, n, a), x.helper.forEach(l, function(e) {
- r = x.subParser("runExtension")(e, r, n, a)
- }), s = a.metadata, r
- }, this.makeMarkdown = this.makeMd = function(e, r) {
- if (e = (e = (e = e.replace(/\r\n/g, "\n")).replace(/\r/g, "\n")).replace(/>[ \t]+</, ">¨NBSP;<"), !r) {
- if (!window || !window.document) throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");
- r = window.document
- }
- for (var r = r.createElement("div"), t = (r.innerHTML = e, {
- preList: function(e) {
- for (var r = e.querySelectorAll("pre"), t = [], a = 0; a < r.length; ++a)
- if (1 === r[a].childElementCount && "code" === r[a].firstChild.tagName.toLowerCase()) {
- var n = r[a].firstChild.innerHTML.trim(),
- s = r[a].firstChild.getAttribute("data-language") || "";
- if ("" === s)
- for (var o = r[a].firstChild.className.split(" "), i = 0; i < o.length; ++i) {
- var l = o[i].match(/^language-(.+)$/);
- if (null !== l) {
- s = l[1];
- break
- }
- }
- n = x.helper.unescapeHTMLEntities(n), t.push(n), r[a].outerHTML = '<precode language="' + s + '" precodenum="' + a.toString() + '"></precode>'
- } else t.push(r[a].innerHTML), r[a].innerHTML = "", r[a].setAttribute("prenum", a.toString());
- return t
- }(r)
- }), a = (! function e(r) {
- for (var t = 0; t < r.childNodes.length; ++t) {
- var a = r.childNodes[t];
- 3 === a.nodeType ? /\S/.test(a.nodeValue) || /^[ ]+$/.test(a.nodeValue) ? (a.nodeValue = a.nodeValue.split("\n").join(" "), a.nodeValue = a.nodeValue.replace(/(\s)+/g, "$1")) : (r.removeChild(a), --t) : 1 === a.nodeType && e(a)
- }
- }(r), r.childNodes), n = "", s = 0; s < a.length; s++) n += x.subParser("makeMarkdown.node")(a[s], t);
- return n
- }, this.setOption = function(e, r) {
- n[e] = r
- }, this.getOption = function(e) {
- return n[e]
- }, this.getOptions = function() {
- return n
- }, this.addExtension = function(e, r) {
- c(e, r = r || null)
- }, this.useExtension = function(e) {
- c(e)
- }, this.setFlavor = function(e) {
- if (!_.hasOwnProperty(e)) throw Error(e + " flavor was not found");
- var r, t = _[e];
- for (r in a = e, t) t.hasOwnProperty(r) && (n[r] = t[r])
- }, this.getFlavor = function() {
- return a
- }, this.removeExtension = function(e) {
- x.helper.isArray(e) || (e = [e]);
- for (var r = 0; r < e.length; ++r) {
- for (var t = e[r], a = 0; a < i.length; ++a) i[a] === t && i.splice(a, 1);
- for (var n = 0; n < l.length; ++n) l[n] === t && l.splice(n, 1)
- }
- }, this.getAllExtensions = function() {
- return {
- language: i,
- output: l
- }
- }, this.getMetadata = function(e) {
- return e ? s.raw : s.parsed
- }, this.getMetadataFormat = function() {
- return s.format
- }, this._setMetadataPair = function(e, r) {
- s.parsed[e] = r
- }, this._setMetadataFormat = function(e) {
- s.format = e
- }, this._setMetadataRaw = function(e) {
- s.raw = e
- }
- }, x.subParser("anchors", function(e, i, l) {
- "use strict";
- function r(e, r, t, a, n, s, o) {
- if (x.helper.isUndefined(o) && (o = ""), t = t.toLowerCase(), -1 < e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)) a = "";
- else if (!a) {
- if (a = "#" + (t = t || r.toLowerCase().replace(/ ?\n/g, " ")), x.helper.isUndefined(l.gUrls[t])) return e;
- a = l.gUrls[t], x.helper.isUndefined(l.gTitles[t]) || (o = l.gTitles[t])
- }
- return e = '<a href="' + (a = a.replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) + '"', "" !== o && null !== o && (e += ' title="' + (o = (o = o.replace(/"/g, """)).replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) + '"'), i.openLinksInNewWindow && !/^#/.test(a) && (e += ' rel="noopener noreferrer" target="¨E95Eblank"'), e += ">" + r + "</a>"
- }
- return e = (e = (e = (e = (e = l.converter._dispatch("anchors.before", e, i, l)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g, r)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g, r)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g, r)).replace(/\[([^\[\]]+)]()()()()()/g, r), i.ghMentions && (e = e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim, function(e, r, t, a, n) {
- if ("\\" === t) return r + a;
- if (!x.helper.isString(i.ghMentionsLink)) throw new Error("ghMentionsLink option must be a string");
- t = "";
- return r + '<a href="' + i.ghMentionsLink.replace(/\{u}/g, n) + '"' + (t = i.openLinksInNewWindow ? ' rel="noopener noreferrer" target="¨E95Eblank"' : t) + ">" + a + "</a>"
- })), e = l.converter._dispatch("anchors.after", e, i, l)
- });
- var i = /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,
- l = /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,
- c = /()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,
- m = /(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,
- f = /<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi;
- x.subParser("autoLinks", function(e, r, t) {
- "use strict";
- return e = (e = (e = t.converter._dispatch("autoLinks.before", e, r, t)).replace(c, s(r))).replace(f, o(r, t)), e = t.converter._dispatch("autoLinks.after", e, r, t)
- }), x.subParser("simplifiedAutoLinks", function(e, r, t) {
- "use strict";
- return r.simplifiedAutoLink ? (e = t.converter._dispatch("simplifiedAutoLinks.before", e, r, t), e = (e = r.excludeTrailingPunctuationFromURLs ? e.replace(l, s(r)) : e.replace(i, s(r))).replace(m, o(r, t)), t.converter._dispatch("simplifiedAutoLinks.after", e, r, t)) : e
- }), x.subParser("blockGamut", function(e, r, t) {
- "use strict";
- return e = t.converter._dispatch("blockGamut.before", e, r, t), e = x.subParser("blockQuotes")(e, r, t), e = x.subParser("headers")(e, r, t), e = x.subParser("horizontalRule")(e, r, t), e = x.subParser("lists")(e, r, t), e = x.subParser("codeBlocks")(e, r, t), e = x.subParser("tables")(e, r, t), e = x.subParser("hashHTMLBlocks")(e, r, t), e = x.subParser("paragraphs")(e, r, t), e = t.converter._dispatch("blockGamut.after", e, r, t)
- }), x.subParser("blockQuotes", function(e, r, t) {
- "use strict";
- e = t.converter._dispatch("blockQuotes.before", e, r, t);
- var a = /(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;
- return r.splitAdjacentBlockquotes && (a = /^ {0,3}>[\s\S]*?(?:\n\n)/gm), e = (e += "\n\n").replace(a, function(e) {
- return e = (e = (e = e.replace(/^[ \t]*>[ \t]?/gm, "")).replace(/¨0/g, "")).replace(/^[ \t]+$/gm, ""), e = x.subParser("githubCodeBlocks")(e, r, t), e = (e = (e = x.subParser("blockGamut")(e, r, t)).replace(/(^|\n)/g, "$1 ")).replace(/(\s*<pre>[^\r]+?<\/pre>)/gm, function(e, r) {
- return r.replace(/^ /gm, "¨0").replace(/¨0/g, "")
- }), x.subParser("hashBlock")("<blockquote>\n" + e + "\n</blockquote>", r, t)
- }), e = t.converter._dispatch("blockQuotes.after", e, r, t)
- }), x.subParser("codeBlocks", function(e, n, s) {
- "use strict";
- e = s.converter._dispatch("codeBlocks.before", e, n, s);
- return e = (e = (e += "¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g, function(e, r, t) {
- var a = "\n",
- r = x.subParser("outdent")(r, n, s);
- return r = x.subParser("encodeCode")(r, n, s), r = "<pre><code>" + (r = (r = (r = x.subParser("detab")(r, n, s)).replace(/^\n+/g, "")).replace(/\n+$/g, "")) + (a = n.omitExtraWLInCodeBlocks ? "" : a) + "</code></pre>", x.subParser("hashBlock")(r, n, s) + t
- })).replace(/¨0/, ""), e = s.converter._dispatch("codeBlocks.after", e, n, s)
- }), x.subParser("codeSpans", function(e, n, s) {
- "use strict";
- return e = (e = void 0 === (e = s.converter._dispatch("codeSpans.before", e, n, s)) ? "" : e).replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm, function(e, r, t, a) {
- return a = (a = a.replace(/^([ \t]*)/g, "")).replace(/[ \t]*$/g, ""), a = r + "<code>" + (a = x.subParser("encodeCode")(a, n, s)) + "</code>", a = x.subParser("hashHTMLSpans")(a, n, s)
- }), e = s.converter._dispatch("codeSpans.after", e, n, s)
- }), x.subParser("completeHTMLDocument", function(e, r, t) {
- "use strict";
- if (!r.completeHTMLDocument) return e;
- e = t.converter._dispatch("completeHTMLDocument.before", e, r, t);
- var a, n = "html",
- s = "<!DOCTYPE HTML>\n",
- o = "",
- i = '<meta charset="utf-8">\n',
- l = "",
- c = "";
- for (a in void 0 !== t.metadata.parsed.doctype && (s = "<!DOCTYPE " + t.metadata.parsed.doctype + ">\n", "html" !== (n = t.metadata.parsed.doctype.toString().toLowerCase()) && "html5" !== n || (i = '<meta charset="utf-8">')), t.metadata.parsed)
- if (t.metadata.parsed.hasOwnProperty(a)) switch (a.toLowerCase()) {
- case "doctype":
- break;
- case "title":
- o = "<title>" + t.metadata.parsed.title + "</title>\n";
- break;
- case "charset":
- i = "html" === n || "html5" === n ? '<meta charset="' + t.metadata.parsed.charset + '">\n' : '<meta name="charset" content="' + t.metadata.parsed.charset + '">\n';
- break;
- case "language":
- case "lang":
- l = ' lang="' + t.metadata.parsed[a] + '"', c += '<meta name="' + a + '" content="' + t.metadata.parsed[a] + '">\n';
- break;
- default:
- c += '<meta name="' + a + '" content="' + t.metadata.parsed[a] + '">\n'
- }
- return e = s + "<html" + l + ">\n<head>\n" + o + i + c + "</head>\n<body>\n" + e.trim() + "\n</body>\n</html>", e = t.converter._dispatch("completeHTMLDocument.after", e, r, t)
- }), x.subParser("detab", function(e, r, t) {
- "use strict";
- return e = (e = (e = (e = (e = (e = t.converter._dispatch("detab.before", e, r, t)).replace(/\t(?=\t)/g, " ")).replace(/\t/g, "¨A¨B")).replace(/¨B(.+?)¨A/g, function(e, r) {
- for (var t = r, a = 4 - t.length % 4, n = 0; n < a; n++) t += " ";
- return t
- })).replace(/¨A/g, " ")).replace(/¨B/g, ""), e = t.converter._dispatch("detab.after", e, r, t)
- }), x.subParser("ellipsis", function(e, r, t) {
- "use strict";
- return r.ellipsis ? (e = (e = t.converter._dispatch("ellipsis.before", e, r, t)).replace(/\.\.\./g, "…"), t.converter._dispatch("ellipsis.after", e, r, t)) : e
- }), x.subParser("emoji", function(e, r, t) {
- "use strict";
- if (!r.emoji) return e;
- return e = (e = t.converter._dispatch("emoji.before", e, r, t)).replace(/:([\S]+?):/g, function(e, r) {
- return x.helper.emojis.hasOwnProperty(r) ? x.helper.emojis[r] : e
- }), e = t.converter._dispatch("emoji.after", e, r, t)
- }), x.subParser("encodeAmpsAndAngles", function(e, r, t) {
- "use strict";
- return e = (e = (e = (e = (e = t.converter._dispatch("encodeAmpsAndAngles.before", e, r, t)).replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g, "&")).replace(/<(?![a-z\/?$!])/gi, "<")).replace(/</g, "<")).replace(/>/g, ">"), e = t.converter._dispatch("encodeAmpsAndAngles.after", e, r, t)
- }), x.subParser("encodeBackslashEscapes", function(e, r, t) {
- "use strict";
- return e = (e = (e = t.converter._dispatch("encodeBackslashEscapes.before", e, r, t)).replace(/\\(\\)/g, x.helper.escapeCharactersCallback)).replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, x.helper.escapeCharactersCallback), e = t.converter._dispatch("encodeBackslashEscapes.after", e, r, t)
- }), x.subParser("encodeCode", function(e, r, t) {
- "use strict";
- return e = (e = t.converter._dispatch("encodeCode.before", e, r, t)).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/([*_{}\[\]\\=~-])/g, x.helper.escapeCharactersCallback), e = t.converter._dispatch("encodeCode.after", e, r, t)
- }), x.subParser("escapeSpecialCharsWithinTagAttributes", function(e, r, t) {
- "use strict";
- return e = (e = (e = t.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before", e, r, t)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi, function(e) {
- return e.replace(/(.)<\/?code>(?=.)/g, "$1`").replace(/([\\`*_~=|])/g, x.helper.escapeCharactersCallback)
- })).replace(/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi, function(e) {
- return e.replace(/([\\`*_~=|])/g, x.helper.escapeCharactersCallback)
- }), e = t.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after", e, r, t)
- }), x.subParser("githubCodeBlocks", function(e, s, o) {
- "use strict";
- return s.ghCodeBlocks ? (e = o.converter._dispatch("githubCodeBlocks.before", e, s, o), e = (e = (e += "¨0").replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g, function(e, r, t, a) {
- var n = s.omitExtraWLInCodeBlocks ? "" : "\n";
- return a = x.subParser("encodeCode")(a, s, o), a = "<pre><code" + (t ? ' class="' + t + " language-" + t + '"' : "") + ">" + (a = (a = (a = x.subParser("detab")(a, s, o)).replace(/^\n+/g, "")).replace(/\n+$/g, "")) + n + "</code></pre>", a = x.subParser("hashBlock")(a, s, o), "\n\n¨G" + (o.ghCodeBlocks.push({
- text: e,
- codeblock: a
- }) - 1) + "G\n\n"
- })).replace(/¨0/, ""), o.converter._dispatch("githubCodeBlocks.after", e, s, o)) : e
- }), x.subParser("hashBlock", function(e, r, t) {
- "use strict";
- return e = (e = t.converter._dispatch("hashBlock.before", e, r, t)).replace(/(^\n+|\n+$)/g, ""), e = "\n\n¨K" + (t.gHtmlBlocks.push(e) - 1) + "K\n\n", e = t.converter._dispatch("hashBlock.after", e, r, t)
- }), x.subParser("hashCodeTags", function(e, n, s) {
- "use strict";
- e = s.converter._dispatch("hashCodeTags.before", e, n, s);
- return e = x.helper.replaceRecursiveRegExp(e, function(e, r, t, a) {
- t = t + x.subParser("encodeCode")(r, n, s) + a;
- return "¨C" + (s.gHtmlSpans.push(t) - 1) + "C"
- }, "<code\\b[^>]*>", "</code>", "gim"), e = s.converter._dispatch("hashCodeTags.after", e, n, s)
- }), x.subParser("hashElement", function(e, r, t) {
- "use strict";
- return function(e, r) {
- return r = (r = (r = r.replace(/\n\n/g, "\n")).replace(/^\n/, "")).replace(/\n+$/g, ""), r = "\n\n¨K" + (t.gHtmlBlocks.push(r) - 1) + "K\n\n"
- }
- }), x.subParser("hashHTMLBlocks", function(e, r, n) {
- "use strict";
- e = n.converter._dispatch("hashHTMLBlocks.before", e, r, n);
- function t(e, r, t, a) {
- return -1 !== t.search(/\bmarkdown\b/) && (e = t + n.converter.makeHtml(r) + a), "\n\n¨K" + (n.gHtmlBlocks.push(e) - 1) + "K\n\n"
- }
- var a = ["pre", "div", "h1", "h2", "h3", "h4", "h5", "h6", "blockquote", "table", "dl", "ol", "ul", "script", "noscript", "form", "fieldset", "iframe", "math", "style", "section", "header", "footer", "nav", "article", "aside", "address", "audio", "canvas", "figure", "hgroup", "output", "video", "p"];
- r.backslashEscapesHTMLTags && (e = e.replace(/\\<(\/?[^>]+?)>/g, function(e, r) {
- return "<" + r + ">"
- }));
- for (var s = 0; s < a.length; ++s)
- for (var o = new RegExp("^ {0,3}(<" + a[s] + "\\b[^>]*>)", "im"), i = "<" + a[s] + "\\b[^>]*>", u = "</" + a[s] + ">"; - 1 !== (l = x.helper.regexIndexOf(e, o));) {
- var l = x.helper.splitAtIndex(e, l),
- c = x.helper.replaceRecursiveRegExp(l[1], t, i, u, "im");
- if (c === l[1]) break;
- e = l[0].concat(c)
- }
- return e = e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g, x.subParser("hashElement")(e, r, n)), e = (e = x.helper.replaceRecursiveRegExp(e, function(e) {
- return "\n\n¨K" + (n.gHtmlBlocks.push(e) - 1) + "K\n\n"
- }, "^ {0,3}\x3c!--", "--\x3e", "gm")).replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g, x.subParser("hashElement")(e, r, n)), e = n.converter._dispatch("hashHTMLBlocks.after", e, r, n)
- }), x.subParser("hashHTMLSpans", function(e, r, t) {
- "use strict";
- function a(e) {
- return "¨C" + (t.gHtmlSpans.push(e) - 1) + "C"
- }
- return e = (e = (e = (e = (e = t.converter._dispatch("hashHTMLSpans.before", e, r, t)).replace(/<[^>]+?\/>/gi, a)).replace(/<([^>]+?)>[\s\S]*?<\/\1>/g, a)).replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g, a)).replace(/<[^>]+?>/gi, a), e = t.converter._dispatch("hashHTMLSpans.after", e, r, t)
- }), x.subParser("unhashHTMLSpans", function(e, r, t) {
- "use strict";
- e = t.converter._dispatch("unhashHTMLSpans.before", e, r, t);
- for (var a = 0; a < t.gHtmlSpans.length; ++a) {
- for (var n = t.gHtmlSpans[a], s = 0;
- /¨C(\d+)C/.test(n);) {
- var o = RegExp.$1,
- n = n.replace("¨C" + o + "C", t.gHtmlSpans[o]);
- if (10 === s) {
- console.error("maximum nesting of 10 spans reached!!!");
- break
- }++s
- }
- e = e.replace("¨C" + a + "C", n)
- }
- return e = t.converter._dispatch("unhashHTMLSpans.after", e, r, t)
- }), x.subParser("hashPreCodeTags", function(e, n, s) {
- "use strict";
- e = s.converter._dispatch("hashPreCodeTags.before", e, n, s);
- return e = x.helper.replaceRecursiveRegExp(e, function(e, r, t, a) {
- t = t + x.subParser("encodeCode")(r, n, s) + a;
- return "\n\n¨G" + (s.ghCodeBlocks.push({
- text: e,
- codeblock: t
- }) - 1) + "G\n\n"
- }, "^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>", "^ {0,3}</code>\\s*</pre>", "gim"), e = s.converter._dispatch("hashPreCodeTags.after", e, n, s)
- }), x.subParser("headers", function(e, n, s) {
- "use strict";
- e = s.converter._dispatch("headers.before", e, n, s);
- var o = isNaN(parseInt(n.headerLevelStart)) ? 1 : parseInt(n.headerLevelStart),
- r = n.smoothLivePreview ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n=+[ \t]*\n+/gm,
- t = n.smoothLivePreview ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n-+[ \t]*\n+/gm,
- r = (e = (e = e.replace(r, function(e, r) {
- var t = x.subParser("spanGamut")(r, n, s),
- r = n.noHeaderId ? "" : ' id="' + i(r) + '"',
- r = "<h" + o + r + ">" + t + "</h" + o + ">";
- return x.subParser("hashBlock")(r, n, s)
- })).replace(t, function(e, r) {
- var t = x.subParser("spanGamut")(r, n, s),
- r = n.noHeaderId ? "" : ' id="' + i(r) + '"',
- a = o + 1,
- r = "<h" + a + r + ">" + t + "</h" + a + ">";
- return x.subParser("hashBlock")(r, n, s)
- }), n.requireSpaceBeforeHeadingText ? /^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm : /^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm);
- function i(e) {
- var r;
- return !n.customizedHeaderId || (r = e.match(/\{([^{]+?)}\s*$/)) && r[1] && (e = r[1]), r = e, e = x.helper.isString(n.prefixHeaderId) ? n.prefixHeaderId : !0 === n.prefixHeaderId ? "section-" : "", n.rawPrefixHeaderId || (r = e + r), r = (n.ghCompatibleHeaderId ? r.replace(/ /g, "-").replace(/&/g, "").replace(/¨T/g, "").replace(/¨D/g, "").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g, "") : n.rawHeaderId ? r.replace(/ /g, "-").replace(/&/g, "&").replace(/¨T/g, "¨").replace(/¨D/g, "$").replace(/["']/g, "-") : r.replace(/[^\w]/g, "")).toLowerCase(), n.rawPrefixHeaderId && (r = e + r), s.hashLinkCounts[r] ? r = r + "-" + s.hashLinkCounts[r]++ : s.hashLinkCounts[r] = 1, r
- }
- return e = e.replace(r, function(e, r, t) {
- var a = t,
- a = (n.customizedHeaderId && (a = t.replace(/\s?\{([^{]+?)}\s*$/, "")), x.subParser("spanGamut")(a, n, s)),
- t = n.noHeaderId ? "" : ' id="' + i(t) + '"',
- r = o - 1 + r.length,
- t = "<h" + r + t + ">" + a + "</h" + r + ">";
- return x.subParser("hashBlock")(t, n, s)
- }), e = s.converter._dispatch("headers.after", e, n, s)
- }), x.subParser("horizontalRule", function(e, r, t) {
- "use strict";
- e = t.converter._dispatch("horizontalRule.before", e, r, t);
- var a = x.subParser("hashBlock")("<hr />", r, t);
- return e = (e = (e = e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm, a)).replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm, a)).replace(/^ {0,2}( ?_){3,}[ \t]*$/gm, a), e = t.converter._dispatch("horizontalRule.after", e, r, t)
- }), x.subParser("images", function(e, r, d) {
- "use strict";
- function l(e, r, t, a, n, s, u, o) {
- var i = d.gUrls,
- l = d.gTitles,
- c = d.gDimensions;
- if (t = t.toLowerCase(), o = o || "", -1 < e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)) a = "";
- else if ("" === a || null === a) {
- if (a = "#" + (t = "" !== t && null !== t ? t : r.toLowerCase().replace(/ ?\n/g, " ")), x.helper.isUndefined(i[t])) return e;
- a = i[t], x.helper.isUndefined(l[t]) || (o = l[t]), x.helper.isUndefined(c[t]) || (n = c[t].width, s = c[t].height)
- }
- r = r.replace(/"/g, """).replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback);
- e = '<img src="' + (a = a.replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) + '" alt="' + r + '"';
- return o && x.helper.isString(o) && (e += ' title="' + (o = o.replace(/"/g, """).replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) + '"'), n && s && (e = e + (' width="' + (n = "*" === n ? "auto" : n)) + '" height="' + (s = "*" === s ? "auto" : s) + '"'), e += " />"
- }
- return e = (e = (e = (e = (e = (e = d.converter._dispatch("images.before", e, r, d)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g, l)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g, function(e, r, t, a, n, s, o, i) {
- return l(e, r, t, a = a.replace(/\s/g, ""), n, s, 0, i)
- })).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g, l)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g, l)).replace(/!\[([^\[\]]+)]()()()()()/g, l), e = d.converter._dispatch("images.after", e, r, d)
- }), x.subParser("italicsAndBold", function(e, r, t) {
- "use strict";
- return e = t.converter._dispatch("italicsAndBold.before", e, r, t), e = r.literalMidWordUnderscores ? (e = (e = e.replace(/\b___(\S[\s\S]*?)___\b/g, function(e, r) {
- return "<strong><em>" + r + "</em></strong>"
- })).replace(/\b__(\S[\s\S]*?)__\b/g, function(e, r) {
- return "<strong>" + r + "</strong>"
- })).replace(/\b_(\S[\s\S]*?)_\b/g, function(e, r) {
- return "<em>" + r + "</em>"
- }) : (e = (e = e.replace(/___(\S[\s\S]*?)___/g, function(e, r) {
- return /\S$/.test(r) ? "<strong><em>" + r + "</em></strong>" : e
- })).replace(/__(\S[\s\S]*?)__/g, function(e, r) {
- return /\S$/.test(r) ? "<strong>" + r + "</strong>" : e
- })).replace(/_([^\s_][\s\S]*?)_/g, function(e, r) {
- return /\S$/.test(r) ? "<em>" + r + "</em>" : e
- }), e = r.literalMidWordAsterisks ? (e = (e = e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g, function(e, r, t) {
- return r + "<strong><em>" + t + "</em></strong>"
- })).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g, function(e, r, t) {
- return r + "<strong>" + t + "</strong>"
- })).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g, function(e, r, t) {
- return r + "<em>" + t + "</em>"
- }) : (e = (e = e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function(e, r) {
- return /\S$/.test(r) ? "<strong><em>" + r + "</em></strong>" : e
- })).replace(/\*\*(\S[\s\S]*?)\*\*/g, function(e, r) {
- return /\S$/.test(r) ? "<strong>" + r + "</strong>" : e
- })).replace(/\*([^\s*][\s\S]*?)\*/g, function(e, r) {
- return /\S$/.test(r) ? "<em>" + r + "</em>" : e
- }), e = t.converter._dispatch("italicsAndBold.after", e, r, t)
- }), x.subParser("lists", function(e, d, c) {
- "use strict";
- function p(e, r) {
- c.gListLevel++, e = e.replace(/\n{2,}$/, "\n");
- var t = /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,
- l = /\n[ \t]*\n(?!¨0)/.test(e += "¨0");
- return d.disableForced4SpacesIndentedSublists && (t = /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm), e = (e = e.replace(t, function(e, r, t, a, n, s, o) {
- o = o && "" !== o.trim();
- var n = x.subParser("outdent")(n, d, c),
- i = "";
- return s && d.tasklists && (i = ' class="task-list-item" style="list-style-type: none;"', n = n.replace(/^[ \t]*\[(x|X| )?]/m, function() {
- var e = '<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"';
- return o && (e += " checked"), e += ">"
- })), n = n.replace(/^([-*+]|\d\.)[ \t]+[\S\n ]*/g, function(e) {
- return "¨A" + e
- }), n = "<li" + i + ">" + (n = (n = r || -1 < n.search(/\n{2,}/) ? (n = x.subParser("githubCodeBlocks")(n, d, c), x.subParser("blockGamut")(n, d, c)) : (n = (n = x.subParser("lists")(n, d, c)).replace(/\n$/, ""), n = (n = x.subParser("hashHTMLBlocks")(n, d, c)).replace(/\n\n+/g, "\n\n"), (l ? x.subParser("paragraphs") : x.subParser("spanGamut"))(n, d, c))).replace("¨A", "")) + "</li>\n"
- })).replace(/¨0/g, ""), c.gListLevel--, e = r ? e.replace(/\s+$/, "") : e
- }
- function h(e, r) {
- if ("ol" === r) {
- r = e.match(/^ *(\d+)\./);
- if (r && "1" !== r[1]) return ' start="' + r[1] + '"'
- }
- return ""
- }
- function n(n, s, o) {
- var e, i = d.disableForced4SpacesIndentedSublists ? /^ ?\d+\.[ \t]/gm : /^ {0,3}\d+\.[ \t]/gm,
- l = d.disableForced4SpacesIndentedSublists ? /^ ?[*+-][ \t]/gm : /^ {0,3}[*+-][ \t]/gm,
- c = "ul" === s ? i : l,
- u = "";
- return -1 !== n.search(c) ? function e(r) {
- var t = r.search(c),
- a = h(n, s); - 1 !== t ? (u += "\n\n<" + s + a + ">\n" + p(r.slice(0, t), !!o) + "</" + s + ">\n", c = "ul" === (s = "ul" === s ? "ol" : "ul") ? i : l, e(r.slice(t))) : u += "\n\n<" + s + a + ">\n" + p(r, !!o) + "</" + s + ">\n"
- }(n) : (e = h(n, s), u = "\n\n<" + s + e + ">\n" + p(n, !!o) + "</" + s + ">\n"), u
- }
- return e = c.converter._dispatch("lists.before", e, d, c), e += "¨0", e = (e = c.gListLevel ? e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm, function(e, r, t) {
- return n(r, -1 < t.search(/[*+-]/g) ? "ul" : "ol", !0)
- }) : e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm, function(e, r, t, a) {
- return n(t, -1 < a.search(/[*+-]/g) ? "ul" : "ol", !1)
- })).replace(/¨0/, ""), e = c.converter._dispatch("lists.after", e, d, c)
- }), x.subParser("metadata", function(e, r, a) {
- "use strict";
- return r.metadata ? (e = (e = (e = (e = a.converter._dispatch("metadata.before", e, r, a)).replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/, function(e, r, t) {
- return n(t), "¨M"
- })).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/, function(e, r, t) {
- return r && (a.metadata.format = r), n(t), "¨M"
- })).replace(/¨M/g, ""), a.converter._dispatch("metadata.after", e, r, a)) : e;
- function n(e) {
- (e = (e = (a.metadata.raw = e).replace(/&/g, "&").replace(/"/g, """)).replace(/\n {4}/g, " ")).replace(/^([\S ]+): +([\s\S]+?)$/gm, function(e, r, t) {
- return a.metadata.parsed[r] = t, ""
- })
- }
- }), x.subParser("outdent", function(e, r, t) {
- "use strict";
- return e = (e = (e = t.converter._dispatch("outdent.before", e, r, t)).replace(/^(\t|[ ]{1,4})/gm, "¨0")).replace(/¨0/g, ""), e = t.converter._dispatch("outdent.after", e, r, t)
- }), x.subParser("paragraphs", function(e, r, t) {
- "use strict";
- for (var u = (e = (e = (e = t.converter._dispatch("paragraphs.before", e, r, t)).replace(/^\n+/g, "")).replace(/\n+$/g, "")).split(/\n{2,}/g), a = [], n = u.length, s = 0; s < n; s++) {
- var o = u[s];
- 0 <= o.search(/¨(K|G)(\d+)\1/g) ? a.push(o) : 0 <= o.search(/\S/) && (o = (o = x.subParser("spanGamut")(o, r, t)).replace(/^([ \t]*)/g, "<p>"), o += "</p>", a.push(o))
- }
- for (n = a.length, s = 0; s < n; s++) {
- for (var i = "", l = a[s], d = !1;
- /¨(K|G)(\d+)\1/.test(l);) {
- var p = RegExp.$1,
- c = RegExp.$2;
- i = (i = "K" === p ? t.gHtmlBlocks[c] : d ? x.subParser("encodeCode")(t.ghCodeBlocks[c].text, r, t) : t.ghCodeBlocks[c].codeblock).replace(/\$/g, "$$$$"), l = l.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/, i), /^<pre\b[^>]*>\s*<code\b[^>]*>/.test(l) && (d = !0)
- }
- a[s] = l
- }
- return e = (e = (e = a.join("\n")).replace(/^\n+/g, "")).replace(/\n+$/g, ""), t.converter._dispatch("paragraphs.after", e, r, t)
- }), x.subParser("runExtension", function(e, r, t, a) {
- "use strict";
- return e.filter ? r = e.filter(r, a.converter, t) : e.regex && ((a = e.regex) instanceof RegExp || (a = new RegExp(a, "g")), r = r.replace(a, e.replace)), r
- }), x.subParser("spanGamut", function(e, r, t) {
- "use strict";
- return e = t.converter._dispatch("spanGamut.before", e, r, t), e = x.subParser("codeSpans")(e, r, t), e = x.subParser("escapeSpecialCharsWithinTagAttributes")(e, r, t), e = x.subParser("encodeBackslashEscapes")(e, r, t), e = x.subParser("images")(e, r, t), e = x.subParser("anchors")(e, r, t), e = x.subParser("autoLinks")(e, r, t), e = x.subParser("simplifiedAutoLinks")(e, r, t), e = x.subParser("emoji")(e, r, t), e = x.subParser("underline")(e, r, t), e = x.subParser("italicsAndBold")(e, r, t), e = x.subParser("strikethrough")(e, r, t), e = x.subParser("ellipsis")(e, r, t), e = x.subParser("hashHTMLSpans")(e, r, t), e = x.subParser("encodeAmpsAndAngles")(e, r, t), r.simpleLineBreaks ? /\n\n¨K/.test(e) || (e = e.replace(/\n+/g, "<br />\n")) : e = e.replace(/ +\n/g, "<br />\n"), e = t.converter._dispatch("spanGamut.after", e, r, t)
- }), x.subParser("strikethrough", function(e, t, a) {
- "use strict";
- return t.strikethrough && (e = (e = a.converter._dispatch("strikethrough.before", e, t, a)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g, function(e, r) {
- return r = r, "<del>" + (r = t.simplifiedAutoLink ? x.subParser("simplifiedAutoLinks")(r, t, a) : r) + "</del>"
- }), e = a.converter._dispatch("strikethrough.after", e, t, a)), e
- }), x.subParser("stripLinkDefinitions", function(i, l, c) {
- "use strict";
- function e(e, r, t, a, n, s, o) {
- return r = r.toLowerCase(), i.toLowerCase().split(r).length - 1 < 2 ? e : (t.match(/^data:.+?\/.+?;base64,/) ? c.gUrls[r] = t.replace(/\s/g, "") : c.gUrls[r] = x.subParser("encodeAmpsAndAngles")(t, l, c), s ? s + o : (o && (c.gTitles[r] = o.replace(/"|'/g, """)), l.parseImgDimensions && a && n && (c.gDimensions[r] = {
- width: a,
- height: n
- }), ""))
- }
- return i = (i = (i = (i += "¨0").replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm, e)).replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm, e)).replace(/¨0/, "")
- }), x.subParser("tables", function(e, y, P) {
- "use strict";
- if (!y.tables) return e;
- function r(u) {
- for (var e = u.split("\n"), r = 0; r < e.length; ++r) /^ {0,3}\|/.test(e[r]) && (e[r] = e[r].replace(/^ {0,3}\|/, "")), /\|[ \t]*$/.test(e[r]) && (e[r] = e[r].replace(/\|[ \t]*$/, "")), e[r] = x.subParser("codeSpans")(e[r], y, P);
- var t, a, d, n, p, h = e[0].split("|").map(function(e) {
- return e.trim()
- }),
- _ = e[1].split("|").map(function(e) {
- return e.trim()
- }),
- s = [],
- g = [],
- o = [],
- m = [];
- for (e.shift(), e.shift(), r = 0; r < e.length; ++r) "" !== e[r].trim() && s.push(e[r].split("|").map(function(e) {
- return e.trim()
- }));
- if (h.length < _.length) return u;
- for (r = 0; r < _.length; ++r) o.push((t = _[r], /^:[ \t]*--*$/.test(t) ? ' style="text-align:left;"' : /^--*[ \t]*:[ \t]*$/.test(t) ? ' style="text-align:right;"' : /^:[ \t]*--*[ \t]*:$/.test(t) ? ' style="text-align:center;"' : ""));
- for (r = 0; r < h.length; ++r) x.helper.isUndefined(o[r]) && (o[r] = ""), g.push((a = h[r], d = o[r], void 0, n = "", a = a.trim(), "<th" + (n = y.tablesHeaderId || y.tableHeaderId ? ' id="' + a.replace(/ /g, "_").toLowerCase() + '"' : n) + d + ">" + (a = x.subParser("spanGamut")(a, y, P)) + "</th>\n"));
- for (r = 0; r < s.length; ++r) {
- for (var f = [], i = 0; i < g.length; ++i) x.helper.isUndefined(s[r][i]), f.push((p = s[r][i], "<td" + o[i] + ">" + x.subParser("spanGamut")(p, y, P) + "</td>\n"));
- m.push(f)
- }
- for (var b = g, w = m, l = "<table>\n<thead>\n<tr>\n", k = b.length, c = 0; c < k; ++c) l += b[c];
- for (l += "</tr>\n</thead>\n<tbody>\n", c = 0; c < w.length; ++c) {
- l += "<tr>\n";
- for (var v = 0; v < k; ++v) l += w[c][v];
- l += "</tr>\n"
- }
- return l += "</tbody>\n</table>\n"
- }
- return e = (e = (e = (e = P.converter._dispatch("tables.before", e, y, P)).replace(/\\(\|)/g, x.helper.escapeCharactersCallback)).replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm, r)).replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm, r), e = P.converter._dispatch("tables.after", e, y, P)
- }), x.subParser("underline", function(e, r, t) {
- "use strict";
- return r.underline ? (e = t.converter._dispatch("underline.before", e, r, t), e = (e = r.literalMidWordUnderscores ? (e = e.replace(/\b___(\S[\s\S]*?)___\b/g, function(e, r) {
- return "<u>" + r + "</u>"
- })).replace(/\b__(\S[\s\S]*?)__\b/g, function(e, r) {
- return "<u>" + r + "</u>"
- }) : (e = e.replace(/___(\S[\s\S]*?)___/g, function(e, r) {
- return /\S$/.test(r) ? "<u>" + r + "</u>" : e
- })).replace(/__(\S[\s\S]*?)__/g, function(e, r) {
- return /\S$/.test(r) ? "<u>" + r + "</u>" : e
- })).replace(/(_)/g, x.helper.escapeCharactersCallback), t.converter._dispatch("underline.after", e, r, t)) : e
- }), x.subParser("unescapeSpecialChars", function(e, r, t) {
- "use strict";
- return e = (e = t.converter._dispatch("unescapeSpecialChars.before", e, r, t)).replace(/¨E(\d+)E/g, function(e, r) {
- r = parseInt(r);
- return String.fromCharCode(r)
- }), e = t.converter._dispatch("unescapeSpecialChars.after", e, r, t)
- }), x.subParser("makeMarkdown.blockquote", function(e, r) {
- "use strict";
- var t = "";
- if (e.hasChildNodes())
- for (var a = e.childNodes, n = a.length, s = 0; s < n; ++s) {
- var o = x.subParser("makeMarkdown.node")(a[s], r);
- "" !== o && (t += o)
- }
- return t = "> " + (t = t.trim()).split("\n").join("\n> ")
- }), x.subParser("makeMarkdown.codeBlock", function(e, r) {
- "use strict";
- var t = e.getAttribute("language"),
- e = e.getAttribute("precodenum");
- return "```" + t + "\n" + r.preList[e] + "\n```"
- }), x.subParser("makeMarkdown.codeSpan", function(e) {
- "use strict";
- return "`" + e.innerHTML + "`"
- }), x.subParser("makeMarkdown.emphasis", function(e, r) {
- "use strict";
- var t = "";
- if (e.hasChildNodes()) {
- t += "*";
- for (var a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r);
- t += "*"
- }
- return t
- }), x.subParser("makeMarkdown.header", function(e, r, t) {
- "use strict";
- var t = new Array(t + 1).join("#"),
- a = "";
- if (e.hasChildNodes())
- for (var a = t + " ", n = e.childNodes, s = n.length, o = 0; o < s; ++o) a += x.subParser("makeMarkdown.node")(n[o], r);
- return a
- }), x.subParser("makeMarkdown.hr", function() {
- "use strict";
- return "---"
- }), x.subParser("makeMarkdown.image", function(e) {
- "use strict";
- var r = "";
- return e.hasAttribute("src") && (r = (r += " + "<" + e.getAttribute("src") + ">", e.hasAttribute("width") && e.hasAttribute("height") && (r += " =" + e.getAttribute("width") + "x" + e.getAttribute("height")), e.hasAttribute("title") && (r += ' "' + e.getAttribute("title") + '"'), r += ")"), r
- }), x.subParser("makeMarkdown.links", function(e, r) {
- "use strict";
- var t = "";
- if (e.hasChildNodes() && e.hasAttribute("href")) {
- for (var a = e.childNodes, n = a.length, t = "[", s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r);
- t = (t += "](") + ("<" + e.getAttribute("href") + ">"), e.hasAttribute("title") && (t += ' "' + e.getAttribute("title") + '"'), t += ")"
- }
- return t
- }), x.subParser("makeMarkdown.list", function(e, r, t) {
- "use strict";
- var a = "";
- if (!e.hasChildNodes()) return "";
- for (var n = e.childNodes, s = n.length, o = e.getAttribute("start") || 1, i = 0; i < s; ++i) void 0 !== n[i].tagName && "li" === n[i].tagName.toLowerCase() && (a += ("ol" === t ? o.toString() + ". " : "- ") + x.subParser("makeMarkdown.listItem")(n[i], r), ++o);
- return (a += "\n\x3c!-- --\x3e\n").trim()
- }), x.subParser("makeMarkdown.listItem", function(e, r) {
- "use strict";
- for (var t = "", a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r);
- return /\n$/.test(t) ? t = t.split("\n").join("\n ").replace(/^ {4}$/gm, "").replace(/\n\n+/g, "\n\n") : t += "\n", t
- }), x.subParser("makeMarkdown.node", function(e, r, t) {
- "use strict";
- t = t || !1;
- var a = "";
- if (3 === e.nodeType) return x.subParser("makeMarkdown.txt")(e, r);
- if (8 === e.nodeType) return "\x3c!--" + e.data + "--\x3e\n\n";
- if (1 !== e.nodeType) return "";
- switch (e.tagName.toLowerCase()) {
- case "h1":
- t || (a = x.subParser("makeMarkdown.header")(e, r, 1) + "\n\n");
- break;
- case "h2":
- t || (a = x.subParser("makeMarkdown.header")(e, r, 2) + "\n\n");
- break;
- case "h3":
- t || (a = x.subParser("makeMarkdown.header")(e, r, 3) + "\n\n");
- break;
- case "h4":
- t || (a = x.subParser("makeMarkdown.header")(e, r, 4) + "\n\n");
- break;
- case "h5":
- t || (a = x.subParser("makeMarkdown.header")(e, r, 5) + "\n\n");
- break;
- case "h6":
- t || (a = x.subParser("makeMarkdown.header")(e, r, 6) + "\n\n");
- break;
- case "p":
- t || (a = x.subParser("makeMarkdown.paragraph")(e, r) + "\n\n");
- break;
- case "blockquote":
- t || (a = x.subParser("makeMarkdown.blockquote")(e, r) + "\n\n");
- break;
- case "hr":
- t || (a = x.subParser("makeMarkdown.hr")(e, r) + "\n\n");
- break;
- case "ol":
- t || (a = x.subParser("makeMarkdown.list")(e, r, "ol") + "\n\n");
- break;
- case "ul":
- t || (a = x.subParser("makeMarkdown.list")(e, r, "ul") + "\n\n");
- break;
- case "precode":
- t || (a = x.subParser("makeMarkdown.codeBlock")(e, r) + "\n\n");
- break;
- case "pre":
- t || (a = x.subParser("makeMarkdown.pre")(e, r) + "\n\n");
- break;
- case "table":
- t || (a = x.subParser("makeMarkdown.table")(e, r) + "\n\n");
- break;
- case "code":
- a = x.subParser("makeMarkdown.codeSpan")(e, r);
- break;
- case "em":
- case "i":
- a = x.subParser("makeMarkdown.emphasis")(e, r);
- break;
- case "strong":
- case "b":
- a = x.subParser("makeMarkdown.strong")(e, r);
- break;
- case "del":
- a = x.subParser("makeMarkdown.strikethrough")(e, r);
- break;
- case "a":
- a = x.subParser("makeMarkdown.links")(e, r);
- break;
- case "img":
- a = x.subParser("makeMarkdown.image")(e, r);
- break;
- default:
- a = e.outerHTML + "\n\n"
- }
- return a
- }), x.subParser("makeMarkdown.paragraph", function(e, r) {
- "use strict";
- var t = "";
- if (e.hasChildNodes())
- for (var a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r);
- return t = t.trim()
- }), x.subParser("makeMarkdown.pre", function(e, r) {
- "use strict";
- e = e.getAttribute("prenum");
- return "<pre>" + r.preList[e] + "</pre>"
- }), x.subParser("makeMarkdown.strikethrough", function(e, r) {
- "use strict";
- var t = "";
- if (e.hasChildNodes()) {
- t += "~~";
- for (var a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r);
- t += "~~"
- }
- return t
- }), x.subParser("makeMarkdown.strong", function(e, r) {
- "use strict";
- var t = "";
- if (e.hasChildNodes()) {
- t += "**";
- for (var a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r);
- t += "**"
- }
- return t
- }), x.subParser("makeMarkdown.table", function(e, r) {
- "use strict";
- for (var t = "", a = [
- [],
- []
- ], n = e.querySelectorAll("thead>tr>th"), s = e.querySelectorAll("tbody>tr"), o = 0; o < n.length; ++o) {
- var u = x.subParser("makeMarkdown.tableCell")(n[o], r),
- i = "---";
- if (n[o].hasAttribute("style")) switch (n[o].getAttribute("style").toLowerCase().replace(/\s/g, "")) {
- case "text-align:left;":
- i = ":---";
- break;
- case "text-align:right;":
- i = "---:";
- break;
- case "text-align:center;":
- i = ":---:"
- }
- a[0][o] = u.trim(), a[1][o] = i
- }
- for (o = 0; o < s.length; ++o)
- for (var d = a.push([]) - 1, p = s[o].getElementsByTagName("td"), l = 0; l < n.length; ++l) {
- var h = " ";
- void 0 !== p[l] && (h = x.subParser("makeMarkdown.tableCell")(p[l], r)), a[d].push(h)
- }
- var c = 3;
- for (o = 0; o < a.length; ++o)
- for (l = 0; l < a[o].length; ++l) {
- var _ = a[o][l].length;
- c < _ && (c = _)
- }
- for (o = 0; o < a.length; ++o) {
- for (l = 0; l < a[o].length; ++l) 1 === o ? ":" === a[o][l].slice(-1) ? a[o][l] = x.helper.padEnd(a[o][l].slice(-1), c - 1, "-") + ":" : a[o][l] = x.helper.padEnd(a[o][l], c, "-") : a[o][l] = x.helper.padEnd(a[o][l], c);
- t += "| " + a[o].join(" | ") + " |\n"
- }
- return t.trim()
- }), x.subParser("makeMarkdown.tableCell", function(e, r) {
- "use strict";
- var t = "";
- if (!e.hasChildNodes()) return "";
- for (var a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser("makeMarkdown.node")(a[s], r, !0);
- return t.trim()
- }), x.subParser("makeMarkdown.txt", function(e) {
- "use strict";
- e = e.nodeValue;
- return e = (e = e.replace(/ +/g, " ")).replace(/¨NBSP;/g, " "), e = (e = (e = (e = (e = (e = (e = (e = (e = x.helper.unescapeHTMLEntities(e)).replace(/([*_~|`])/g, "\\$1")).replace(/^(\s*)>/g, "\\$1>")).replace(/^#/gm, "\\#")).replace(/^(\s*)([-=]{3,})(\s*)$/, "$1\\$2$3")).replace(/^( {0,3}\d+)\./gm, "$1\\.")).replace(/^( {0,3})([+-])/gm, "$1\\$2")).replace(/]([\s]*)\(/g, "\\]$1\\(")).replace(/^ {0,3}\[([\S \t]*?)]:/gm, "\\[$1]:")
- });
- "function" == typeof define && define.amd ? define(function() {
- "use strict";
- return x
- }) : "undefined" != typeof module && module.exports ? module.exports = x : this.showdown = x
- }.call(this);
- //# sourceMappingURL=showdown.min.js.map
|