diff --git a/dist/commonmark.js b/dist/commonmark.js
index d952b64c..ec35047d 100644
--- a/dist/commonmark.js
+++ b/dist/commonmark.js
@@ -3,22 +3,38 @@
var Node = require('./node');
var unescapeString = require('./common').unescapeString;
+var OPENTAG = require('./common').OPENTAG;
+var CLOSETAG = require('./common').CLOSETAG;
var CODE_INDENT = 4;
var C_NEWLINE = 10;
var C_GREATERTHAN = 62;
+var C_LESSTHAN = 60;
var C_SPACE = 32;
var C_OPEN_BRACKET = 91;
var InlineParser = require('./inlines');
-var BLOCKTAGNAME = '(?:article|header|aside|hgroup|iframe|blockquote|hr|body|li|map|button|object|canvas|ol|caption|output|col|p|colgroup|pre|dd|progress|div|section|dl|table|td|dt|tbody|embed|textarea|fieldset|tfoot|figcaption|th|figure|thead|footer|footer|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)';
-
-var HTMLBLOCKOPEN = "<(?:" + BLOCKTAGNAME + "(?:[\\s/>]|$)" + "|" +
- "/" + BLOCKTAGNAME + "(?:[\\s>]|$)" + "|" + "[?!])";
+var reHtmlBlockOpen = [
+ /./, // dummy for 0
+ /^<(?:script|pre|style)(?:\s|>|$)/i,
+ /^/,
+ /\?>/,
+ />/,
+ /\]\]>/
+];
var reHrule = /^(?:(?:\* *){3,}|(?:_ *){3,}|(?:- *){3,}) *$/;
@@ -28,7 +44,7 @@ var reNonSpace = /[^ \t\f\v\r\n]/;
var reBulletListMarker = /^[*+-]( +|$)/;
-var reOrderedListMarker = /^(\d+)([.)])( +|$)/;
+var reOrderedListMarker = /^(\d{1,9})([.)])( +|$)/;
var reATXHeaderMarker = /^#{1,6}(?: +|$)/;
@@ -45,25 +61,6 @@ var isBlank = function(s) {
return !(reNonSpace.test(s));
};
-var tabSpaces = [' ', ' ', ' ', ' '];
-
-// Convert tabs to spaces on each line using a 4-space tab stop.
-var detabLine = function(text) {
- var start = 0;
- var offset;
- var lastStop = 0;
-
- while ((offset = text.indexOf('\t', start)) !== -1) {
- var numspaces = (offset - lastStop) % 4;
- var spaces = tabSpaces[numspaces];
- text = text.slice(0, offset) + spaces + text.slice(offset + 1);
- lastStop = offset + numspaces;
- start = lastStop;
- }
-
- return text;
-};
-
var peek = function(ln, pos) {
if (pos < ln.length) {
return ln.charCodeAt(pos);
@@ -242,7 +239,8 @@ var blocks = {
var ln = parser.currentLine;
if (!parser.indented &&
peek(ln, parser.nextNonspace) === C_GREATERTHAN) {
- parser.offset = parser.nextNonspace + 1;
+ parser.advanceNextNonspace();
+ parser.advanceOffset(1, false);
if (peek(ln, parser.offset) === C_SPACE) {
parser.offset++;
}
@@ -258,12 +256,12 @@ var blocks = {
Item: {
continue: function(parser, container) {
if (parser.blank) {
- parser.offset = parser.nextNonspace;
+ parser.advanceNextNonspace();
} else if (parser.indent >=
container._listData.markerOffset +
container._listData.padding) {
- parser.offset += container._listData.markerOffset +
- container._listData.padding;
+ parser.advanceOffset(container._listData.markerOffset +
+ container._listData.padding, true);
} else {
return 1;
}
@@ -307,15 +305,15 @@ var blocks = {
// skip optional spaces of fence offset
var i = container._fenceOffset;
while (i > 0 && peek(ln, parser.offset) === C_SPACE) {
- parser.offset++;
+ parser.advanceOffset(1, false);
i--;
}
}
} else { // indented
if (indent >= CODE_INDENT) {
- parser.offset += CODE_INDENT;
+ parser.advanceOffset(CODE_INDENT, true);
} else if (parser.blank) {
- parser.offset = parser.nextNonspace;
+ parser.advanceNextNonspace();
} else {
return 1;
}
@@ -340,8 +338,10 @@ var blocks = {
acceptsLines: true
},
HtmlBlock: {
- continue: function(parser) {
- return (parser.blank ? 1 : 0);
+ continue: function(parser, container) {
+ return ((parser.blank &&
+ (container._htmlBlockType === 6 ||
+ container._htmlBlockType === 7)) ? 1 : 0);
},
finalize: function(parser, block) {
block._literal = block._string_content.replace(/(\n *)+$/, '');
@@ -384,10 +384,11 @@ var blockStarts = [
function(parser) {
if (!parser.indented &&
peek(parser.currentLine, parser.nextNonspace) === C_GREATERTHAN) {
- parser.offset = parser.nextNonspace + 1;
+ parser.advanceNextNonspace();
+ parser.advanceOffset(1, false);
// optional following space
if (peek(parser.currentLine, parser.offset) === C_SPACE) {
- parser.offset++;
+ parser.advanceOffset(1, false);
}
parser.closeUnmatchedBlocks();
parser.addChild('BlockQuote', parser.nextNonspace);
@@ -402,14 +403,15 @@ var blockStarts = [
var match;
if (!parser.indented &&
(match = parser.currentLine.slice(parser.nextNonspace).match(reATXHeaderMarker))) {
- parser.offset = parser.nextNonspace + match[0].length;
+ parser.advanceNextNonspace();
+ parser.advanceOffset(match[0].length, false);
parser.closeUnmatchedBlocks();
var container = parser.addChild('Header', parser.nextNonspace);
container.level = match[0].trim().length; // number of #s
// remove trailing ###s:
container._string_content =
parser.currentLine.slice(parser.offset).replace(/^ *#+ *$/, '').replace(/ +#+ *$/, '');
- parser.offset = parser.currentLine.length;
+ parser.advanceOffset(parser.currentLine.length - parser.offset);
return 2;
} else {
return 0;
@@ -428,7 +430,8 @@ var blockStarts = [
container._fenceLength = fenceLength;
container._fenceChar = match[0][0];
container._fenceOffset = parser.indent;
- parser.offset = parser.nextNonspace + fenceLength;
+ parser.advanceNextNonspace();
+ parser.advanceOffset(fenceLength, false);
return 2;
} else {
return 0;
@@ -436,16 +439,29 @@ var blockStarts = [
},
// HTML block
- function(parser) {
+ function(parser, container) {
if (!parser.indented &&
- reHtmlBlockOpen.test(parser.currentLine.slice(parser.nextNonspace))) {
- parser.closeUnmatchedBlocks();
- parser.addChild('HtmlBlock', parser.offset);
- // don't adjust parser.offset; spaces are part of block
- return 2;
- } else {
- return 0;
+ peek(parser.currentLine, parser.nextNonspace) === C_LESSTHAN) {
+ var s = parser.currentLine.slice(parser.nextNonspace);
+ var blockType;
+
+ for (blockType = 1; blockType <= 7; blockType++) {
+ if (reHtmlBlockOpen[blockType].test(s) &&
+ (blockType < 7 ||
+ container.type !== 'Paragraph')) {
+ parser.closeUnmatchedBlocks();
+ // We don't adjust parser.offset;
+ // spaces are part of the HTML block:
+ var b = parser.addChild('HtmlBlock',
+ parser.offset);
+ b._htmlBlockType = blockType;
+ return 2;
+ }
+ }
}
+
+ return 0;
+
},
// Setext header
@@ -463,7 +479,7 @@ var blockStarts = [
container.insertAfter(header);
container.unlink();
parser.tip = header;
- parser.offset = parser.currentLine.length;
+ parser.advanceOffset(parser.currentLine.length - parser.offset, false);
return 2;
} else {
return 0;
@@ -476,7 +492,7 @@ var blockStarts = [
reHrule.test(parser.currentLine.slice(parser.nextNonspace))) {
parser.closeUnmatchedBlocks();
parser.addChild('HorizontalRule', parser.nextNonspace);
- parser.offset = parser.currentLine.length;
+ parser.advanceOffset(parser.currentLine.length - parser.offset, false);
return 2;
} else {
return 0;
@@ -486,13 +502,18 @@ var blockStarts = [
// list item
function(parser, container) {
var data;
+ var i;
if ((data = parseListMarker(parser.currentLine,
parser.nextNonspace, parser.indent))) {
parser.closeUnmatchedBlocks();
if (parser.indented && parser.tip.type !== 'List') {
return 0;
}
- parser.offset = parser.nextNonspace + data.padding;
+ parser.advanceNextNonspace();
+ // recalculate data.padding, taking into account tabs:
+ i = parser.column;
+ parser.advanceOffset(data.padding, false);
+ data.padding = parser.column - i;
// add the list if needed
if (parser.tip.type !== 'List' ||
@@ -516,7 +537,7 @@ var blockStarts = [
parser.tip.type !== 'Paragraph' &&
!parser.blank) {
// indented code
- parser.offset += CODE_INDENT;
+ parser.advanceOffset(CODE_INDENT, true);
parser.closeUnmatchedBlocks();
parser.addChild('CodeBlock', parser.offset);
return 2;
@@ -527,17 +548,48 @@ var blockStarts = [
];
+var advanceOffset = function(count, columns) {
+ var i = 0;
+ var cols = 0;
+ var currentLine = this.currentLine;
+ while (columns ? (cols < count) : (i < count)) {
+ if (currentLine[this.offset + i] === '\t') {
+ cols += (4 - (this.column % 4));
+ } else {
+ cols += 1;
+ }
+ i++;
+ }
+ this.offset += i;
+ this.column += cols;
+};
+
+var advanceNextNonspace = function() {
+ this.offset = this.nextNonspace;
+ this.column = this.nextNonspaceColumn;
+};
+
var findNextNonspace = function() {
var currentLine = this.currentLine;
- var match = currentLine.slice(this.offset).match(reNonSpace);
- if (match === null) {
- this.nextNonspace = currentLine.length;
- this.blank = true;
- } else {
- this.nextNonspace = this.offset + match.index;
- this.blank = false;
+ var i = this.offset;
+ var cols = this.column;
+ var c;
+
+ while ((c = currentLine.charAt(i)) !== '') {
+ if (c === ' ') {
+ i++;
+ cols++;
+ } else if (c === '\t') {
+ i++;
+ cols += (4 - (cols % 4));
+ } else {
+ break;
+ }
}
- this.indent = this.nextNonspace - this.offset;
+ this.blank = (c === '\n' || c === '\r' || c === '');
+ this.nextNonspace = i;
+ this.nextNonspaceColumn = cols;
+ this.indent = this.nextNonspaceColumn - this.column;
this.indented = this.indent >= CODE_INDENT;
};
@@ -558,8 +610,6 @@ var incorporateLine = function(ln) {
ln = ln.replace(/\0/g, '\uFFFD');
}
- // Convert tabs to spaces:
- ln = detabLine(ln);
this.currentLine = ln;
// For each containing block, try to parse the associated line start.
@@ -610,7 +660,7 @@ var incorporateLine = function(ln) {
// this is a little performance optimization:
if (!this.indented &&
!reMaybeSpecial.test(ln.slice(this.nextNonspace))) {
- this.offset = this.nextNonspace;
+ this.advanceNextNonspace();
break;
}
@@ -630,7 +680,7 @@ var incorporateLine = function(ln) {
}
if (i === startsLen) { // nothing matched
- this.offset = this.nextNonspace;
+ this.advanceNextNonspace();
break;
}
}
@@ -674,10 +724,18 @@ var incorporateLine = function(ln) {
if (this.blocks[t].acceptsLines) {
this.addLine();
+ // if HtmlBlock, check for end condition
+ if (t === 'HtmlBlock' &&
+ container._htmlBlockType >= 1 &&
+ container._htmlBlockType <= 5 &&
+ reHtmlBlockClose[container._htmlBlockType].test(this.currentLine.slice(this.offset))) {
+ this.finalize(container, this.lineNumber);
+ }
+
} else if (this.offset < ln.length && !this.blank) {
// create paragraph container for line
container = this.addChild('Paragraph', this.offset);
- this.offset = this.nextNonspace;
+ this.advanceNextNonspace();
this.addLine();
}
}
@@ -705,6 +763,7 @@ var processInlines = function(block) {
var node, event, t;
var walker = block.walker();
this.inlineParser.refmap = this.refmap;
+ this.inlineParser.options = this.options;
while ((event = walker.next())) {
node = event.node;
t = node.type;
@@ -727,6 +786,7 @@ var parse = function(input) {
this.lineNumber = 0;
this.lastLineLength = 0;
this.offset = 0;
+ this.column = 0;
this.lastMatchedContainer = this.doc;
this.currentLine = "";
if (this.options.time) { console.time("preparing input"); }
@@ -763,7 +823,9 @@ function Parser(options){
currentLine: "",
lineNumber: 0,
offset: 0,
+ column: 0,
nextNonspace: 0,
+ nextNonspaceColumn: 0,
indent: 0,
indented: false,
blank: false,
@@ -773,6 +835,8 @@ function Parser(options){
lastLineLength: 0,
inlineParser: new InlineParser(options),
findNextNonspace: findNextNonspace,
+ advanceOffset: advanceOffset,
+ advanceNextNonspace: advanceNextNonspace,
breakOutOfLists: breakOutOfLists,
addLine: addLine,
addChild: addChild,
@@ -787,18 +851,36 @@ function Parser(options){
module.exports = Parser;
-},{"./common":2,"./inlines":9,"./node":10}],2:[function(require,module,exports){
+},{"./common":2,"./inlines":6,"./node":7}],2:[function(require,module,exports){
"use strict";
-var encode = require('./encode');
-var decode = require('./decode');
+var encode = require('mdurl/encode');
+var decode = require('mdurl/decode');
var C_BACKSLASH = 92;
-var entityToChar = require('./html5-entities.js').entityToChar;
+var decodeHTML = require('entities').decodeHTML;
var ENTITY = "&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});";
+var TAGNAME = '[A-Za-z][A-Za-z0-9-]*';
+var ATTRIBUTENAME = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
+var UNQUOTEDVALUE = "[^\"'=<>`\\x00-\\x20]+";
+var SINGLEQUOTEDVALUE = "'[^']*'";
+var DOUBLEQUOTEDVALUE = '"[^"]*"';
+var ATTRIBUTEVALUE = "(?:" + UNQUOTEDVALUE + "|" + SINGLEQUOTEDVALUE + "|" + DOUBLEQUOTEDVALUE + ")";
+var ATTRIBUTEVALUESPEC = "(?:" + "\\s*=" + "\\s*" + ATTRIBUTEVALUE + ")";
+var ATTRIBUTE = "(?:" + "\\s+" + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + "?)";
+var OPENTAG = "<" + TAGNAME + ATTRIBUTE + "*" + "\\s*/?>";
+var CLOSETAG = "" + TAGNAME + "\\s*[>]";
+var HTMLCOMMENT = "|";
+var PROCESSINGINSTRUCTION = "[<][?].*?[?][>]";
+var DECLARATION = "]*>";
+var CDATA = "";
+var HTMLTAG = "(?:" + OPENTAG + "|" + CLOSETAG + "|" + HTMLCOMMENT + "|" +
+ PROCESSINGINSTRUCTION + "|" + DECLARATION + "|" + CDATA + ")";
+var reHtmlTag = new RegExp('^' + HTMLTAG, 'i');
+
var reBackslashOrAmp = /[\\&]/;
var ESCAPABLE = '[!"#$%&\'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]';
@@ -815,7 +897,7 @@ var unescapeChar = function(s) {
if (s.charCodeAt(0) === C_BACKSLASH) {
return s.charAt(1);
} else {
- return entityToChar(s);
+ return decodeHTML(s);
}
};
@@ -867,4094 +949,2265 @@ var escapeXml = function(s, preserve_entities) {
module.exports = { unescapeString: unescapeString,
normalizeURI: normalizeURI,
escapeXml: escapeXml,
+ reHtmlTag: reHtmlTag,
+ OPENTAG: OPENTAG,
+ CLOSETAG: CLOSETAG,
ENTITY: ENTITY,
ESCAPABLE: ESCAPABLE
};
-},{"./decode":3,"./encode":4,"./html5-entities.js":7}],3:[function(require,module,exports){
-// from https://github.com/markdown-it/mdurl
-// Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin, MIT license.
-
-'use strict';
+},{"entities":10,"mdurl/decode":18,"mdurl/encode":19}],3:[function(require,module,exports){
+"use strict";
+// derived from https://github.com/mathiasbynens/String.fromCodePoint
+/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */
+if (String.fromCodePoint) {
+ module.exports = function (_) {
+ try {
+ return String.fromCodePoint(_);
+ } catch (e) {
+ if (e instanceof RangeError) {
+ return String.fromCharCode(0xFFFD);
+ }
+ throw e;
+ }
+ };
-/* eslint-disable no-bitwise */
+} else {
-var decodeCache = {};
+ var stringFromCharCode = String.fromCharCode;
+ var floor = Math.floor;
+ var fromCodePoint = function() {
+ var MAX_SIZE = 0x4000;
+ var codeUnits = [];
+ var highSurrogate;
+ var lowSurrogate;
+ var index = -1;
+ var length = arguments.length;
+ if (!length) {
+ return '';
+ }
+ var result = '';
+ while (++index < length) {
+ var codePoint = Number(arguments[index]);
+ if (
+ !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
+ codePoint < 0 || // not a valid Unicode code point
+ codePoint > 0x10FFFF || // not a valid Unicode code point
+ floor(codePoint) !== codePoint // not an integer
+ ) {
+ return String.fromCharCode(0xFFFD);
+ }
+ if (codePoint <= 0xFFFF) { // BMP code point
+ codeUnits.push(codePoint);
+ } else { // Astral code point; split in surrogate halves
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+ codePoint -= 0x10000;
+ highSurrogate = (codePoint >> 10) + 0xD800;
+ lowSurrogate = (codePoint % 0x400) + 0xDC00;
+ codeUnits.push(highSurrogate, lowSurrogate);
+ }
+ if (index + 1 === length || codeUnits.length > MAX_SIZE) {
+ result += stringFromCharCode.apply(null, codeUnits);
+ codeUnits.length = 0;
+ }
+ }
+ return result;
+ };
+ module.exports = fromCodePoint;
+}
-function getDecodeCache(exclude) {
- var i, ch, cache = decodeCache[exclude];
- if (cache) { return cache; }
+},{}],4:[function(require,module,exports){
+"use strict";
- cache = decodeCache[exclude] = [];
+var escapeXml = require('./common').escapeXml;
- for (i = 0; i < 128; i++) {
- ch = String.fromCharCode(i);
- cache.push(ch);
- }
+// Helper function to produce an HTML tag.
+var tag = function(name, attrs, selfclosing) {
+ var result = '<' + name;
+ if (attrs && attrs.length > 0) {
+ var i = 0;
+ var attrib;
+ while ((attrib = attrs[i]) !== undefined) {
+ result += ' ' + attrib[0] + '="' + attrib[1] + '"';
+ i++;
+ }
+ }
+ if (selfclosing) {
+ result += ' /';
+ }
- for (i = 0; i < exclude.length; i++) {
- ch = exclude.charCodeAt(i);
- cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);
- }
+ result += '>';
+ return result;
+};
- return cache;
-}
+var reHtmlTag = /\<[^>]*\>/;
+var reUnsafeProtocol = /^javascript:|vbscript:|file:|data:/i;
+var reSafeDataProtocol = /^data:image\/(?:png|gif|jpeg|webp)/i;
+var potentiallyUnsafe = function(url) {
+ return reUnsafeProtocol.test(url) &&
+ !reSafeDataProtocol.test(url);
+};
-// Decode percent-encoded string.
-//
-function decode(string, exclude) {
- var cache;
+var renderNodes = function(block) {
- if (typeof exclude !== 'string') {
- exclude = decode.defaultChars;
- }
+ var attrs;
+ var info_words;
+ var tagname;
+ var walker = block.walker();
+ var event, node, entering;
+ var buffer = "";
+ var lastOut = "\n";
+ var disableTags = 0;
+ var grandparent;
+ var out = function(s) {
+ if (disableTags > 0) {
+ buffer += s.replace(reHtmlTag, '');
+ } else {
+ buffer += s;
+ }
+ lastOut = s;
+ };
+ var esc = this.escape;
+ var cr = function() {
+ if (lastOut !== '\n') {
+ buffer += '\n';
+ lastOut = '\n';
+ }
+ };
- cache = getDecodeCache(exclude);
+ var options = this.options;
- return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {
- var i, l, b1, b2, b3, b4, char,
- result = '';
+ if (options.time) { console.time("rendering"); }
- for (i = 0, l = seq.length; i < l; i += 3) {
- b1 = parseInt(seq.slice(i + 1, i + 3), 16);
+ while ((event = walker.next())) {
+ entering = event.entering;
+ node = event.node;
- if (b1 < 0x80) {
- result += cache[b1];
- continue;
- }
+ attrs = [];
+ if (options.sourcepos) {
+ var pos = node.sourcepos;
+ if (pos) {
+ attrs.push(['data-sourcepos', String(pos[0][0]) + ':' +
+ String(pos[0][1]) + '-' + String(pos[1][0]) + ':' +
+ String(pos[1][1])]);
+ }
+ }
- if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {
- // 110xxxxx 10xxxxxx
- b2 = parseInt(seq.slice(i + 4, i + 6), 16);
+ switch (node.type) {
+ case 'Text':
+ out(esc(node.literal, false));
+ break;
- if ((b2 & 0xC0) === 0x80) {
- char = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);
+ case 'Softbreak':
+ out(this.softbreak);
+ break;
- if (char < 0x80) {
- result += '\ufffd\ufffd';
- } else {
- result += String.fromCharCode(char);
- }
+ case 'Hardbreak':
+ out(tag('br', [], true));
+ cr();
+ break;
- i += 3;
- continue;
- }
- }
+ case 'Emph':
+ out(tag(entering ? 'em' : '/em'));
+ break;
- if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {
- // 1110xxxx 10xxxxxx 10xxxxxx
- b2 = parseInt(seq.slice(i + 4, i + 6), 16);
- b3 = parseInt(seq.slice(i + 7, i + 9), 16);
+ case 'Strong':
+ out(tag(entering ? 'strong' : '/strong'));
+ break;
- if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {
- char = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);
+ case 'Html':
+ if (options.safe) {
+ out('');
+ } else {
+ out(node.literal);
+ }
+ break;
- if (char < 0x800 || (char >= 0xD800 && char <= 0xDFFF)) {
- result += '\ufffd\ufffd\ufffd';
- } else {
- result += String.fromCharCode(char);
- }
+ case 'Link':
+ if (entering) {
+ if (!(options.safe && potentiallyUnsafe(node.destination))) {
+ attrs.push(['href', esc(node.destination, true)]);
+ }
+ if (node.title) {
+ attrs.push(['title', esc(node.title, true)]);
+ }
+ out(tag('a', attrs));
+ } else {
+ out(tag('/a'));
+ }
+ break;
- i += 6;
- continue;
- }
- }
+ case 'Image':
+ if (entering) {
+ if (disableTags === 0) {
+ if (options.safe &&
+ potentiallyUnsafe(node.destination)) {
+ out('');
+ }
+ }
+ break;
- if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {
- // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx
- b2 = parseInt(seq.slice(i + 4, i + 6), 16);
- b3 = parseInt(seq.slice(i + 7, i + 9), 16);
- b4 = parseInt(seq.slice(i + 10, i + 12), 16);
+ case 'Code':
+ out(tag('code') + esc(node.literal, false) + tag('/code'));
+ break;
- if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {
- char = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);
+ case 'Document':
+ break;
- if (char < 0x10000 || char > 0x10FFFF) {
- result += '\ufffd\ufffd\ufffd\ufffd';
- } else {
- char -= 0x10000;
- result += String.fromCharCode(0xD800 + (char >> 10), 0xDC00 + (char & 0x3FF));
- }
+ case 'Paragraph':
+ grandparent = node.parent.parent;
+ if (grandparent !== null &&
+ grandparent.type === 'List') {
+ if (grandparent.listTight) {
+ break;
+ }
+ }
+ if (entering) {
+ cr();
+ out(tag('p', attrs));
+ } else {
+ out(tag('/p'));
+ cr();
+ }
+ break;
- i += 9;
- continue;
- }
- }
+ case 'BlockQuote':
+ if (entering) {
+ cr();
+ out(tag('blockquote', attrs));
+ cr();
+ } else {
+ cr();
+ out(tag('/blockquote'));
+ cr();
+ }
+ break;
- result += '\ufffd';
- }
+ case 'Item':
+ if (entering) {
+ out(tag('li', attrs));
+ } else {
+ out(tag('/li'));
+ cr();
+ }
+ break;
- return result;
- });
-}
+ case 'List':
+ tagname = node.listType === 'Bullet' ? 'ul' : 'ol';
+ if (entering) {
+ var start = node.listStart;
+ if (start !== null && start !== 1) {
+ attrs.push(['start', start.toString()]);
+ }
+ cr();
+ out(tag(tagname, attrs));
+ cr();
+ } else {
+ cr();
+ out(tag('/' + tagname));
+ cr();
+ }
+ break;
+ case 'Header':
+ tagname = 'h' + node.level;
+ if (entering) {
+ cr();
+ out(tag(tagname, attrs));
+ } else {
+ out(tag('/' + tagname));
+ cr();
+ }
+ break;
-decode.defaultChars = ';/?:@&=+$,#';
-decode.componentChars = '';
+ case 'CodeBlock':
+ info_words = node.info ? node.info.split(/\s+/) : [];
+ if (info_words.length > 0 && info_words[0].length > 0) {
+ attrs.push(['class', 'language-' + esc(info_words[0], true)]);
+ }
+ cr();
+ out(tag('pre') + tag('code', attrs));
+ out(esc(node.literal, false));
+ out(tag('/code') + tag('/pre'));
+ cr();
+ break;
+ case 'HtmlBlock':
+ cr();
+ if (options.safe) {
+ out('');
+ } else {
+ out(node.literal);
+ }
+ cr();
+ break;
-module.exports = decode;
+ case 'HorizontalRule':
+ cr();
+ out(tag('hr', attrs, true));
+ cr();
+ break;
-},{}],4:[function(require,module,exports){
-// from https://github.com/markdown-it/mdurl
-// Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin, MIT license.
+ default:
+ throw "Unknown node type " + node.type;
+ }
-'use strict';
+ }
+ if (options.time) { console.timeEnd("rendering"); }
+ return buffer;
+};
+
+// The HtmlRenderer object.
+function HtmlRenderer(options){
+ return {
+ // default options:
+ softbreak: '\n', // by default, soft breaks are rendered as newlines in HTML
+ // set to "
" to make them hard breaks
+ // set to " " if you want to ignore line wrapping in source
+ escape: escapeXml,
+ options: options || {},
+ render: renderNodes
+ };
+}
+module.exports = HtmlRenderer;
-var encodeCache = {};
+},{"./common":2}],5:[function(require,module,exports){
+"use strict";
+// commonmark.js - CommomMark in JavaScript
+// Copyright (C) 2014 John MacFarlane
+// License: BSD3.
-// Create a lookup array where anything but characters in `chars` string
-// and alphanumeric chars is percent-encoded.
+// Basic usage:
//
-function getEncodeCache(exclude) {
- var i, ch, cache = encodeCache[exclude];
- if (cache) { return cache; }
-
- cache = encodeCache[exclude] = [];
+// var commonmark = require('commonmark');
+// var parser = new commonmark.Parser();
+// var renderer = new commonmark.HtmlRenderer();
+// console.log(renderer.render(parser.parse('Hello *world*')));
- for (i = 0; i < 128; i++) {
- ch = String.fromCharCode(i);
+module.exports.Node = require('./node');
+module.exports.Parser = require('./blocks');
+module.exports.HtmlRenderer = require('./html');
+module.exports.XmlRenderer = require('./xml');
- if (/^[0-9a-z]$/i.test(ch)) {
- // always allow unencoded alphanumeric characters
- cache.push(ch);
- } else {
- cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));
- }
- }
+},{"./blocks":1,"./html":4,"./node":7,"./xml":9}],6:[function(require,module,exports){
+"use strict";
- for (i = 0; i < exclude.length; i++) {
- cache[exclude.charCodeAt(i)] = exclude[i];
- }
+var Node = require('./node');
+var common = require('./common');
+var normalizeReference = require('./normalize-reference');
- return cache;
-}
+var normalizeURI = common.normalizeURI;
+var unescapeString = common.unescapeString;
+var fromCodePoint = require('./from-code-point.js');
+var decodeHTML = require('entities').decodeHTML;
+require('string.prototype.repeat'); // Polyfill for String.prototype.repeat
+// Constants for character codes:
-// Encode unsafe characters with percent-encoding, skipping already
-// encoded sequences.
-//
-// - string - string to encode
-// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)
-// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)
-//
-function encode(string, exclude, keepEscaped) {
- var i, l, code, nextCode, cache,
- result = '';
+var C_NEWLINE = 10;
+var C_ASTERISK = 42;
+var C_UNDERSCORE = 95;
+var C_BACKTICK = 96;
+var C_OPEN_BRACKET = 91;
+var C_CLOSE_BRACKET = 93;
+var C_LESSTHAN = 60;
+var C_BANG = 33;
+var C_BACKSLASH = 92;
+var C_AMPERSAND = 38;
+var C_OPEN_PAREN = 40;
+var C_CLOSE_PAREN = 41;
+var C_COLON = 58;
+var C_SINGLEQUOTE = 39;
+var C_DOUBLEQUOTE = 34;
- if (typeof exclude !== 'string') {
- // encode(string, keepEscaped)
- keepEscaped = exclude;
- exclude = encode.defaultChars;
- }
+// Some regexps used in inline parser:
- if (typeof keepEscaped === 'undefined') {
- keepEscaped = true;
- }
+var ESCAPABLE = common.ESCAPABLE;
+var ESCAPED_CHAR = '\\\\' + ESCAPABLE;
+var REG_CHAR = '[^\\\\()\\x00-\\x20]';
+var IN_PARENS_NOSP = '\\((' + REG_CHAR + '|' + ESCAPED_CHAR + '|\\\\)*\\)';
- cache = getEncodeCache(exclude);
+var ENTITY = common.ENTITY;
+var reHtmlTag = common.reHtmlTag;
- for (i = 0, l = string.length; i < l; i++) {
- code = string.charCodeAt(i);
+var rePunctuation = new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/);
- if (keepEscaped && code === 0x25 && i + 2 < l) {
- if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {
- result += string.slice(i, i + 3);
- i += 2;
- continue;
- }
- }
-
- if (code < 128) {
- result += cache[code];
- continue;
- }
-
- if (code >= 0xD800 && code <= 0xDFFF) {
- if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {
- nextCode = string.charCodeAt(i + 1);
- if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {
- result += encodeURIComponent(string[i] + string[i + 1]);
- i++;
- continue;
- }
- }
- result += '%EF%BF%BD';
- continue;
- }
+var reLinkTitle = new RegExp(
+ '^(?:"(' + ESCAPED_CHAR + '|[^"\\x00])*"' +
+ '|' +
+ '\'(' + ESCAPED_CHAR + '|[^\'\\x00])*\'' +
+ '|' +
+ '\\((' + ESCAPED_CHAR + '|[^)\\x00])*\\))');
- result += encodeURIComponent(string[i]);
- }
+var reLinkDestinationBraces = new RegExp(
+ '^(?:[<](?:[^<>\\n\\\\\\x00]' + '|' + ESCAPED_CHAR + '|' + '\\\\)*[>])');
- return result;
-}
+var reLinkDestination = new RegExp(
+ '^(?:' + REG_CHAR + '+|' + ESCAPED_CHAR + '|\\\\|' + IN_PARENS_NOSP + ')*');
-encode.defaultChars = ";/?:@&=+$,-_.!~*'()#";
-encode.componentChars = "-_.!~*'()";
+var reEscapable = new RegExp('^' + ESCAPABLE);
+var reEntityHere = new RegExp('^' + ENTITY, 'i');
-module.exports = encode;
+var reTicks = /`+/;
-},{}],5:[function(require,module,exports){
-"use strict";
+var reTicksHere = /^`+/;
-// derived from https://github.com/mathiasbynens/String.fromCodePoint
-/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */
-if (String.fromCodePoint) {
- module.exports = function (_) {
- try {
- return String.fromCodePoint(_);
- } catch (e) {
- if (e instanceof RangeError) {
- return String.fromCharCode(0xFFFD);
- }
- throw e;
- }
- };
+var reEllipses = /\.\.\./g;
-} else {
+var reDash = /--+/g;
- var stringFromCharCode = String.fromCharCode;
- var floor = Math.floor;
- var fromCodePoint = function() {
- var MAX_SIZE = 0x4000;
- var codeUnits = [];
- var highSurrogate;
- var lowSurrogate;
- var index = -1;
- var length = arguments.length;
- if (!length) {
- return '';
- }
- var result = '';
- while (++index < length) {
- var codePoint = Number(arguments[index]);
- if (
- !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
- codePoint < 0 || // not a valid Unicode code point
- codePoint > 0x10FFFF || // not a valid Unicode code point
- floor(codePoint) !== codePoint // not an integer
- ) {
- return String.fromCharCode(0xFFFD);
- }
- if (codePoint <= 0xFFFF) { // BMP code point
- codeUnits.push(codePoint);
- } else { // Astral code point; split in surrogate halves
- // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
- codePoint -= 0x10000;
- highSurrogate = (codePoint >> 10) + 0xD800;
- lowSurrogate = (codePoint % 0x400) + 0xDC00;
- codeUnits.push(highSurrogate, lowSurrogate);
- }
- if (index + 1 === length || codeUnits.length > MAX_SIZE) {
- result += stringFromCharCode.apply(null, codeUnits);
- codeUnits.length = 0;
- }
- }
- return result;
- };
- module.exports = fromCodePoint;
-}
+var reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
-},{}],6:[function(require,module,exports){
-"use strict";
+var reAutolink = /^<(?:coap|doi|javascript|aaa|aaas|about|acap|cap|cid|crid|data|dav|dict|dns|file|ftp|geo|go|gopher|h323|http|https|iax|icap|im|imap|info|ipp|iris|iris.beep|iris.xpc|iris.xpcs|iris.lwz|ldap|mailto|mid|msrp|msrps|mtqp|mupdate|news|nfs|ni|nih|nntp|opaquelocktoken|pop|pres|rtsp|service|session|shttp|sieve|sip|sips|sms|snmp|soap.beep|soap.beeps|tag|tel|telnet|tftp|thismessage|tn3270|tip|tv|urn|vemmi|ws|wss|xcon|xcon-userid|xmlrpc.beep|xmlrpc.beeps|xmpp|z39.50r|z39.50s|adiumxtra|afp|afs|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|chrome|chrome-extension|com-eventbrite-attendee|content|cvs|dlna-playsingle|dlna-playcontainer|dtn|dvb|ed2k|facetime|feed|finger|fish|gg|git|gizmoproject|gtalk|hcp|icon|ipn|irc|irc6|ircs|itms|jar|jms|keyparc|lastfm|ldaps|magnet|maps|market|message|mms|ms-help|msnim|mumble|mvn|notes|oid|palm|paparazzi|platform|proxy|psyc|query|res|resource|rmi|rsync|rtmp|secondlife|sftp|sgn|skype|smb|soldat|spotify|ssh|steam|svn|teamspeak|things|udp|unreal|ut2004|ventrilo|view-source|webcal|wtai|wyciwyg|xfire|xri|ymsgr):[^<>\x00-\x20]*>/i;
-var escapeXml = require('./common').escapeXml;
+var reSpnl = /^ *(?:\n *)?/;
-// Helper function to produce an HTML tag.
-var tag = function(name, attrs, selfclosing) {
- var result = '<' + name;
- if (attrs && attrs.length > 0) {
- var i = 0;
- var attrib;
- while ((attrib = attrs[i]) !== undefined) {
- result += ' ' + attrib[0] + '="' + attrib[1] + '"';
- i++;
- }
- }
- if (selfclosing) {
- result += ' /';
- }
+var reWhitespaceChar = /^\s/;
- result += '>';
- return result;
-};
+var reWhitespace = /\s+/g;
-var reHtmlTag = /\<[^>]*\>/;
+var reFinalSpace = / *$/;
-var renderNodes = function(block) {
+var reInitialSpace = /^ */;
- var attrs;
- var info_words;
- var tagname;
- var walker = block.walker();
- var event, node, entering;
- var buffer = "";
- var lastOut = "\n";
- var disableTags = 0;
- var grandparent;
- var out = function(s) {
- if (disableTags > 0) {
- buffer += s.replace(reHtmlTag, '');
- } else {
- buffer += s;
- }
- lastOut = s;
- };
- var esc = this.escape;
- var cr = function() {
- if (lastOut !== '\n') {
- buffer += '\n';
- lastOut = '\n';
- }
- };
+var reSpaceAtEndOfLine = /^ *(?:\n|$)/;
- var options = this.options;
+var reLinkLabel = new RegExp('^\\[(?:[^\\\\\\[\\]]|' + ESCAPED_CHAR +
+ '|\\\\){0,1000}\\]');
- if (options.time) { console.time("rendering"); }
+// Matches a string of non-special characters.
+var reMain = /^[^\n`\[\]\\!<&*_'"]+/m;
- while ((event = walker.next())) {
- entering = event.entering;
- node = event.node;
+var text = function(s) {
+ var node = new Node('Text');
+ node._literal = s;
+ return node;
+};
- attrs = [];
- if (options.sourcepos) {
- var pos = node.sourcepos;
- if (pos) {
- attrs.push(['data-sourcepos', String(pos[0][0]) + ':' +
- String(pos[0][1]) + '-' + String(pos[1][0]) + ':' +
- String(pos[1][1])]);
- }
- }
+// INLINE PARSER
- switch (node.type) {
- case 'Text':
- out(esc(node.literal, false));
- break;
+// These are methods of an InlineParser object, defined below.
+// An InlineParser keeps track of a subject (a string to be
+// parsed) and a position in that subject.
- case 'Softbreak':
- out(this.softbreak);
- break;
+// If re matches at current position in the subject, advance
+// position in subject and return the match; otherwise return null.
+var match = function(re) {
+ var m = re.exec(this.subject.slice(this.pos));
+ if (m === null) {
+ return null;
+ } else {
+ this.pos += m.index + m[0].length;
+ return m[0];
+ }
+};
- case 'Hardbreak':
- out(tag('br', [], true));
- cr();
- break;
+// Returns the code for the character at the current subject position, or -1
+// there are no more characters.
+var peek = function() {
+ if (this.pos < this.subject.length) {
+ return this.subject.charCodeAt(this.pos);
+ } else {
+ return -1;
+ }
+};
- case 'Emph':
- out(tag(entering ? 'em' : '/em'));
- break;
+// Parse zero or more space characters, including at most one newline
+var spnl = function() {
+ this.match(reSpnl);
+ return true;
+};
- case 'Strong':
- out(tag(entering ? 'strong' : '/strong'));
- break;
+// All of the parsers below try to match something at the current position
+// in the subject. If they succeed in matching anything, they
+// return the inline matched, advancing the subject.
- case 'Html':
- out(node.literal);
- break;
+// Attempt to parse backticks, adding either a backtick code span or a
+// literal sequence of backticks.
+var parseBackticks = function(block) {
+ var ticks = this.match(reTicksHere);
+ if (ticks === null) {
+ return false;
+ }
+ var afterOpenTicks = this.pos;
+ var matched;
+ var node;
+ while ((matched = this.match(reTicks)) !== null) {
+ if (matched === ticks) {
+ node = new Node('Code');
+ node._literal = this.subject.slice(afterOpenTicks,
+ this.pos - ticks.length)
+ .trim().replace(reWhitespace, ' ');
+ block.appendChild(node);
+ return true;
+ }
+ }
+ // If we got here, we didn't match a closing backtick sequence.
+ this.pos = afterOpenTicks;
+ block.appendChild(text(ticks));
+ return true;
+};
- case 'Link':
- if (entering) {
- attrs.push(['href', esc(node.destination, true)]);
- if (node.title) {
- attrs.push(['title', esc(node.title, true)]);
- }
- out(tag('a', attrs));
- } else {
- out(tag('/a'));
- }
- break;
+// Parse a backslash-escaped special character, adding either the escaped
+// character, a hard line break (if the backslash is followed by a newline),
+// or a literal backslash to the block's children. Assumes current character
+// is a backslash.
+var parseBackslash = function(block) {
+ var subj = this.subject;
+ var node;
+ this.pos += 1;
+ if (this.peek() === C_NEWLINE) {
+ this.pos += 1;
+ node = new Node('Hardbreak');
+ block.appendChild(node);
+ } else if (reEscapable.test(subj.charAt(this.pos))) {
+ block.appendChild(text(subj.charAt(this.pos)));
+ this.pos += 1;
+ } else {
+ block.appendChild(text('\\'));
+ }
+ return true;
+};
- case 'Image':
- if (entering) {
- if (disableTags === 0) {
- out('');
- }
- }
- break;
+// Attempt to parse an autolink (URL or email in pointy brackets).
+var parseAutolink = function(block) {
+ var m;
+ var dest;
+ var node;
+ if ((m = this.match(reEmailAutolink))) {
+ dest = m.slice(1, m.length - 1);
+ node = new Node('Link');
+ node._destination = normalizeURI('mailto:' + dest);
+ node._title = '';
+ node.appendChild(text(dest));
+ block.appendChild(node);
+ return true;
+ } else if ((m = this.match(reAutolink))) {
+ dest = m.slice(1, m.length - 1);
+ node = new Node('Link');
+ node._destination = normalizeURI(dest);
+ node._title = '';
+ node.appendChild(text(dest));
+ block.appendChild(node);
+ return true;
+ } else {
+ return false;
+ }
+};
- case 'Code':
- out(tag('code') + esc(node.literal, false) + tag('/code'));
- break;
+// Attempt to parse a raw HTML tag.
+var parseHtmlTag = function(block) {
+ var m = this.match(reHtmlTag);
+ if (m === null) {
+ return false;
+ } else {
+ var node = new Node('Html');
+ node._literal = m;
+ block.appendChild(node);
+ return true;
+ }
+};
- case 'Document':
- break;
+// Scan a sequence of characters with code cc, and return information about
+// the number of delimiters and whether they are positioned such that
+// they can open and/or close emphasis or strong emphasis. A utility
+// function for strong/emph parsing.
+var scanDelims = function(cc) {
+ var numdelims = 0;
+ var char_before, char_after, cc_after;
+ var startpos = this.pos;
+ var left_flanking, right_flanking, can_open, can_close;
+ var after_is_whitespace, after_is_punctuation, before_is_whitespace, before_is_punctuation;
- case 'Paragraph':
- grandparent = node.parent.parent;
- if (grandparent !== null &&
- grandparent.type === 'List') {
- if (grandparent.listTight) {
- break;
- }
- }
- if (entering) {
- cr();
- out(tag('p', attrs));
- } else {
- out(tag('/p'));
- cr();
- }
- break;
+ if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {
+ numdelims++;
+ this.pos++;
+ } else {
+ while (this.peek() === cc) {
+ numdelims++;
+ this.pos++;
+ }
+ }
- case 'BlockQuote':
- if (entering) {
- cr();
- out(tag('blockquote', attrs));
- cr();
- } else {
- cr();
- out(tag('/blockquote'));
- cr();
- }
- break;
+ if (numdelims === 0) {
+ return null;
+ }
- case 'Item':
- if (entering) {
- out(tag('li', attrs));
- } else {
- out(tag('/li'));
- cr();
- }
- break;
+ char_before = startpos === 0 ? '\n' : this.subject.charAt(startpos - 1);
- case 'List':
- tagname = node.listType === 'Bullet' ? 'ul' : 'ol';
- if (entering) {
- var start = node.listStart;
- if (start !== null && start !== 1) {
- attrs.push(['start', start.toString()]);
- }
- cr();
- out(tag(tagname, attrs));
- cr();
- } else {
- cr();
- out(tag('/' + tagname));
- cr();
- }
- break;
+ cc_after = this.peek();
+ if (cc_after === -1) {
+ char_after = '\n';
+ } else {
+ char_after = fromCodePoint(cc_after);
+ }
- case 'Header':
- tagname = 'h' + node.level;
- if (entering) {
- cr();
- out(tag(tagname, attrs));
- } else {
- out(tag('/' + tagname));
- cr();
- }
- break;
+ after_is_whitespace = reWhitespaceChar.test(char_after);
+ after_is_punctuation = rePunctuation.test(char_after);
+ before_is_whitespace = reWhitespaceChar.test(char_before);
+ before_is_punctuation = rePunctuation.test(char_before);
- case 'CodeBlock':
- info_words = node.info ? node.info.split(/ +/) : [];
- if (info_words.length > 0 && info_words[0].length > 0) {
- attrs.push(['class', 'language-' + esc(info_words[0], true)]);
- }
- cr();
- out(tag('pre') + tag('code', attrs));
- out(esc(node.literal, false));
- out(tag('/code') + tag('/pre'));
- cr();
- break;
+ left_flanking = !after_is_whitespace &&
+ !(after_is_punctuation && !before_is_whitespace && !before_is_punctuation);
+ right_flanking = !before_is_whitespace &&
+ !(before_is_punctuation && !after_is_whitespace && !after_is_punctuation);
+ if (cc === C_UNDERSCORE) {
+ can_open = left_flanking &&
+ (!right_flanking || before_is_punctuation);
+ can_close = right_flanking &&
+ (!left_flanking || after_is_punctuation);
+ } else {
+ can_open = left_flanking;
+ can_close = right_flanking;
+ }
+ this.pos = startpos;
+ return { numdelims: numdelims,
+ can_open: can_open,
+ can_close: can_close };
+};
- case 'HtmlBlock':
- cr();
- out(node.literal);
- cr();
- break;
+// Handle a delimiter marker for emphasis or a quote.
+var handleDelim = function(cc, block) {
+ var res = this.scanDelims(cc);
+ if (!res) {
+ return false;
+ }
+ var numdelims = res.numdelims;
+ var startpos = this.pos;
+ var contents;
- case 'HorizontalRule':
- cr();
- out(tag('hr', attrs, true));
- cr();
- break;
+ this.pos += numdelims;
+ if (cc === C_SINGLEQUOTE) {
+ contents = "\u2019";
+ } else if (cc === C_DOUBLEQUOTE) {
+ contents = "\u201C";
+ } else {
+ contents = this.subject.slice(startpos, this.pos);
+ }
+ var node = text(contents);
+ block.appendChild(node);
- default:
- throw "Unknown node type " + node.type;
- }
+ // Add entry to stack for this opener
+ this.delimiters = { cc: cc,
+ numdelims: numdelims,
+ node: node,
+ previous: this.delimiters,
+ next: null,
+ can_open: res.can_open,
+ can_close: res.can_close,
+ active: true };
+ if (this.delimiters.previous !== null) {
+ this.delimiters.previous.next = this.delimiters;
+ }
+
+ return true;
+
+};
+var removeDelimiter = function(delim) {
+ if (delim.previous !== null) {
+ delim.previous.next = delim.next;
+ }
+ if (delim.next === null) {
+ // top of stack
+ this.delimiters = delim.previous;
+ } else {
+ delim.next.previous = delim.previous;
}
- if (options.time) { console.timeEnd("rendering"); }
- return buffer;
};
-// The HtmlRenderer object.
-function HtmlRenderer(options){
- return {
- // default options:
- softbreak: '\n', // by default, soft breaks are rendered as newlines in HTML
- // set to "
" to make them hard breaks
- // set to " " if you want to ignore line wrapping in source
- escape: escapeXml,
- options: options || {},
- render: renderNodes
- };
-}
+var removeDelimitersBetween = function(bottom, top) {
+ if (bottom.next !== top) {
+ bottom.next = top;
+ top.previous = bottom;
+ }
+};
-module.exports = HtmlRenderer;
+var processEmphasis = function(stack_bottom) {
+ var opener, closer, old_closer;
+ var opener_inl, closer_inl;
+ var tempstack;
+ var use_delims;
+ var tmp, next;
+ var opener_found;
+ var openers_bottom = [];
-},{"./common":2}],7:[function(require,module,exports){
-"use strict";
+ openers_bottom[C_UNDERSCORE] = stack_bottom;
+ openers_bottom[C_ASTERISK] = stack_bottom;
+ openers_bottom[C_SINGLEQUOTE] = stack_bottom;
+ openers_bottom[C_DOUBLEQUOTE] = stack_bottom;
-var fromCodePoint = require('./from-code-point');
-
-var entities = {
- AAacute: 193,
- aacute: 225,
- Abreve: 258,
- abreve: 259,
- ac: 8766,
- acd: 8767,
- acE: 8766,
- Acirc: 194,
- acirc: 226,
- acute: 180,
- Acy: 1040,
- acy: 1072,
- AElig: 198,
- aelig: 230,
- af: 8289,
- Afr: 55349,
- afr: 55349,
- Agrave: 192,
- agrave: 224,
- alefsym: 8501,
- aleph: 8501,
- Alpha: 913,
- alpha: 945,
- Amacr: 256,
- amacr: 257,
- amalg: 10815,
- amp: 38,
- AMP: 38,
- andand: 10837,
- And: 10835,
- and: 8743,
- andd: 10844,
- andslope: 10840,
- andv: 10842,
- ang: 8736,
- ange: 10660,
- angle: 8736,
- angmsdaa: 10664,
- angmsdab: 10665,
- angmsdac: 10666,
- angmsdad: 10667,
- angmsdae: 10668,
- angmsdaf: 10669,
- angmsdag: 10670,
- angmsdah: 10671,
- angmsd: 8737,
- angrt: 8735,
- angrtvb: 8894,
- angrtvbd: 10653,
- angsph: 8738,
- angst: 197,
- angzarr: 9084,
- Aogon: 260,
- aogon: 261,
- Aopf: 55349,
- aopf: 55349,
- apacir: 10863,
- ap: 8776,
- apE: 10864,
- ape: 8778,
- apid: 8779,
- apos: 39,
- ApplyFunction: 8289,
- approx: 8776,
- approxeq: 8778,
- Aring: 197,
- aring: 229,
- Ascr: 55349,
- ascr: 55349,
- Assign: 8788,
- ast: 42,
- asymp: 8776,
- asympeq: 8781,
- Atilde: 195,
- atilde: 227,
- Auml: 196,
- auml: 228,
- awconint: 8755,
- awint: 10769,
- backcong: 8780,
- backepsilon: 1014,
- backprime: 8245,
- backsim: 8765,
- backsimeq: 8909,
- Backslash: 8726,
- Barv: 10983,
- barvee: 8893,
- barwed: 8965,
- Barwed: 8966,
- barwedge: 8965,
- bbrk: 9141,
- bbrktbrk: 9142,
- bcong: 8780,
- Bcy: 1041,
- bcy: 1073,
- bdquo: 8222,
- becaus: 8757,
- because: 8757,
- Because: 8757,
- bemptyv: 10672,
- bepsi: 1014,
- bernou: 8492,
- Bernoullis: 8492,
- Beta: 914,
- beta: 946,
- beth: 8502,
- between: 8812,
- Bfr: 55349,
- bfr: 55349,
- bigcap: 8898,
- bigcirc: 9711,
- bigcup: 8899,
- bigodot: 10752,
- bigoplus: 10753,
- bigotimes: 10754,
- bigsqcup: 10758,
- bigstar: 9733,
- bigtriangledown: 9661,
- bigtriangleup: 9651,
- biguplus: 10756,
- bigvee: 8897,
- bigwedge: 8896,
- bkarow: 10509,
- blacklozenge: 10731,
- blacksquare: 9642,
- blacktriangle: 9652,
- blacktriangledown: 9662,
- blacktriangleleft: 9666,
- blacktriangleright: 9656,
- blank: 9251,
- blk12: 9618,
- blk14: 9617,
- blk34: 9619,
- block: 9608,
- bne: 61,
- bnequiv: 8801,
- bNot: 10989,
- bnot: 8976,
- Bopf: 55349,
- bopf: 55349,
- bot: 8869,
- bottom: 8869,
- bowtie: 8904,
- boxbox: 10697,
- boxdl: 9488,
- boxdL: 9557,
- boxDl: 9558,
- boxDL: 9559,
- boxdr: 9484,
- boxdR: 9554,
- boxDr: 9555,
- boxDR: 9556,
- boxh: 9472,
- boxH: 9552,
- boxhd: 9516,
- boxHd: 9572,
- boxhD: 9573,
- boxHD: 9574,
- boxhu: 9524,
- boxHu: 9575,
- boxhU: 9576,
- boxHU: 9577,
- boxminus: 8863,
- boxplus: 8862,
- boxtimes: 8864,
- boxul: 9496,
- boxuL: 9563,
- boxUl: 9564,
- boxUL: 9565,
- boxur: 9492,
- boxuR: 9560,
- boxUr: 9561,
- boxUR: 9562,
- boxv: 9474,
- boxV: 9553,
- boxvh: 9532,
- boxvH: 9578,
- boxVh: 9579,
- boxVH: 9580,
- boxvl: 9508,
- boxvL: 9569,
- boxVl: 9570,
- boxVL: 9571,
- boxvr: 9500,
- boxvR: 9566,
- boxVr: 9567,
- boxVR: 9568,
- bprime: 8245,
- breve: 728,
- Breve: 728,
- brvbar: 166,
- bscr: 55349,
- Bscr: 8492,
- bsemi: 8271,
- bsim: 8765,
- bsime: 8909,
- bsolb: 10693,
- bsol: 92,
- bsolhsub: 10184,
- bull: 8226,
- bullet: 8226,
- bump: 8782,
- bumpE: 10926,
- bumpe: 8783,
- Bumpeq: 8782,
- bumpeq: 8783,
- Cacute: 262,
- cacute: 263,
- capand: 10820,
- capbrcup: 10825,
- capcap: 10827,
- cap: 8745,
- Cap: 8914,
- capcup: 10823,
- capdot: 10816,
- CapitalDifferentialD: 8517,
- caps: 8745,
- caret: 8257,
- caron: 711,
- Cayleys: 8493,
- ccaps: 10829,
- Ccaron: 268,
- ccaron: 269,
- Ccedil: 199,
- ccedil: 231,
- Ccirc: 264,
- ccirc: 265,
- Cconint: 8752,
- ccups: 10828,
- ccupssm: 10832,
- Cdot: 266,
- cdot: 267,
- cedil: 184,
- Cedilla: 184,
- cemptyv: 10674,
- cent: 162,
- centerdot: 183,
- CenterDot: 183,
- cfr: 55349,
- Cfr: 8493,
- CHcy: 1063,
- chcy: 1095,
- check: 10003,
- checkmark: 10003,
- Chi: 935,
- chi: 967,
- circ: 710,
- circeq: 8791,
- circlearrowleft: 8634,
- circlearrowright: 8635,
- circledast: 8859,
- circledcirc: 8858,
- circleddash: 8861,
- CircleDot: 8857,
- circledR: 174,
- circledS: 9416,
- CircleMinus: 8854,
- CirclePlus: 8853,
- CircleTimes: 8855,
- cir: 9675,
- cirE: 10691,
- cire: 8791,
- cirfnint: 10768,
- cirmid: 10991,
- cirscir: 10690,
- ClockwiseContourIntegral: 8754,
- CloseCurlyDoubleQuote: 8221,
- CloseCurlyQuote: 8217,
- clubs: 9827,
- clubsuit: 9827,
- colon: 58,
- Colon: 8759,
- Colone: 10868,
- colone: 8788,
- coloneq: 8788,
- comma: 44,
- commat: 64,
- comp: 8705,
- compfn: 8728,
- complement: 8705,
- complexes: 8450,
- cong: 8773,
- congdot: 10861,
- Congruent: 8801,
- conint: 8750,
- Conint: 8751,
- ContourIntegral: 8750,
- copf: 55349,
- Copf: 8450,
- coprod: 8720,
- Coproduct: 8720,
- copy: 169,
- COPY: 169,
- copysr: 8471,
- CounterClockwiseContourIntegral: 8755,
- crarr: 8629,
- cross: 10007,
- Cross: 10799,
- Cscr: 55349,
- cscr: 55349,
- csub: 10959,
- csube: 10961,
- csup: 10960,
- csupe: 10962,
- ctdot: 8943,
- cudarrl: 10552,
- cudarrr: 10549,
- cuepr: 8926,
- cuesc: 8927,
- cularr: 8630,
- cularrp: 10557,
- cupbrcap: 10824,
- cupcap: 10822,
- CupCap: 8781,
- cup: 8746,
- Cup: 8915,
- cupcup: 10826,
- cupdot: 8845,
- cupor: 10821,
- cups: 8746,
- curarr: 8631,
- curarrm: 10556,
- curlyeqprec: 8926,
- curlyeqsucc: 8927,
- curlyvee: 8910,
- curlywedge: 8911,
- curren: 164,
- curvearrowleft: 8630,
- curvearrowright: 8631,
- cuvee: 8910,
- cuwed: 8911,
- cwconint: 8754,
- cwint: 8753,
- cylcty: 9005,
- dagger: 8224,
- Dagger: 8225,
- daleth: 8504,
- darr: 8595,
- Darr: 8609,
- dArr: 8659,
- dash: 8208,
- Dashv: 10980,
- dashv: 8867,
- dbkarow: 10511,
- dblac: 733,
- Dcaron: 270,
- dcaron: 271,
- Dcy: 1044,
- dcy: 1076,
- ddagger: 8225,
- ddarr: 8650,
- DD: 8517,
- dd: 8518,
- DDotrahd: 10513,
- ddotseq: 10871,
- deg: 176,
- Del: 8711,
- Delta: 916,
- delta: 948,
- demptyv: 10673,
- dfisht: 10623,
- Dfr: 55349,
- dfr: 55349,
- dHar: 10597,
- dharl: 8643,
- dharr: 8642,
- DiacriticalAcute: 180,
- DiacriticalDot: 729,
- DiacriticalDoubleAcute: 733,
- DiacriticalGrave: 96,
- DiacriticalTilde: 732,
- diam: 8900,
- diamond: 8900,
- Diamond: 8900,
- diamondsuit: 9830,
- diams: 9830,
- die: 168,
- DifferentialD: 8518,
- digamma: 989,
- disin: 8946,
- div: 247,
- divide: 247,
- divideontimes: 8903,
- divonx: 8903,
- DJcy: 1026,
- djcy: 1106,
- dlcorn: 8990,
- dlcrop: 8973,
- dollar: 36,
- Dopf: 55349,
- dopf: 55349,
- Dot: 168,
- dot: 729,
- DotDot: 8412,
- doteq: 8784,
- doteqdot: 8785,
- DotEqual: 8784,
- dotminus: 8760,
- dotplus: 8724,
- dotsquare: 8865,
- doublebarwedge: 8966,
- DoubleContourIntegral: 8751,
- DoubleDot: 168,
- DoubleDownArrow: 8659,
- DoubleLeftArrow: 8656,
- DoubleLeftRightArrow: 8660,
- DoubleLeftTee: 10980,
- DoubleLongLeftArrow: 10232,
- DoubleLongLeftRightArrow: 10234,
- DoubleLongRightArrow: 10233,
- DoubleRightArrow: 8658,
- DoubleRightTee: 8872,
- DoubleUpArrow: 8657,
- DoubleUpDownArrow: 8661,
- DoubleVerticalBar: 8741,
- DownArrowBar: 10515,
- downarrow: 8595,
- DownArrow: 8595,
- Downarrow: 8659,
- DownArrowUpArrow: 8693,
- DownBreve: 785,
- downdownarrows: 8650,
- downharpoonleft: 8643,
- downharpoonright: 8642,
- DownLeftRightVector: 10576,
- DownLeftTeeVector: 10590,
- DownLeftVectorBar: 10582,
- DownLeftVector: 8637,
- DownRightTeeVector: 10591,
- DownRightVectorBar: 10583,
- DownRightVector: 8641,
- DownTeeArrow: 8615,
- DownTee: 8868,
- drbkarow: 10512,
- drcorn: 8991,
- drcrop: 8972,
- Dscr: 55349,
- dscr: 55349,
- DScy: 1029,
- dscy: 1109,
- dsol: 10742,
- Dstrok: 272,
- dstrok: 273,
- dtdot: 8945,
- dtri: 9663,
- dtrif: 9662,
- duarr: 8693,
- duhar: 10607,
- dwangle: 10662,
- DZcy: 1039,
- dzcy: 1119,
- dzigrarr: 10239,
- Eacute: 201,
- eacute: 233,
- easter: 10862,
- Ecaron: 282,
- ecaron: 283,
- Ecirc: 202,
- ecirc: 234,
- ecir: 8790,
- ecolon: 8789,
- Ecy: 1069,
- ecy: 1101,
- eDDot: 10871,
- Edot: 278,
- edot: 279,
- eDot: 8785,
- ee: 8519,
- efDot: 8786,
- Efr: 55349,
- efr: 55349,
- eg: 10906,
- Egrave: 200,
- egrave: 232,
- egs: 10902,
- egsdot: 10904,
- el: 10905,
- Element: 8712,
- elinters: 9191,
- ell: 8467,
- els: 10901,
- elsdot: 10903,
- Emacr: 274,
- emacr: 275,
- empty: 8709,
- emptyset: 8709,
- EmptySmallSquare: 9723,
- emptyv: 8709,
- EmptyVerySmallSquare: 9643,
- emsp13: 8196,
- emsp14: 8197,
- emsp: 8195,
- ENG: 330,
- eng: 331,
- ensp: 8194,
- Eogon: 280,
- eogon: 281,
- Eopf: 55349,
- eopf: 55349,
- epar: 8917,
- eparsl: 10723,
- eplus: 10865,
- epsi: 949,
- Epsilon: 917,
- epsilon: 949,
- epsiv: 1013,
- eqcirc: 8790,
- eqcolon: 8789,
- eqsim: 8770,
- eqslantgtr: 10902,
- eqslantless: 10901,
- Equal: 10869,
- equals: 61,
- EqualTilde: 8770,
- equest: 8799,
- Equilibrium: 8652,
- equiv: 8801,
- equivDD: 10872,
- eqvparsl: 10725,
- erarr: 10609,
- erDot: 8787,
- escr: 8495,
- Escr: 8496,
- esdot: 8784,
- Esim: 10867,
- esim: 8770,
- Eta: 919,
- eta: 951,
- ETH: 208,
- eth: 240,
- Euml: 203,
- euml: 235,
- euro: 8364,
- excl: 33,
- exist: 8707,
- Exists: 8707,
- expectation: 8496,
- exponentiale: 8519,
- ExponentialE: 8519,
- fallingdotseq: 8786,
- Fcy: 1060,
- fcy: 1092,
- female: 9792,
- ffilig: 64259,
- fflig: 64256,
- ffllig: 64260,
- Ffr: 55349,
- ffr: 55349,
- filig: 64257,
- FilledSmallSquare: 9724,
- FilledVerySmallSquare: 9642,
- fjlig: 102,
- flat: 9837,
- fllig: 64258,
- fltns: 9649,
- fnof: 402,
- Fopf: 55349,
- fopf: 55349,
- forall: 8704,
- ForAll: 8704,
- fork: 8916,
- forkv: 10969,
- Fouriertrf: 8497,
- fpartint: 10765,
- frac12: 189,
- frac13: 8531,
- frac14: 188,
- frac15: 8533,
- frac16: 8537,
- frac18: 8539,
- frac23: 8532,
- frac25: 8534,
- frac34: 190,
- frac35: 8535,
- frac38: 8540,
- frac45: 8536,
- frac56: 8538,
- frac58: 8541,
- frac78: 8542,
- frasl: 8260,
- frown: 8994,
- fscr: 55349,
- Fscr: 8497,
- gacute: 501,
- Gamma: 915,
- gamma: 947,
- Gammad: 988,
- gammad: 989,
- gap: 10886,
- Gbreve: 286,
- gbreve: 287,
- Gcedil: 290,
- Gcirc: 284,
- gcirc: 285,
- Gcy: 1043,
- gcy: 1075,
- Gdot: 288,
- gdot: 289,
- ge: 8805,
- gE: 8807,
- gEl: 10892,
- gel: 8923,
- geq: 8805,
- geqq: 8807,
- geqslant: 10878,
- gescc: 10921,
- ges: 10878,
- gesdot: 10880,
- gesdoto: 10882,
- gesdotol: 10884,
- gesl: 8923,
- gesles: 10900,
- Gfr: 55349,
- gfr: 55349,
- gg: 8811,
- Gg: 8921,
- ggg: 8921,
- gimel: 8503,
- GJcy: 1027,
- gjcy: 1107,
- gla: 10917,
- gl: 8823,
- glE: 10898,
- glj: 10916,
- gnap: 10890,
- gnapprox: 10890,
- gne: 10888,
- gnE: 8809,
- gneq: 10888,
- gneqq: 8809,
- gnsim: 8935,
- Gopf: 55349,
- gopf: 55349,
- grave: 96,
- GreaterEqual: 8805,
- GreaterEqualLess: 8923,
- GreaterFullEqual: 8807,
- GreaterGreater: 10914,
- GreaterLess: 8823,
- GreaterSlantEqual: 10878,
- GreaterTilde: 8819,
- Gscr: 55349,
- gscr: 8458,
- gsim: 8819,
- gsime: 10894,
- gsiml: 10896,
- gtcc: 10919,
- gtcir: 10874,
- gt: 62,
- GT: 62,
- Gt: 8811,
- gtdot: 8919,
- gtlPar: 10645,
- gtquest: 10876,
- gtrapprox: 10886,
- gtrarr: 10616,
- gtrdot: 8919,
- gtreqless: 8923,
- gtreqqless: 10892,
- gtrless: 8823,
- gtrsim: 8819,
- gvertneqq: 8809,
- gvnE: 8809,
- Hacek: 711,
- hairsp: 8202,
- half: 189,
- hamilt: 8459,
- HARDcy: 1066,
- hardcy: 1098,
- harrcir: 10568,
- harr: 8596,
- hArr: 8660,
- harrw: 8621,
- Hat: 94,
- hbar: 8463,
- Hcirc: 292,
- hcirc: 293,
- hearts: 9829,
- heartsuit: 9829,
- hellip: 8230,
- hercon: 8889,
- hfr: 55349,
- Hfr: 8460,
- HilbertSpace: 8459,
- hksearow: 10533,
- hkswarow: 10534,
- hoarr: 8703,
- homtht: 8763,
- hookleftarrow: 8617,
- hookrightarrow: 8618,
- hopf: 55349,
- Hopf: 8461,
- horbar: 8213,
- HorizontalLine: 9472,
- hscr: 55349,
- Hscr: 8459,
- hslash: 8463,
- Hstrok: 294,
- hstrok: 295,
- HumpDownHump: 8782,
- HumpEqual: 8783,
- hybull: 8259,
- hyphen: 8208,
- Iacute: 205,
- iacute: 237,
- ic: 8291,
- Icirc: 206,
- icirc: 238,
- Icy: 1048,
- icy: 1080,
- Idot: 304,
- IEcy: 1045,
- iecy: 1077,
- iexcl: 161,
- iff: 8660,
- ifr: 55349,
- Ifr: 8465,
- Igrave: 204,
- igrave: 236,
- ii: 8520,
- iiiint: 10764,
- iiint: 8749,
- iinfin: 10716,
- iiota: 8489,
- IJlig: 306,
- ijlig: 307,
- Imacr: 298,
- imacr: 299,
- image: 8465,
- ImaginaryI: 8520,
- imagline: 8464,
- imagpart: 8465,
- imath: 305,
- Im: 8465,
- imof: 8887,
- imped: 437,
- Implies: 8658,
- incare: 8453,
- 'in': 8712,
- infin: 8734,
- infintie: 10717,
- inodot: 305,
- intcal: 8890,
- int: 8747,
- Int: 8748,
- integers: 8484,
- Integral: 8747,
- intercal: 8890,
- Intersection: 8898,
- intlarhk: 10775,
- intprod: 10812,
- InvisibleComma: 8291,
- InvisibleTimes: 8290,
- IOcy: 1025,
- iocy: 1105,
- Iogon: 302,
- iogon: 303,
- Iopf: 55349,
- iopf: 55349,
- Iota: 921,
- iota: 953,
- iprod: 10812,
- iquest: 191,
- iscr: 55349,
- Iscr: 8464,
- isin: 8712,
- isindot: 8949,
- isinE: 8953,
- isins: 8948,
- isinsv: 8947,
- isinv: 8712,
- it: 8290,
- Itilde: 296,
- itilde: 297,
- Iukcy: 1030,
- iukcy: 1110,
- Iuml: 207,
- iuml: 239,
- Jcirc: 308,
- jcirc: 309,
- Jcy: 1049,
- jcy: 1081,
- Jfr: 55349,
- jfr: 55349,
- jmath: 567,
- Jopf: 55349,
- jopf: 55349,
- Jscr: 55349,
- jscr: 55349,
- Jsercy: 1032,
- jsercy: 1112,
- Jukcy: 1028,
- jukcy: 1108,
- Kappa: 922,
- kappa: 954,
- kappav: 1008,
- Kcedil: 310,
- kcedil: 311,
- Kcy: 1050,
- kcy: 1082,
- Kfr: 55349,
- kfr: 55349,
- kgreen: 312,
- KHcy: 1061,
- khcy: 1093,
- KJcy: 1036,
- kjcy: 1116,
- Kopf: 55349,
- kopf: 55349,
- Kscr: 55349,
- kscr: 55349,
- lAarr: 8666,
- Lacute: 313,
- lacute: 314,
- laemptyv: 10676,
- lagran: 8466,
- Lambda: 923,
- lambda: 955,
- lang: 10216,
- Lang: 10218,
- langd: 10641,
- langle: 10216,
- lap: 10885,
- Laplacetrf: 8466,
- laquo: 171,
- larrb: 8676,
- larrbfs: 10527,
- larr: 8592,
- Larr: 8606,
- lArr: 8656,
- larrfs: 10525,
- larrhk: 8617,
- larrlp: 8619,
- larrpl: 10553,
- larrsim: 10611,
- larrtl: 8610,
- latail: 10521,
- lAtail: 10523,
- lat: 10923,
- late: 10925,
- lates: 10925,
- lbarr: 10508,
- lBarr: 10510,
- lbbrk: 10098,
- lbrace: 123,
- lbrack: 91,
- lbrke: 10635,
- lbrksld: 10639,
- lbrkslu: 10637,
- Lcaron: 317,
- lcaron: 318,
- Lcedil: 315,
- lcedil: 316,
- lceil: 8968,
- lcub: 123,
- Lcy: 1051,
- lcy: 1083,
- ldca: 10550,
- ldquo: 8220,
- ldquor: 8222,
- ldrdhar: 10599,
- ldrushar: 10571,
- ldsh: 8626,
- le: 8804,
- lE: 8806,
- LeftAngleBracket: 10216,
- LeftArrowBar: 8676,
- leftarrow: 8592,
- LeftArrow: 8592,
- Leftarrow: 8656,
- LeftArrowRightArrow: 8646,
- leftarrowtail: 8610,
- LeftCeiling: 8968,
- LeftDoubleBracket: 10214,
- LeftDownTeeVector: 10593,
- LeftDownVectorBar: 10585,
- LeftDownVector: 8643,
- LeftFloor: 8970,
- leftharpoondown: 8637,
- leftharpoonup: 8636,
- leftleftarrows: 8647,
- leftrightarrow: 8596,
- LeftRightArrow: 8596,
- Leftrightarrow: 8660,
- leftrightarrows: 8646,
- leftrightharpoons: 8651,
- leftrightsquigarrow: 8621,
- LeftRightVector: 10574,
- LeftTeeArrow: 8612,
- LeftTee: 8867,
- LeftTeeVector: 10586,
- leftthreetimes: 8907,
- LeftTriangleBar: 10703,
- LeftTriangle: 8882,
- LeftTriangleEqual: 8884,
- LeftUpDownVector: 10577,
- LeftUpTeeVector: 10592,
- LeftUpVectorBar: 10584,
- LeftUpVector: 8639,
- LeftVectorBar: 10578,
- LeftVector: 8636,
- lEg: 10891,
- leg: 8922,
- leq: 8804,
- leqq: 8806,
- leqslant: 10877,
- lescc: 10920,
- les: 10877,
- lesdot: 10879,
- lesdoto: 10881,
- lesdotor: 10883,
- lesg: 8922,
- lesges: 10899,
- lessapprox: 10885,
- lessdot: 8918,
- lesseqgtr: 8922,
- lesseqqgtr: 10891,
- LessEqualGreater: 8922,
- LessFullEqual: 8806,
- LessGreater: 8822,
- lessgtr: 8822,
- LessLess: 10913,
- lesssim: 8818,
- LessSlantEqual: 10877,
- LessTilde: 8818,
- lfisht: 10620,
- lfloor: 8970,
- Lfr: 55349,
- lfr: 55349,
- lg: 8822,
- lgE: 10897,
- lHar: 10594,
- lhard: 8637,
- lharu: 8636,
- lharul: 10602,
- lhblk: 9604,
- LJcy: 1033,
- ljcy: 1113,
- llarr: 8647,
- ll: 8810,
- Ll: 8920,
- llcorner: 8990,
- Lleftarrow: 8666,
- llhard: 10603,
- lltri: 9722,
- Lmidot: 319,
- lmidot: 320,
- lmoustache: 9136,
- lmoust: 9136,
- lnap: 10889,
- lnapprox: 10889,
- lne: 10887,
- lnE: 8808,
- lneq: 10887,
- lneqq: 8808,
- lnsim: 8934,
- loang: 10220,
- loarr: 8701,
- lobrk: 10214,
- longleftarrow: 10229,
- LongLeftArrow: 10229,
- Longleftarrow: 10232,
- longleftrightarrow: 10231,
- LongLeftRightArrow: 10231,
- Longleftrightarrow: 10234,
- longmapsto: 10236,
- longrightarrow: 10230,
- LongRightArrow: 10230,
- Longrightarrow: 10233,
- looparrowleft: 8619,
- looparrowright: 8620,
- lopar: 10629,
- Lopf: 55349,
- lopf: 55349,
- loplus: 10797,
- lotimes: 10804,
- lowast: 8727,
- lowbar: 95,
- LowerLeftArrow: 8601,
- LowerRightArrow: 8600,
- loz: 9674,
- lozenge: 9674,
- lozf: 10731,
- lpar: 40,
- lparlt: 10643,
- lrarr: 8646,
- lrcorner: 8991,
- lrhar: 8651,
- lrhard: 10605,
- lrm: 8206,
- lrtri: 8895,
- lsaquo: 8249,
- lscr: 55349,
- Lscr: 8466,
- lsh: 8624,
- Lsh: 8624,
- lsim: 8818,
- lsime: 10893,
- lsimg: 10895,
- lsqb: 91,
- lsquo: 8216,
- lsquor: 8218,
- Lstrok: 321,
- lstrok: 322,
- ltcc: 10918,
- ltcir: 10873,
- lt: 60,
- LT: 60,
- Lt: 8810,
- ltdot: 8918,
- lthree: 8907,
- ltimes: 8905,
- ltlarr: 10614,
- ltquest: 10875,
- ltri: 9667,
- ltrie: 8884,
- ltrif: 9666,
- ltrPar: 10646,
- lurdshar: 10570,
- luruhar: 10598,
- lvertneqq: 8808,
- lvnE: 8808,
- macr: 175,
- male: 9794,
- malt: 10016,
- maltese: 10016,
- Map: 10501,
- map: 8614,
- mapsto: 8614,
- mapstodown: 8615,
- mapstoleft: 8612,
- mapstoup: 8613,
- marker: 9646,
- mcomma: 10793,
- Mcy: 1052,
- mcy: 1084,
- mdash: 8212,
- mDDot: 8762,
- measuredangle: 8737,
- MediumSpace: 8287,
- Mellintrf: 8499,
- Mfr: 55349,
- mfr: 55349,
- mho: 8487,
- micro: 181,
- midast: 42,
- midcir: 10992,
- mid: 8739,
- middot: 183,
- minusb: 8863,
- minus: 8722,
- minusd: 8760,
- minusdu: 10794,
- MinusPlus: 8723,
- mlcp: 10971,
- mldr: 8230,
- mnplus: 8723,
- models: 8871,
- Mopf: 55349,
- mopf: 55349,
- mp: 8723,
- mscr: 55349,
- Mscr: 8499,
- mstpos: 8766,
- Mu: 924,
- mu: 956,
- multimap: 8888,
- mumap: 8888,
- nabla: 8711,
- Nacute: 323,
- nacute: 324,
- nang: 8736,
- nap: 8777,
- napE: 10864,
- napid: 8779,
- napos: 329,
- napprox: 8777,
- natural: 9838,
- naturals: 8469,
- natur: 9838,
- nbsp: 160,
- nbump: 8782,
- nbumpe: 8783,
- ncap: 10819,
- Ncaron: 327,
- ncaron: 328,
- Ncedil: 325,
- ncedil: 326,
- ncong: 8775,
- ncongdot: 10861,
- ncup: 10818,
- Ncy: 1053,
- ncy: 1085,
- ndash: 8211,
- nearhk: 10532,
- nearr: 8599,
- neArr: 8663,
- nearrow: 8599,
- ne: 8800,
- nedot: 8784,
- NegativeMediumSpace: 8203,
- NegativeThickSpace: 8203,
- NegativeThinSpace: 8203,
- NegativeVeryThinSpace: 8203,
- nequiv: 8802,
- nesear: 10536,
- nesim: 8770,
- NestedGreaterGreater: 8811,
- NestedLessLess: 8810,
- NewLine: 10,
- nexist: 8708,
- nexists: 8708,
- Nfr: 55349,
- nfr: 55349,
- ngE: 8807,
- nge: 8817,
- ngeq: 8817,
- ngeqq: 8807,
- ngeqslant: 10878,
- nges: 10878,
- nGg: 8921,
- ngsim: 8821,
- nGt: 8811,
- ngt: 8815,
- ngtr: 8815,
- nGtv: 8811,
- nharr: 8622,
- nhArr: 8654,
- nhpar: 10994,
- ni: 8715,
- nis: 8956,
- nisd: 8954,
- niv: 8715,
- NJcy: 1034,
- njcy: 1114,
- nlarr: 8602,
- nlArr: 8653,
- nldr: 8229,
- nlE: 8806,
- nle: 8816,
- nleftarrow: 8602,
- nLeftarrow: 8653,
- nleftrightarrow: 8622,
- nLeftrightarrow: 8654,
- nleq: 8816,
- nleqq: 8806,
- nleqslant: 10877,
- nles: 10877,
- nless: 8814,
- nLl: 8920,
- nlsim: 8820,
- nLt: 8810,
- nlt: 8814,
- nltri: 8938,
- nltrie: 8940,
- nLtv: 8810,
- nmid: 8740,
- NoBreak: 8288,
- NonBreakingSpace: 160,
- nopf: 55349,
- Nopf: 8469,
- Not: 10988,
- not: 172,
- NotCongruent: 8802,
- NotCupCap: 8813,
- NotDoubleVerticalBar: 8742,
- NotElement: 8713,
- NotEqual: 8800,
- NotEqualTilde: 8770,
- NotExists: 8708,
- NotGreater: 8815,
- NotGreaterEqual: 8817,
- NotGreaterFullEqual: 8807,
- NotGreaterGreater: 8811,
- NotGreaterLess: 8825,
- NotGreaterSlantEqual: 10878,
- NotGreaterTilde: 8821,
- NotHumpDownHump: 8782,
- NotHumpEqual: 8783,
- notin: 8713,
- notindot: 8949,
- notinE: 8953,
- notinva: 8713,
- notinvb: 8951,
- notinvc: 8950,
- NotLeftTriangleBar: 10703,
- NotLeftTriangle: 8938,
- NotLeftTriangleEqual: 8940,
- NotLess: 8814,
- NotLessEqual: 8816,
- NotLessGreater: 8824,
- NotLessLess: 8810,
- NotLessSlantEqual: 10877,
- NotLessTilde: 8820,
- NotNestedGreaterGreater: 10914,
- NotNestedLessLess: 10913,
- notni: 8716,
- notniva: 8716,
- notnivb: 8958,
- notnivc: 8957,
- NotPrecedes: 8832,
- NotPrecedesEqual: 10927,
- NotPrecedesSlantEqual: 8928,
- NotReverseElement: 8716,
- NotRightTriangleBar: 10704,
- NotRightTriangle: 8939,
- NotRightTriangleEqual: 8941,
- NotSquareSubset: 8847,
- NotSquareSubsetEqual: 8930,
- NotSquareSuperset: 8848,
- NotSquareSupersetEqual: 8931,
- NotSubset: 8834,
- NotSubsetEqual: 8840,
- NotSucceeds: 8833,
- NotSucceedsEqual: 10928,
- NotSucceedsSlantEqual: 8929,
- NotSucceedsTilde: 8831,
- NotSuperset: 8835,
- NotSupersetEqual: 8841,
- NotTilde: 8769,
- NotTildeEqual: 8772,
- NotTildeFullEqual: 8775,
- NotTildeTilde: 8777,
- NotVerticalBar: 8740,
- nparallel: 8742,
- npar: 8742,
- nparsl: 11005,
- npart: 8706,
- npolint: 10772,
- npr: 8832,
- nprcue: 8928,
- nprec: 8832,
- npreceq: 10927,
- npre: 10927,
- nrarrc: 10547,
- nrarr: 8603,
- nrArr: 8655,
- nrarrw: 8605,
- nrightarrow: 8603,
- nRightarrow: 8655,
- nrtri: 8939,
- nrtrie: 8941,
- nsc: 8833,
- nsccue: 8929,
- nsce: 10928,
- Nscr: 55349,
- nscr: 55349,
- nshortmid: 8740,
- nshortparallel: 8742,
- nsim: 8769,
- nsime: 8772,
- nsimeq: 8772,
- nsmid: 8740,
- nspar: 8742,
- nsqsube: 8930,
- nsqsupe: 8931,
- nsub: 8836,
- nsubE: 10949,
- nsube: 8840,
- nsubset: 8834,
- nsubseteq: 8840,
- nsubseteqq: 10949,
- nsucc: 8833,
- nsucceq: 10928,
- nsup: 8837,
- nsupE: 10950,
- nsupe: 8841,
- nsupset: 8835,
- nsupseteq: 8841,
- nsupseteqq: 10950,
- ntgl: 8825,
- Ntilde: 209,
- ntilde: 241,
- ntlg: 8824,
- ntriangleleft: 8938,
- ntrianglelefteq: 8940,
- ntriangleright: 8939,
- ntrianglerighteq: 8941,
- Nu: 925,
- nu: 957,
- num: 35,
- numero: 8470,
- numsp: 8199,
- nvap: 8781,
- nvdash: 8876,
- nvDash: 8877,
- nVdash: 8878,
- nVDash: 8879,
- nvge: 8805,
- nvgt: 62,
- nvHarr: 10500,
- nvinfin: 10718,
- nvlArr: 10498,
- nvle: 8804,
- nvlt: 62,
- nvltrie: 8884,
- nvrArr: 10499,
- nvrtrie: 8885,
- nvsim: 8764,
- nwarhk: 10531,
- nwarr: 8598,
- nwArr: 8662,
- nwarrow: 8598,
- nwnear: 10535,
- Oacute: 211,
- oacute: 243,
- oast: 8859,
- Ocirc: 212,
- ocirc: 244,
- ocir: 8858,
- Ocy: 1054,
- ocy: 1086,
- odash: 8861,
- Odblac: 336,
- odblac: 337,
- odiv: 10808,
- odot: 8857,
- odsold: 10684,
- OElig: 338,
- oelig: 339,
- ofcir: 10687,
- Ofr: 55349,
- ofr: 55349,
- ogon: 731,
- Ograve: 210,
- ograve: 242,
- ogt: 10689,
- ohbar: 10677,
- ohm: 937,
- oint: 8750,
- olarr: 8634,
- olcir: 10686,
- olcross: 10683,
- oline: 8254,
- olt: 10688,
- Omacr: 332,
- omacr: 333,
- Omega: 937,
- omega: 969,
- Omicron: 927,
- omicron: 959,
- omid: 10678,
- ominus: 8854,
- Oopf: 55349,
- oopf: 55349,
- opar: 10679,
- OpenCurlyDoubleQuote: 8220,
- OpenCurlyQuote: 8216,
- operp: 10681,
- oplus: 8853,
- orarr: 8635,
- Or: 10836,
- or: 8744,
- ord: 10845,
- order: 8500,
- orderof: 8500,
- ordf: 170,
- ordm: 186,
- origof: 8886,
- oror: 10838,
- orslope: 10839,
- orv: 10843,
- oS: 9416,
- Oscr: 55349,
- oscr: 8500,
- Oslash: 216,
- oslash: 248,
- osol: 8856,
- Otilde: 213,
- otilde: 245,
- otimesas: 10806,
- Otimes: 10807,
- otimes: 8855,
- Ouml: 214,
- ouml: 246,
- ovbar: 9021,
- OverBar: 8254,
- OverBrace: 9182,
- OverBracket: 9140,
- OverParenthesis: 9180,
- para: 182,
- parallel: 8741,
- par: 8741,
- parsim: 10995,
- parsl: 11005,
- part: 8706,
- PartialD: 8706,
- Pcy: 1055,
- pcy: 1087,
- percnt: 37,
- period: 46,
- permil: 8240,
- perp: 8869,
- pertenk: 8241,
- Pfr: 55349,
- pfr: 55349,
- Phi: 934,
- phi: 966,
- phiv: 981,
- phmmat: 8499,
- phone: 9742,
- Pi: 928,
- pi: 960,
- pitchfork: 8916,
- piv: 982,
- planck: 8463,
- planckh: 8462,
- plankv: 8463,
- plusacir: 10787,
- plusb: 8862,
- pluscir: 10786,
- plus: 43,
- plusdo: 8724,
- plusdu: 10789,
- pluse: 10866,
- PlusMinus: 177,
- plusmn: 177,
- plussim: 10790,
- plustwo: 10791,
- pm: 177,
- Poincareplane: 8460,
- pointint: 10773,
- popf: 55349,
- Popf: 8473,
- pound: 163,
- prap: 10935,
- Pr: 10939,
- pr: 8826,
- prcue: 8828,
- precapprox: 10935,
- prec: 8826,
- preccurlyeq: 8828,
- Precedes: 8826,
- PrecedesEqual: 10927,
- PrecedesSlantEqual: 8828,
- PrecedesTilde: 8830,
- preceq: 10927,
- precnapprox: 10937,
- precneqq: 10933,
- precnsim: 8936,
- pre: 10927,
- prE: 10931,
- precsim: 8830,
- prime: 8242,
- Prime: 8243,
- primes: 8473,
- prnap: 10937,
- prnE: 10933,
- prnsim: 8936,
- prod: 8719,
- Product: 8719,
- profalar: 9006,
- profline: 8978,
- profsurf: 8979,
- prop: 8733,
- Proportional: 8733,
- Proportion: 8759,
- propto: 8733,
- prsim: 8830,
- prurel: 8880,
- Pscr: 55349,
- pscr: 55349,
- Psi: 936,
- psi: 968,
- puncsp: 8200,
- Qfr: 55349,
- qfr: 55349,
- qint: 10764,
- qopf: 55349,
- Qopf: 8474,
- qprime: 8279,
- Qscr: 55349,
- qscr: 55349,
- quaternions: 8461,
- quatint: 10774,
- quest: 63,
- questeq: 8799,
- quot: 34,
- QUOT: 34,
- rAarr: 8667,
- race: 8765,
- Racute: 340,
- racute: 341,
- radic: 8730,
- raemptyv: 10675,
- rang: 10217,
- Rang: 10219,
- rangd: 10642,
- range: 10661,
- rangle: 10217,
- raquo: 187,
- rarrap: 10613,
- rarrb: 8677,
- rarrbfs: 10528,
- rarrc: 10547,
- rarr: 8594,
- Rarr: 8608,
- rArr: 8658,
- rarrfs: 10526,
- rarrhk: 8618,
- rarrlp: 8620,
- rarrpl: 10565,
- rarrsim: 10612,
- Rarrtl: 10518,
- rarrtl: 8611,
- rarrw: 8605,
- ratail: 10522,
- rAtail: 10524,
- ratio: 8758,
- rationals: 8474,
- rbarr: 10509,
- rBarr: 10511,
- RBarr: 10512,
- rbbrk: 10099,
- rbrace: 125,
- rbrack: 93,
- rbrke: 10636,
- rbrksld: 10638,
- rbrkslu: 10640,
- Rcaron: 344,
- rcaron: 345,
- Rcedil: 342,
- rcedil: 343,
- rceil: 8969,
- rcub: 125,
- Rcy: 1056,
- rcy: 1088,
- rdca: 10551,
- rdldhar: 10601,
- rdquo: 8221,
- rdquor: 8221,
- rdsh: 8627,
- real: 8476,
- realine: 8475,
- realpart: 8476,
- reals: 8477,
- Re: 8476,
- rect: 9645,
- reg: 174,
- REG: 174,
- ReverseElement: 8715,
- ReverseEquilibrium: 8651,
- ReverseUpEquilibrium: 10607,
- rfisht: 10621,
- rfloor: 8971,
- rfr: 55349,
- Rfr: 8476,
- rHar: 10596,
- rhard: 8641,
- rharu: 8640,
- rharul: 10604,
- Rho: 929,
- rho: 961,
- rhov: 1009,
- RightAngleBracket: 10217,
- RightArrowBar: 8677,
- rightarrow: 8594,
- RightArrow: 8594,
- Rightarrow: 8658,
- RightArrowLeftArrow: 8644,
- rightarrowtail: 8611,
- RightCeiling: 8969,
- RightDoubleBracket: 10215,
- RightDownTeeVector: 10589,
- RightDownVectorBar: 10581,
- RightDownVector: 8642,
- RightFloor: 8971,
- rightharpoondown: 8641,
- rightharpoonup: 8640,
- rightleftarrows: 8644,
- rightleftharpoons: 8652,
- rightrightarrows: 8649,
- rightsquigarrow: 8605,
- RightTeeArrow: 8614,
- RightTee: 8866,
- RightTeeVector: 10587,
- rightthreetimes: 8908,
- RightTriangleBar: 10704,
- RightTriangle: 8883,
- RightTriangleEqual: 8885,
- RightUpDownVector: 10575,
- RightUpTeeVector: 10588,
- RightUpVectorBar: 10580,
- RightUpVector: 8638,
- RightVectorBar: 10579,
- RightVector: 8640,
- ring: 730,
- risingdotseq: 8787,
- rlarr: 8644,
- rlhar: 8652,
- rlm: 8207,
- rmoustache: 9137,
- rmoust: 9137,
- rnmid: 10990,
- roang: 10221,
- roarr: 8702,
- robrk: 10215,
- ropar: 10630,
- ropf: 55349,
- Ropf: 8477,
- roplus: 10798,
- rotimes: 10805,
- RoundImplies: 10608,
- rpar: 41,
- rpargt: 10644,
- rppolint: 10770,
- rrarr: 8649,
- Rrightarrow: 8667,
- rsaquo: 8250,
- rscr: 55349,
- Rscr: 8475,
- rsh: 8625,
- Rsh: 8625,
- rsqb: 93,
- rsquo: 8217,
- rsquor: 8217,
- rthree: 8908,
- rtimes: 8906,
- rtri: 9657,
- rtrie: 8885,
- rtrif: 9656,
- rtriltri: 10702,
- RuleDelayed: 10740,
- ruluhar: 10600,
- rx: 8478,
- Sacute: 346,
- sacute: 347,
- sbquo: 8218,
- scap: 10936,
- Scaron: 352,
- scaron: 353,
- Sc: 10940,
- sc: 8827,
- sccue: 8829,
- sce: 10928,
- scE: 10932,
- Scedil: 350,
- scedil: 351,
- Scirc: 348,
- scirc: 349,
- scnap: 10938,
- scnE: 10934,
- scnsim: 8937,
- scpolint: 10771,
- scsim: 8831,
- Scy: 1057,
- scy: 1089,
- sdotb: 8865,
- sdot: 8901,
- sdote: 10854,
- searhk: 10533,
- searr: 8600,
- seArr: 8664,
- searrow: 8600,
- sect: 167,
- semi: 59,
- seswar: 10537,
- setminus: 8726,
- setmn: 8726,
- sext: 10038,
- Sfr: 55349,
- sfr: 55349,
- sfrown: 8994,
- sharp: 9839,
- SHCHcy: 1065,
- shchcy: 1097,
- SHcy: 1064,
- shcy: 1096,
- ShortDownArrow: 8595,
- ShortLeftArrow: 8592,
- shortmid: 8739,
- shortparallel: 8741,
- ShortRightArrow: 8594,
- ShortUpArrow: 8593,
- shy: 173,
- Sigma: 931,
- sigma: 963,
- sigmaf: 962,
- sigmav: 962,
- sim: 8764,
- simdot: 10858,
- sime: 8771,
- simeq: 8771,
- simg: 10910,
- simgE: 10912,
- siml: 10909,
- simlE: 10911,
- simne: 8774,
- simplus: 10788,
- simrarr: 10610,
- slarr: 8592,
- SmallCircle: 8728,
- smallsetminus: 8726,
- smashp: 10803,
- smeparsl: 10724,
- smid: 8739,
- smile: 8995,
- smt: 10922,
- smte: 10924,
- smtes: 10924,
- SOFTcy: 1068,
- softcy: 1100,
- solbar: 9023,
- solb: 10692,
- sol: 47,
- Sopf: 55349,
- sopf: 55349,
- spades: 9824,
- spadesuit: 9824,
- spar: 8741,
- sqcap: 8851,
- sqcaps: 8851,
- sqcup: 8852,
- sqcups: 8852,
- Sqrt: 8730,
- sqsub: 8847,
- sqsube: 8849,
- sqsubset: 8847,
- sqsubseteq: 8849,
- sqsup: 8848,
- sqsupe: 8850,
- sqsupset: 8848,
- sqsupseteq: 8850,
- square: 9633,
- Square: 9633,
- SquareIntersection: 8851,
- SquareSubset: 8847,
- SquareSubsetEqual: 8849,
- SquareSuperset: 8848,
- SquareSupersetEqual: 8850,
- SquareUnion: 8852,
- squarf: 9642,
- squ: 9633,
- squf: 9642,
- srarr: 8594,
- Sscr: 55349,
- sscr: 55349,
- ssetmn: 8726,
- ssmile: 8995,
- sstarf: 8902,
- Star: 8902,
- star: 9734,
- starf: 9733,
- straightepsilon: 1013,
- straightphi: 981,
- strns: 175,
- sub: 8834,
- Sub: 8912,
- subdot: 10941,
- subE: 10949,
- sube: 8838,
- subedot: 10947,
- submult: 10945,
- subnE: 10955,
- subne: 8842,
- subplus: 10943,
- subrarr: 10617,
- subset: 8834,
- Subset: 8912,
- subseteq: 8838,
- subseteqq: 10949,
- SubsetEqual: 8838,
- subsetneq: 8842,
- subsetneqq: 10955,
- subsim: 10951,
- subsub: 10965,
- subsup: 10963,
- succapprox: 10936,
- succ: 8827,
- succcurlyeq: 8829,
- Succeeds: 8827,
- SucceedsEqual: 10928,
- SucceedsSlantEqual: 8829,
- SucceedsTilde: 8831,
- succeq: 10928,
- succnapprox: 10938,
- succneqq: 10934,
- succnsim: 8937,
- succsim: 8831,
- SuchThat: 8715,
- sum: 8721,
- Sum: 8721,
- sung: 9834,
- sup1: 185,
- sup2: 178,
- sup3: 179,
- sup: 8835,
- Sup: 8913,
- supdot: 10942,
- supdsub: 10968,
- supE: 10950,
- supe: 8839,
- supedot: 10948,
- Superset: 8835,
- SupersetEqual: 8839,
- suphsol: 10185,
- suphsub: 10967,
- suplarr: 10619,
- supmult: 10946,
- supnE: 10956,
- supne: 8843,
- supplus: 10944,
- supset: 8835,
- Supset: 8913,
- supseteq: 8839,
- supseteqq: 10950,
- supsetneq: 8843,
- supsetneqq: 10956,
- supsim: 10952,
- supsub: 10964,
- supsup: 10966,
- swarhk: 10534,
- swarr: 8601,
- swArr: 8665,
- swarrow: 8601,
- swnwar: 10538,
- szlig: 223,
- Tab: NaN,
- target: 8982,
- Tau: 932,
- tau: 964,
- tbrk: 9140,
- Tcaron: 356,
- tcaron: 357,
- Tcedil: 354,
- tcedil: 355,
- Tcy: 1058,
- tcy: 1090,
- tdot: 8411,
- telrec: 8981,
- Tfr: 55349,
- tfr: 55349,
- there4: 8756,
- therefore: 8756,
- Therefore: 8756,
- Theta: 920,
- theta: 952,
- thetasym: 977,
- thetav: 977,
- thickapprox: 8776,
- thicksim: 8764,
- ThickSpace: 8287,
- ThinSpace: 8201,
- thinsp: 8201,
- thkap: 8776,
- thksim: 8764,
- THORN: 222,
- thorn: 254,
- tilde: 732,
- Tilde: 8764,
- TildeEqual: 8771,
- TildeFullEqual: 8773,
- TildeTilde: 8776,
- timesbar: 10801,
- timesb: 8864,
- times: 215,
- timesd: 10800,
- tint: 8749,
- toea: 10536,
- topbot: 9014,
- topcir: 10993,
- top: 8868,
- Topf: 55349,
- topf: 55349,
- topfork: 10970,
- tosa: 10537,
- tprime: 8244,
- trade: 8482,
- TRADE: 8482,
- triangle: 9653,
- triangledown: 9663,
- triangleleft: 9667,
- trianglelefteq: 8884,
- triangleq: 8796,
- triangleright: 9657,
- trianglerighteq: 8885,
- tridot: 9708,
- trie: 8796,
- triminus: 10810,
- TripleDot: 8411,
- triplus: 10809,
- trisb: 10701,
- tritime: 10811,
- trpezium: 9186,
- Tscr: 55349,
- tscr: 55349,
- TScy: 1062,
- tscy: 1094,
- TSHcy: 1035,
- tshcy: 1115,
- Tstrok: 358,
- tstrok: 359,
- twixt: 8812,
- twoheadleftarrow: 8606,
- twoheadrightarrow: 8608,
- Uacute: 218,
- uacute: 250,
- uarr: 8593,
- Uarr: 8607,
- uArr: 8657,
- Uarrocir: 10569,
- Ubrcy: 1038,
- ubrcy: 1118,
- Ubreve: 364,
- ubreve: 365,
- Ucirc: 219,
- ucirc: 251,
- Ucy: 1059,
- ucy: 1091,
- udarr: 8645,
- Udblac: 368,
- udblac: 369,
- udhar: 10606,
- ufisht: 10622,
- Ufr: 55349,
- ufr: 55349,
- Ugrave: 217,
- ugrave: 249,
- uHar: 10595,
- uharl: 8639,
- uharr: 8638,
- uhblk: 9600,
- ulcorn: 8988,
- ulcorner: 8988,
- ulcrop: 8975,
- ultri: 9720,
- Umacr: 362,
- umacr: 363,
- uml: 168,
- UnderBar: 95,
- UnderBrace: 9183,
- UnderBracket: 9141,
- UnderParenthesis: 9181,
- Union: 8899,
- UnionPlus: 8846,
- Uogon: 370,
- uogon: 371,
- Uopf: 55349,
- uopf: 55349,
- UpArrowBar: 10514,
- uparrow: 8593,
- UpArrow: 8593,
- Uparrow: 8657,
- UpArrowDownArrow: 8645,
- updownarrow: 8597,
- UpDownArrow: 8597,
- Updownarrow: 8661,
- UpEquilibrium: 10606,
- upharpoonleft: 8639,
- upharpoonright: 8638,
- uplus: 8846,
- UpperLeftArrow: 8598,
- UpperRightArrow: 8599,
- upsi: 965,
- Upsi: 978,
- upsih: 978,
- Upsilon: 933,
- upsilon: 965,
- UpTeeArrow: 8613,
- UpTee: 8869,
- upuparrows: 8648,
- urcorn: 8989,
- urcorner: 8989,
- urcrop: 8974,
- Uring: 366,
- uring: 367,
- urtri: 9721,
- Uscr: 55349,
- uscr: 55349,
- utdot: 8944,
- Utilde: 360,
- utilde: 361,
- utri: 9653,
- utrif: 9652,
- uuarr: 8648,
- Uuml: 220,
- uuml: 252,
- uwangle: 10663,
- vangrt: 10652,
- varepsilon: 1013,
- varkappa: 1008,
- varnothing: 8709,
- varphi: 981,
- varpi: 982,
- varpropto: 8733,
- varr: 8597,
- vArr: 8661,
- varrho: 1009,
- varsigma: 962,
- varsubsetneq: 8842,
- varsubsetneqq: 10955,
- varsupsetneq: 8843,
- varsupsetneqq: 10956,
- vartheta: 977,
- vartriangleleft: 8882,
- vartriangleright: 8883,
- vBar: 10984,
- Vbar: 10987,
- vBarv: 10985,
- Vcy: 1042,
- vcy: 1074,
- vdash: 8866,
- vDash: 8872,
- Vdash: 8873,
- VDash: 8875,
- Vdashl: 10982,
- veebar: 8891,
- vee: 8744,
- Vee: 8897,
- veeeq: 8794,
- vellip: 8942,
- verbar: 124,
- Verbar: 8214,
- vert: 124,
- Vert: 8214,
- VerticalBar: 8739,
- VerticalLine: 124,
- VerticalSeparator: 10072,
- VerticalTilde: 8768,
- VeryThinSpace: 8202,
- Vfr: 55349,
- vfr: 55349,
- vltri: 8882,
- vnsub: 8834,
- vnsup: 8835,
- Vopf: 55349,
- vopf: 55349,
- vprop: 8733,
- vrtri: 8883,
- Vscr: 55349,
- vscr: 55349,
- vsubnE: 10955,
- vsubne: 8842,
- vsupnE: 10956,
- vsupne: 8843,
- Vvdash: 8874,
- vzigzag: 10650,
- Wcirc: 372,
- wcirc: 373,
- wedbar: 10847,
- wedge: 8743,
- Wedge: 8896,
- wedgeq: 8793,
- weierp: 8472,
- Wfr: 55349,
- wfr: 55349,
- Wopf: 55349,
- wopf: 55349,
- wp: 8472,
- wr: 8768,
- wreath: 8768,
- Wscr: 55349,
- wscr: 55349,
- xcap: 8898,
- xcirc: 9711,
- xcup: 8899,
- xdtri: 9661,
- Xfr: 55349,
- xfr: 55349,
- xharr: 10231,
- xhArr: 10234,
- Xi: 926,
- xi: 958,
- xlarr: 10229,
- xlArr: 10232,
- xmap: 10236,
- xnis: 8955,
- xodot: 10752,
- Xopf: 55349,
- xopf: 55349,
- xoplus: 10753,
- xotime: 10754,
- xrarr: 10230,
- xrArr: 10233,
- Xscr: 55349,
- xscr: 55349,
- xsqcup: 10758,
- xuplus: 10756,
- xutri: 9651,
- xvee: 8897,
- xwedge: 8896,
- Yacute: 221,
- yacute: 253,
- YAcy: 1071,
- yacy: 1103,
- Ycirc: 374,
- ycirc: 375,
- Ycy: 1067,
- ycy: 1099,
- yen: 165,
- Yfr: 55349,
- yfr: 55349,
- YIcy: 1031,
- yicy: 1111,
- Yopf: 55349,
- yopf: 55349,
- Yscr: 55349,
- yscr: 55349,
- YUcy: 1070,
- yucy: 1102,
- yuml: 255,
- Yuml: 376,
- Zacute: 377,
- zacute: 378,
- Zcaron: 381,
- zcaron: 382,
- Zcy: 1047,
- zcy: 1079,
- Zdot: 379,
- zdot: 380,
- zeetrf: 8488,
- ZeroWidthSpace: 8203,
- Zeta: 918,
- zeta: 950,
- zfr: 55349,
- Zfr: 8488,
- ZHcy: 1046,
- zhcy: 1078,
- zigrarr: 8669,
- zopf: 55349,
- Zopf: 8484,
- Zscr: 55349,
- zscr: 55349,
- zwj: 8205,
- zwnj: 8204 };
-
-var entityToChar = function(m) {
- var isNumeric = m.slice(0, 2) === "";
- var c;
- var isHex = isNumeric && (c = m.slice(2, 3)) && (c === 'X' || c === 'x');
- var uchar;
- var ucode;
- if (isNumeric) {
- var num;
- if (isHex) {
- num = parseInt(m.slice(3, m.length - 1), 16);
+ // find first closer above stack_bottom:
+ closer = this.delimiters;
+ while (closer !== null && closer.previous !== stack_bottom) {
+ closer = closer.previous;
+ }
+ // move forward, looking for closers, and handling each
+ while (closer !== null) {
+ var closercc = closer.cc;
+ if (!(closer.can_close && (closercc === C_UNDERSCORE ||
+ closercc === C_ASTERISK ||
+ closercc === C_SINGLEQUOTE ||
+ closercc === C_DOUBLEQUOTE))) {
+ closer = closer.next;
} else {
- num = parseInt(m.slice(2, m.length - 1), 10);
+ // found emphasis closer. now look back for first matching opener:
+ opener = closer.previous;
+ opener_found = false;
+ while (opener !== null && opener !== stack_bottom &&
+ opener !== openers_bottom[closercc]) {
+ if (opener.cc === closer.cc && opener.can_open) {
+ opener_found = true;
+ break;
+ }
+ opener = opener.previous;
+ }
+ old_closer = closer;
+
+ if (closercc === C_ASTERISK || closercc === C_UNDERSCORE) {
+ if (!opener_found) {
+ closer = closer.next;
+ } else {
+ // calculate actual number of delimiters used from closer
+ if (closer.numdelims < 3 || opener.numdelims < 3) {
+ use_delims = closer.numdelims <= opener.numdelims ?
+ closer.numdelims : opener.numdelims;
+ } else {
+ use_delims = closer.numdelims % 2 === 0 ? 2 : 1;
+ }
+
+ opener_inl = opener.node;
+ closer_inl = closer.node;
+
+ // remove used delimiters from stack elts and inlines
+ opener.numdelims -= use_delims;
+ closer.numdelims -= use_delims;
+ opener_inl._literal =
+ opener_inl._literal.slice(0,
+ opener_inl._literal.length - use_delims);
+ closer_inl._literal =
+ closer_inl._literal.slice(0,
+ closer_inl._literal.length - use_delims);
+
+ // build contents for new emph element
+ var emph = new Node(use_delims === 1 ? 'Emph' : 'Strong');
+
+ tmp = opener_inl._next;
+ while (tmp && tmp !== closer_inl) {
+ next = tmp._next;
+ tmp.unlink();
+ emph.appendChild(tmp);
+ tmp = next;
+ }
+
+ opener_inl.insertAfter(emph);
+
+ // remove elts between opener and closer in delimiters stack
+ removeDelimitersBetween(opener, closer);
+
+ // if opener has 0 delims, remove it and the inline
+ if (opener.numdelims === 0) {
+ opener_inl.unlink();
+ this.removeDelimiter(opener);
+ }
+
+ if (closer.numdelims === 0) {
+ closer_inl.unlink();
+ tempstack = closer.next;
+ this.removeDelimiter(closer);
+ closer = tempstack;
+ }
+
+ }
+
+ } else if (closercc === C_SINGLEQUOTE) {
+ closer.node._literal = "\u2019";
+ if (opener_found) {
+ opener.node._literal = "\u2018";
+ }
+ closer = closer.next;
+
+ } else if (closercc === C_DOUBLEQUOTE) {
+ closer.node._literal = "\u201D";
+ if (opener_found) {
+ opener.node.literal = "\u201C";
+ }
+ closer = closer.next;
+
+ }
+ if (!opener_found) {
+ // Set lower bound for future searches for openers:
+ openers_bottom[closercc] = old_closer.previous;
+ if (!old_closer.can_open) {
+ // We can remove a closer that can't be an opener,
+ // once we've seen there's no matching opener:
+ this.removeDelimiter(old_closer);
+ }
+ }
}
- if (num === 0) {
- uchar = '\uFFFD';
+
+ }
+
+ // remove all delimiters
+ while (this.delimiters !== null && this.delimiters !== stack_bottom) {
+ this.removeDelimiter(this.delimiters);
+ }
+};
+
+// Attempt to parse link title (sans quotes), returning the string
+// or null if no match.
+var parseLinkTitle = function() {
+ var title = this.match(reLinkTitle);
+ if (title === null) {
+ return null;
+ } else {
+ // chop off quotes from title and unescape:
+ return unescapeString(title.substr(1, title.length - 2));
+ }
+};
+
+// Attempt to parse link destination, returning the string or
+// null if no match.
+var parseLinkDestination = function() {
+ var res = this.match(reLinkDestinationBraces);
+ if (res === null) {
+ res = this.match(reLinkDestination);
+ if (res === null) {
+ return null;
} else {
- uchar = fromCodePoint(num);
+ return normalizeURI(unescapeString(res));
}
+ } else { // chop off surrounding <..>:
+ return normalizeURI(unescapeString(res.substr(1, res.length - 2)));
+ }
+};
+
+// Attempt to parse a link label, returning number of characters parsed.
+var parseLinkLabel = function() {
+ var m = this.match(reLinkLabel);
+ if (m === null || m.length > 1001) {
+ return 0;
} else {
- ucode = entities[m.slice(1, m.length - 1)];
- if (ucode) {
- uchar = fromCodePoint(entities[m.slice(1, m.length - 1)]);
- }
+ return m.length;
}
- return (uchar || m);
};
-module.exports.entityToChar = entityToChar;
+// Add open bracket to delimiter stack and add a text node to block's children.
+var parseOpenBracket = function(block) {
+ var startpos = this.pos;
+ this.pos += 1;
-},{"./from-code-point":5}],8:[function(require,module,exports){
-"use strict";
+ var node = text('[');
+ block.appendChild(node);
-// commonmark.js - CommomMark in JavaScript
-// Copyright (C) 2014 John MacFarlane
-// License: BSD3.
+ // Add entry to stack for this opener
+ this.delimiters = { cc: C_OPEN_BRACKET,
+ numdelims: 1,
+ node: node,
+ previous: this.delimiters,
+ next: null,
+ can_open: true,
+ can_close: false,
+ index: startpos,
+ active: true };
+ if (this.delimiters.previous !== null) {
+ this.delimiters.previous.next = this.delimiters;
+ }
-// Basic usage:
-//
-// var commonmark = require('commonmark');
-// var parser = new commonmark.Parser();
-// var renderer = new commonmark.HtmlRenderer();
-// console.log(renderer.render(parser.parse('Hello *world*')));
+ return true;
-module.exports.Node = require('./node');
-module.exports.Parser = require('./blocks');
-module.exports.HtmlRenderer = require('./html');
-module.exports.XmlRenderer = require('./xml');
+};
-},{"./blocks":1,"./html":6,"./node":10,"./xml":12}],9:[function(require,module,exports){
-"use strict";
+// IF next character is [, and ! delimiter to delimiter stack and
+// add a text node to block's children. Otherwise just add a text node.
+var parseBang = function(block) {
+ var startpos = this.pos;
+ this.pos += 1;
+ if (this.peek() === C_OPEN_BRACKET) {
+ this.pos += 1;
-var Node = require('./node');
-var common = require('./common');
-var normalizeReference = require('./normalize-reference');
+ var node = text('![');
+ block.appendChild(node);
-var normalizeURI = common.normalizeURI;
-var unescapeString = common.unescapeString;
-var fromCodePoint = require('./from-code-point.js');
-var entityToChar = require('./html5-entities.js').entityToChar;
+ // Add entry to stack for this opener
+ this.delimiters = { cc: C_BANG,
+ numdelims: 1,
+ node: node,
+ previous: this.delimiters,
+ next: null,
+ can_open: true,
+ can_close: false,
+ index: startpos + 1,
+ active: true };
+ if (this.delimiters.previous !== null) {
+ this.delimiters.previous.next = this.delimiters;
+ }
+ } else {
+ block.appendChild(text('!'));
+ }
+ return true;
+};
-// Constants for character codes:
+// Try to match close bracket against an opening in the delimiter
+// stack. Add either a link or image, or a plain [ character,
+// to block's children. If there is a matching delimiter,
+// remove it from the delimiter stack.
+var parseCloseBracket = function(block) {
+ var startpos;
+ var is_image;
+ var dest;
+ var title;
+ var matched = false;
+ var reflabel;
+ var opener;
-var C_NEWLINE = 10;
-var C_ASTERISK = 42;
-var C_UNDERSCORE = 95;
-var C_BACKTICK = 96;
-var C_OPEN_BRACKET = 91;
-var C_CLOSE_BRACKET = 93;
-var C_LESSTHAN = 60;
-var C_BANG = 33;
-var C_BACKSLASH = 92;
-var C_AMPERSAND = 38;
-var C_OPEN_PAREN = 40;
-var C_CLOSE_PAREN = 41;
-var C_COLON = 58;
-var C_SINGLEQUOTE = 39;
-var C_DOUBLEQUOTE = 34;
+ this.pos += 1;
+ startpos = this.pos;
-// Some regexps used in inline parser:
+ // look through stack of delimiters for a [ or ![
+ opener = this.delimiters;
-var ESCAPABLE = common.ESCAPABLE;
-var ESCAPED_CHAR = '\\\\' + ESCAPABLE;
-var REG_CHAR = '[^\\\\()\\x00-\\x20]';
-var IN_PARENS_NOSP = '\\((' + REG_CHAR + '|' + ESCAPED_CHAR + ')*\\)';
-var TAGNAME = '[A-Za-z][A-Za-z0-9]*';
-var ATTRIBUTENAME = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
-var UNQUOTEDVALUE = "[^\"'=<>`\\x00-\\x20]+";
-var SINGLEQUOTEDVALUE = "'[^']*'";
-var DOUBLEQUOTEDVALUE = '"[^"]*"';
-var ATTRIBUTEVALUE = "(?:" + UNQUOTEDVALUE + "|" + SINGLEQUOTEDVALUE + "|" + DOUBLEQUOTEDVALUE + ")";
-var ATTRIBUTEVALUESPEC = "(?:" + "\\s*=" + "\\s*" + ATTRIBUTEVALUE + ")";
-var ATTRIBUTE = "(?:" + "\\s+" + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + "?)";
-var OPENTAG = "<" + TAGNAME + ATTRIBUTE + "*" + "\\s*/?>";
-var CLOSETAG = "" + TAGNAME + "\\s*[>]";
-var HTMLCOMMENT = "|";
-var PROCESSINGINSTRUCTION = "[<][?].*?[?][>]";
-var DECLARATION = "]*>";
-var CDATA = "";
-var HTMLTAG = "(?:" + OPENTAG + "|" + CLOSETAG + "|" + HTMLCOMMENT + "|" +
- PROCESSINGINSTRUCTION + "|" + DECLARATION + "|" + CDATA + ")";
-var ENTITY = common.ENTITY;
+ while (opener !== null) {
+ if (opener.cc === C_OPEN_BRACKET || opener.cc === C_BANG) {
+ break;
+ }
+ opener = opener.previous;
+ }
-var rePunctuation = new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/);
+ if (opener === null) {
+ // no matched opener, just return a literal
+ block.appendChild(text(']'));
+ return true;
+ }
-var reHtmlTag = new RegExp('^' + HTMLTAG, 'i');
+ if (!opener.active) {
+ // no matched opener, just return a literal
+ block.appendChild(text(']'));
+ // take opener off emphasis stack
+ this.removeDelimiter(opener);
+ return true;
+ }
-var reLinkTitle = new RegExp(
- '^(?:"(' + ESCAPED_CHAR + '|[^"\\x00])*"' +
- '|' +
- '\'(' + ESCAPED_CHAR + '|[^\'\\x00])*\'' +
- '|' +
- '\\((' + ESCAPED_CHAR + '|[^)\\x00])*\\))');
+ // If we got here, open is a potential opener
+ is_image = opener.cc === C_BANG;
-var reLinkDestinationBraces = new RegExp(
- '^(?:[<](?:[^<>\\n\\\\\\x00]' + '|' + ESCAPED_CHAR + '|' + '\\\\)*[>])');
+ // Check to see if we have a link/image
-var reLinkDestination = new RegExp(
- '^(?:' + REG_CHAR + '+|' + ESCAPED_CHAR + '|' + IN_PARENS_NOSP + ')*');
+ // Inline link?
+ if (this.peek() === C_OPEN_PAREN) {
+ this.pos++;
+ if (this.spnl() &&
+ ((dest = this.parseLinkDestination()) !== null) &&
+ this.spnl() &&
+ // make sure there's a space before the title:
+ (reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) &&
+ (title = this.parseLinkTitle()) || true) &&
+ this.spnl() &&
+ this.peek() === C_CLOSE_PAREN) {
+ this.pos += 1;
+ matched = true;
+ }
+ } else {
-var reEscapable = new RegExp('^' + ESCAPABLE);
+ // Next, see if there's a link label
+ var savepos = this.pos;
+ this.spnl();
+ var beforelabel = this.pos;
+ var n = this.parseLinkLabel();
+ if (n === 0 || n === 2) {
+ // empty or missing second label
+ reflabel = this.subject.slice(opener.index, startpos);
+ } else {
+ reflabel = this.subject.slice(beforelabel, beforelabel + n);
+ }
+ if (n === 0) {
+ // If shortcut reference link, rewind before spaces we skipped.
+ this.pos = savepos;
+ }
-var reEntityHere = new RegExp('^' + ENTITY, 'i');
+ // lookup rawlabel in refmap
+ var link = this.refmap[normalizeReference(reflabel)];
+ if (link) {
+ dest = link.destination;
+ title = link.title;
+ matched = true;
+ }
+ }
-var reTicks = /`+/;
+ if (matched) {
+ var node = new Node(is_image ? 'Image' : 'Link');
+ node._destination = dest;
+ node._title = title || '';
-var reTicksHere = /^`+/;
+ var tmp, next;
+ tmp = opener.node._next;
+ while (tmp) {
+ next = tmp._next;
+ tmp.unlink();
+ node.appendChild(tmp);
+ tmp = next;
+ }
+ block.appendChild(node);
+ this.processEmphasis(opener.previous);
-var reEllipses = /\.\.\./g;
+ opener.node.unlink();
+
+ // processEmphasis will remove this and later delimiters.
+ // Now, for a link, we also deactivate earlier link openers.
+ // (no links in links)
+ if (!is_image) {
+ opener = this.delimiters;
+ while (opener !== null) {
+ if (opener.cc === C_OPEN_BRACKET) {
+ opener.active = false; // deactivate this opener
+ }
+ opener = opener.previous;
+ }
+ }
-var reDash = /---?/g;
+ return true;
-var reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
+ } else { // no match
-var reAutolink = /^<(?:coap|doi|javascript|aaa|aaas|about|acap|cap|cid|crid|data|dav|dict|dns|file|ftp|geo|go|gopher|h323|http|https|iax|icap|im|imap|info|ipp|iris|iris.beep|iris.xpc|iris.xpcs|iris.lwz|ldap|mailto|mid|msrp|msrps|mtqp|mupdate|news|nfs|ni|nih|nntp|opaquelocktoken|pop|pres|rtsp|service|session|shttp|sieve|sip|sips|sms|snmp|soap.beep|soap.beeps|tag|tel|telnet|tftp|thismessage|tn3270|tip|tv|urn|vemmi|ws|wss|xcon|xcon-userid|xmlrpc.beep|xmlrpc.beeps|xmpp|z39.50r|z39.50s|adiumxtra|afp|afs|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|chrome|chrome-extension|com-eventbrite-attendee|content|cvs|dlna-playsingle|dlna-playcontainer|dtn|dvb|ed2k|facetime|feed|finger|fish|gg|git|gizmoproject|gtalk|hcp|icon|ipn|irc|irc6|ircs|itms|jar|jms|keyparc|lastfm|ldaps|magnet|maps|market|message|mms|ms-help|msnim|mumble|mvn|notes|oid|palm|paparazzi|platform|proxy|psyc|query|res|resource|rmi|rsync|rtmp|secondlife|sftp|sgn|skype|smb|soldat|spotify|ssh|steam|svn|teamspeak|things|udp|unreal|ut2004|ventrilo|view-source|webcal|wtai|wyciwyg|xfire|xri|ymsgr):[^<>\x00-\x20]*>/i;
+ this.removeDelimiter(opener); // remove this opener from stack
+ this.pos = startpos;
+ block.appendChild(text(']'));
+ return true;
+ }
-var reSpnl = /^ *(?:\n *)?/;
+};
-var reWhitespaceChar = /^\s/;
+// Attempt to parse an entity.
+var parseEntity = function(block) {
+ var m;
+ if ((m = this.match(reEntityHere))) {
+ block.appendChild(text(decodeHTML(m)));
+ return true;
+ } else {
+ return false;
+ }
+};
-var reWhitespace = /\s+/g;
+// Parse a run of ordinary characters, or a single character with
+// a special meaning in markdown, as a plain string.
+var parseString = function(block) {
+ var m;
+ if ((m = this.match(reMain))) {
+ if (this.options.smart) {
+ block.appendChild(text(
+ m.replace(reEllipses, "\u2026")
+ .replace(reDash, function(chars) {
+ var enCount = 0;
+ var emCount = 0;
+ if (chars.length % 3 === 0) { // If divisible by 3, use all em dashes
+ emCount = chars.length / 3;
+ } else if (chars.length % 2 === 0) { // If divisible by 2, use all en dashes
+ enCount = chars.length / 2;
+ } else if (chars.length % 3 === 2) { // If 2 extra dashes, use en dash for last 2; em dashes for rest
+ enCount = 1;
+ emCount = (chars.length - 2) / 3;
+ } else { // Use en dashes for last 4 hyphens; em dashes for rest
+ enCount = 2;
+ emCount = (chars.length - 4) / 3;
+ }
+ return "\u2014".repeat(emCount) + "\u2013".repeat(enCount);
+ })));
+ } else {
+ block.appendChild(text(m));
+ }
+ return true;
+ } else {
+ return false;
+ }
+};
-var reFinalSpace = / *$/;
+// Parse a newline. If it was preceded by two spaces, return a hard
+// line break; otherwise a soft line break.
+var parseNewline = function(block) {
+ this.pos += 1; // assume we're at a \n
+ // check previous node for trailing spaces
+ var lastc = block._lastChild;
+ if (lastc && lastc.type === 'Text' && lastc._literal[lastc._literal.length - 1] === ' ') {
+ var hardbreak = lastc._literal[lastc._literal.length - 2] === ' ';
+ lastc._literal = lastc._literal.replace(reFinalSpace, '');
+ block.appendChild(new Node(hardbreak ? 'Hardbreak' : 'Softbreak'));
+ } else {
+ block.appendChild(new Node('Softbreak'));
+ }
+ this.match(reInitialSpace); // gobble leading spaces in next line
+ return true;
+};
-var reInitialSpace = /^ */;
+// Attempt to parse a link reference, modifying refmap.
+var parseReference = function(s, refmap) {
+ this.subject = s;
+ this.pos = 0;
+ var rawlabel;
+ var dest;
+ var title;
+ var matchChars;
+ var startpos = this.pos;
-var reSpaceAtEndOfLine = /^ *(?:\n|$)/;
+ // label:
+ matchChars = this.parseLinkLabel();
+ if (matchChars === 0) {
+ return 0;
+ } else {
+ rawlabel = this.subject.substr(0, matchChars);
+ }
-var reLinkLabel = /^\[(?:[^\\\[\]]|\\[\[\]]){0,1000}\]/;
+ // colon:
+ if (this.peek() === C_COLON) {
+ this.pos++;
+ } else {
+ this.pos = startpos;
+ return 0;
+ }
-// Matches a string of non-special characters.
-var reMain = /^[^\n`\[\]\\!<&*_'"]+/m;
+ // link url
+ this.spnl();
-var text = function(s) {
- var node = new Node('Text');
- node._literal = s;
- return node;
-};
+ dest = this.parseLinkDestination();
+ if (dest === null || dest.length === 0) {
+ this.pos = startpos;
+ return 0;
+ }
-// INLINE PARSER
+ var beforetitle = this.pos;
+ this.spnl();
+ title = this.parseLinkTitle();
+ if (title === null) {
+ title = '';
+ // rewind before spaces
+ this.pos = beforetitle;
+ }
-// These are methods of an InlineParser object, defined below.
-// An InlineParser keeps track of a subject (a string to be
-// parsed) and a position in that subject.
+ // make sure we're at line end:
+ var atLineEnd = true;
+ if (this.match(reSpaceAtEndOfLine) === null) {
+ if (title === '') {
+ atLineEnd = false;
+ } else {
+ // the potential title we found is not at the line end,
+ // but it could still be a legal link reference if we
+ // discard the title
+ title = '';
+ // rewind before spaces
+ this.pos = beforetitle;
+ // and instead check if the link URL is at the line end
+ atLineEnd = this.match(reSpaceAtEndOfLine) !== null;
+ }
+ }
-// If re matches at current position in the subject, advance
-// position in subject and return the match; otherwise return null.
-var match = function(re) {
- var m = re.exec(this.subject.slice(this.pos));
- if (m === null) {
- return null;
- } else {
- this.pos += m.index + m[0].length;
- return m[0];
+ if (!atLineEnd) {
+ this.pos = startpos;
+ return 0;
}
-};
-// Returns the code for the character at the current subject position, or -1
-// there are no more characters.
-var peek = function() {
- if (this.pos < this.subject.length) {
- return this.subject.charCodeAt(this.pos);
- } else {
- return -1;
+ var normlabel = normalizeReference(rawlabel);
+ if (normlabel === '') {
+ // label must contain non-whitespace characters
+ this.pos = startpos;
+ return 0;
}
-};
-// Parse zero or more space characters, including at most one newline
-var spnl = function() {
- this.match(reSpnl);
- return true;
+ if (!refmap[normlabel]) {
+ refmap[normlabel] = { destination: dest, title: title };
+ }
+ return this.pos - startpos;
};
-// All of the parsers below try to match something at the current position
-// in the subject. If they succeed in matching anything, they
-// return the inline matched, advancing the subject.
-
-// Attempt to parse backticks, adding either a backtick code span or a
-// literal sequence of backticks.
-var parseBackticks = function(block) {
- var ticks = this.match(reTicksHere);
- if (ticks === null) {
+// Parse the next inline element in subject, advancing subject position.
+// On success, add the result to block's children and return true.
+// On failure, return false.
+var parseInline = function(block) {
+ var res = false;
+ var c = this.peek();
+ if (c === -1) {
return false;
}
- var afterOpenTicks = this.pos;
- var matched;
- var node;
- while ((matched = this.match(reTicks)) !== null) {
- if (matched === ticks) {
- node = new Node('Code');
- node._literal = this.subject.slice(afterOpenTicks,
- this.pos - ticks.length)
- .trim().replace(reWhitespace, ' ');
- block.appendChild(node);
- return true;
- }
+ switch(c) {
+ case C_NEWLINE:
+ res = this.parseNewline(block);
+ break;
+ case C_BACKSLASH:
+ res = this.parseBackslash(block);
+ break;
+ case C_BACKTICK:
+ res = this.parseBackticks(block);
+ break;
+ case C_ASTERISK:
+ case C_UNDERSCORE:
+ res = this.handleDelim(c, block);
+ break;
+ case C_SINGLEQUOTE:
+ case C_DOUBLEQUOTE:
+ res = this.options.smart && this.handleDelim(c, block);
+ break;
+ case C_OPEN_BRACKET:
+ res = this.parseOpenBracket(block);
+ break;
+ case C_BANG:
+ res = this.parseBang(block);
+ break;
+ case C_CLOSE_BRACKET:
+ res = this.parseCloseBracket(block);
+ break;
+ case C_LESSTHAN:
+ res = this.parseAutolink(block) || this.parseHtmlTag(block);
+ break;
+ case C_AMPERSAND:
+ res = this.parseEntity(block);
+ break;
+ default:
+ res = this.parseString(block);
+ break;
}
- // If we got here, we didn't match a closing backtick sequence.
- this.pos = afterOpenTicks;
- block.appendChild(text(ticks));
+ if (!res) {
+ this.pos += 1;
+ block.appendChild(text(fromCodePoint(c)));
+ }
+
return true;
};
-// Parse a backslash-escaped special character, adding either the escaped
-// character, a hard line break (if the backslash is followed by a newline),
-// or a literal backslash to the block's children. Assumes current character
-// is a backslash.
-var parseBackslash = function(block) {
- var subj = this.subject;
- var node;
- this.pos += 1;
- if (this.peek() === C_NEWLINE) {
- this.pos += 1;
- node = new Node('Hardbreak');
- block.appendChild(node);
- } else if (reEscapable.test(subj.charAt(this.pos))) {
- block.appendChild(text(subj.charAt(this.pos)));
- this.pos += 1;
- } else {
- block.appendChild(text('\\'));
+// Parse string content in block into inline children,
+// using refmap to resolve references.
+var parseInlines = function(block) {
+ this.subject = block._string_content.trim();
+ this.pos = 0;
+ this.delimiters = null;
+ while (this.parseInline(block)) {
}
- return true;
+ block._string_content = null; // allow raw string to be garbage collected
+ this.processEmphasis(null);
};
-// Attempt to parse an autolink (URL or email in pointy brackets).
-var parseAutolink = function(block) {
- var m;
- var dest;
- var node;
- if ((m = this.match(reEmailAutolink))) {
- dest = m.slice(1, m.length - 1);
- node = new Node('Link');
- node._destination = normalizeURI('mailto:' + dest);
- node._title = '';
- node.appendChild(text(dest));
- block.appendChild(node);
- return true;
- } else if ((m = this.match(reAutolink))) {
- dest = m.slice(1, m.length - 1);
- node = new Node('Link');
- node._destination = normalizeURI(dest);
- node._title = '';
- node.appendChild(text(dest));
- block.appendChild(node);
+// The InlineParser object.
+function InlineParser(options){
+ return {
+ subject: '',
+ delimiters: null, // used by handleDelim method
+ pos: 0,
+ refmap: {},
+ match: match,
+ peek: peek,
+ spnl: spnl,
+ parseBackticks: parseBackticks,
+ parseBackslash: parseBackslash,
+ parseAutolink: parseAutolink,
+ parseHtmlTag: parseHtmlTag,
+ scanDelims: scanDelims,
+ handleDelim: handleDelim,
+ parseLinkTitle: parseLinkTitle,
+ parseLinkDestination: parseLinkDestination,
+ parseLinkLabel: parseLinkLabel,
+ parseOpenBracket: parseOpenBracket,
+ parseCloseBracket: parseCloseBracket,
+ parseBang: parseBang,
+ parseEntity: parseEntity,
+ parseString: parseString,
+ parseNewline: parseNewline,
+ parseReference: parseReference,
+ parseInline: parseInline,
+ processEmphasis: processEmphasis,
+ removeDelimiter: removeDelimiter,
+ options: options || {},
+ parse: parseInlines
+ };
+}
+
+module.exports = InlineParser;
+
+},{"./common":2,"./from-code-point.js":3,"./node":7,"./normalize-reference":8,"entities":10,"string.prototype.repeat":20}],7:[function(require,module,exports){
+"use strict";
+
+function isContainer(node) {
+ switch (node._type) {
+ case 'Document':
+ case 'BlockQuote':
+ case 'List':
+ case 'Item':
+ case 'Paragraph':
+ case 'Header':
+ case 'Emph':
+ case 'Strong':
+ case 'Link':
+ case 'Image':
return true;
- } else {
+ default:
return false;
}
-};
+}
-// Attempt to parse a raw HTML tag.
-var parseHtmlTag = function(block) {
- var m = this.match(reHtmlTag);
- if (m === null) {
- return false;
- } else {
- var node = new Node('Html');
- node._literal = m;
- block.appendChild(node);
- return true;
- }
+var resumeAt = function(node, entering) {
+ this.current = node;
+ this.entering = (entering === true);
};
-// Scan a sequence of characters with code cc, and return information about
-// the number of delimiters and whether they are positioned such that
-// they can open and/or close emphasis or strong emphasis. A utility
-// function for strong/emph parsing.
-var scanDelims = function(cc) {
- var numdelims = 0;
- var char_before, char_after, cc_after;
- var startpos = this.pos;
- var left_flanking, right_flanking, can_open, can_close;
- var after_is_whitespace, after_is_punctuation, before_is_whitespace, before_is_punctuation;
-
- if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {
- numdelims++;
- this.pos++;
- } else {
- while (this.peek() === cc) {
- numdelims++;
- this.pos++;
- }
- }
+var next = function(){
+ var cur = this.current;
+ var entering = this.entering;
- if (numdelims === 0) {
+ if (cur === null) {
return null;
}
- char_before = startpos === 0 ? '\n' : this.subject.charAt(startpos - 1);
-
- cc_after = this.peek();
- if (cc_after === -1) {
- char_after = '\n';
- } else {
- char_after = fromCodePoint(cc_after);
- }
+ var container = isContainer(cur);
- after_is_whitespace = reWhitespaceChar.test(char_after);
- after_is_punctuation = rePunctuation.test(char_after);
- before_is_whitespace = reWhitespaceChar.test(char_before);
- before_is_punctuation = rePunctuation.test(char_before);
+ if (entering && container) {
+ if (cur._firstChild) {
+ this.current = cur._firstChild;
+ this.entering = true;
+ } else {
+ // stay on node but exit
+ this.entering = false;
+ }
- left_flanking = !after_is_whitespace &&
- !(after_is_punctuation && !before_is_whitespace && !before_is_punctuation);
- right_flanking = !before_is_whitespace &&
- !(before_is_punctuation && !after_is_whitespace && !after_is_punctuation);
- if (cc === C_UNDERSCORE) {
- can_open = left_flanking &&
- (!right_flanking || before_is_punctuation);
- can_close = right_flanking &&
- (!left_flanking || after_is_punctuation);
- } else {
- can_open = left_flanking;
- can_close = right_flanking;
- }
- this.pos = startpos;
- return { numdelims: numdelims,
- can_open: can_open,
- can_close: can_close };
-};
+ } else if (cur === this.root) {
+ this.current = null;
-// Handle a delimiter marker for emphasis or a quote.
-var handleDelim = function(cc, block) {
- var res = this.scanDelims(cc);
- if (!res) {
- return false;
- }
- var numdelims = res.numdelims;
- var startpos = this.pos;
- var contents;
+ } else if (cur._next === null) {
+ this.current = cur._parent;
+ this.entering = false;
- this.pos += numdelims;
- if (cc === C_SINGLEQUOTE) {
- contents = "\u2019";
- } else if (cc === C_DOUBLEQUOTE) {
- contents = "\u201C";
} else {
- contents = this.subject.slice(startpos, this.pos);
- }
- var node = text(contents);
- block.appendChild(node);
-
- // Add entry to stack for this opener
- this.delimiters = { cc: cc,
- numdelims: numdelims,
- node: node,
- previous: this.delimiters,
- next: null,
- can_open: res.can_open,
- can_close: res.can_close,
- active: true };
- if (this.delimiters.previous !== null) {
- this.delimiters.previous.next = this.delimiters;
+ this.current = cur._next;
+ this.entering = true;
}
- return true;
-
+ return {entering: entering, node: cur};
};
-var removeDelimiter = function(delim) {
- if (delim.previous !== null) {
- delim.previous.next = delim.next;
- }
- if (delim.next === null) {
- // top of stack
- this.delimiters = delim.previous;
- } else {
- delim.next.previous = delim.previous;
- }
+var NodeWalker = function(root) {
+ return { current: root,
+ root: root,
+ entering: true,
+ next: next,
+ resumeAt: resumeAt };
};
-var removeDelimitersBetween = function(bottom, top) {
- if (bottom.next !== top) {
- bottom.next = top;
- top.previous = bottom;
- }
+var Node = function(nodeType, sourcepos) {
+ this._type = nodeType;
+ this._parent = null;
+ this._firstChild = null;
+ this._lastChild = null;
+ this._prev = null;
+ this._next = null;
+ this._sourcepos = sourcepos;
+ this._lastLineBlank = false;
+ this._open = true;
+ this._string_content = null;
+ this._literal = null;
+ this._listData = null;
+ this._info = null;
+ this._destination = null;
+ this._title = null;
+ this._isFenced = false;
+ this._fenceChar = null;
+ this._fenceLength = 0;
+ this._fenceOffset = null;
+ this._level = null;
};
-var processEmphasis = function(stack_bottom) {
- var opener, closer;
- var opener_inl, closer_inl;
- var tempstack;
- var use_delims;
- var tmp, next;
+var proto = Node.prototype;
- // find first closer above stack_bottom:
- closer = this.delimiters;
- while (closer !== null && closer.previous !== stack_bottom) {
- closer = closer.previous;
- }
- // move forward, looking for closers, and handling each
- while (closer !== null) {
- var closercc = closer.cc;
- if (!(closer.can_close && (closercc === C_UNDERSCORE ||
- closercc === C_ASTERISK ||
- closercc === C_SINGLEQUOTE ||
- closercc === C_DOUBLEQUOTE))) {
- closer = closer.next;
- } else {
- // found emphasis closer. now look back for first matching opener:
- opener = closer.previous;
- while (opener !== null && opener !== stack_bottom) {
- if (opener.cc === closer.cc && opener.can_open) {
- break;
- }
- opener = opener.previous;
- }
- if (closercc === C_ASTERISK || closercc === C_UNDERSCORE) {
- if (opener === null || opener === stack_bottom) {
- closer = closer.next;
- } else {
- // calculate actual number of delimiters used from closer
- if (closer.numdelims < 3 || opener.numdelims < 3) {
- use_delims = closer.numdelims <= opener.numdelims ?
- closer.numdelims : opener.numdelims;
- } else {
- use_delims = closer.numdelims % 2 === 0 ? 2 : 1;
- }
+Object.defineProperty(proto, 'isContainer', {
+ get: function () { return isContainer(this); }
+});
- opener_inl = opener.node;
- closer_inl = closer.node;
+Object.defineProperty(proto, 'type', {
+ get: function() { return this._type; }
+});
- // remove used delimiters from stack elts and inlines
- opener.numdelims -= use_delims;
- closer.numdelims -= use_delims;
- opener_inl._literal =
- opener_inl._literal.slice(0,
- opener_inl._literal.length - use_delims);
- closer_inl._literal =
- closer_inl._literal.slice(0,
- closer_inl._literal.length - use_delims);
+Object.defineProperty(proto, 'firstChild', {
+ get: function() { return this._firstChild; }
+});
+
+Object.defineProperty(proto, 'lastChild', {
+ get: function() { return this._lastChild; }
+});
+
+Object.defineProperty(proto, 'next', {
+ get: function() { return this._next; }
+});
- // build contents for new emph element
- var emph = new Node(use_delims === 1 ? 'Emph' : 'Strong');
+Object.defineProperty(proto, 'prev', {
+ get: function() { return this._prev; }
+});
- tmp = opener_inl._next;
- while (tmp && tmp !== closer_inl) {
- next = tmp._next;
- tmp.unlink();
- emph.appendChild(tmp);
- tmp = next;
- }
+Object.defineProperty(proto, 'parent', {
+ get: function() { return this._parent; }
+});
- opener_inl.insertAfter(emph);
+Object.defineProperty(proto, 'sourcepos', {
+ get: function() { return this._sourcepos; }
+});
- // remove elts between opener and closer in delimiters stack
- removeDelimitersBetween(opener, closer);
+Object.defineProperty(proto, 'literal', {
+ get: function() { return this._literal; },
+ set: function(s) { this._literal = s; }
+});
- // if opener has 0 delims, remove it and the inline
- if (opener.numdelims === 0) {
- opener_inl.unlink();
- this.removeDelimiter(opener);
- }
+Object.defineProperty(proto, 'destination', {
+ get: function() { return this._destination; },
+ set: function(s) { this._destination = s; }
+});
- if (closer.numdelims === 0) {
- closer_inl.unlink();
- tempstack = closer.next;
- this.removeDelimiter(closer);
- closer = tempstack;
- }
+Object.defineProperty(proto, 'title', {
+ get: function() { return this._title; },
+ set: function(s) { this._title = s; }
+});
- }
+Object.defineProperty(proto, 'info', {
+ get: function() { return this._info; },
+ set: function(s) { this._info = s; }
+});
- } else if (closercc === C_SINGLEQUOTE) {
- closer.node._literal = "\u2019";
- if (opener !== null && opener !== stack_bottom) {
- opener.node._literal = "\u2018";
- }
- closer = closer.next;
+Object.defineProperty(proto, 'level', {
+ get: function() { return this._level; },
+ set: function(s) { this._level = s; }
+});
- } else if (closercc === C_DOUBLEQUOTE) {
- closer.node._literal = "\u201D";
- if (opener !== null && opener !== stack_bottom) {
- opener.node.literal = "\u201C";
- }
- closer = closer.next;
+Object.defineProperty(proto, 'listType', {
+ get: function() { return this._listData.type; },
+ set: function(t) { this._listData.type = t; }
+});
- }
+Object.defineProperty(proto, 'listTight', {
+ get: function() { return this._listData.tight; },
+ set: function(t) { this._listData.tight = t; }
+});
- }
+Object.defineProperty(proto, 'listStart', {
+ get: function() { return this._listData.start; },
+ set: function(n) { this._listData.start = n; }
+});
- }
+Object.defineProperty(proto, 'listDelimiter', {
+ get: function() { return this._listData.delimiter; },
+ set: function(delim) { this._listData.delimiter = delim; }
+});
- // remove all delimiters
- while (this.delimiters !== stack_bottom) {
- this.removeDelimiter(this.delimiters);
+Node.prototype.appendChild = function(child) {
+ child.unlink();
+ child._parent = this;
+ if (this._lastChild) {
+ this._lastChild._next = child;
+ child._prev = this._lastChild;
+ this._lastChild = child;
+ } else {
+ this._firstChild = child;
+ this._lastChild = child;
}
};
-// Attempt to parse link title (sans quotes), returning the string
-// or null if no match.
-var parseLinkTitle = function() {
- var title = this.match(reLinkTitle);
- if (title === null) {
- return null;
+Node.prototype.prependChild = function(child) {
+ child.unlink();
+ child._parent = this;
+ if (this._firstChild) {
+ this._firstChild._prev = child;
+ child._next = this._firstChild;
+ this._firstChild = child;
} else {
- // chop off quotes from title and unescape:
- return unescapeString(title.substr(1, title.length - 2));
+ this._firstChild = child;
+ this._lastChild = child;
}
};
-// Attempt to parse link destination, returning the string or
-// null if no match.
-var parseLinkDestination = function() {
- var res = this.match(reLinkDestinationBraces);
- if (res === null) {
- res = this.match(reLinkDestination);
- if (res === null) {
- return null;
- } else {
- return normalizeURI(unescapeString(res));
- }
- } else { // chop off surrounding <..>:
- return normalizeURI(unescapeString(res.substr(1, res.length - 2)));
+Node.prototype.unlink = function() {
+ if (this._prev) {
+ this._prev._next = this._next;
+ } else if (this._parent) {
+ this._parent._firstChild = this._next;
+ }
+ if (this._next) {
+ this._next._prev = this._prev;
+ } else if (this._parent) {
+ this._parent._lastChild = this._prev;
}
+ this._parent = null;
+ this._next = null;
+ this._prev = null;
};
-// Attempt to parse a link label, returning number of characters parsed.
-var parseLinkLabel = function() {
- var m = this.match(reLinkLabel);
- return m === null ? 0 : m.length;
+Node.prototype.insertAfter = function(sibling) {
+ sibling.unlink();
+ sibling._next = this._next;
+ if (sibling._next) {
+ sibling._next._prev = sibling;
+ }
+ sibling._prev = this;
+ this._next = sibling;
+ sibling._parent = this._parent;
+ if (!sibling._next) {
+ sibling._parent._lastChild = sibling;
+ }
};
-// Add open bracket to delimiter stack and add a text node to block's children.
-var parseOpenBracket = function(block) {
- var startpos = this.pos;
- this.pos += 1;
+Node.prototype.insertBefore = function(sibling) {
+ sibling.unlink();
+ sibling._prev = this._prev;
+ if (sibling._prev) {
+ sibling._prev._next = sibling;
+ }
+ sibling._next = this;
+ this._prev = sibling;
+ sibling._parent = this._parent;
+ if (!sibling._prev) {
+ sibling._parent._firstChild = sibling;
+ }
+};
- var node = text('[');
- block.appendChild(node);
+Node.prototype.walker = function() {
+ var walker = new NodeWalker(this);
+ return walker;
+};
- // Add entry to stack for this opener
- this.delimiters = { cc: C_OPEN_BRACKET,
- numdelims: 1,
- node: node,
- previous: this.delimiters,
- next: null,
- can_open: true,
- can_close: false,
- index: startpos,
- active: true };
- if (this.delimiters.previous !== null) {
- this.delimiters.previous.next = this.delimiters;
- }
+module.exports = Node;
- return true;
-};
+/* Example of use of walker:
-// IF next character is [, and ! delimiter to delimiter stack and
-// add a text node to block's children. Otherwise just add a text node.
-var parseBang = function(block) {
- var startpos = this.pos;
- this.pos += 1;
- if (this.peek() === C_OPEN_BRACKET) {
- this.pos += 1;
+ var walker = w.walker();
+ var event;
- var node = text('![');
- block.appendChild(node);
+ while (event = walker.next()) {
+ console.log(event.entering, event.node.type);
+ }
- // Add entry to stack for this opener
- this.delimiters = { cc: C_BANG,
- numdelims: 1,
- node: node,
- previous: this.delimiters,
- next: null,
- can_open: true,
- can_close: false,
- index: startpos + 1,
- active: true };
- if (this.delimiters.previous !== null) {
- this.delimiters.previous.next = this.delimiters;
- }
- } else {
- block.appendChild(text('!'));
- }
- return true;
-};
+ */
+
+},{}],8:[function(require,module,exports){
+"use strict";
+
+/* The bulk of this code derives from https://github.com/dmoscrop/fold-case
+But in addition to case-folding, we also normalize whitespace.
+
+fold-case is Copyright Mathias Bynens
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+/*eslint-disable key-spacing, comma-spacing */
-// Try to match close bracket against an opening in the delimiter
-// stack. Add either a link or image, or a plain [ character,
-// to block's children. If there is a matching delimiter,
-// remove it from the delimiter stack.
-var parseCloseBracket = function(block) {
- var startpos;
- var is_image;
- var dest;
- var title;
- var matched = false;
- var reflabel;
- var opener;
+var regex = /[ \t\r\n]+|[A-Z\xB5\xC0-\xD6\xD8-\xDF\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u0149\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u017F\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C5\u01C7\u01C8\u01CA\u01CB\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F0-\u01F2\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0345\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03AB\u03B0\u03C2\u03CF-\u03D1\u03D5\u03D6\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0\u03F1\u03F4\u03F5\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u0587\u10A0-\u10C5\u10C7\u10CD\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E96-\u1E9B\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F50\u1F52\u1F54\u1F56\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F80-\u1FAF\u1FB2-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD2\u1FD3\u1FD6-\u1FDB\u1FE2-\u1FE4\u1FE6-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A\u212B\u2132\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0\uA7B1\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27]|\uD806[\uDCA0-\uDCBF]/g;
- this.pos += 1;
- startpos = this.pos;
+var map = {'A':'a','B':'b','C':'c','D':'d','E':'e','F':'f','G':'g','H':'h','I':'i','J':'j','K':'k','L':'l','M':'m','N':'n','O':'o','P':'p','Q':'q','R':'r','S':'s','T':'t','U':'u','V':'v','W':'w','X':'x','Y':'y','Z':'z','\xB5':'\u03BC','\xC0':'\xE0','\xC1':'\xE1','\xC2':'\xE2','\xC3':'\xE3','\xC4':'\xE4','\xC5':'\xE5','\xC6':'\xE6','\xC7':'\xE7','\xC8':'\xE8','\xC9':'\xE9','\xCA':'\xEA','\xCB':'\xEB','\xCC':'\xEC','\xCD':'\xED','\xCE':'\xEE','\xCF':'\xEF','\xD0':'\xF0','\xD1':'\xF1','\xD2':'\xF2','\xD3':'\xF3','\xD4':'\xF4','\xD5':'\xF5','\xD6':'\xF6','\xD8':'\xF8','\xD9':'\xF9','\xDA':'\xFA','\xDB':'\xFB','\xDC':'\xFC','\xDD':'\xFD','\xDE':'\xFE','\u0100':'\u0101','\u0102':'\u0103','\u0104':'\u0105','\u0106':'\u0107','\u0108':'\u0109','\u010A':'\u010B','\u010C':'\u010D','\u010E':'\u010F','\u0110':'\u0111','\u0112':'\u0113','\u0114':'\u0115','\u0116':'\u0117','\u0118':'\u0119','\u011A':'\u011B','\u011C':'\u011D','\u011E':'\u011F','\u0120':'\u0121','\u0122':'\u0123','\u0124':'\u0125','\u0126':'\u0127','\u0128':'\u0129','\u012A':'\u012B','\u012C':'\u012D','\u012E':'\u012F','\u0132':'\u0133','\u0134':'\u0135','\u0136':'\u0137','\u0139':'\u013A','\u013B':'\u013C','\u013D':'\u013E','\u013F':'\u0140','\u0141':'\u0142','\u0143':'\u0144','\u0145':'\u0146','\u0147':'\u0148','\u014A':'\u014B','\u014C':'\u014D','\u014E':'\u014F','\u0150':'\u0151','\u0152':'\u0153','\u0154':'\u0155','\u0156':'\u0157','\u0158':'\u0159','\u015A':'\u015B','\u015C':'\u015D','\u015E':'\u015F','\u0160':'\u0161','\u0162':'\u0163','\u0164':'\u0165','\u0166':'\u0167','\u0168':'\u0169','\u016A':'\u016B','\u016C':'\u016D','\u016E':'\u016F','\u0170':'\u0171','\u0172':'\u0173','\u0174':'\u0175','\u0176':'\u0177','\u0178':'\xFF','\u0179':'\u017A','\u017B':'\u017C','\u017D':'\u017E','\u017F':'s','\u0181':'\u0253','\u0182':'\u0183','\u0184':'\u0185','\u0186':'\u0254','\u0187':'\u0188','\u0189':'\u0256','\u018A':'\u0257','\u018B':'\u018C','\u018E':'\u01DD','\u018F':'\u0259','\u0190':'\u025B','\u0191':'\u0192','\u0193':'\u0260','\u0194':'\u0263','\u0196':'\u0269','\u0197':'\u0268','\u0198':'\u0199','\u019C':'\u026F','\u019D':'\u0272','\u019F':'\u0275','\u01A0':'\u01A1','\u01A2':'\u01A3','\u01A4':'\u01A5','\u01A6':'\u0280','\u01A7':'\u01A8','\u01A9':'\u0283','\u01AC':'\u01AD','\u01AE':'\u0288','\u01AF':'\u01B0','\u01B1':'\u028A','\u01B2':'\u028B','\u01B3':'\u01B4','\u01B5':'\u01B6','\u01B7':'\u0292','\u01B8':'\u01B9','\u01BC':'\u01BD','\u01C4':'\u01C6','\u01C5':'\u01C6','\u01C7':'\u01C9','\u01C8':'\u01C9','\u01CA':'\u01CC','\u01CB':'\u01CC','\u01CD':'\u01CE','\u01CF':'\u01D0','\u01D1':'\u01D2','\u01D3':'\u01D4','\u01D5':'\u01D6','\u01D7':'\u01D8','\u01D9':'\u01DA','\u01DB':'\u01DC','\u01DE':'\u01DF','\u01E0':'\u01E1','\u01E2':'\u01E3','\u01E4':'\u01E5','\u01E6':'\u01E7','\u01E8':'\u01E9','\u01EA':'\u01EB','\u01EC':'\u01ED','\u01EE':'\u01EF','\u01F1':'\u01F3','\u01F2':'\u01F3','\u01F4':'\u01F5','\u01F6':'\u0195','\u01F7':'\u01BF','\u01F8':'\u01F9','\u01FA':'\u01FB','\u01FC':'\u01FD','\u01FE':'\u01FF','\u0200':'\u0201','\u0202':'\u0203','\u0204':'\u0205','\u0206':'\u0207','\u0208':'\u0209','\u020A':'\u020B','\u020C':'\u020D','\u020E':'\u020F','\u0210':'\u0211','\u0212':'\u0213','\u0214':'\u0215','\u0216':'\u0217','\u0218':'\u0219','\u021A':'\u021B','\u021C':'\u021D','\u021E':'\u021F','\u0220':'\u019E','\u0222':'\u0223','\u0224':'\u0225','\u0226':'\u0227','\u0228':'\u0229','\u022A':'\u022B','\u022C':'\u022D','\u022E':'\u022F','\u0230':'\u0231','\u0232':'\u0233','\u023A':'\u2C65','\u023B':'\u023C','\u023D':'\u019A','\u023E':'\u2C66','\u0241':'\u0242','\u0243':'\u0180','\u0244':'\u0289','\u0245':'\u028C','\u0246':'\u0247','\u0248':'\u0249','\u024A':'\u024B','\u024C':'\u024D','\u024E':'\u024F','\u0345':'\u03B9','\u0370':'\u0371','\u0372':'\u0373','\u0376':'\u0377','\u037F':'\u03F3','\u0386':'\u03AC','\u0388':'\u03AD','\u0389':'\u03AE','\u038A':'\u03AF','\u038C':'\u03CC','\u038E':'\u03CD','\u038F':'\u03CE','\u0391':'\u03B1','\u0392':'\u03B2','\u0393':'\u03B3','\u0394':'\u03B4','\u0395':'\u03B5','\u0396':'\u03B6','\u0397':'\u03B7','\u0398':'\u03B8','\u0399':'\u03B9','\u039A':'\u03BA','\u039B':'\u03BB','\u039C':'\u03BC','\u039D':'\u03BD','\u039E':'\u03BE','\u039F':'\u03BF','\u03A0':'\u03C0','\u03A1':'\u03C1','\u03A3':'\u03C3','\u03A4':'\u03C4','\u03A5':'\u03C5','\u03A6':'\u03C6','\u03A7':'\u03C7','\u03A8':'\u03C8','\u03A9':'\u03C9','\u03AA':'\u03CA','\u03AB':'\u03CB','\u03C2':'\u03C3','\u03CF':'\u03D7','\u03D0':'\u03B2','\u03D1':'\u03B8','\u03D5':'\u03C6','\u03D6':'\u03C0','\u03D8':'\u03D9','\u03DA':'\u03DB','\u03DC':'\u03DD','\u03DE':'\u03DF','\u03E0':'\u03E1','\u03E2':'\u03E3','\u03E4':'\u03E5','\u03E6':'\u03E7','\u03E8':'\u03E9','\u03EA':'\u03EB','\u03EC':'\u03ED','\u03EE':'\u03EF','\u03F0':'\u03BA','\u03F1':'\u03C1','\u03F4':'\u03B8','\u03F5':'\u03B5','\u03F7':'\u03F8','\u03F9':'\u03F2','\u03FA':'\u03FB','\u03FD':'\u037B','\u03FE':'\u037C','\u03FF':'\u037D','\u0400':'\u0450','\u0401':'\u0451','\u0402':'\u0452','\u0403':'\u0453','\u0404':'\u0454','\u0405':'\u0455','\u0406':'\u0456','\u0407':'\u0457','\u0408':'\u0458','\u0409':'\u0459','\u040A':'\u045A','\u040B':'\u045B','\u040C':'\u045C','\u040D':'\u045D','\u040E':'\u045E','\u040F':'\u045F','\u0410':'\u0430','\u0411':'\u0431','\u0412':'\u0432','\u0413':'\u0433','\u0414':'\u0434','\u0415':'\u0435','\u0416':'\u0436','\u0417':'\u0437','\u0418':'\u0438','\u0419':'\u0439','\u041A':'\u043A','\u041B':'\u043B','\u041C':'\u043C','\u041D':'\u043D','\u041E':'\u043E','\u041F':'\u043F','\u0420':'\u0440','\u0421':'\u0441','\u0422':'\u0442','\u0423':'\u0443','\u0424':'\u0444','\u0425':'\u0445','\u0426':'\u0446','\u0427':'\u0447','\u0428':'\u0448','\u0429':'\u0449','\u042A':'\u044A','\u042B':'\u044B','\u042C':'\u044C','\u042D':'\u044D','\u042E':'\u044E','\u042F':'\u044F','\u0460':'\u0461','\u0462':'\u0463','\u0464':'\u0465','\u0466':'\u0467','\u0468':'\u0469','\u046A':'\u046B','\u046C':'\u046D','\u046E':'\u046F','\u0470':'\u0471','\u0472':'\u0473','\u0474':'\u0475','\u0476':'\u0477','\u0478':'\u0479','\u047A':'\u047B','\u047C':'\u047D','\u047E':'\u047F','\u0480':'\u0481','\u048A':'\u048B','\u048C':'\u048D','\u048E':'\u048F','\u0490':'\u0491','\u0492':'\u0493','\u0494':'\u0495','\u0496':'\u0497','\u0498':'\u0499','\u049A':'\u049B','\u049C':'\u049D','\u049E':'\u049F','\u04A0':'\u04A1','\u04A2':'\u04A3','\u04A4':'\u04A5','\u04A6':'\u04A7','\u04A8':'\u04A9','\u04AA':'\u04AB','\u04AC':'\u04AD','\u04AE':'\u04AF','\u04B0':'\u04B1','\u04B2':'\u04B3','\u04B4':'\u04B5','\u04B6':'\u04B7','\u04B8':'\u04B9','\u04BA':'\u04BB','\u04BC':'\u04BD','\u04BE':'\u04BF','\u04C0':'\u04CF','\u04C1':'\u04C2','\u04C3':'\u04C4','\u04C5':'\u04C6','\u04C7':'\u04C8','\u04C9':'\u04CA','\u04CB':'\u04CC','\u04CD':'\u04CE','\u04D0':'\u04D1','\u04D2':'\u04D3','\u04D4':'\u04D5','\u04D6':'\u04D7','\u04D8':'\u04D9','\u04DA':'\u04DB','\u04DC':'\u04DD','\u04DE':'\u04DF','\u04E0':'\u04E1','\u04E2':'\u04E3','\u04E4':'\u04E5','\u04E6':'\u04E7','\u04E8':'\u04E9','\u04EA':'\u04EB','\u04EC':'\u04ED','\u04EE':'\u04EF','\u04F0':'\u04F1','\u04F2':'\u04F3','\u04F4':'\u04F5','\u04F6':'\u04F7','\u04F8':'\u04F9','\u04FA':'\u04FB','\u04FC':'\u04FD','\u04FE':'\u04FF','\u0500':'\u0501','\u0502':'\u0503','\u0504':'\u0505','\u0506':'\u0507','\u0508':'\u0509','\u050A':'\u050B','\u050C':'\u050D','\u050E':'\u050F','\u0510':'\u0511','\u0512':'\u0513','\u0514':'\u0515','\u0516':'\u0517','\u0518':'\u0519','\u051A':'\u051B','\u051C':'\u051D','\u051E':'\u051F','\u0520':'\u0521','\u0522':'\u0523','\u0524':'\u0525','\u0526':'\u0527','\u0528':'\u0529','\u052A':'\u052B','\u052C':'\u052D','\u052E':'\u052F','\u0531':'\u0561','\u0532':'\u0562','\u0533':'\u0563','\u0534':'\u0564','\u0535':'\u0565','\u0536':'\u0566','\u0537':'\u0567','\u0538':'\u0568','\u0539':'\u0569','\u053A':'\u056A','\u053B':'\u056B','\u053C':'\u056C','\u053D':'\u056D','\u053E':'\u056E','\u053F':'\u056F','\u0540':'\u0570','\u0541':'\u0571','\u0542':'\u0572','\u0543':'\u0573','\u0544':'\u0574','\u0545':'\u0575','\u0546':'\u0576','\u0547':'\u0577','\u0548':'\u0578','\u0549':'\u0579','\u054A':'\u057A','\u054B':'\u057B','\u054C':'\u057C','\u054D':'\u057D','\u054E':'\u057E','\u054F':'\u057F','\u0550':'\u0580','\u0551':'\u0581','\u0552':'\u0582','\u0553':'\u0583','\u0554':'\u0584','\u0555':'\u0585','\u0556':'\u0586','\u10A0':'\u2D00','\u10A1':'\u2D01','\u10A2':'\u2D02','\u10A3':'\u2D03','\u10A4':'\u2D04','\u10A5':'\u2D05','\u10A6':'\u2D06','\u10A7':'\u2D07','\u10A8':'\u2D08','\u10A9':'\u2D09','\u10AA':'\u2D0A','\u10AB':'\u2D0B','\u10AC':'\u2D0C','\u10AD':'\u2D0D','\u10AE':'\u2D0E','\u10AF':'\u2D0F','\u10B0':'\u2D10','\u10B1':'\u2D11','\u10B2':'\u2D12','\u10B3':'\u2D13','\u10B4':'\u2D14','\u10B5':'\u2D15','\u10B6':'\u2D16','\u10B7':'\u2D17','\u10B8':'\u2D18','\u10B9':'\u2D19','\u10BA':'\u2D1A','\u10BB':'\u2D1B','\u10BC':'\u2D1C','\u10BD':'\u2D1D','\u10BE':'\u2D1E','\u10BF':'\u2D1F','\u10C0':'\u2D20','\u10C1':'\u2D21','\u10C2':'\u2D22','\u10C3':'\u2D23','\u10C4':'\u2D24','\u10C5':'\u2D25','\u10C7':'\u2D27','\u10CD':'\u2D2D','\u1E00':'\u1E01','\u1E02':'\u1E03','\u1E04':'\u1E05','\u1E06':'\u1E07','\u1E08':'\u1E09','\u1E0A':'\u1E0B','\u1E0C':'\u1E0D','\u1E0E':'\u1E0F','\u1E10':'\u1E11','\u1E12':'\u1E13','\u1E14':'\u1E15','\u1E16':'\u1E17','\u1E18':'\u1E19','\u1E1A':'\u1E1B','\u1E1C':'\u1E1D','\u1E1E':'\u1E1F','\u1E20':'\u1E21','\u1E22':'\u1E23','\u1E24':'\u1E25','\u1E26':'\u1E27','\u1E28':'\u1E29','\u1E2A':'\u1E2B','\u1E2C':'\u1E2D','\u1E2E':'\u1E2F','\u1E30':'\u1E31','\u1E32':'\u1E33','\u1E34':'\u1E35','\u1E36':'\u1E37','\u1E38':'\u1E39','\u1E3A':'\u1E3B','\u1E3C':'\u1E3D','\u1E3E':'\u1E3F','\u1E40':'\u1E41','\u1E42':'\u1E43','\u1E44':'\u1E45','\u1E46':'\u1E47','\u1E48':'\u1E49','\u1E4A':'\u1E4B','\u1E4C':'\u1E4D','\u1E4E':'\u1E4F','\u1E50':'\u1E51','\u1E52':'\u1E53','\u1E54':'\u1E55','\u1E56':'\u1E57','\u1E58':'\u1E59','\u1E5A':'\u1E5B','\u1E5C':'\u1E5D','\u1E5E':'\u1E5F','\u1E60':'\u1E61','\u1E62':'\u1E63','\u1E64':'\u1E65','\u1E66':'\u1E67','\u1E68':'\u1E69','\u1E6A':'\u1E6B','\u1E6C':'\u1E6D','\u1E6E':'\u1E6F','\u1E70':'\u1E71','\u1E72':'\u1E73','\u1E74':'\u1E75','\u1E76':'\u1E77','\u1E78':'\u1E79','\u1E7A':'\u1E7B','\u1E7C':'\u1E7D','\u1E7E':'\u1E7F','\u1E80':'\u1E81','\u1E82':'\u1E83','\u1E84':'\u1E85','\u1E86':'\u1E87','\u1E88':'\u1E89','\u1E8A':'\u1E8B','\u1E8C':'\u1E8D','\u1E8E':'\u1E8F','\u1E90':'\u1E91','\u1E92':'\u1E93','\u1E94':'\u1E95','\u1E9B':'\u1E61','\u1EA0':'\u1EA1','\u1EA2':'\u1EA3','\u1EA4':'\u1EA5','\u1EA6':'\u1EA7','\u1EA8':'\u1EA9','\u1EAA':'\u1EAB','\u1EAC':'\u1EAD','\u1EAE':'\u1EAF','\u1EB0':'\u1EB1','\u1EB2':'\u1EB3','\u1EB4':'\u1EB5','\u1EB6':'\u1EB7','\u1EB8':'\u1EB9','\u1EBA':'\u1EBB','\u1EBC':'\u1EBD','\u1EBE':'\u1EBF','\u1EC0':'\u1EC1','\u1EC2':'\u1EC3','\u1EC4':'\u1EC5','\u1EC6':'\u1EC7','\u1EC8':'\u1EC9','\u1ECA':'\u1ECB','\u1ECC':'\u1ECD','\u1ECE':'\u1ECF','\u1ED0':'\u1ED1','\u1ED2':'\u1ED3','\u1ED4':'\u1ED5','\u1ED6':'\u1ED7','\u1ED8':'\u1ED9','\u1EDA':'\u1EDB','\u1EDC':'\u1EDD','\u1EDE':'\u1EDF','\u1EE0':'\u1EE1','\u1EE2':'\u1EE3','\u1EE4':'\u1EE5','\u1EE6':'\u1EE7','\u1EE8':'\u1EE9','\u1EEA':'\u1EEB','\u1EEC':'\u1EED','\u1EEE':'\u1EEF','\u1EF0':'\u1EF1','\u1EF2':'\u1EF3','\u1EF4':'\u1EF5','\u1EF6':'\u1EF7','\u1EF8':'\u1EF9','\u1EFA':'\u1EFB','\u1EFC':'\u1EFD','\u1EFE':'\u1EFF','\u1F08':'\u1F00','\u1F09':'\u1F01','\u1F0A':'\u1F02','\u1F0B':'\u1F03','\u1F0C':'\u1F04','\u1F0D':'\u1F05','\u1F0E':'\u1F06','\u1F0F':'\u1F07','\u1F18':'\u1F10','\u1F19':'\u1F11','\u1F1A':'\u1F12','\u1F1B':'\u1F13','\u1F1C':'\u1F14','\u1F1D':'\u1F15','\u1F28':'\u1F20','\u1F29':'\u1F21','\u1F2A':'\u1F22','\u1F2B':'\u1F23','\u1F2C':'\u1F24','\u1F2D':'\u1F25','\u1F2E':'\u1F26','\u1F2F':'\u1F27','\u1F38':'\u1F30','\u1F39':'\u1F31','\u1F3A':'\u1F32','\u1F3B':'\u1F33','\u1F3C':'\u1F34','\u1F3D':'\u1F35','\u1F3E':'\u1F36','\u1F3F':'\u1F37','\u1F48':'\u1F40','\u1F49':'\u1F41','\u1F4A':'\u1F42','\u1F4B':'\u1F43','\u1F4C':'\u1F44','\u1F4D':'\u1F45','\u1F59':'\u1F51','\u1F5B':'\u1F53','\u1F5D':'\u1F55','\u1F5F':'\u1F57','\u1F68':'\u1F60','\u1F69':'\u1F61','\u1F6A':'\u1F62','\u1F6B':'\u1F63','\u1F6C':'\u1F64','\u1F6D':'\u1F65','\u1F6E':'\u1F66','\u1F6F':'\u1F67','\u1FB8':'\u1FB0','\u1FB9':'\u1FB1','\u1FBA':'\u1F70','\u1FBB':'\u1F71','\u1FBE':'\u03B9','\u1FC8':'\u1F72','\u1FC9':'\u1F73','\u1FCA':'\u1F74','\u1FCB':'\u1F75','\u1FD8':'\u1FD0','\u1FD9':'\u1FD1','\u1FDA':'\u1F76','\u1FDB':'\u1F77','\u1FE8':'\u1FE0','\u1FE9':'\u1FE1','\u1FEA':'\u1F7A','\u1FEB':'\u1F7B','\u1FEC':'\u1FE5','\u1FF8':'\u1F78','\u1FF9':'\u1F79','\u1FFA':'\u1F7C','\u1FFB':'\u1F7D','\u2126':'\u03C9','\u212A':'k','\u212B':'\xE5','\u2132':'\u214E','\u2160':'\u2170','\u2161':'\u2171','\u2162':'\u2172','\u2163':'\u2173','\u2164':'\u2174','\u2165':'\u2175','\u2166':'\u2176','\u2167':'\u2177','\u2168':'\u2178','\u2169':'\u2179','\u216A':'\u217A','\u216B':'\u217B','\u216C':'\u217C','\u216D':'\u217D','\u216E':'\u217E','\u216F':'\u217F','\u2183':'\u2184','\u24B6':'\u24D0','\u24B7':'\u24D1','\u24B8':'\u24D2','\u24B9':'\u24D3','\u24BA':'\u24D4','\u24BB':'\u24D5','\u24BC':'\u24D6','\u24BD':'\u24D7','\u24BE':'\u24D8','\u24BF':'\u24D9','\u24C0':'\u24DA','\u24C1':'\u24DB','\u24C2':'\u24DC','\u24C3':'\u24DD','\u24C4':'\u24DE','\u24C5':'\u24DF','\u24C6':'\u24E0','\u24C7':'\u24E1','\u24C8':'\u24E2','\u24C9':'\u24E3','\u24CA':'\u24E4','\u24CB':'\u24E5','\u24CC':'\u24E6','\u24CD':'\u24E7','\u24CE':'\u24E8','\u24CF':'\u24E9','\u2C00':'\u2C30','\u2C01':'\u2C31','\u2C02':'\u2C32','\u2C03':'\u2C33','\u2C04':'\u2C34','\u2C05':'\u2C35','\u2C06':'\u2C36','\u2C07':'\u2C37','\u2C08':'\u2C38','\u2C09':'\u2C39','\u2C0A':'\u2C3A','\u2C0B':'\u2C3B','\u2C0C':'\u2C3C','\u2C0D':'\u2C3D','\u2C0E':'\u2C3E','\u2C0F':'\u2C3F','\u2C10':'\u2C40','\u2C11':'\u2C41','\u2C12':'\u2C42','\u2C13':'\u2C43','\u2C14':'\u2C44','\u2C15':'\u2C45','\u2C16':'\u2C46','\u2C17':'\u2C47','\u2C18':'\u2C48','\u2C19':'\u2C49','\u2C1A':'\u2C4A','\u2C1B':'\u2C4B','\u2C1C':'\u2C4C','\u2C1D':'\u2C4D','\u2C1E':'\u2C4E','\u2C1F':'\u2C4F','\u2C20':'\u2C50','\u2C21':'\u2C51','\u2C22':'\u2C52','\u2C23':'\u2C53','\u2C24':'\u2C54','\u2C25':'\u2C55','\u2C26':'\u2C56','\u2C27':'\u2C57','\u2C28':'\u2C58','\u2C29':'\u2C59','\u2C2A':'\u2C5A','\u2C2B':'\u2C5B','\u2C2C':'\u2C5C','\u2C2D':'\u2C5D','\u2C2E':'\u2C5E','\u2C60':'\u2C61','\u2C62':'\u026B','\u2C63':'\u1D7D','\u2C64':'\u027D','\u2C67':'\u2C68','\u2C69':'\u2C6A','\u2C6B':'\u2C6C','\u2C6D':'\u0251','\u2C6E':'\u0271','\u2C6F':'\u0250','\u2C70':'\u0252','\u2C72':'\u2C73','\u2C75':'\u2C76','\u2C7E':'\u023F','\u2C7F':'\u0240','\u2C80':'\u2C81','\u2C82':'\u2C83','\u2C84':'\u2C85','\u2C86':'\u2C87','\u2C88':'\u2C89','\u2C8A':'\u2C8B','\u2C8C':'\u2C8D','\u2C8E':'\u2C8F','\u2C90':'\u2C91','\u2C92':'\u2C93','\u2C94':'\u2C95','\u2C96':'\u2C97','\u2C98':'\u2C99','\u2C9A':'\u2C9B','\u2C9C':'\u2C9D','\u2C9E':'\u2C9F','\u2CA0':'\u2CA1','\u2CA2':'\u2CA3','\u2CA4':'\u2CA5','\u2CA6':'\u2CA7','\u2CA8':'\u2CA9','\u2CAA':'\u2CAB','\u2CAC':'\u2CAD','\u2CAE':'\u2CAF','\u2CB0':'\u2CB1','\u2CB2':'\u2CB3','\u2CB4':'\u2CB5','\u2CB6':'\u2CB7','\u2CB8':'\u2CB9','\u2CBA':'\u2CBB','\u2CBC':'\u2CBD','\u2CBE':'\u2CBF','\u2CC0':'\u2CC1','\u2CC2':'\u2CC3','\u2CC4':'\u2CC5','\u2CC6':'\u2CC7','\u2CC8':'\u2CC9','\u2CCA':'\u2CCB','\u2CCC':'\u2CCD','\u2CCE':'\u2CCF','\u2CD0':'\u2CD1','\u2CD2':'\u2CD3','\u2CD4':'\u2CD5','\u2CD6':'\u2CD7','\u2CD8':'\u2CD9','\u2CDA':'\u2CDB','\u2CDC':'\u2CDD','\u2CDE':'\u2CDF','\u2CE0':'\u2CE1','\u2CE2':'\u2CE3','\u2CEB':'\u2CEC','\u2CED':'\u2CEE','\u2CF2':'\u2CF3','\uA640':'\uA641','\uA642':'\uA643','\uA644':'\uA645','\uA646':'\uA647','\uA648':'\uA649','\uA64A':'\uA64B','\uA64C':'\uA64D','\uA64E':'\uA64F','\uA650':'\uA651','\uA652':'\uA653','\uA654':'\uA655','\uA656':'\uA657','\uA658':'\uA659','\uA65A':'\uA65B','\uA65C':'\uA65D','\uA65E':'\uA65F','\uA660':'\uA661','\uA662':'\uA663','\uA664':'\uA665','\uA666':'\uA667','\uA668':'\uA669','\uA66A':'\uA66B','\uA66C':'\uA66D','\uA680':'\uA681','\uA682':'\uA683','\uA684':'\uA685','\uA686':'\uA687','\uA688':'\uA689','\uA68A':'\uA68B','\uA68C':'\uA68D','\uA68E':'\uA68F','\uA690':'\uA691','\uA692':'\uA693','\uA694':'\uA695','\uA696':'\uA697','\uA698':'\uA699','\uA69A':'\uA69B','\uA722':'\uA723','\uA724':'\uA725','\uA726':'\uA727','\uA728':'\uA729','\uA72A':'\uA72B','\uA72C':'\uA72D','\uA72E':'\uA72F','\uA732':'\uA733','\uA734':'\uA735','\uA736':'\uA737','\uA738':'\uA739','\uA73A':'\uA73B','\uA73C':'\uA73D','\uA73E':'\uA73F','\uA740':'\uA741','\uA742':'\uA743','\uA744':'\uA745','\uA746':'\uA747','\uA748':'\uA749','\uA74A':'\uA74B','\uA74C':'\uA74D','\uA74E':'\uA74F','\uA750':'\uA751','\uA752':'\uA753','\uA754':'\uA755','\uA756':'\uA757','\uA758':'\uA759','\uA75A':'\uA75B','\uA75C':'\uA75D','\uA75E':'\uA75F','\uA760':'\uA761','\uA762':'\uA763','\uA764':'\uA765','\uA766':'\uA767','\uA768':'\uA769','\uA76A':'\uA76B','\uA76C':'\uA76D','\uA76E':'\uA76F','\uA779':'\uA77A','\uA77B':'\uA77C','\uA77D':'\u1D79','\uA77E':'\uA77F','\uA780':'\uA781','\uA782':'\uA783','\uA784':'\uA785','\uA786':'\uA787','\uA78B':'\uA78C','\uA78D':'\u0265','\uA790':'\uA791','\uA792':'\uA793','\uA796':'\uA797','\uA798':'\uA799','\uA79A':'\uA79B','\uA79C':'\uA79D','\uA79E':'\uA79F','\uA7A0':'\uA7A1','\uA7A2':'\uA7A3','\uA7A4':'\uA7A5','\uA7A6':'\uA7A7','\uA7A8':'\uA7A9','\uA7AA':'\u0266','\uA7AB':'\u025C','\uA7AC':'\u0261','\uA7AD':'\u026C','\uA7B0':'\u029E','\uA7B1':'\u0287','\uFF21':'\uFF41','\uFF22':'\uFF42','\uFF23':'\uFF43','\uFF24':'\uFF44','\uFF25':'\uFF45','\uFF26':'\uFF46','\uFF27':'\uFF47','\uFF28':'\uFF48','\uFF29':'\uFF49','\uFF2A':'\uFF4A','\uFF2B':'\uFF4B','\uFF2C':'\uFF4C','\uFF2D':'\uFF4D','\uFF2E':'\uFF4E','\uFF2F':'\uFF4F','\uFF30':'\uFF50','\uFF31':'\uFF51','\uFF32':'\uFF52','\uFF33':'\uFF53','\uFF34':'\uFF54','\uFF35':'\uFF55','\uFF36':'\uFF56','\uFF37':'\uFF57','\uFF38':'\uFF58','\uFF39':'\uFF59','\uFF3A':'\uFF5A','\uD801\uDC00':'\uD801\uDC28','\uD801\uDC01':'\uD801\uDC29','\uD801\uDC02':'\uD801\uDC2A','\uD801\uDC03':'\uD801\uDC2B','\uD801\uDC04':'\uD801\uDC2C','\uD801\uDC05':'\uD801\uDC2D','\uD801\uDC06':'\uD801\uDC2E','\uD801\uDC07':'\uD801\uDC2F','\uD801\uDC08':'\uD801\uDC30','\uD801\uDC09':'\uD801\uDC31','\uD801\uDC0A':'\uD801\uDC32','\uD801\uDC0B':'\uD801\uDC33','\uD801\uDC0C':'\uD801\uDC34','\uD801\uDC0D':'\uD801\uDC35','\uD801\uDC0E':'\uD801\uDC36','\uD801\uDC0F':'\uD801\uDC37','\uD801\uDC10':'\uD801\uDC38','\uD801\uDC11':'\uD801\uDC39','\uD801\uDC12':'\uD801\uDC3A','\uD801\uDC13':'\uD801\uDC3B','\uD801\uDC14':'\uD801\uDC3C','\uD801\uDC15':'\uD801\uDC3D','\uD801\uDC16':'\uD801\uDC3E','\uD801\uDC17':'\uD801\uDC3F','\uD801\uDC18':'\uD801\uDC40','\uD801\uDC19':'\uD801\uDC41','\uD801\uDC1A':'\uD801\uDC42','\uD801\uDC1B':'\uD801\uDC43','\uD801\uDC1C':'\uD801\uDC44','\uD801\uDC1D':'\uD801\uDC45','\uD801\uDC1E':'\uD801\uDC46','\uD801\uDC1F':'\uD801\uDC47','\uD801\uDC20':'\uD801\uDC48','\uD801\uDC21':'\uD801\uDC49','\uD801\uDC22':'\uD801\uDC4A','\uD801\uDC23':'\uD801\uDC4B','\uD801\uDC24':'\uD801\uDC4C','\uD801\uDC25':'\uD801\uDC4D','\uD801\uDC26':'\uD801\uDC4E','\uD801\uDC27':'\uD801\uDC4F','\uD806\uDCA0':'\uD806\uDCC0','\uD806\uDCA1':'\uD806\uDCC1','\uD806\uDCA2':'\uD806\uDCC2','\uD806\uDCA3':'\uD806\uDCC3','\uD806\uDCA4':'\uD806\uDCC4','\uD806\uDCA5':'\uD806\uDCC5','\uD806\uDCA6':'\uD806\uDCC6','\uD806\uDCA7':'\uD806\uDCC7','\uD806\uDCA8':'\uD806\uDCC8','\uD806\uDCA9':'\uD806\uDCC9','\uD806\uDCAA':'\uD806\uDCCA','\uD806\uDCAB':'\uD806\uDCCB','\uD806\uDCAC':'\uD806\uDCCC','\uD806\uDCAD':'\uD806\uDCCD','\uD806\uDCAE':'\uD806\uDCCE','\uD806\uDCAF':'\uD806\uDCCF','\uD806\uDCB0':'\uD806\uDCD0','\uD806\uDCB1':'\uD806\uDCD1','\uD806\uDCB2':'\uD806\uDCD2','\uD806\uDCB3':'\uD806\uDCD3','\uD806\uDCB4':'\uD806\uDCD4','\uD806\uDCB5':'\uD806\uDCD5','\uD806\uDCB6':'\uD806\uDCD6','\uD806\uDCB7':'\uD806\uDCD7','\uD806\uDCB8':'\uD806\uDCD8','\uD806\uDCB9':'\uD806\uDCD9','\uD806\uDCBA':'\uD806\uDCDA','\uD806\uDCBB':'\uD806\uDCDB','\uD806\uDCBC':'\uD806\uDCDC','\uD806\uDCBD':'\uD806\uDCDD','\uD806\uDCBE':'\uD806\uDCDE','\uD806\uDCBF':'\uD806\uDCDF','\xDF':'ss','\u0130':'i\u0307','\u0149':'\u02BCn','\u01F0':'j\u030C','\u0390':'\u03B9\u0308\u0301','\u03B0':'\u03C5\u0308\u0301','\u0587':'\u0565\u0582','\u1E96':'h\u0331','\u1E97':'t\u0308','\u1E98':'w\u030A','\u1E99':'y\u030A','\u1E9A':'a\u02BE','\u1E9E':'ss','\u1F50':'\u03C5\u0313','\u1F52':'\u03C5\u0313\u0300','\u1F54':'\u03C5\u0313\u0301','\u1F56':'\u03C5\u0313\u0342','\u1F80':'\u1F00\u03B9','\u1F81':'\u1F01\u03B9','\u1F82':'\u1F02\u03B9','\u1F83':'\u1F03\u03B9','\u1F84':'\u1F04\u03B9','\u1F85':'\u1F05\u03B9','\u1F86':'\u1F06\u03B9','\u1F87':'\u1F07\u03B9','\u1F88':'\u1F00\u03B9','\u1F89':'\u1F01\u03B9','\u1F8A':'\u1F02\u03B9','\u1F8B':'\u1F03\u03B9','\u1F8C':'\u1F04\u03B9','\u1F8D':'\u1F05\u03B9','\u1F8E':'\u1F06\u03B9','\u1F8F':'\u1F07\u03B9','\u1F90':'\u1F20\u03B9','\u1F91':'\u1F21\u03B9','\u1F92':'\u1F22\u03B9','\u1F93':'\u1F23\u03B9','\u1F94':'\u1F24\u03B9','\u1F95':'\u1F25\u03B9','\u1F96':'\u1F26\u03B9','\u1F97':'\u1F27\u03B9','\u1F98':'\u1F20\u03B9','\u1F99':'\u1F21\u03B9','\u1F9A':'\u1F22\u03B9','\u1F9B':'\u1F23\u03B9','\u1F9C':'\u1F24\u03B9','\u1F9D':'\u1F25\u03B9','\u1F9E':'\u1F26\u03B9','\u1F9F':'\u1F27\u03B9','\u1FA0':'\u1F60\u03B9','\u1FA1':'\u1F61\u03B9','\u1FA2':'\u1F62\u03B9','\u1FA3':'\u1F63\u03B9','\u1FA4':'\u1F64\u03B9','\u1FA5':'\u1F65\u03B9','\u1FA6':'\u1F66\u03B9','\u1FA7':'\u1F67\u03B9','\u1FA8':'\u1F60\u03B9','\u1FA9':'\u1F61\u03B9','\u1FAA':'\u1F62\u03B9','\u1FAB':'\u1F63\u03B9','\u1FAC':'\u1F64\u03B9','\u1FAD':'\u1F65\u03B9','\u1FAE':'\u1F66\u03B9','\u1FAF':'\u1F67\u03B9','\u1FB2':'\u1F70\u03B9','\u1FB3':'\u03B1\u03B9','\u1FB4':'\u03AC\u03B9','\u1FB6':'\u03B1\u0342','\u1FB7':'\u03B1\u0342\u03B9','\u1FBC':'\u03B1\u03B9','\u1FC2':'\u1F74\u03B9','\u1FC3':'\u03B7\u03B9','\u1FC4':'\u03AE\u03B9','\u1FC6':'\u03B7\u0342','\u1FC7':'\u03B7\u0342\u03B9','\u1FCC':'\u03B7\u03B9','\u1FD2':'\u03B9\u0308\u0300','\u1FD3':'\u03B9\u0308\u0301','\u1FD6':'\u03B9\u0342','\u1FD7':'\u03B9\u0308\u0342','\u1FE2':'\u03C5\u0308\u0300','\u1FE3':'\u03C5\u0308\u0301','\u1FE4':'\u03C1\u0313','\u1FE6':'\u03C5\u0342','\u1FE7':'\u03C5\u0308\u0342','\u1FF2':'\u1F7C\u03B9','\u1FF3':'\u03C9\u03B9','\u1FF4':'\u03CE\u03B9','\u1FF6':'\u03C9\u0342','\u1FF7':'\u03C9\u0342\u03B9','\u1FFC':'\u03C9\u03B9','\uFB00':'ff','\uFB01':'fi','\uFB02':'fl','\uFB03':'ffi','\uFB04':'ffl','\uFB05':'st','\uFB06':'st','\uFB13':'\u0574\u0576','\uFB14':'\u0574\u0565','\uFB15':'\u0574\u056B','\uFB16':'\u057E\u0576','\uFB17':'\u0574\u056D'};
- // look through stack of delimiters for a [ or ![
- opener = this.delimiters;
+// Normalize reference label: collapse internal whitespace
+// to single space, remove leading/trailing whitespace, case fold.
+module.exports = function(string) {
+ return string.slice(1, string.length - 1).trim().replace(regex, function($0) {
+ // Note: there is no need to check `hasOwnProperty($0)` here.
+ // If character not found in lookup table, it must be whitespace.
+ return map[$0] || ' ';
+ });
+};
- while (opener !== null) {
- if (opener.cc === C_OPEN_BRACKET || opener.cc === C_BANG) {
- break;
+},{}],9:[function(require,module,exports){
+"use strict";
+
+var escapeXml = require('./common').escapeXml;
+
+// Helper function to produce an XML tag.
+var tag = function(name, attrs, selfclosing) {
+ var result = '<' + name;
+ if (attrs && attrs.length > 0) {
+ var i = 0;
+ var attrib;
+ while ((attrib = attrs[i]) !== undefined) {
+ result += ' ' + attrib[0] + '="' + attrib[1] + '"';
+ i++;
}
- opener = opener.previous;
}
-
- if (opener === null) {
- // no matched opener, just return a literal
- block.appendChild(text(']'));
- return true;
+ if (selfclosing) {
+ result += ' /';
}
- if (!opener.active) {
- // no matched opener, just return a literal
- block.appendChild(text(']'));
- // take opener off emphasis stack
- this.removeDelimiter(opener);
- return true;
- }
+ result += '>';
+ return result;
+};
- // If we got here, open is a potential opener
- is_image = opener.cc === C_BANG;
+var reXMLTag = /\<[^>]*\>/;
- // Check to see if we have a link/image
+var toTagName = function(s) {
+ return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
+};
- // Inline link?
- if (this.peek() === C_OPEN_PAREN) {
- this.pos++;
- if (this.spnl() &&
- ((dest = this.parseLinkDestination()) !== null) &&
- this.spnl() &&
- // make sure there's a space before the title:
- (reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) &&
- (title = this.parseLinkTitle()) || true) &&
- this.spnl() &&
- this.peek() === C_CLOSE_PAREN) {
- this.pos += 1;
- matched = true;
- }
- } else {
+var renderNodes = function(block) {
- // Next, see if there's a link label
- var savepos = this.pos;
- this.spnl();
- var beforelabel = this.pos;
- var n = this.parseLinkLabel();
- if (n === 0 || n === 2) {
- // empty or missing second label
- reflabel = this.subject.slice(opener.index, startpos);
+ var attrs;
+ var tagname;
+ var walker = block.walker();
+ var event, node, entering;
+ var buffer = "";
+ var lastOut = "\n";
+ var disableTags = 0;
+ var indentLevel = 0;
+ var indent = ' ';
+ var unescapedContents;
+ var container;
+ var selfClosing;
+ var nodetype;
+
+ var out = function(s) {
+ if (disableTags > 0) {
+ buffer += s.replace(reXMLTag, '');
} else {
- reflabel = this.subject.slice(beforelabel, beforelabel + n);
+ buffer += s;
}
- if (n === 0) {
- // If shortcut reference link, rewind before spaces we skipped.
- this.pos = savepos;
+ lastOut = s;
+ };
+ var esc = this.escape;
+ var cr = function() {
+ if (lastOut !== '\n') {
+ buffer += '\n';
+ lastOut = '\n';
+ for (var i = indentLevel; i > 0; i--) {
+ buffer += indent;
+ }
}
+ };
- // lookup rawlabel in refmap
- var link = this.refmap[normalizeReference(reflabel)];
- if (link) {
- dest = link.destination;
- title = link.title;
- matched = true;
- }
- }
+ var options = this.options;
- if (matched) {
- var node = new Node(is_image ? 'Image' : 'Link');
- node._destination = dest;
- node._title = title || '';
+ if (options.time) { console.time("rendering"); }
- var tmp, next;
- tmp = opener.node._next;
- while (tmp) {
- next = tmp._next;
- tmp.unlink();
- node.appendChild(tmp);
- tmp = next;
- }
- block.appendChild(node);
- this.processEmphasis(opener.previous);
+ buffer += '\n';
+ buffer += '\n';
- opener.node.unlink();
+ while ((event = walker.next())) {
+ entering = event.entering;
+ node = event.node;
+ nodetype = node.type;
- // processEmphasis will remove this and later delimiters.
- // Now, for a link, we also deactivate earlier link openers.
- // (no links in links)
- if (!is_image) {
- opener = this.delimiters;
- while (opener !== null) {
- if (opener.cc === C_OPEN_BRACKET) {
- opener.active = false; // deactivate this opener
+ container = node.isContainer;
+ selfClosing = nodetype === 'HorizontalRule' || nodetype === 'Hardbreak' ||
+ nodetype === 'Softbreak';
+ unescapedContents = nodetype === 'Html' || nodetype === 'HtmlInline';
+ tagname = toTagName(nodetype);
+
+ if (entering) {
+
+ attrs = [];
+
+ switch (nodetype) {
+ case 'List':
+ if (node.listType !== null) {
+ attrs.push(['type', node.listType.toLowerCase()]);
+ }
+ if (node.listStart !== null) {
+ attrs.push(['start', String(node.listStart)]);
+ }
+ if (node.listTight !== null) {
+ attrs.push(['tight', (node.listTight ? 'true' : 'false')]);
+ }
+ var delim = node.listDelimiter;
+ if (delim !== null) {
+ var delimword = '';
+ if (delim === '.') {
+ delimword = 'period';
+ } else {
+ delimword = 'paren';
+ }
+ attrs.push(['delimiter', delimword]);
+ }
+ break;
+ case 'CodeBlock':
+ if (node.info) {
+ attrs.push(['info', node.info]);
+ }
+ break;
+ case 'Header':
+ attrs.push(['level', String(node.level)]);
+ break;
+ case 'Link':
+ case 'Image':
+ attrs.push(['destination', node.destination]);
+ attrs.push(['title', node.title]);
+ break;
+ default:
+ break;
}
- opener = opener.previous;
- }
+ if (options.sourcepos) {
+ var pos = node.sourcepos;
+ if (pos) {
+ attrs.push(['sourcepos', String(pos[0][0]) + ':' +
+ String(pos[0][1]) + '-' + String(pos[1][0]) + ':' +
+ String(pos[1][1])]);
+ }
+ }
+
+ cr();
+ out(tag(tagname, attrs, selfClosing));
+ if (container) {
+ indentLevel += 1;
+ } else if (!container && !selfClosing) {
+ var lit = node.literal;
+ if (lit) {
+ out(unescapedContents ? lit : esc(lit));
+ }
+ out(tag('/' + tagname));
+ }
+ } else {
+ indentLevel -= 1;
+ cr();
+ out(tag('/' + tagname));
}
- return true;
- } else { // no match
+ }
+ if (options.time) { console.timeEnd("rendering"); }
+ buffer += '\n';
+ return buffer;
+};
+
+// The XmlRenderer object.
+function XmlRenderer(options){
+ return {
+ // default options:
+ softbreak: '\n', // by default, soft breaks are rendered as newlines in HTML
+ // set to "
" to make them hard breaks
+ // set to " " if you want to ignore line wrapping in source
+ escape: escapeXml,
+ options: options || {},
+ render: renderNodes
+ };
+}
+
+module.exports = XmlRenderer;
- this.removeDelimiter(opener); // remove this opener from stack
- this.pos = startpos;
- block.appendChild(text(']'));
- return true;
- }
+},{"./common":2}],10:[function(require,module,exports){
+var encode = require("./lib/encode.js"),
+ decode = require("./lib/decode.js");
+exports.decode = function(data, level){
+ return (!level || level <= 0 ? decode.XML : decode.HTML)(data);
};
-// Attempt to parse an entity.
-var parseEntity = function(block) {
- var m;
- if ((m = this.match(reEntityHere))) {
- block.appendChild(text(entityToChar(m)));
- return true;
- } else {
- return false;
- }
+exports.decodeStrict = function(data, level){
+ return (!level || level <= 0 ? decode.XML : decode.HTMLStrict)(data);
};
-// Parse a run of ordinary characters, or a single character with
-// a special meaning in markdown, as a plain string.
-var parseString = function(block) {
- var m;
- if ((m = this.match(reMain))) {
- if (this.options.smart) {
- block.appendChild(text(
- m.replace(reEllipses, "\u2026")
- .replace(reDash, function(chars) {
- return (chars.length === 3) ? "\u2014" : "\u2013";
- })));
- } else {
- block.appendChild(text(m));
- }
- return true;
- } else {
- return false;
- }
+exports.encode = function(data, level){
+ return (!level || level <= 0 ? encode.XML : encode.HTML)(data);
};
-// Parse a newline. If it was preceded by two spaces, return a hard
-// line break; otherwise a soft line break.
-var parseNewline = function(block) {
- this.pos += 1; // assume we're at a \n
- // check previous node for trailing spaces
- var lastc = block._lastChild;
- if (lastc && lastc.type === 'Text' && lastc._literal[lastc._literal.length - 1] === ' ') {
- var hardbreak = lastc._literal[lastc._literal.length - 2] === ' ';
- lastc._literal = lastc._literal.replace(reFinalSpace, '');
- block.appendChild(new Node(hardbreak ? 'Hardbreak' : 'Softbreak'));
- } else {
- block.appendChild(new Node('Softbreak'));
- }
- this.match(reInitialSpace); // gobble leading spaces in next line
- return true;
-};
+exports.encodeXML = encode.XML;
-// Attempt to parse a link reference, modifying refmap.
-var parseReference = function(s, refmap) {
- this.subject = s;
- this.pos = 0;
- var rawlabel;
- var dest;
- var title;
- var matchChars;
- var startpos = this.pos;
+exports.encodeHTML4 =
+exports.encodeHTML5 =
+exports.encodeHTML = encode.HTML;
- // label:
- matchChars = this.parseLinkLabel();
- if (matchChars === 0) {
- return 0;
- } else {
- rawlabel = this.subject.substr(0, matchChars);
- }
+exports.decodeXML =
+exports.decodeXMLStrict = decode.XML;
- // colon:
- if (this.peek() === C_COLON) {
- this.pos++;
- } else {
- this.pos = startpos;
- return 0;
- }
+exports.decodeHTML4 =
+exports.decodeHTML5 =
+exports.decodeHTML = decode.HTML;
- // link url
- this.spnl();
+exports.decodeHTML4Strict =
+exports.decodeHTML5Strict =
+exports.decodeHTMLStrict = decode.HTMLStrict;
- dest = this.parseLinkDestination();
- if (dest === null || dest.length === 0) {
- this.pos = startpos;
- return 0;
- }
+exports.escape = encode.escape;
- var beforetitle = this.pos;
- this.spnl();
- title = this.parseLinkTitle();
- if (title === null) {
- title = '';
- // rewind before spaces
- this.pos = beforetitle;
- }
+},{"./lib/decode.js":11,"./lib/encode.js":13}],11:[function(require,module,exports){
+var entityMap = require("../maps/entities.json"),
+ legacyMap = require("../maps/legacy.json"),
+ xmlMap = require("../maps/xml.json"),
+ decodeCodePoint = require("./decode_codepoint.js");
- // make sure we're at line end:
- if (this.match(reSpaceAtEndOfLine) === null) {
- this.pos = startpos;
- return 0;
- }
+var decodeXMLStrict = getStrictDecoder(xmlMap),
+ decodeHTMLStrict = getStrictDecoder(entityMap);
- var normlabel = normalizeReference(rawlabel);
- if (normlabel === '') {
- // label must contain non-whitespace characters
- this.pos = startpos;
- return 0;
- }
+function getStrictDecoder(map){
+ var keys = Object.keys(map).join("|"),
+ replace = getReplacer(map);
- if (!refmap[normlabel]) {
- refmap[normlabel] = { destination: dest, title: title };
- }
- return this.pos - startpos;
-};
+ keys += "|#[xX][\\da-fA-F]+|#\\d+";
-// Parse the next inline element in subject, advancing subject position.
-// On success, add the result to block's children and return true.
-// On failure, return false.
-var parseInline = function(block) {
- var res = false;
- var c = this.peek();
- if (c === -1) {
- return false;
- }
- switch(c) {
- case C_NEWLINE:
- res = this.parseNewline(block);
- break;
- case C_BACKSLASH:
- res = this.parseBackslash(block);
- break;
- case C_BACKTICK:
- res = this.parseBackticks(block);
- break;
- case C_ASTERISK:
- case C_UNDERSCORE:
- res = this.handleDelim(c, block);
- break;
- case C_SINGLEQUOTE:
- case C_DOUBLEQUOTE:
- res = this.options.smart && this.handleDelim(c, block);
- break;
- case C_OPEN_BRACKET:
- res = this.parseOpenBracket(block);
- break;
- case C_BANG:
- res = this.parseBang(block);
- break;
- case C_CLOSE_BRACKET:
- res = this.parseCloseBracket(block);
- break;
- case C_LESSTHAN:
- res = this.parseAutolink(block) || this.parseHtmlTag(block);
- break;
- case C_AMPERSAND:
- res = this.parseEntity(block);
- break;
- default:
- res = this.parseString(block);
- break;
- }
- if (!res) {
- this.pos += 1;
- block.appendChild(text(fromCodePoint(c)));
- }
+ var re = new RegExp("&(?:" + keys + ");", "g");
- return true;
-};
+ return function(str){
+ return String(str).replace(re, replace);
+ };
+}
-// Parse string content in block into inline children,
-// using refmap to resolve references.
-var parseInlines = function(block) {
- this.subject = block._string_content.trim();
- this.pos = 0;
- this.delimiters = null;
- while (this.parseInline(block)) {
- }
- block._string_content = null; // allow raw string to be garbage collected
- this.processEmphasis(null);
+var decodeHTML = (function(){
+ var legacy = Object.keys(legacyMap)
+ .sort(sorter);
+
+ var keys = Object.keys(entityMap)
+ .sort(sorter);
+
+ for(var i = 0, j = 0; i < keys.length; i++){
+ if(legacy[j] === keys[i]){
+ keys[i] += ";?";
+ j++;
+ } else {
+ keys[i] += ";";
+ }
+ }
+
+ var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),
+ replace = getReplacer(entityMap);
+
+ function replacer(str){
+ if(str.substr(-1) !== ";") str += ";";
+ return replace(str);
+ }
+
+ //TODO consider creating a merged map
+ return function(str){
+ return String(str).replace(re, replacer);
+ };
+}());
+
+function sorter(a, b){
+ return a < b ? 1 : -1;
+}
+
+function getReplacer(map){
+ return function replace(str){
+ if(str.charAt(1) === "#"){
+ if(str.charAt(2) === "X" || str.charAt(2) === "x"){
+ return decodeCodePoint(parseInt(str.substr(3), 16));
+ }
+ return decodeCodePoint(parseInt(str.substr(2), 10));
+ }
+ return map[str.slice(1, -1)];
+ };
+}
+
+module.exports = {
+ XML: decodeXMLStrict,
+ HTML: decodeHTML,
+ HTMLStrict: decodeHTMLStrict
};
+},{"../maps/entities.json":15,"../maps/legacy.json":16,"../maps/xml.json":17,"./decode_codepoint.js":12}],12:[function(require,module,exports){
+var decodeMap = require("../maps/decode.json");
-// The InlineParser object.
-function InlineParser(options){
- return {
- subject: '',
- delimiters: null, // used by handleDelim method
- pos: 0,
- refmap: {},
- match: match,
- peek: peek,
- spnl: spnl,
- parseBackticks: parseBackticks,
- parseBackslash: parseBackslash,
- parseAutolink: parseAutolink,
- parseHtmlTag: parseHtmlTag,
- scanDelims: scanDelims,
- handleDelim: handleDelim,
- parseLinkTitle: parseLinkTitle,
- parseLinkDestination: parseLinkDestination,
- parseLinkLabel: parseLinkLabel,
- parseOpenBracket: parseOpenBracket,
- parseCloseBracket: parseCloseBracket,
- parseBang: parseBang,
- parseEntity: parseEntity,
- parseString: parseString,
- parseNewline: parseNewline,
- parseReference: parseReference,
- parseInline: parseInline,
- processEmphasis: processEmphasis,
- removeDelimiter: removeDelimiter,
- options: options || {},
- parse: parseInlines
- };
+module.exports = decodeCodePoint;
+
+// modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119
+function decodeCodePoint(codePoint){
+
+ if((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF){
+ return "\uFFFD";
+ }
+
+ if(codePoint in decodeMap){
+ codePoint = decodeMap[codePoint];
+ }
+
+ var output = "";
+
+ if(codePoint > 0xFFFF){
+ codePoint -= 0x10000;
+ output += String.fromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);
+ codePoint = 0xDC00 | codePoint & 0x3FF;
+ }
+
+ output += String.fromCharCode(codePoint);
+ return output;
}
-module.exports = InlineParser;
+},{"../maps/decode.json":14}],13:[function(require,module,exports){
+var inverseXML = getInverseObj(require("../maps/xml.json")),
+ xmlReplacer = getInverseReplacer(inverseXML);
-},{"./common":2,"./from-code-point.js":5,"./html5-entities.js":7,"./node":10,"./normalize-reference":11}],10:[function(require,module,exports){
-"use strict";
+exports.XML = getInverse(inverseXML, xmlReplacer);
-function isContainer(node) {
- switch (node._type) {
- case 'Document':
- case 'BlockQuote':
- case 'List':
- case 'Item':
- case 'Paragraph':
- case 'Header':
- case 'Emph':
- case 'Strong':
- case 'Link':
- case 'Image':
- return true;
- default:
- return false;
- }
+var inverseHTML = getInverseObj(require("../maps/entities.json")),
+ htmlReplacer = getInverseReplacer(inverseHTML);
+
+exports.HTML = getInverse(inverseHTML, htmlReplacer);
+
+function getInverseObj(obj){
+ return Object.keys(obj).sort().reduce(function(inverse, name){
+ inverse[obj[name]] = "&" + name + ";";
+ return inverse;
+ }, {});
}
-var resumeAt = function(node, entering) {
- this.current = node;
- this.entering = (entering === true);
-};
+function getInverseReplacer(inverse){
+ var single = [],
+ multiple = [];
-var next = function(){
- var cur = this.current;
- var entering = this.entering;
+ Object.keys(inverse).forEach(function(k){
+ if(k.length === 1){
+ single.push("\\" + k);
+ } else {
+ multiple.push(k);
+ }
+ });
- if (cur === null) {
- return null;
- }
+ //TODO add ranges
+ multiple.unshift("[" + single.join("") + "]");
- var container = isContainer(cur);
+ return new RegExp(multiple.join("|"), "g");
+}
- if (entering && container) {
- if (cur._firstChild) {
- this.current = cur._firstChild;
- this.entering = true;
- } else {
- // stay on node but exit
- this.entering = false;
- }
+var re_nonASCII = /[^\0-\x7F]/g,
+ re_astralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
- } else if (cur === this.root) {
- this.current = null;
+function singleCharReplacer(c){
+ return "" + c.charCodeAt(0).toString(16).toUpperCase() + ";";
+}
- } else if (cur._next === null) {
- this.current = cur._parent;
- this.entering = false;
+function astralReplacer(c){
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+ var high = c.charCodeAt(0);
+ var low = c.charCodeAt(1);
+ var codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;
+ return "" + codePoint.toString(16).toUpperCase() + ";";
+}
+
+function getInverse(inverse, re){
+ function func(name){
+ return inverse[name];
+ }
+
+ return function(data){
+ return data
+ .replace(re, func)
+ .replace(re_astralSymbols, astralReplacer)
+ .replace(re_nonASCII, singleCharReplacer);
+ };
+}
+
+var re_xmlChars = getInverseReplacer(inverseXML);
- } else {
- this.current = cur._next;
- this.entering = true;
- }
+function escapeXML(data){
+ return data
+ .replace(re_xmlChars, singleCharReplacer)
+ .replace(re_astralSymbols, astralReplacer)
+ .replace(re_nonASCII, singleCharReplacer);
+}
- return {entering: entering, node: cur};
-};
+exports.escape = escapeXML;
-var NodeWalker = function(root) {
- return { current: root,
- root: root,
- entering: true,
- next: next,
- resumeAt: resumeAt };
-};
+},{"../maps/entities.json":15,"../maps/xml.json":17}],14:[function(require,module,exports){
+module.exports={"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}
+},{}],15:[function(require,module,exports){
+module.exports={"Aacute":"\u00C1","aacute":"\u00E1","Abreve":"\u0102","abreve":"\u0103","ac":"\u223E","acd":"\u223F","acE":"\u223E\u0333","Acirc":"\u00C2","acirc":"\u00E2","acute":"\u00B4","Acy":"\u0410","acy":"\u0430","AElig":"\u00C6","aelig":"\u00E6","af":"\u2061","Afr":"\uD835\uDD04","afr":"\uD835\uDD1E","Agrave":"\u00C0","agrave":"\u00E0","alefsym":"\u2135","aleph":"\u2135","Alpha":"\u0391","alpha":"\u03B1","Amacr":"\u0100","amacr":"\u0101","amalg":"\u2A3F","amp":"&","AMP":"&","andand":"\u2A55","And":"\u2A53","and":"\u2227","andd":"\u2A5C","andslope":"\u2A58","andv":"\u2A5A","ang":"\u2220","ange":"\u29A4","angle":"\u2220","angmsdaa":"\u29A8","angmsdab":"\u29A9","angmsdac":"\u29AA","angmsdad":"\u29AB","angmsdae":"\u29AC","angmsdaf":"\u29AD","angmsdag":"\u29AE","angmsdah":"\u29AF","angmsd":"\u2221","angrt":"\u221F","angrtvb":"\u22BE","angrtvbd":"\u299D","angsph":"\u2222","angst":"\u00C5","angzarr":"\u237C","Aogon":"\u0104","aogon":"\u0105","Aopf":"\uD835\uDD38","aopf":"\uD835\uDD52","apacir":"\u2A6F","ap":"\u2248","apE":"\u2A70","ape":"\u224A","apid":"\u224B","apos":"'","ApplyFunction":"\u2061","approx":"\u2248","approxeq":"\u224A","Aring":"\u00C5","aring":"\u00E5","Ascr":"\uD835\uDC9C","ascr":"\uD835\uDCB6","Assign":"\u2254","ast":"*","asymp":"\u2248","asympeq":"\u224D","Atilde":"\u00C3","atilde":"\u00E3","Auml":"\u00C4","auml":"\u00E4","awconint":"\u2233","awint":"\u2A11","backcong":"\u224C","backepsilon":"\u03F6","backprime":"\u2035","backsim":"\u223D","backsimeq":"\u22CD","Backslash":"\u2216","Barv":"\u2AE7","barvee":"\u22BD","barwed":"\u2305","Barwed":"\u2306","barwedge":"\u2305","bbrk":"\u23B5","bbrktbrk":"\u23B6","bcong":"\u224C","Bcy":"\u0411","bcy":"\u0431","bdquo":"\u201E","becaus":"\u2235","because":"\u2235","Because":"\u2235","bemptyv":"\u29B0","bepsi":"\u03F6","bernou":"\u212C","Bernoullis":"\u212C","Beta":"\u0392","beta":"\u03B2","beth":"\u2136","between":"\u226C","Bfr":"\uD835\uDD05","bfr":"\uD835\uDD1F","bigcap":"\u22C2","bigcirc":"\u25EF","bigcup":"\u22C3","bigodot":"\u2A00","bigoplus":"\u2A01","bigotimes":"\u2A02","bigsqcup":"\u2A06","bigstar":"\u2605","bigtriangledown":"\u25BD","bigtriangleup":"\u25B3","biguplus":"\u2A04","bigvee":"\u22C1","bigwedge":"\u22C0","bkarow":"\u290D","blacklozenge":"\u29EB","blacksquare":"\u25AA","blacktriangle":"\u25B4","blacktriangledown":"\u25BE","blacktriangleleft":"\u25C2","blacktriangleright":"\u25B8","blank":"\u2423","blk12":"\u2592","blk14":"\u2591","blk34":"\u2593","block":"\u2588","bne":"=\u20E5","bnequiv":"\u2261\u20E5","bNot":"\u2AED","bnot":"\u2310","Bopf":"\uD835\uDD39","bopf":"\uD835\uDD53","bot":"\u22A5","bottom":"\u22A5","bowtie":"\u22C8","boxbox":"\u29C9","boxdl":"\u2510","boxdL":"\u2555","boxDl":"\u2556","boxDL":"\u2557","boxdr":"\u250C","boxdR":"\u2552","boxDr":"\u2553","boxDR":"\u2554","boxh":"\u2500","boxH":"\u2550","boxhd":"\u252C","boxHd":"\u2564","boxhD":"\u2565","boxHD":"\u2566","boxhu":"\u2534","boxHu":"\u2567","boxhU":"\u2568","boxHU":"\u2569","boxminus":"\u229F","boxplus":"\u229E","boxtimes":"\u22A0","boxul":"\u2518","boxuL":"\u255B","boxUl":"\u255C","boxUL":"\u255D","boxur":"\u2514","boxuR":"\u2558","boxUr":"\u2559","boxUR":"\u255A","boxv":"\u2502","boxV":"\u2551","boxvh":"\u253C","boxvH":"\u256A","boxVh":"\u256B","boxVH":"\u256C","boxvl":"\u2524","boxvL":"\u2561","boxVl":"\u2562","boxVL":"\u2563","boxvr":"\u251C","boxvR":"\u255E","boxVr":"\u255F","boxVR":"\u2560","bprime":"\u2035","breve":"\u02D8","Breve":"\u02D8","brvbar":"\u00A6","bscr":"\uD835\uDCB7","Bscr":"\u212C","bsemi":"\u204F","bsim":"\u223D","bsime":"\u22CD","bsolb":"\u29C5","bsol":"\\","bsolhsub":"\u27C8","bull":"\u2022","bullet":"\u2022","bump":"\u224E","bumpE":"\u2AAE","bumpe":"\u224F","Bumpeq":"\u224E","bumpeq":"\u224F","Cacute":"\u0106","cacute":"\u0107","capand":"\u2A44","capbrcup":"\u2A49","capcap":"\u2A4B","cap":"\u2229","Cap":"\u22D2","capcup":"\u2A47","capdot":"\u2A40","CapitalDifferentialD":"\u2145","caps":"\u2229\uFE00","caret":"\u2041","caron":"\u02C7","Cayleys":"\u212D","ccaps":"\u2A4D","Ccaron":"\u010C","ccaron":"\u010D","Ccedil":"\u00C7","ccedil":"\u00E7","Ccirc":"\u0108","ccirc":"\u0109","Cconint":"\u2230","ccups":"\u2A4C","ccupssm":"\u2A50","Cdot":"\u010A","cdot":"\u010B","cedil":"\u00B8","Cedilla":"\u00B8","cemptyv":"\u29B2","cent":"\u00A2","centerdot":"\u00B7","CenterDot":"\u00B7","cfr":"\uD835\uDD20","Cfr":"\u212D","CHcy":"\u0427","chcy":"\u0447","check":"\u2713","checkmark":"\u2713","Chi":"\u03A7","chi":"\u03C7","circ":"\u02C6","circeq":"\u2257","circlearrowleft":"\u21BA","circlearrowright":"\u21BB","circledast":"\u229B","circledcirc":"\u229A","circleddash":"\u229D","CircleDot":"\u2299","circledR":"\u00AE","circledS":"\u24C8","CircleMinus":"\u2296","CirclePlus":"\u2295","CircleTimes":"\u2297","cir":"\u25CB","cirE":"\u29C3","cire":"\u2257","cirfnint":"\u2A10","cirmid":"\u2AEF","cirscir":"\u29C2","ClockwiseContourIntegral":"\u2232","CloseCurlyDoubleQuote":"\u201D","CloseCurlyQuote":"\u2019","clubs":"\u2663","clubsuit":"\u2663","colon":":","Colon":"\u2237","Colone":"\u2A74","colone":"\u2254","coloneq":"\u2254","comma":",","commat":"@","comp":"\u2201","compfn":"\u2218","complement":"\u2201","complexes":"\u2102","cong":"\u2245","congdot":"\u2A6D","Congruent":"\u2261","conint":"\u222E","Conint":"\u222F","ContourIntegral":"\u222E","copf":"\uD835\uDD54","Copf":"\u2102","coprod":"\u2210","Coproduct":"\u2210","copy":"\u00A9","COPY":"\u00A9","copysr":"\u2117","CounterClockwiseContourIntegral":"\u2233","crarr":"\u21B5","cross":"\u2717","Cross":"\u2A2F","Cscr":"\uD835\uDC9E","cscr":"\uD835\uDCB8","csub":"\u2ACF","csube":"\u2AD1","csup":"\u2AD0","csupe":"\u2AD2","ctdot":"\u22EF","cudarrl":"\u2938","cudarrr":"\u2935","cuepr":"\u22DE","cuesc":"\u22DF","cularr":"\u21B6","cularrp":"\u293D","cupbrcap":"\u2A48","cupcap":"\u2A46","CupCap":"\u224D","cup":"\u222A","Cup":"\u22D3","cupcup":"\u2A4A","cupdot":"\u228D","cupor":"\u2A45","cups":"\u222A\uFE00","curarr":"\u21B7","curarrm":"\u293C","curlyeqprec":"\u22DE","curlyeqsucc":"\u22DF","curlyvee":"\u22CE","curlywedge":"\u22CF","curren":"\u00A4","curvearrowleft":"\u21B6","curvearrowright":"\u21B7","cuvee":"\u22CE","cuwed":"\u22CF","cwconint":"\u2232","cwint":"\u2231","cylcty":"\u232D","dagger":"\u2020","Dagger":"\u2021","daleth":"\u2138","darr":"\u2193","Darr":"\u21A1","dArr":"\u21D3","dash":"\u2010","Dashv":"\u2AE4","dashv":"\u22A3","dbkarow":"\u290F","dblac":"\u02DD","Dcaron":"\u010E","dcaron":"\u010F","Dcy":"\u0414","dcy":"\u0434","ddagger":"\u2021","ddarr":"\u21CA","DD":"\u2145","dd":"\u2146","DDotrahd":"\u2911","ddotseq":"\u2A77","deg":"\u00B0","Del":"\u2207","Delta":"\u0394","delta":"\u03B4","demptyv":"\u29B1","dfisht":"\u297F","Dfr":"\uD835\uDD07","dfr":"\uD835\uDD21","dHar":"\u2965","dharl":"\u21C3","dharr":"\u21C2","DiacriticalAcute":"\u00B4","DiacriticalDot":"\u02D9","DiacriticalDoubleAcute":"\u02DD","DiacriticalGrave":"`","DiacriticalTilde":"\u02DC","diam":"\u22C4","diamond":"\u22C4","Diamond":"\u22C4","diamondsuit":"\u2666","diams":"\u2666","die":"\u00A8","DifferentialD":"\u2146","digamma":"\u03DD","disin":"\u22F2","div":"\u00F7","divide":"\u00F7","divideontimes":"\u22C7","divonx":"\u22C7","DJcy":"\u0402","djcy":"\u0452","dlcorn":"\u231E","dlcrop":"\u230D","dollar":"$","Dopf":"\uD835\uDD3B","dopf":"\uD835\uDD55","Dot":"\u00A8","dot":"\u02D9","DotDot":"\u20DC","doteq":"\u2250","doteqdot":"\u2251","DotEqual":"\u2250","dotminus":"\u2238","dotplus":"\u2214","dotsquare":"\u22A1","doublebarwedge":"\u2306","DoubleContourIntegral":"\u222F","DoubleDot":"\u00A8","DoubleDownArrow":"\u21D3","DoubleLeftArrow":"\u21D0","DoubleLeftRightArrow":"\u21D4","DoubleLeftTee":"\u2AE4","DoubleLongLeftArrow":"\u27F8","DoubleLongLeftRightArrow":"\u27FA","DoubleLongRightArrow":"\u27F9","DoubleRightArrow":"\u21D2","DoubleRightTee":"\u22A8","DoubleUpArrow":"\u21D1","DoubleUpDownArrow":"\u21D5","DoubleVerticalBar":"\u2225","DownArrowBar":"\u2913","downarrow":"\u2193","DownArrow":"\u2193","Downarrow":"\u21D3","DownArrowUpArrow":"\u21F5","DownBreve":"\u0311","downdownarrows":"\u21CA","downharpoonleft":"\u21C3","downharpoonright":"\u21C2","DownLeftRightVector":"\u2950","DownLeftTeeVector":"\u295E","DownLeftVectorBar":"\u2956","DownLeftVector":"\u21BD","DownRightTeeVector":"\u295F","DownRightVectorBar":"\u2957","DownRightVector":"\u21C1","DownTeeArrow":"\u21A7","DownTee":"\u22A4","drbkarow":"\u2910","drcorn":"\u231F","drcrop":"\u230C","Dscr":"\uD835\uDC9F","dscr":"\uD835\uDCB9","DScy":"\u0405","dscy":"\u0455","dsol":"\u29F6","Dstrok":"\u0110","dstrok":"\u0111","dtdot":"\u22F1","dtri":"\u25BF","dtrif":"\u25BE","duarr":"\u21F5","duhar":"\u296F","dwangle":"\u29A6","DZcy":"\u040F","dzcy":"\u045F","dzigrarr":"\u27FF","Eacute":"\u00C9","eacute":"\u00E9","easter":"\u2A6E","Ecaron":"\u011A","ecaron":"\u011B","Ecirc":"\u00CA","ecirc":"\u00EA","ecir":"\u2256","ecolon":"\u2255","Ecy":"\u042D","ecy":"\u044D","eDDot":"\u2A77","Edot":"\u0116","edot":"\u0117","eDot":"\u2251","ee":"\u2147","efDot":"\u2252","Efr":"\uD835\uDD08","efr":"\uD835\uDD22","eg":"\u2A9A","Egrave":"\u00C8","egrave":"\u00E8","egs":"\u2A96","egsdot":"\u2A98","el":"\u2A99","Element":"\u2208","elinters":"\u23E7","ell":"\u2113","els":"\u2A95","elsdot":"\u2A97","Emacr":"\u0112","emacr":"\u0113","empty":"\u2205","emptyset":"\u2205","EmptySmallSquare":"\u25FB","emptyv":"\u2205","EmptyVerySmallSquare":"\u25AB","emsp13":"\u2004","emsp14":"\u2005","emsp":"\u2003","ENG":"\u014A","eng":"\u014B","ensp":"\u2002","Eogon":"\u0118","eogon":"\u0119","Eopf":"\uD835\uDD3C","eopf":"\uD835\uDD56","epar":"\u22D5","eparsl":"\u29E3","eplus":"\u2A71","epsi":"\u03B5","Epsilon":"\u0395","epsilon":"\u03B5","epsiv":"\u03F5","eqcirc":"\u2256","eqcolon":"\u2255","eqsim":"\u2242","eqslantgtr":"\u2A96","eqslantless":"\u2A95","Equal":"\u2A75","equals":"=","EqualTilde":"\u2242","equest":"\u225F","Equilibrium":"\u21CC","equiv":"\u2261","equivDD":"\u2A78","eqvparsl":"\u29E5","erarr":"\u2971","erDot":"\u2253","escr":"\u212F","Escr":"\u2130","esdot":"\u2250","Esim":"\u2A73","esim":"\u2242","Eta":"\u0397","eta":"\u03B7","ETH":"\u00D0","eth":"\u00F0","Euml":"\u00CB","euml":"\u00EB","euro":"\u20AC","excl":"!","exist":"\u2203","Exists":"\u2203","expectation":"\u2130","exponentiale":"\u2147","ExponentialE":"\u2147","fallingdotseq":"\u2252","Fcy":"\u0424","fcy":"\u0444","female":"\u2640","ffilig":"\uFB03","fflig":"\uFB00","ffllig":"\uFB04","Ffr":"\uD835\uDD09","ffr":"\uD835\uDD23","filig":"\uFB01","FilledSmallSquare":"\u25FC","FilledVerySmallSquare":"\u25AA","fjlig":"fj","flat":"\u266D","fllig":"\uFB02","fltns":"\u25B1","fnof":"\u0192","Fopf":"\uD835\uDD3D","fopf":"\uD835\uDD57","forall":"\u2200","ForAll":"\u2200","fork":"\u22D4","forkv":"\u2AD9","Fouriertrf":"\u2131","fpartint":"\u2A0D","frac12":"\u00BD","frac13":"\u2153","frac14":"\u00BC","frac15":"\u2155","frac16":"\u2159","frac18":"\u215B","frac23":"\u2154","frac25":"\u2156","frac34":"\u00BE","frac35":"\u2157","frac38":"\u215C","frac45":"\u2158","frac56":"\u215A","frac58":"\u215D","frac78":"\u215E","frasl":"\u2044","frown":"\u2322","fscr":"\uD835\uDCBB","Fscr":"\u2131","gacute":"\u01F5","Gamma":"\u0393","gamma":"\u03B3","Gammad":"\u03DC","gammad":"\u03DD","gap":"\u2A86","Gbreve":"\u011E","gbreve":"\u011F","Gcedil":"\u0122","Gcirc":"\u011C","gcirc":"\u011D","Gcy":"\u0413","gcy":"\u0433","Gdot":"\u0120","gdot":"\u0121","ge":"\u2265","gE":"\u2267","gEl":"\u2A8C","gel":"\u22DB","geq":"\u2265","geqq":"\u2267","geqslant":"\u2A7E","gescc":"\u2AA9","ges":"\u2A7E","gesdot":"\u2A80","gesdoto":"\u2A82","gesdotol":"\u2A84","gesl":"\u22DB\uFE00","gesles":"\u2A94","Gfr":"\uD835\uDD0A","gfr":"\uD835\uDD24","gg":"\u226B","Gg":"\u22D9","ggg":"\u22D9","gimel":"\u2137","GJcy":"\u0403","gjcy":"\u0453","gla":"\u2AA5","gl":"\u2277","glE":"\u2A92","glj":"\u2AA4","gnap":"\u2A8A","gnapprox":"\u2A8A","gne":"\u2A88","gnE":"\u2269","gneq":"\u2A88","gneqq":"\u2269","gnsim":"\u22E7","Gopf":"\uD835\uDD3E","gopf":"\uD835\uDD58","grave":"`","GreaterEqual":"\u2265","GreaterEqualLess":"\u22DB","GreaterFullEqual":"\u2267","GreaterGreater":"\u2AA2","GreaterLess":"\u2277","GreaterSlantEqual":"\u2A7E","GreaterTilde":"\u2273","Gscr":"\uD835\uDCA2","gscr":"\u210A","gsim":"\u2273","gsime":"\u2A8E","gsiml":"\u2A90","gtcc":"\u2AA7","gtcir":"\u2A7A","gt":">","GT":">","Gt":"\u226B","gtdot":"\u22D7","gtlPar":"\u2995","gtquest":"\u2A7C","gtrapprox":"\u2A86","gtrarr":"\u2978","gtrdot":"\u22D7","gtreqless":"\u22DB","gtreqqless":"\u2A8C","gtrless":"\u2277","gtrsim":"\u2273","gvertneqq":"\u2269\uFE00","gvnE":"\u2269\uFE00","Hacek":"\u02C7","hairsp":"\u200A","half":"\u00BD","hamilt":"\u210B","HARDcy":"\u042A","hardcy":"\u044A","harrcir":"\u2948","harr":"\u2194","hArr":"\u21D4","harrw":"\u21AD","Hat":"^","hbar":"\u210F","Hcirc":"\u0124","hcirc":"\u0125","hearts":"\u2665","heartsuit":"\u2665","hellip":"\u2026","hercon":"\u22B9","hfr":"\uD835\uDD25","Hfr":"\u210C","HilbertSpace":"\u210B","hksearow":"\u2925","hkswarow":"\u2926","hoarr":"\u21FF","homtht":"\u223B","hookleftarrow":"\u21A9","hookrightarrow":"\u21AA","hopf":"\uD835\uDD59","Hopf":"\u210D","horbar":"\u2015","HorizontalLine":"\u2500","hscr":"\uD835\uDCBD","Hscr":"\u210B","hslash":"\u210F","Hstrok":"\u0126","hstrok":"\u0127","HumpDownHump":"\u224E","HumpEqual":"\u224F","hybull":"\u2043","hyphen":"\u2010","Iacute":"\u00CD","iacute":"\u00ED","ic":"\u2063","Icirc":"\u00CE","icirc":"\u00EE","Icy":"\u0418","icy":"\u0438","Idot":"\u0130","IEcy":"\u0415","iecy":"\u0435","iexcl":"\u00A1","iff":"\u21D4","ifr":"\uD835\uDD26","Ifr":"\u2111","Igrave":"\u00CC","igrave":"\u00EC","ii":"\u2148","iiiint":"\u2A0C","iiint":"\u222D","iinfin":"\u29DC","iiota":"\u2129","IJlig":"\u0132","ijlig":"\u0133","Imacr":"\u012A","imacr":"\u012B","image":"\u2111","ImaginaryI":"\u2148","imagline":"\u2110","imagpart":"\u2111","imath":"\u0131","Im":"\u2111","imof":"\u22B7","imped":"\u01B5","Implies":"\u21D2","incare":"\u2105","in":"\u2208","infin":"\u221E","infintie":"\u29DD","inodot":"\u0131","intcal":"\u22BA","int":"\u222B","Int":"\u222C","integers":"\u2124","Integral":"\u222B","intercal":"\u22BA","Intersection":"\u22C2","intlarhk":"\u2A17","intprod":"\u2A3C","InvisibleComma":"\u2063","InvisibleTimes":"\u2062","IOcy":"\u0401","iocy":"\u0451","Iogon":"\u012E","iogon":"\u012F","Iopf":"\uD835\uDD40","iopf":"\uD835\uDD5A","Iota":"\u0399","iota":"\u03B9","iprod":"\u2A3C","iquest":"\u00BF","iscr":"\uD835\uDCBE","Iscr":"\u2110","isin":"\u2208","isindot":"\u22F5","isinE":"\u22F9","isins":"\u22F4","isinsv":"\u22F3","isinv":"\u2208","it":"\u2062","Itilde":"\u0128","itilde":"\u0129","Iukcy":"\u0406","iukcy":"\u0456","Iuml":"\u00CF","iuml":"\u00EF","Jcirc":"\u0134","jcirc":"\u0135","Jcy":"\u0419","jcy":"\u0439","Jfr":"\uD835\uDD0D","jfr":"\uD835\uDD27","jmath":"\u0237","Jopf":"\uD835\uDD41","jopf":"\uD835\uDD5B","Jscr":"\uD835\uDCA5","jscr":"\uD835\uDCBF","Jsercy":"\u0408","jsercy":"\u0458","Jukcy":"\u0404","jukcy":"\u0454","Kappa":"\u039A","kappa":"\u03BA","kappav":"\u03F0","Kcedil":"\u0136","kcedil":"\u0137","Kcy":"\u041A","kcy":"\u043A","Kfr":"\uD835\uDD0E","kfr":"\uD835\uDD28","kgreen":"\u0138","KHcy":"\u0425","khcy":"\u0445","KJcy":"\u040C","kjcy":"\u045C","Kopf":"\uD835\uDD42","kopf":"\uD835\uDD5C","Kscr":"\uD835\uDCA6","kscr":"\uD835\uDCC0","lAarr":"\u21DA","Lacute":"\u0139","lacute":"\u013A","laemptyv":"\u29B4","lagran":"\u2112","Lambda":"\u039B","lambda":"\u03BB","lang":"\u27E8","Lang":"\u27EA","langd":"\u2991","langle":"\u27E8","lap":"\u2A85","Laplacetrf":"\u2112","laquo":"\u00AB","larrb":"\u21E4","larrbfs":"\u291F","larr":"\u2190","Larr":"\u219E","lArr":"\u21D0","larrfs":"\u291D","larrhk":"\u21A9","larrlp":"\u21AB","larrpl":"\u2939","larrsim":"\u2973","larrtl":"\u21A2","latail":"\u2919","lAtail":"\u291B","lat":"\u2AAB","late":"\u2AAD","lates":"\u2AAD\uFE00","lbarr":"\u290C","lBarr":"\u290E","lbbrk":"\u2772","lbrace":"{","lbrack":"[","lbrke":"\u298B","lbrksld":"\u298F","lbrkslu":"\u298D","Lcaron":"\u013D","lcaron":"\u013E","Lcedil":"\u013B","lcedil":"\u013C","lceil":"\u2308","lcub":"{","Lcy":"\u041B","lcy":"\u043B","ldca":"\u2936","ldquo":"\u201C","ldquor":"\u201E","ldrdhar":"\u2967","ldrushar":"\u294B","ldsh":"\u21B2","le":"\u2264","lE":"\u2266","LeftAngleBracket":"\u27E8","LeftArrowBar":"\u21E4","leftarrow":"\u2190","LeftArrow":"\u2190","Leftarrow":"\u21D0","LeftArrowRightArrow":"\u21C6","leftarrowtail":"\u21A2","LeftCeiling":"\u2308","LeftDoubleBracket":"\u27E6","LeftDownTeeVector":"\u2961","LeftDownVectorBar":"\u2959","LeftDownVector":"\u21C3","LeftFloor":"\u230A","leftharpoondown":"\u21BD","leftharpoonup":"\u21BC","leftleftarrows":"\u21C7","leftrightarrow":"\u2194","LeftRightArrow":"\u2194","Leftrightarrow":"\u21D4","leftrightarrows":"\u21C6","leftrightharpoons":"\u21CB","leftrightsquigarrow":"\u21AD","LeftRightVector":"\u294E","LeftTeeArrow":"\u21A4","LeftTee":"\u22A3","LeftTeeVector":"\u295A","leftthreetimes":"\u22CB","LeftTriangleBar":"\u29CF","LeftTriangle":"\u22B2","LeftTriangleEqual":"\u22B4","LeftUpDownVector":"\u2951","LeftUpTeeVector":"\u2960","LeftUpVectorBar":"\u2958","LeftUpVector":"\u21BF","LeftVectorBar":"\u2952","LeftVector":"\u21BC","lEg":"\u2A8B","leg":"\u22DA","leq":"\u2264","leqq":"\u2266","leqslant":"\u2A7D","lescc":"\u2AA8","les":"\u2A7D","lesdot":"\u2A7F","lesdoto":"\u2A81","lesdotor":"\u2A83","lesg":"\u22DA\uFE00","lesges":"\u2A93","lessapprox":"\u2A85","lessdot":"\u22D6","lesseqgtr":"\u22DA","lesseqqgtr":"\u2A8B","LessEqualGreater":"\u22DA","LessFullEqual":"\u2266","LessGreater":"\u2276","lessgtr":"\u2276","LessLess":"\u2AA1","lesssim":"\u2272","LessSlantEqual":"\u2A7D","LessTilde":"\u2272","lfisht":"\u297C","lfloor":"\u230A","Lfr":"\uD835\uDD0F","lfr":"\uD835\uDD29","lg":"\u2276","lgE":"\u2A91","lHar":"\u2962","lhard":"\u21BD","lharu":"\u21BC","lharul":"\u296A","lhblk":"\u2584","LJcy":"\u0409","ljcy":"\u0459","llarr":"\u21C7","ll":"\u226A","Ll":"\u22D8","llcorner":"\u231E","Lleftarrow":"\u21DA","llhard":"\u296B","lltri":"\u25FA","Lmidot":"\u013F","lmidot":"\u0140","lmoustache":"\u23B0","lmoust":"\u23B0","lnap":"\u2A89","lnapprox":"\u2A89","lne":"\u2A87","lnE":"\u2268","lneq":"\u2A87","lneqq":"\u2268","lnsim":"\u22E6","loang":"\u27EC","loarr":"\u21FD","lobrk":"\u27E6","longleftarrow":"\u27F5","LongLeftArrow":"\u27F5","Longleftarrow":"\u27F8","longleftrightarrow":"\u27F7","LongLeftRightArrow":"\u27F7","Longleftrightarrow":"\u27FA","longmapsto":"\u27FC","longrightarrow":"\u27F6","LongRightArrow":"\u27F6","Longrightarrow":"\u27F9","looparrowleft":"\u21AB","looparrowright":"\u21AC","lopar":"\u2985","Lopf":"\uD835\uDD43","lopf":"\uD835\uDD5D","loplus":"\u2A2D","lotimes":"\u2A34","lowast":"\u2217","lowbar":"_","LowerLeftArrow":"\u2199","LowerRightArrow":"\u2198","loz":"\u25CA","lozenge":"\u25CA","lozf":"\u29EB","lpar":"(","lparlt":"\u2993","lrarr":"\u21C6","lrcorner":"\u231F","lrhar":"\u21CB","lrhard":"\u296D","lrm":"\u200E","lrtri":"\u22BF","lsaquo":"\u2039","lscr":"\uD835\uDCC1","Lscr":"\u2112","lsh":"\u21B0","Lsh":"\u21B0","lsim":"\u2272","lsime":"\u2A8D","lsimg":"\u2A8F","lsqb":"[","lsquo":"\u2018","lsquor":"\u201A","Lstrok":"\u0141","lstrok":"\u0142","ltcc":"\u2AA6","ltcir":"\u2A79","lt":"<","LT":"<","Lt":"\u226A","ltdot":"\u22D6","lthree":"\u22CB","ltimes":"\u22C9","ltlarr":"\u2976","ltquest":"\u2A7B","ltri":"\u25C3","ltrie":"\u22B4","ltrif":"\u25C2","ltrPar":"\u2996","lurdshar":"\u294A","luruhar":"\u2966","lvertneqq":"\u2268\uFE00","lvnE":"\u2268\uFE00","macr":"\u00AF","male":"\u2642","malt":"\u2720","maltese":"\u2720","Map":"\u2905","map":"\u21A6","mapsto":"\u21A6","mapstodown":"\u21A7","mapstoleft":"\u21A4","mapstoup":"\u21A5","marker":"\u25AE","mcomma":"\u2A29","Mcy":"\u041C","mcy":"\u043C","mdash":"\u2014","mDDot":"\u223A","measuredangle":"\u2221","MediumSpace":"\u205F","Mellintrf":"\u2133","Mfr":"\uD835\uDD10","mfr":"\uD835\uDD2A","mho":"\u2127","micro":"\u00B5","midast":"*","midcir":"\u2AF0","mid":"\u2223","middot":"\u00B7","minusb":"\u229F","minus":"\u2212","minusd":"\u2238","minusdu":"\u2A2A","MinusPlus":"\u2213","mlcp":"\u2ADB","mldr":"\u2026","mnplus":"\u2213","models":"\u22A7","Mopf":"\uD835\uDD44","mopf":"\uD835\uDD5E","mp":"\u2213","mscr":"\uD835\uDCC2","Mscr":"\u2133","mstpos":"\u223E","Mu":"\u039C","mu":"\u03BC","multimap":"\u22B8","mumap":"\u22B8","nabla":"\u2207","Nacute":"\u0143","nacute":"\u0144","nang":"\u2220\u20D2","nap":"\u2249","napE":"\u2A70\u0338","napid":"\u224B\u0338","napos":"\u0149","napprox":"\u2249","natural":"\u266E","naturals":"\u2115","natur":"\u266E","nbsp":"\u00A0","nbump":"\u224E\u0338","nbumpe":"\u224F\u0338","ncap":"\u2A43","Ncaron":"\u0147","ncaron":"\u0148","Ncedil":"\u0145","ncedil":"\u0146","ncong":"\u2247","ncongdot":"\u2A6D\u0338","ncup":"\u2A42","Ncy":"\u041D","ncy":"\u043D","ndash":"\u2013","nearhk":"\u2924","nearr":"\u2197","neArr":"\u21D7","nearrow":"\u2197","ne":"\u2260","nedot":"\u2250\u0338","NegativeMediumSpace":"\u200B","NegativeThickSpace":"\u200B","NegativeThinSpace":"\u200B","NegativeVeryThinSpace":"\u200B","nequiv":"\u2262","nesear":"\u2928","nesim":"\u2242\u0338","NestedGreaterGreater":"\u226B","NestedLessLess":"\u226A","NewLine":"\n","nexist":"\u2204","nexists":"\u2204","Nfr":"\uD835\uDD11","nfr":"\uD835\uDD2B","ngE":"\u2267\u0338","nge":"\u2271","ngeq":"\u2271","ngeqq":"\u2267\u0338","ngeqslant":"\u2A7E\u0338","nges":"\u2A7E\u0338","nGg":"\u22D9\u0338","ngsim":"\u2275","nGt":"\u226B\u20D2","ngt":"\u226F","ngtr":"\u226F","nGtv":"\u226B\u0338","nharr":"\u21AE","nhArr":"\u21CE","nhpar":"\u2AF2","ni":"\u220B","nis":"\u22FC","nisd":"\u22FA","niv":"\u220B","NJcy":"\u040A","njcy":"\u045A","nlarr":"\u219A","nlArr":"\u21CD","nldr":"\u2025","nlE":"\u2266\u0338","nle":"\u2270","nleftarrow":"\u219A","nLeftarrow":"\u21CD","nleftrightarrow":"\u21AE","nLeftrightarrow":"\u21CE","nleq":"\u2270","nleqq":"\u2266\u0338","nleqslant":"\u2A7D\u0338","nles":"\u2A7D\u0338","nless":"\u226E","nLl":"\u22D8\u0338","nlsim":"\u2274","nLt":"\u226A\u20D2","nlt":"\u226E","nltri":"\u22EA","nltrie":"\u22EC","nLtv":"\u226A\u0338","nmid":"\u2224","NoBreak":"\u2060","NonBreakingSpace":"\u00A0","nopf":"\uD835\uDD5F","Nopf":"\u2115","Not":"\u2AEC","not":"\u00AC","NotCongruent":"\u2262","NotCupCap":"\u226D","NotDoubleVerticalBar":"\u2226","NotElement":"\u2209","NotEqual":"\u2260","NotEqualTilde":"\u2242\u0338","NotExists":"\u2204","NotGreater":"\u226F","NotGreaterEqual":"\u2271","NotGreaterFullEqual":"\u2267\u0338","NotGreaterGreater":"\u226B\u0338","NotGreaterLess":"\u2279","NotGreaterSlantEqual":"\u2A7E\u0338","NotGreaterTilde":"\u2275","NotHumpDownHump":"\u224E\u0338","NotHumpEqual":"\u224F\u0338","notin":"\u2209","notindot":"\u22F5\u0338","notinE":"\u22F9\u0338","notinva":"\u2209","notinvb":"\u22F7","notinvc":"\u22F6","NotLeftTriangleBar":"\u29CF\u0338","NotLeftTriangle":"\u22EA","NotLeftTriangleEqual":"\u22EC","NotLess":"\u226E","NotLessEqual":"\u2270","NotLessGreater":"\u2278","NotLessLess":"\u226A\u0338","NotLessSlantEqual":"\u2A7D\u0338","NotLessTilde":"\u2274","NotNestedGreaterGreater":"\u2AA2\u0338","NotNestedLessLess":"\u2AA1\u0338","notni":"\u220C","notniva":"\u220C","notnivb":"\u22FE","notnivc":"\u22FD","NotPrecedes":"\u2280","NotPrecedesEqual":"\u2AAF\u0338","NotPrecedesSlantEqual":"\u22E0","NotReverseElement":"\u220C","NotRightTriangleBar":"\u29D0\u0338","NotRightTriangle":"\u22EB","NotRightTriangleEqual":"\u22ED","NotSquareSubset":"\u228F\u0338","NotSquareSubsetEqual":"\u22E2","NotSquareSuperset":"\u2290\u0338","NotSquareSupersetEqual":"\u22E3","NotSubset":"\u2282\u20D2","NotSubsetEqual":"\u2288","NotSucceeds":"\u2281","NotSucceedsEqual":"\u2AB0\u0338","NotSucceedsSlantEqual":"\u22E1","NotSucceedsTilde":"\u227F\u0338","NotSuperset":"\u2283\u20D2","NotSupersetEqual":"\u2289","NotTilde":"\u2241","NotTildeEqual":"\u2244","NotTildeFullEqual":"\u2247","NotTildeTilde":"\u2249","NotVerticalBar":"\u2224","nparallel":"\u2226","npar":"\u2226","nparsl":"\u2AFD\u20E5","npart":"\u2202\u0338","npolint":"\u2A14","npr":"\u2280","nprcue":"\u22E0","nprec":"\u2280","npreceq":"\u2AAF\u0338","npre":"\u2AAF\u0338","nrarrc":"\u2933\u0338","nrarr":"\u219B","nrArr":"\u21CF","nrarrw":"\u219D\u0338","nrightarrow":"\u219B","nRightarrow":"\u21CF","nrtri":"\u22EB","nrtrie":"\u22ED","nsc":"\u2281","nsccue":"\u22E1","nsce":"\u2AB0\u0338","Nscr":"\uD835\uDCA9","nscr":"\uD835\uDCC3","nshortmid":"\u2224","nshortparallel":"\u2226","nsim":"\u2241","nsime":"\u2244","nsimeq":"\u2244","nsmid":"\u2224","nspar":"\u2226","nsqsube":"\u22E2","nsqsupe":"\u22E3","nsub":"\u2284","nsubE":"\u2AC5\u0338","nsube":"\u2288","nsubset":"\u2282\u20D2","nsubseteq":"\u2288","nsubseteqq":"\u2AC5\u0338","nsucc":"\u2281","nsucceq":"\u2AB0\u0338","nsup":"\u2285","nsupE":"\u2AC6\u0338","nsupe":"\u2289","nsupset":"\u2283\u20D2","nsupseteq":"\u2289","nsupseteqq":"\u2AC6\u0338","ntgl":"\u2279","Ntilde":"\u00D1","ntilde":"\u00F1","ntlg":"\u2278","ntriangleleft":"\u22EA","ntrianglelefteq":"\u22EC","ntriangleright":"\u22EB","ntrianglerighteq":"\u22ED","Nu":"\u039D","nu":"\u03BD","num":"#","numero":"\u2116","numsp":"\u2007","nvap":"\u224D\u20D2","nvdash":"\u22AC","nvDash":"\u22AD","nVdash":"\u22AE","nVDash":"\u22AF","nvge":"\u2265\u20D2","nvgt":">\u20D2","nvHarr":"\u2904","nvinfin":"\u29DE","nvlArr":"\u2902","nvle":"\u2264\u20D2","nvlt":"<\u20D2","nvltrie":"\u22B4\u20D2","nvrArr":"\u2903","nvrtrie":"\u22B5\u20D2","nvsim":"\u223C\u20D2","nwarhk":"\u2923","nwarr":"\u2196","nwArr":"\u21D6","nwarrow":"\u2196","nwnear":"\u2927","Oacute":"\u00D3","oacute":"\u00F3","oast":"\u229B","Ocirc":"\u00D4","ocirc":"\u00F4","ocir":"\u229A","Ocy":"\u041E","ocy":"\u043E","odash":"\u229D","Odblac":"\u0150","odblac":"\u0151","odiv":"\u2A38","odot":"\u2299","odsold":"\u29BC","OElig":"\u0152","oelig":"\u0153","ofcir":"\u29BF","Ofr":"\uD835\uDD12","ofr":"\uD835\uDD2C","ogon":"\u02DB","Ograve":"\u00D2","ograve":"\u00F2","ogt":"\u29C1","ohbar":"\u29B5","ohm":"\u03A9","oint":"\u222E","olarr":"\u21BA","olcir":"\u29BE","olcross":"\u29BB","oline":"\u203E","olt":"\u29C0","Omacr":"\u014C","omacr":"\u014D","Omega":"\u03A9","omega":"\u03C9","Omicron":"\u039F","omicron":"\u03BF","omid":"\u29B6","ominus":"\u2296","Oopf":"\uD835\uDD46","oopf":"\uD835\uDD60","opar":"\u29B7","OpenCurlyDoubleQuote":"\u201C","OpenCurlyQuote":"\u2018","operp":"\u29B9","oplus":"\u2295","orarr":"\u21BB","Or":"\u2A54","or":"\u2228","ord":"\u2A5D","order":"\u2134","orderof":"\u2134","ordf":"\u00AA","ordm":"\u00BA","origof":"\u22B6","oror":"\u2A56","orslope":"\u2A57","orv":"\u2A5B","oS":"\u24C8","Oscr":"\uD835\uDCAA","oscr":"\u2134","Oslash":"\u00D8","oslash":"\u00F8","osol":"\u2298","Otilde":"\u00D5","otilde":"\u00F5","otimesas":"\u2A36","Otimes":"\u2A37","otimes":"\u2297","Ouml":"\u00D6","ouml":"\u00F6","ovbar":"\u233D","OverBar":"\u203E","OverBrace":"\u23DE","OverBracket":"\u23B4","OverParenthesis":"\u23DC","para":"\u00B6","parallel":"\u2225","par":"\u2225","parsim":"\u2AF3","parsl":"\u2AFD","part":"\u2202","PartialD":"\u2202","Pcy":"\u041F","pcy":"\u043F","percnt":"%","period":".","permil":"\u2030","perp":"\u22A5","pertenk":"\u2031","Pfr":"\uD835\uDD13","pfr":"\uD835\uDD2D","Phi":"\u03A6","phi":"\u03C6","phiv":"\u03D5","phmmat":"\u2133","phone":"\u260E","Pi":"\u03A0","pi":"\u03C0","pitchfork":"\u22D4","piv":"\u03D6","planck":"\u210F","planckh":"\u210E","plankv":"\u210F","plusacir":"\u2A23","plusb":"\u229E","pluscir":"\u2A22","plus":"+","plusdo":"\u2214","plusdu":"\u2A25","pluse":"\u2A72","PlusMinus":"\u00B1","plusmn":"\u00B1","plussim":"\u2A26","plustwo":"\u2A27","pm":"\u00B1","Poincareplane":"\u210C","pointint":"\u2A15","popf":"\uD835\uDD61","Popf":"\u2119","pound":"\u00A3","prap":"\u2AB7","Pr":"\u2ABB","pr":"\u227A","prcue":"\u227C","precapprox":"\u2AB7","prec":"\u227A","preccurlyeq":"\u227C","Precedes":"\u227A","PrecedesEqual":"\u2AAF","PrecedesSlantEqual":"\u227C","PrecedesTilde":"\u227E","preceq":"\u2AAF","precnapprox":"\u2AB9","precneqq":"\u2AB5","precnsim":"\u22E8","pre":"\u2AAF","prE":"\u2AB3","precsim":"\u227E","prime":"\u2032","Prime":"\u2033","primes":"\u2119","prnap":"\u2AB9","prnE":"\u2AB5","prnsim":"\u22E8","prod":"\u220F","Product":"\u220F","profalar":"\u232E","profline":"\u2312","profsurf":"\u2313","prop":"\u221D","Proportional":"\u221D","Proportion":"\u2237","propto":"\u221D","prsim":"\u227E","prurel":"\u22B0","Pscr":"\uD835\uDCAB","pscr":"\uD835\uDCC5","Psi":"\u03A8","psi":"\u03C8","puncsp":"\u2008","Qfr":"\uD835\uDD14","qfr":"\uD835\uDD2E","qint":"\u2A0C","qopf":"\uD835\uDD62","Qopf":"\u211A","qprime":"\u2057","Qscr":"\uD835\uDCAC","qscr":"\uD835\uDCC6","quaternions":"\u210D","quatint":"\u2A16","quest":"?","questeq":"\u225F","quot":"\"","QUOT":"\"","rAarr":"\u21DB","race":"\u223D\u0331","Racute":"\u0154","racute":"\u0155","radic":"\u221A","raemptyv":"\u29B3","rang":"\u27E9","Rang":"\u27EB","rangd":"\u2992","range":"\u29A5","rangle":"\u27E9","raquo":"\u00BB","rarrap":"\u2975","rarrb":"\u21E5","rarrbfs":"\u2920","rarrc":"\u2933","rarr":"\u2192","Rarr":"\u21A0","rArr":"\u21D2","rarrfs":"\u291E","rarrhk":"\u21AA","rarrlp":"\u21AC","rarrpl":"\u2945","rarrsim":"\u2974","Rarrtl":"\u2916","rarrtl":"\u21A3","rarrw":"\u219D","ratail":"\u291A","rAtail":"\u291C","ratio":"\u2236","rationals":"\u211A","rbarr":"\u290D","rBarr":"\u290F","RBarr":"\u2910","rbbrk":"\u2773","rbrace":"}","rbrack":"]","rbrke":"\u298C","rbrksld":"\u298E","rbrkslu":"\u2990","Rcaron":"\u0158","rcaron":"\u0159","Rcedil":"\u0156","rcedil":"\u0157","rceil":"\u2309","rcub":"}","Rcy":"\u0420","rcy":"\u0440","rdca":"\u2937","rdldhar":"\u2969","rdquo":"\u201D","rdquor":"\u201D","rdsh":"\u21B3","real":"\u211C","realine":"\u211B","realpart":"\u211C","reals":"\u211D","Re":"\u211C","rect":"\u25AD","reg":"\u00AE","REG":"\u00AE","ReverseElement":"\u220B","ReverseEquilibrium":"\u21CB","ReverseUpEquilibrium":"\u296F","rfisht":"\u297D","rfloor":"\u230B","rfr":"\uD835\uDD2F","Rfr":"\u211C","rHar":"\u2964","rhard":"\u21C1","rharu":"\u21C0","rharul":"\u296C","Rho":"\u03A1","rho":"\u03C1","rhov":"\u03F1","RightAngleBracket":"\u27E9","RightArrowBar":"\u21E5","rightarrow":"\u2192","RightArrow":"\u2192","Rightarrow":"\u21D2","RightArrowLeftArrow":"\u21C4","rightarrowtail":"\u21A3","RightCeiling":"\u2309","RightDoubleBracket":"\u27E7","RightDownTeeVector":"\u295D","RightDownVectorBar":"\u2955","RightDownVector":"\u21C2","RightFloor":"\u230B","rightharpoondown":"\u21C1","rightharpoonup":"\u21C0","rightleftarrows":"\u21C4","rightleftharpoons":"\u21CC","rightrightarrows":"\u21C9","rightsquigarrow":"\u219D","RightTeeArrow":"\u21A6","RightTee":"\u22A2","RightTeeVector":"\u295B","rightthreetimes":"\u22CC","RightTriangleBar":"\u29D0","RightTriangle":"\u22B3","RightTriangleEqual":"\u22B5","RightUpDownVector":"\u294F","RightUpTeeVector":"\u295C","RightUpVectorBar":"\u2954","RightUpVector":"\u21BE","RightVectorBar":"\u2953","RightVector":"\u21C0","ring":"\u02DA","risingdotseq":"\u2253","rlarr":"\u21C4","rlhar":"\u21CC","rlm":"\u200F","rmoustache":"\u23B1","rmoust":"\u23B1","rnmid":"\u2AEE","roang":"\u27ED","roarr":"\u21FE","robrk":"\u27E7","ropar":"\u2986","ropf":"\uD835\uDD63","Ropf":"\u211D","roplus":"\u2A2E","rotimes":"\u2A35","RoundImplies":"\u2970","rpar":")","rpargt":"\u2994","rppolint":"\u2A12","rrarr":"\u21C9","Rrightarrow":"\u21DB","rsaquo":"\u203A","rscr":"\uD835\uDCC7","Rscr":"\u211B","rsh":"\u21B1","Rsh":"\u21B1","rsqb":"]","rsquo":"\u2019","rsquor":"\u2019","rthree":"\u22CC","rtimes":"\u22CA","rtri":"\u25B9","rtrie":"\u22B5","rtrif":"\u25B8","rtriltri":"\u29CE","RuleDelayed":"\u29F4","ruluhar":"\u2968","rx":"\u211E","Sacute":"\u015A","sacute":"\u015B","sbquo":"\u201A","scap":"\u2AB8","Scaron":"\u0160","scaron":"\u0161","Sc":"\u2ABC","sc":"\u227B","sccue":"\u227D","sce":"\u2AB0","scE":"\u2AB4","Scedil":"\u015E","scedil":"\u015F","Scirc":"\u015C","scirc":"\u015D","scnap":"\u2ABA","scnE":"\u2AB6","scnsim":"\u22E9","scpolint":"\u2A13","scsim":"\u227F","Scy":"\u0421","scy":"\u0441","sdotb":"\u22A1","sdot":"\u22C5","sdote":"\u2A66","searhk":"\u2925","searr":"\u2198","seArr":"\u21D8","searrow":"\u2198","sect":"\u00A7","semi":";","seswar":"\u2929","setminus":"\u2216","setmn":"\u2216","sext":"\u2736","Sfr":"\uD835\uDD16","sfr":"\uD835\uDD30","sfrown":"\u2322","sharp":"\u266F","SHCHcy":"\u0429","shchcy":"\u0449","SHcy":"\u0428","shcy":"\u0448","ShortDownArrow":"\u2193","ShortLeftArrow":"\u2190","shortmid":"\u2223","shortparallel":"\u2225","ShortRightArrow":"\u2192","ShortUpArrow":"\u2191","shy":"\u00AD","Sigma":"\u03A3","sigma":"\u03C3","sigmaf":"\u03C2","sigmav":"\u03C2","sim":"\u223C","simdot":"\u2A6A","sime":"\u2243","simeq":"\u2243","simg":"\u2A9E","simgE":"\u2AA0","siml":"\u2A9D","simlE":"\u2A9F","simne":"\u2246","simplus":"\u2A24","simrarr":"\u2972","slarr":"\u2190","SmallCircle":"\u2218","smallsetminus":"\u2216","smashp":"\u2A33","smeparsl":"\u29E4","smid":"\u2223","smile":"\u2323","smt":"\u2AAA","smte":"\u2AAC","smtes":"\u2AAC\uFE00","SOFTcy":"\u042C","softcy":"\u044C","solbar":"\u233F","solb":"\u29C4","sol":"/","Sopf":"\uD835\uDD4A","sopf":"\uD835\uDD64","spades":"\u2660","spadesuit":"\u2660","spar":"\u2225","sqcap":"\u2293","sqcaps":"\u2293\uFE00","sqcup":"\u2294","sqcups":"\u2294\uFE00","Sqrt":"\u221A","sqsub":"\u228F","sqsube":"\u2291","sqsubset":"\u228F","sqsubseteq":"\u2291","sqsup":"\u2290","sqsupe":"\u2292","sqsupset":"\u2290","sqsupseteq":"\u2292","square":"\u25A1","Square":"\u25A1","SquareIntersection":"\u2293","SquareSubset":"\u228F","SquareSubsetEqual":"\u2291","SquareSuperset":"\u2290","SquareSupersetEqual":"\u2292","SquareUnion":"\u2294","squarf":"\u25AA","squ":"\u25A1","squf":"\u25AA","srarr":"\u2192","Sscr":"\uD835\uDCAE","sscr":"\uD835\uDCC8","ssetmn":"\u2216","ssmile":"\u2323","sstarf":"\u22C6","Star":"\u22C6","star":"\u2606","starf":"\u2605","straightepsilon":"\u03F5","straightphi":"\u03D5","strns":"\u00AF","sub":"\u2282","Sub":"\u22D0","subdot":"\u2ABD","subE":"\u2AC5","sube":"\u2286","subedot":"\u2AC3","submult":"\u2AC1","subnE":"\u2ACB","subne":"\u228A","subplus":"\u2ABF","subrarr":"\u2979","subset":"\u2282","Subset":"\u22D0","subseteq":"\u2286","subseteqq":"\u2AC5","SubsetEqual":"\u2286","subsetneq":"\u228A","subsetneqq":"\u2ACB","subsim":"\u2AC7","subsub":"\u2AD5","subsup":"\u2AD3","succapprox":"\u2AB8","succ":"\u227B","succcurlyeq":"\u227D","Succeeds":"\u227B","SucceedsEqual":"\u2AB0","SucceedsSlantEqual":"\u227D","SucceedsTilde":"\u227F","succeq":"\u2AB0","succnapprox":"\u2ABA","succneqq":"\u2AB6","succnsim":"\u22E9","succsim":"\u227F","SuchThat":"\u220B","sum":"\u2211","Sum":"\u2211","sung":"\u266A","sup1":"\u00B9","sup2":"\u00B2","sup3":"\u00B3","sup":"\u2283","Sup":"\u22D1","supdot":"\u2ABE","supdsub":"\u2AD8","supE":"\u2AC6","supe":"\u2287","supedot":"\u2AC4","Superset":"\u2283","SupersetEqual":"\u2287","suphsol":"\u27C9","suphsub":"\u2AD7","suplarr":"\u297B","supmult":"\u2AC2","supnE":"\u2ACC","supne":"\u228B","supplus":"\u2AC0","supset":"\u2283","Supset":"\u22D1","supseteq":"\u2287","supseteqq":"\u2AC6","supsetneq":"\u228B","supsetneqq":"\u2ACC","supsim":"\u2AC8","supsub":"\u2AD4","supsup":"\u2AD6","swarhk":"\u2926","swarr":"\u2199","swArr":"\u21D9","swarrow":"\u2199","swnwar":"\u292A","szlig":"\u00DF","Tab":"\t","target":"\u2316","Tau":"\u03A4","tau":"\u03C4","tbrk":"\u23B4","Tcaron":"\u0164","tcaron":"\u0165","Tcedil":"\u0162","tcedil":"\u0163","Tcy":"\u0422","tcy":"\u0442","tdot":"\u20DB","telrec":"\u2315","Tfr":"\uD835\uDD17","tfr":"\uD835\uDD31","there4":"\u2234","therefore":"\u2234","Therefore":"\u2234","Theta":"\u0398","theta":"\u03B8","thetasym":"\u03D1","thetav":"\u03D1","thickapprox":"\u2248","thicksim":"\u223C","ThickSpace":"\u205F\u200A","ThinSpace":"\u2009","thinsp":"\u2009","thkap":"\u2248","thksim":"\u223C","THORN":"\u00DE","thorn":"\u00FE","tilde":"\u02DC","Tilde":"\u223C","TildeEqual":"\u2243","TildeFullEqual":"\u2245","TildeTilde":"\u2248","timesbar":"\u2A31","timesb":"\u22A0","times":"\u00D7","timesd":"\u2A30","tint":"\u222D","toea":"\u2928","topbot":"\u2336","topcir":"\u2AF1","top":"\u22A4","Topf":"\uD835\uDD4B","topf":"\uD835\uDD65","topfork":"\u2ADA","tosa":"\u2929","tprime":"\u2034","trade":"\u2122","TRADE":"\u2122","triangle":"\u25B5","triangledown":"\u25BF","triangleleft":"\u25C3","trianglelefteq":"\u22B4","triangleq":"\u225C","triangleright":"\u25B9","trianglerighteq":"\u22B5","tridot":"\u25EC","trie":"\u225C","triminus":"\u2A3A","TripleDot":"\u20DB","triplus":"\u2A39","trisb":"\u29CD","tritime":"\u2A3B","trpezium":"\u23E2","Tscr":"\uD835\uDCAF","tscr":"\uD835\uDCC9","TScy":"\u0426","tscy":"\u0446","TSHcy":"\u040B","tshcy":"\u045B","Tstrok":"\u0166","tstrok":"\u0167","twixt":"\u226C","twoheadleftarrow":"\u219E","twoheadrightarrow":"\u21A0","Uacute":"\u00DA","uacute":"\u00FA","uarr":"\u2191","Uarr":"\u219F","uArr":"\u21D1","Uarrocir":"\u2949","Ubrcy":"\u040E","ubrcy":"\u045E","Ubreve":"\u016C","ubreve":"\u016D","Ucirc":"\u00DB","ucirc":"\u00FB","Ucy":"\u0423","ucy":"\u0443","udarr":"\u21C5","Udblac":"\u0170","udblac":"\u0171","udhar":"\u296E","ufisht":"\u297E","Ufr":"\uD835\uDD18","ufr":"\uD835\uDD32","Ugrave":"\u00D9","ugrave":"\u00F9","uHar":"\u2963","uharl":"\u21BF","uharr":"\u21BE","uhblk":"\u2580","ulcorn":"\u231C","ulcorner":"\u231C","ulcrop":"\u230F","ultri":"\u25F8","Umacr":"\u016A","umacr":"\u016B","uml":"\u00A8","UnderBar":"_","UnderBrace":"\u23DF","UnderBracket":"\u23B5","UnderParenthesis":"\u23DD","Union":"\u22C3","UnionPlus":"\u228E","Uogon":"\u0172","uogon":"\u0173","Uopf":"\uD835\uDD4C","uopf":"\uD835\uDD66","UpArrowBar":"\u2912","uparrow":"\u2191","UpArrow":"\u2191","Uparrow":"\u21D1","UpArrowDownArrow":"\u21C5","updownarrow":"\u2195","UpDownArrow":"\u2195","Updownarrow":"\u21D5","UpEquilibrium":"\u296E","upharpoonleft":"\u21BF","upharpoonright":"\u21BE","uplus":"\u228E","UpperLeftArrow":"\u2196","UpperRightArrow":"\u2197","upsi":"\u03C5","Upsi":"\u03D2","upsih":"\u03D2","Upsilon":"\u03A5","upsilon":"\u03C5","UpTeeArrow":"\u21A5","UpTee":"\u22A5","upuparrows":"\u21C8","urcorn":"\u231D","urcorner":"\u231D","urcrop":"\u230E","Uring":"\u016E","uring":"\u016F","urtri":"\u25F9","Uscr":"\uD835\uDCB0","uscr":"\uD835\uDCCA","utdot":"\u22F0","Utilde":"\u0168","utilde":"\u0169","utri":"\u25B5","utrif":"\u25B4","uuarr":"\u21C8","Uuml":"\u00DC","uuml":"\u00FC","uwangle":"\u29A7","vangrt":"\u299C","varepsilon":"\u03F5","varkappa":"\u03F0","varnothing":"\u2205","varphi":"\u03D5","varpi":"\u03D6","varpropto":"\u221D","varr":"\u2195","vArr":"\u21D5","varrho":"\u03F1","varsigma":"\u03C2","varsubsetneq":"\u228A\uFE00","varsubsetneqq":"\u2ACB\uFE00","varsupsetneq":"\u228B\uFE00","varsupsetneqq":"\u2ACC\uFE00","vartheta":"\u03D1","vartriangleleft":"\u22B2","vartriangleright":"\u22B3","vBar":"\u2AE8","Vbar":"\u2AEB","vBarv":"\u2AE9","Vcy":"\u0412","vcy":"\u0432","vdash":"\u22A2","vDash":"\u22A8","Vdash":"\u22A9","VDash":"\u22AB","Vdashl":"\u2AE6","veebar":"\u22BB","vee":"\u2228","Vee":"\u22C1","veeeq":"\u225A","vellip":"\u22EE","verbar":"|","Verbar":"\u2016","vert":"|","Vert":"\u2016","VerticalBar":"\u2223","VerticalLine":"|","VerticalSeparator":"\u2758","VerticalTilde":"\u2240","VeryThinSpace":"\u200A","Vfr":"\uD835\uDD19","vfr":"\uD835\uDD33","vltri":"\u22B2","vnsub":"\u2282\u20D2","vnsup":"\u2283\u20D2","Vopf":"\uD835\uDD4D","vopf":"\uD835\uDD67","vprop":"\u221D","vrtri":"\u22B3","Vscr":"\uD835\uDCB1","vscr":"\uD835\uDCCB","vsubnE":"\u2ACB\uFE00","vsubne":"\u228A\uFE00","vsupnE":"\u2ACC\uFE00","vsupne":"\u228B\uFE00","Vvdash":"\u22AA","vzigzag":"\u299A","Wcirc":"\u0174","wcirc":"\u0175","wedbar":"\u2A5F","wedge":"\u2227","Wedge":"\u22C0","wedgeq":"\u2259","weierp":"\u2118","Wfr":"\uD835\uDD1A","wfr":"\uD835\uDD34","Wopf":"\uD835\uDD4E","wopf":"\uD835\uDD68","wp":"\u2118","wr":"\u2240","wreath":"\u2240","Wscr":"\uD835\uDCB2","wscr":"\uD835\uDCCC","xcap":"\u22C2","xcirc":"\u25EF","xcup":"\u22C3","xdtri":"\u25BD","Xfr":"\uD835\uDD1B","xfr":"\uD835\uDD35","xharr":"\u27F7","xhArr":"\u27FA","Xi":"\u039E","xi":"\u03BE","xlarr":"\u27F5","xlArr":"\u27F8","xmap":"\u27FC","xnis":"\u22FB","xodot":"\u2A00","Xopf":"\uD835\uDD4F","xopf":"\uD835\uDD69","xoplus":"\u2A01","xotime":"\u2A02","xrarr":"\u27F6","xrArr":"\u27F9","Xscr":"\uD835\uDCB3","xscr":"\uD835\uDCCD","xsqcup":"\u2A06","xuplus":"\u2A04","xutri":"\u25B3","xvee":"\u22C1","xwedge":"\u22C0","Yacute":"\u00DD","yacute":"\u00FD","YAcy":"\u042F","yacy":"\u044F","Ycirc":"\u0176","ycirc":"\u0177","Ycy":"\u042B","ycy":"\u044B","yen":"\u00A5","Yfr":"\uD835\uDD1C","yfr":"\uD835\uDD36","YIcy":"\u0407","yicy":"\u0457","Yopf":"\uD835\uDD50","yopf":"\uD835\uDD6A","Yscr":"\uD835\uDCB4","yscr":"\uD835\uDCCE","YUcy":"\u042E","yucy":"\u044E","yuml":"\u00FF","Yuml":"\u0178","Zacute":"\u0179","zacute":"\u017A","Zcaron":"\u017D","zcaron":"\u017E","Zcy":"\u0417","zcy":"\u0437","Zdot":"\u017B","zdot":"\u017C","zeetrf":"\u2128","ZeroWidthSpace":"\u200B","Zeta":"\u0396","zeta":"\u03B6","zfr":"\uD835\uDD37","Zfr":"\u2128","ZHcy":"\u0416","zhcy":"\u0436","zigrarr":"\u21DD","zopf":"\uD835\uDD6B","Zopf":"\u2124","Zscr":"\uD835\uDCB5","zscr":"\uD835\uDCCF","zwj":"\u200D","zwnj":"\u200C"}
+},{}],16:[function(require,module,exports){
+module.exports={"Aacute":"\u00C1","aacute":"\u00E1","Acirc":"\u00C2","acirc":"\u00E2","acute":"\u00B4","AElig":"\u00C6","aelig":"\u00E6","Agrave":"\u00C0","agrave":"\u00E0","amp":"&","AMP":"&","Aring":"\u00C5","aring":"\u00E5","Atilde":"\u00C3","atilde":"\u00E3","Auml":"\u00C4","auml":"\u00E4","brvbar":"\u00A6","Ccedil":"\u00C7","ccedil":"\u00E7","cedil":"\u00B8","cent":"\u00A2","copy":"\u00A9","COPY":"\u00A9","curren":"\u00A4","deg":"\u00B0","divide":"\u00F7","Eacute":"\u00C9","eacute":"\u00E9","Ecirc":"\u00CA","ecirc":"\u00EA","Egrave":"\u00C8","egrave":"\u00E8","ETH":"\u00D0","eth":"\u00F0","Euml":"\u00CB","euml":"\u00EB","frac12":"\u00BD","frac14":"\u00BC","frac34":"\u00BE","gt":">","GT":">","Iacute":"\u00CD","iacute":"\u00ED","Icirc":"\u00CE","icirc":"\u00EE","iexcl":"\u00A1","Igrave":"\u00CC","igrave":"\u00EC","iquest":"\u00BF","Iuml":"\u00CF","iuml":"\u00EF","laquo":"\u00AB","lt":"<","LT":"<","macr":"\u00AF","micro":"\u00B5","middot":"\u00B7","nbsp":"\u00A0","not":"\u00AC","Ntilde":"\u00D1","ntilde":"\u00F1","Oacute":"\u00D3","oacute":"\u00F3","Ocirc":"\u00D4","ocirc":"\u00F4","Ograve":"\u00D2","ograve":"\u00F2","ordf":"\u00AA","ordm":"\u00BA","Oslash":"\u00D8","oslash":"\u00F8","Otilde":"\u00D5","otilde":"\u00F5","Ouml":"\u00D6","ouml":"\u00F6","para":"\u00B6","plusmn":"\u00B1","pound":"\u00A3","quot":"\"","QUOT":"\"","raquo":"\u00BB","reg":"\u00AE","REG":"\u00AE","sect":"\u00A7","shy":"\u00AD","sup1":"\u00B9","sup2":"\u00B2","sup3":"\u00B3","szlig":"\u00DF","THORN":"\u00DE","thorn":"\u00FE","times":"\u00D7","Uacute":"\u00DA","uacute":"\u00FA","Ucirc":"\u00DB","ucirc":"\u00FB","Ugrave":"\u00D9","ugrave":"\u00F9","uml":"\u00A8","Uuml":"\u00DC","uuml":"\u00FC","Yacute":"\u00DD","yacute":"\u00FD","yen":"\u00A5","yuml":"\u00FF"}
+},{}],17:[function(require,module,exports){
+module.exports={"amp":"&","apos":"'","gt":">","lt":"<","quot":"\""}
-var Node = function(nodeType, sourcepos) {
- this._type = nodeType;
- this._parent = null;
- this._firstChild = null;
- this._lastChild = null;
- this._prev = null;
- this._next = null;
- this._sourcepos = sourcepos;
- this._lastLineBlank = false;
- this._open = true;
- this._string_content = null;
- this._literal = null;
- this._listData = null;
- this._info = null;
- this._destination = null;
- this._title = null;
- this._isFenced = false;
- this._fenceChar = null;
- this._fenceLength = 0;
- this._fenceOffset = null;
- this._level = null;
-};
+},{}],18:[function(require,module,exports){
-var proto = Node.prototype;
+'use strict';
-Object.defineProperty(proto, 'isContainer', {
- get: function () { return isContainer(this); }
-});
-Object.defineProperty(proto, 'type', {
- get: function() { return this._type; }
-});
+/* eslint-disable no-bitwise */
-Object.defineProperty(proto, 'firstChild', {
- get: function() { return this._firstChild; }
-});
+var decodeCache = {};
-Object.defineProperty(proto, 'lastChild', {
- get: function() { return this._lastChild; }
-});
+function getDecodeCache(exclude) {
+ var i, ch, cache = decodeCache[exclude];
+ if (cache) { return cache; }
-Object.defineProperty(proto, 'next', {
- get: function() { return this._next; }
-});
+ cache = decodeCache[exclude] = [];
-Object.defineProperty(proto, 'prev', {
- get: function() { return this._prev; }
-});
+ for (i = 0; i < 128; i++) {
+ ch = String.fromCharCode(i);
+ cache.push(ch);
+ }
-Object.defineProperty(proto, 'parent', {
- get: function() { return this._parent; }
-});
+ for (i = 0; i < exclude.length; i++) {
+ ch = exclude.charCodeAt(i);
+ cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);
+ }
-Object.defineProperty(proto, 'sourcepos', {
- get: function() { return this._sourcepos; }
-});
+ return cache;
+}
-Object.defineProperty(proto, 'literal', {
- get: function() { return this._literal; },
- set: function(s) { this._literal = s; }
-});
-Object.defineProperty(proto, 'destination', {
- get: function() { return this._destination; },
- set: function(s) { this._destination = s; }
-});
+// Decode percent-encoded string.
+//
+function decode(string, exclude) {
+ var cache;
-Object.defineProperty(proto, 'title', {
- get: function() { return this._title; },
- set: function(s) { this._title = s; }
-});
+ if (typeof exclude !== 'string') {
+ exclude = decode.defaultChars;
+ }
-Object.defineProperty(proto, 'info', {
- get: function() { return this._info; },
- set: function(s) { this._info = s; }
-});
+ cache = getDecodeCache(exclude);
-Object.defineProperty(proto, 'level', {
- get: function() { return this._level; },
- set: function(s) { this._level = s; }
-});
+ return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {
+ var i, l, b1, b2, b3, b4, char,
+ result = '';
-Object.defineProperty(proto, 'listType', {
- get: function() { return this._listData.type; },
- set: function(t) { this._listData.type = t; }
-});
+ for (i = 0, l = seq.length; i < l; i += 3) {
+ b1 = parseInt(seq.slice(i + 1, i + 3), 16);
-Object.defineProperty(proto, 'listTight', {
- get: function() { return this._listData.tight; },
- set: function(t) { this._listData.tight = t; }
-});
+ if (b1 < 0x80) {
+ result += cache[b1];
+ continue;
+ }
-Object.defineProperty(proto, 'listStart', {
- get: function() { return this._listData.start; },
- set: function(n) { this._listData.start = n; }
-});
+ if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {
+ // 110xxxxx 10xxxxxx
+ b2 = parseInt(seq.slice(i + 4, i + 6), 16);
-Object.defineProperty(proto, 'listDelimiter', {
- get: function() { return this._listData.delimiter; },
- set: function(delim) { this._listData.delimiter = delim; }
-});
+ if ((b2 & 0xC0) === 0x80) {
+ char = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);
-Node.prototype.appendChild = function(child) {
- child.unlink();
- child._parent = this;
- if (this._lastChild) {
- this._lastChild._next = child;
- child._prev = this._lastChild;
- this._lastChild = child;
- } else {
- this._firstChild = child;
- this._lastChild = child;
- }
-};
+ if (char < 0x80) {
+ result += '\ufffd\ufffd';
+ } else {
+ result += String.fromCharCode(char);
+ }
-Node.prototype.prependChild = function(child) {
- child.unlink();
- child._parent = this;
- if (this._firstChild) {
- this._firstChild._prev = child;
- child._next = this._firstChild;
- this._firstChild = child;
- } else {
- this._firstChild = child;
- this._lastChild = child;
- }
-};
+ i += 3;
+ continue;
+ }
+ }
-Node.prototype.unlink = function() {
- if (this._prev) {
- this._prev._next = this._next;
- } else if (this._parent) {
- this._parent._firstChild = this._next;
- }
- if (this._next) {
- this._next._prev = this._prev;
- } else if (this._parent) {
- this._parent._lastChild = this._prev;
- }
- this._parent = null;
- this._next = null;
- this._prev = null;
-};
+ if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {
+ // 1110xxxx 10xxxxxx 10xxxxxx
+ b2 = parseInt(seq.slice(i + 4, i + 6), 16);
+ b3 = parseInt(seq.slice(i + 7, i + 9), 16);
-Node.prototype.insertAfter = function(sibling) {
- sibling.unlink();
- sibling._next = this._next;
- if (sibling._next) {
- sibling._next._prev = sibling;
- }
- sibling._prev = this;
- this._next = sibling;
- sibling._parent = this._parent;
- if (!sibling._next) {
- sibling._parent._lastChild = sibling;
- }
-};
+ if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {
+ char = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);
-Node.prototype.insertBefore = function(sibling) {
- sibling.unlink();
- sibling._prev = this._prev;
- if (sibling._prev) {
- sibling._prev._next = sibling;
- }
- sibling._next = this;
- this._prev = sibling;
- sibling._parent = this._parent;
- if (!sibling._prev) {
- sibling._parent._firstChild = sibling;
- }
-};
+ if (char < 0x800 || (char >= 0xD800 && char <= 0xDFFF)) {
+ result += '\ufffd\ufffd\ufffd';
+ } else {
+ result += String.fromCharCode(char);
+ }
-Node.prototype.walker = function() {
- var walker = new NodeWalker(this);
- return walker;
-};
+ i += 6;
+ continue;
+ }
+ }
-module.exports = Node;
+ if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {
+ // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx
+ b2 = parseInt(seq.slice(i + 4, i + 6), 16);
+ b3 = parseInt(seq.slice(i + 7, i + 9), 16);
+ b4 = parseInt(seq.slice(i + 10, i + 12), 16);
+ if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {
+ char = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);
-/* Example of use of walker:
+ if (char < 0x10000 || char > 0x10FFFF) {
+ result += '\ufffd\ufffd\ufffd\ufffd';
+ } else {
+ char -= 0x10000;
+ result += String.fromCharCode(0xD800 + (char >> 10), 0xDC00 + (char & 0x3FF));
+ }
- var walker = w.walker();
- var event;
+ i += 9;
+ continue;
+ }
+ }
- while (event = walker.next()) {
- console.log(event.entering, event.node.type);
- }
+ result += '\ufffd';
+ }
- */
+ return result;
+ });
+}
-},{}],11:[function(require,module,exports){
-"use strict";
-/* The bulk of this code derives from https://github.com/dmoscrop/fold-case
-But in addition to case-folding, we also normalize whitespace.
+decode.defaultChars = ';/?:@&=+$,#';
+decode.componentChars = '';
-fold-case is Copyright Mathias Bynens
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
+module.exports = decode;
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+},{}],19:[function(require,module,exports){
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
+'use strict';
-/*eslint-disable key-spacing, comma-spacing */
-var regex = /[ \t\r\n]+|[A-Z\xB5\xC0-\xD6\xD8-\xDF\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u0149\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u017F\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C5\u01C7\u01C8\u01CA\u01CB\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F0-\u01F2\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0345\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03AB\u03B0\u03C2\u03CF-\u03D1\u03D5\u03D6\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0\u03F1\u03F4\u03F5\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u0587\u10A0-\u10C5\u10C7\u10CD\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E96-\u1E9B\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F50\u1F52\u1F54\u1F56\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F80-\u1FAF\u1FB2-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD2\u1FD3\u1FD6-\u1FDB\u1FE2-\u1FE4\u1FE6-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A\u212B\u2132\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0\uA7B1\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27]|\uD806[\uDCA0-\uDCBF]/g;
+var encodeCache = {};
-var map = {'A':'a','B':'b','C':'c','D':'d','E':'e','F':'f','G':'g','H':'h','I':'i','J':'j','K':'k','L':'l','M':'m','N':'n','O':'o','P':'p','Q':'q','R':'r','S':'s','T':'t','U':'u','V':'v','W':'w','X':'x','Y':'y','Z':'z','\xB5':'\u03BC','\xC0':'\xE0','\xC1':'\xE1','\xC2':'\xE2','\xC3':'\xE3','\xC4':'\xE4','\xC5':'\xE5','\xC6':'\xE6','\xC7':'\xE7','\xC8':'\xE8','\xC9':'\xE9','\xCA':'\xEA','\xCB':'\xEB','\xCC':'\xEC','\xCD':'\xED','\xCE':'\xEE','\xCF':'\xEF','\xD0':'\xF0','\xD1':'\xF1','\xD2':'\xF2','\xD3':'\xF3','\xD4':'\xF4','\xD5':'\xF5','\xD6':'\xF6','\xD8':'\xF8','\xD9':'\xF9','\xDA':'\xFA','\xDB':'\xFB','\xDC':'\xFC','\xDD':'\xFD','\xDE':'\xFE','\u0100':'\u0101','\u0102':'\u0103','\u0104':'\u0105','\u0106':'\u0107','\u0108':'\u0109','\u010A':'\u010B','\u010C':'\u010D','\u010E':'\u010F','\u0110':'\u0111','\u0112':'\u0113','\u0114':'\u0115','\u0116':'\u0117','\u0118':'\u0119','\u011A':'\u011B','\u011C':'\u011D','\u011E':'\u011F','\u0120':'\u0121','\u0122':'\u0123','\u0124':'\u0125','\u0126':'\u0127','\u0128':'\u0129','\u012A':'\u012B','\u012C':'\u012D','\u012E':'\u012F','\u0132':'\u0133','\u0134':'\u0135','\u0136':'\u0137','\u0139':'\u013A','\u013B':'\u013C','\u013D':'\u013E','\u013F':'\u0140','\u0141':'\u0142','\u0143':'\u0144','\u0145':'\u0146','\u0147':'\u0148','\u014A':'\u014B','\u014C':'\u014D','\u014E':'\u014F','\u0150':'\u0151','\u0152':'\u0153','\u0154':'\u0155','\u0156':'\u0157','\u0158':'\u0159','\u015A':'\u015B','\u015C':'\u015D','\u015E':'\u015F','\u0160':'\u0161','\u0162':'\u0163','\u0164':'\u0165','\u0166':'\u0167','\u0168':'\u0169','\u016A':'\u016B','\u016C':'\u016D','\u016E':'\u016F','\u0170':'\u0171','\u0172':'\u0173','\u0174':'\u0175','\u0176':'\u0177','\u0178':'\xFF','\u0179':'\u017A','\u017B':'\u017C','\u017D':'\u017E','\u017F':'s','\u0181':'\u0253','\u0182':'\u0183','\u0184':'\u0185','\u0186':'\u0254','\u0187':'\u0188','\u0189':'\u0256','\u018A':'\u0257','\u018B':'\u018C','\u018E':'\u01DD','\u018F':'\u0259','\u0190':'\u025B','\u0191':'\u0192','\u0193':'\u0260','\u0194':'\u0263','\u0196':'\u0269','\u0197':'\u0268','\u0198':'\u0199','\u019C':'\u026F','\u019D':'\u0272','\u019F':'\u0275','\u01A0':'\u01A1','\u01A2':'\u01A3','\u01A4':'\u01A5','\u01A6':'\u0280','\u01A7':'\u01A8','\u01A9':'\u0283','\u01AC':'\u01AD','\u01AE':'\u0288','\u01AF':'\u01B0','\u01B1':'\u028A','\u01B2':'\u028B','\u01B3':'\u01B4','\u01B5':'\u01B6','\u01B7':'\u0292','\u01B8':'\u01B9','\u01BC':'\u01BD','\u01C4':'\u01C6','\u01C5':'\u01C6','\u01C7':'\u01C9','\u01C8':'\u01C9','\u01CA':'\u01CC','\u01CB':'\u01CC','\u01CD':'\u01CE','\u01CF':'\u01D0','\u01D1':'\u01D2','\u01D3':'\u01D4','\u01D5':'\u01D6','\u01D7':'\u01D8','\u01D9':'\u01DA','\u01DB':'\u01DC','\u01DE':'\u01DF','\u01E0':'\u01E1','\u01E2':'\u01E3','\u01E4':'\u01E5','\u01E6':'\u01E7','\u01E8':'\u01E9','\u01EA':'\u01EB','\u01EC':'\u01ED','\u01EE':'\u01EF','\u01F1':'\u01F3','\u01F2':'\u01F3','\u01F4':'\u01F5','\u01F6':'\u0195','\u01F7':'\u01BF','\u01F8':'\u01F9','\u01FA':'\u01FB','\u01FC':'\u01FD','\u01FE':'\u01FF','\u0200':'\u0201','\u0202':'\u0203','\u0204':'\u0205','\u0206':'\u0207','\u0208':'\u0209','\u020A':'\u020B','\u020C':'\u020D','\u020E':'\u020F','\u0210':'\u0211','\u0212':'\u0213','\u0214':'\u0215','\u0216':'\u0217','\u0218':'\u0219','\u021A':'\u021B','\u021C':'\u021D','\u021E':'\u021F','\u0220':'\u019E','\u0222':'\u0223','\u0224':'\u0225','\u0226':'\u0227','\u0228':'\u0229','\u022A':'\u022B','\u022C':'\u022D','\u022E':'\u022F','\u0230':'\u0231','\u0232':'\u0233','\u023A':'\u2C65','\u023B':'\u023C','\u023D':'\u019A','\u023E':'\u2C66','\u0241':'\u0242','\u0243':'\u0180','\u0244':'\u0289','\u0245':'\u028C','\u0246':'\u0247','\u0248':'\u0249','\u024A':'\u024B','\u024C':'\u024D','\u024E':'\u024F','\u0345':'\u03B9','\u0370':'\u0371','\u0372':'\u0373','\u0376':'\u0377','\u037F':'\u03F3','\u0386':'\u03AC','\u0388':'\u03AD','\u0389':'\u03AE','\u038A':'\u03AF','\u038C':'\u03CC','\u038E':'\u03CD','\u038F':'\u03CE','\u0391':'\u03B1','\u0392':'\u03B2','\u0393':'\u03B3','\u0394':'\u03B4','\u0395':'\u03B5','\u0396':'\u03B6','\u0397':'\u03B7','\u0398':'\u03B8','\u0399':'\u03B9','\u039A':'\u03BA','\u039B':'\u03BB','\u039C':'\u03BC','\u039D':'\u03BD','\u039E':'\u03BE','\u039F':'\u03BF','\u03A0':'\u03C0','\u03A1':'\u03C1','\u03A3':'\u03C3','\u03A4':'\u03C4','\u03A5':'\u03C5','\u03A6':'\u03C6','\u03A7':'\u03C7','\u03A8':'\u03C8','\u03A9':'\u03C9','\u03AA':'\u03CA','\u03AB':'\u03CB','\u03C2':'\u03C3','\u03CF':'\u03D7','\u03D0':'\u03B2','\u03D1':'\u03B8','\u03D5':'\u03C6','\u03D6':'\u03C0','\u03D8':'\u03D9','\u03DA':'\u03DB','\u03DC':'\u03DD','\u03DE':'\u03DF','\u03E0':'\u03E1','\u03E2':'\u03E3','\u03E4':'\u03E5','\u03E6':'\u03E7','\u03E8':'\u03E9','\u03EA':'\u03EB','\u03EC':'\u03ED','\u03EE':'\u03EF','\u03F0':'\u03BA','\u03F1':'\u03C1','\u03F4':'\u03B8','\u03F5':'\u03B5','\u03F7':'\u03F8','\u03F9':'\u03F2','\u03FA':'\u03FB','\u03FD':'\u037B','\u03FE':'\u037C','\u03FF':'\u037D','\u0400':'\u0450','\u0401':'\u0451','\u0402':'\u0452','\u0403':'\u0453','\u0404':'\u0454','\u0405':'\u0455','\u0406':'\u0456','\u0407':'\u0457','\u0408':'\u0458','\u0409':'\u0459','\u040A':'\u045A','\u040B':'\u045B','\u040C':'\u045C','\u040D':'\u045D','\u040E':'\u045E','\u040F':'\u045F','\u0410':'\u0430','\u0411':'\u0431','\u0412':'\u0432','\u0413':'\u0433','\u0414':'\u0434','\u0415':'\u0435','\u0416':'\u0436','\u0417':'\u0437','\u0418':'\u0438','\u0419':'\u0439','\u041A':'\u043A','\u041B':'\u043B','\u041C':'\u043C','\u041D':'\u043D','\u041E':'\u043E','\u041F':'\u043F','\u0420':'\u0440','\u0421':'\u0441','\u0422':'\u0442','\u0423':'\u0443','\u0424':'\u0444','\u0425':'\u0445','\u0426':'\u0446','\u0427':'\u0447','\u0428':'\u0448','\u0429':'\u0449','\u042A':'\u044A','\u042B':'\u044B','\u042C':'\u044C','\u042D':'\u044D','\u042E':'\u044E','\u042F':'\u044F','\u0460':'\u0461','\u0462':'\u0463','\u0464':'\u0465','\u0466':'\u0467','\u0468':'\u0469','\u046A':'\u046B','\u046C':'\u046D','\u046E':'\u046F','\u0470':'\u0471','\u0472':'\u0473','\u0474':'\u0475','\u0476':'\u0477','\u0478':'\u0479','\u047A':'\u047B','\u047C':'\u047D','\u047E':'\u047F','\u0480':'\u0481','\u048A':'\u048B','\u048C':'\u048D','\u048E':'\u048F','\u0490':'\u0491','\u0492':'\u0493','\u0494':'\u0495','\u0496':'\u0497','\u0498':'\u0499','\u049A':'\u049B','\u049C':'\u049D','\u049E':'\u049F','\u04A0':'\u04A1','\u04A2':'\u04A3','\u04A4':'\u04A5','\u04A6':'\u04A7','\u04A8':'\u04A9','\u04AA':'\u04AB','\u04AC':'\u04AD','\u04AE':'\u04AF','\u04B0':'\u04B1','\u04B2':'\u04B3','\u04B4':'\u04B5','\u04B6':'\u04B7','\u04B8':'\u04B9','\u04BA':'\u04BB','\u04BC':'\u04BD','\u04BE':'\u04BF','\u04C0':'\u04CF','\u04C1':'\u04C2','\u04C3':'\u04C4','\u04C5':'\u04C6','\u04C7':'\u04C8','\u04C9':'\u04CA','\u04CB':'\u04CC','\u04CD':'\u04CE','\u04D0':'\u04D1','\u04D2':'\u04D3','\u04D4':'\u04D5','\u04D6':'\u04D7','\u04D8':'\u04D9','\u04DA':'\u04DB','\u04DC':'\u04DD','\u04DE':'\u04DF','\u04E0':'\u04E1','\u04E2':'\u04E3','\u04E4':'\u04E5','\u04E6':'\u04E7','\u04E8':'\u04E9','\u04EA':'\u04EB','\u04EC':'\u04ED','\u04EE':'\u04EF','\u04F0':'\u04F1','\u04F2':'\u04F3','\u04F4':'\u04F5','\u04F6':'\u04F7','\u04F8':'\u04F9','\u04FA':'\u04FB','\u04FC':'\u04FD','\u04FE':'\u04FF','\u0500':'\u0501','\u0502':'\u0503','\u0504':'\u0505','\u0506':'\u0507','\u0508':'\u0509','\u050A':'\u050B','\u050C':'\u050D','\u050E':'\u050F','\u0510':'\u0511','\u0512':'\u0513','\u0514':'\u0515','\u0516':'\u0517','\u0518':'\u0519','\u051A':'\u051B','\u051C':'\u051D','\u051E':'\u051F','\u0520':'\u0521','\u0522':'\u0523','\u0524':'\u0525','\u0526':'\u0527','\u0528':'\u0529','\u052A':'\u052B','\u052C':'\u052D','\u052E':'\u052F','\u0531':'\u0561','\u0532':'\u0562','\u0533':'\u0563','\u0534':'\u0564','\u0535':'\u0565','\u0536':'\u0566','\u0537':'\u0567','\u0538':'\u0568','\u0539':'\u0569','\u053A':'\u056A','\u053B':'\u056B','\u053C':'\u056C','\u053D':'\u056D','\u053E':'\u056E','\u053F':'\u056F','\u0540':'\u0570','\u0541':'\u0571','\u0542':'\u0572','\u0543':'\u0573','\u0544':'\u0574','\u0545':'\u0575','\u0546':'\u0576','\u0547':'\u0577','\u0548':'\u0578','\u0549':'\u0579','\u054A':'\u057A','\u054B':'\u057B','\u054C':'\u057C','\u054D':'\u057D','\u054E':'\u057E','\u054F':'\u057F','\u0550':'\u0580','\u0551':'\u0581','\u0552':'\u0582','\u0553':'\u0583','\u0554':'\u0584','\u0555':'\u0585','\u0556':'\u0586','\u10A0':'\u2D00','\u10A1':'\u2D01','\u10A2':'\u2D02','\u10A3':'\u2D03','\u10A4':'\u2D04','\u10A5':'\u2D05','\u10A6':'\u2D06','\u10A7':'\u2D07','\u10A8':'\u2D08','\u10A9':'\u2D09','\u10AA':'\u2D0A','\u10AB':'\u2D0B','\u10AC':'\u2D0C','\u10AD':'\u2D0D','\u10AE':'\u2D0E','\u10AF':'\u2D0F','\u10B0':'\u2D10','\u10B1':'\u2D11','\u10B2':'\u2D12','\u10B3':'\u2D13','\u10B4':'\u2D14','\u10B5':'\u2D15','\u10B6':'\u2D16','\u10B7':'\u2D17','\u10B8':'\u2D18','\u10B9':'\u2D19','\u10BA':'\u2D1A','\u10BB':'\u2D1B','\u10BC':'\u2D1C','\u10BD':'\u2D1D','\u10BE':'\u2D1E','\u10BF':'\u2D1F','\u10C0':'\u2D20','\u10C1':'\u2D21','\u10C2':'\u2D22','\u10C3':'\u2D23','\u10C4':'\u2D24','\u10C5':'\u2D25','\u10C7':'\u2D27','\u10CD':'\u2D2D','\u1E00':'\u1E01','\u1E02':'\u1E03','\u1E04':'\u1E05','\u1E06':'\u1E07','\u1E08':'\u1E09','\u1E0A':'\u1E0B','\u1E0C':'\u1E0D','\u1E0E':'\u1E0F','\u1E10':'\u1E11','\u1E12':'\u1E13','\u1E14':'\u1E15','\u1E16':'\u1E17','\u1E18':'\u1E19','\u1E1A':'\u1E1B','\u1E1C':'\u1E1D','\u1E1E':'\u1E1F','\u1E20':'\u1E21','\u1E22':'\u1E23','\u1E24':'\u1E25','\u1E26':'\u1E27','\u1E28':'\u1E29','\u1E2A':'\u1E2B','\u1E2C':'\u1E2D','\u1E2E':'\u1E2F','\u1E30':'\u1E31','\u1E32':'\u1E33','\u1E34':'\u1E35','\u1E36':'\u1E37','\u1E38':'\u1E39','\u1E3A':'\u1E3B','\u1E3C':'\u1E3D','\u1E3E':'\u1E3F','\u1E40':'\u1E41','\u1E42':'\u1E43','\u1E44':'\u1E45','\u1E46':'\u1E47','\u1E48':'\u1E49','\u1E4A':'\u1E4B','\u1E4C':'\u1E4D','\u1E4E':'\u1E4F','\u1E50':'\u1E51','\u1E52':'\u1E53','\u1E54':'\u1E55','\u1E56':'\u1E57','\u1E58':'\u1E59','\u1E5A':'\u1E5B','\u1E5C':'\u1E5D','\u1E5E':'\u1E5F','\u1E60':'\u1E61','\u1E62':'\u1E63','\u1E64':'\u1E65','\u1E66':'\u1E67','\u1E68':'\u1E69','\u1E6A':'\u1E6B','\u1E6C':'\u1E6D','\u1E6E':'\u1E6F','\u1E70':'\u1E71','\u1E72':'\u1E73','\u1E74':'\u1E75','\u1E76':'\u1E77','\u1E78':'\u1E79','\u1E7A':'\u1E7B','\u1E7C':'\u1E7D','\u1E7E':'\u1E7F','\u1E80':'\u1E81','\u1E82':'\u1E83','\u1E84':'\u1E85','\u1E86':'\u1E87','\u1E88':'\u1E89','\u1E8A':'\u1E8B','\u1E8C':'\u1E8D','\u1E8E':'\u1E8F','\u1E90':'\u1E91','\u1E92':'\u1E93','\u1E94':'\u1E95','\u1E9B':'\u1E61','\u1EA0':'\u1EA1','\u1EA2':'\u1EA3','\u1EA4':'\u1EA5','\u1EA6':'\u1EA7','\u1EA8':'\u1EA9','\u1EAA':'\u1EAB','\u1EAC':'\u1EAD','\u1EAE':'\u1EAF','\u1EB0':'\u1EB1','\u1EB2':'\u1EB3','\u1EB4':'\u1EB5','\u1EB6':'\u1EB7','\u1EB8':'\u1EB9','\u1EBA':'\u1EBB','\u1EBC':'\u1EBD','\u1EBE':'\u1EBF','\u1EC0':'\u1EC1','\u1EC2':'\u1EC3','\u1EC4':'\u1EC5','\u1EC6':'\u1EC7','\u1EC8':'\u1EC9','\u1ECA':'\u1ECB','\u1ECC':'\u1ECD','\u1ECE':'\u1ECF','\u1ED0':'\u1ED1','\u1ED2':'\u1ED3','\u1ED4':'\u1ED5','\u1ED6':'\u1ED7','\u1ED8':'\u1ED9','\u1EDA':'\u1EDB','\u1EDC':'\u1EDD','\u1EDE':'\u1EDF','\u1EE0':'\u1EE1','\u1EE2':'\u1EE3','\u1EE4':'\u1EE5','\u1EE6':'\u1EE7','\u1EE8':'\u1EE9','\u1EEA':'\u1EEB','\u1EEC':'\u1EED','\u1EEE':'\u1EEF','\u1EF0':'\u1EF1','\u1EF2':'\u1EF3','\u1EF4':'\u1EF5','\u1EF6':'\u1EF7','\u1EF8':'\u1EF9','\u1EFA':'\u1EFB','\u1EFC':'\u1EFD','\u1EFE':'\u1EFF','\u1F08':'\u1F00','\u1F09':'\u1F01','\u1F0A':'\u1F02','\u1F0B':'\u1F03','\u1F0C':'\u1F04','\u1F0D':'\u1F05','\u1F0E':'\u1F06','\u1F0F':'\u1F07','\u1F18':'\u1F10','\u1F19':'\u1F11','\u1F1A':'\u1F12','\u1F1B':'\u1F13','\u1F1C':'\u1F14','\u1F1D':'\u1F15','\u1F28':'\u1F20','\u1F29':'\u1F21','\u1F2A':'\u1F22','\u1F2B':'\u1F23','\u1F2C':'\u1F24','\u1F2D':'\u1F25','\u1F2E':'\u1F26','\u1F2F':'\u1F27','\u1F38':'\u1F30','\u1F39':'\u1F31','\u1F3A':'\u1F32','\u1F3B':'\u1F33','\u1F3C':'\u1F34','\u1F3D':'\u1F35','\u1F3E':'\u1F36','\u1F3F':'\u1F37','\u1F48':'\u1F40','\u1F49':'\u1F41','\u1F4A':'\u1F42','\u1F4B':'\u1F43','\u1F4C':'\u1F44','\u1F4D':'\u1F45','\u1F59':'\u1F51','\u1F5B':'\u1F53','\u1F5D':'\u1F55','\u1F5F':'\u1F57','\u1F68':'\u1F60','\u1F69':'\u1F61','\u1F6A':'\u1F62','\u1F6B':'\u1F63','\u1F6C':'\u1F64','\u1F6D':'\u1F65','\u1F6E':'\u1F66','\u1F6F':'\u1F67','\u1FB8':'\u1FB0','\u1FB9':'\u1FB1','\u1FBA':'\u1F70','\u1FBB':'\u1F71','\u1FBE':'\u03B9','\u1FC8':'\u1F72','\u1FC9':'\u1F73','\u1FCA':'\u1F74','\u1FCB':'\u1F75','\u1FD8':'\u1FD0','\u1FD9':'\u1FD1','\u1FDA':'\u1F76','\u1FDB':'\u1F77','\u1FE8':'\u1FE0','\u1FE9':'\u1FE1','\u1FEA':'\u1F7A','\u1FEB':'\u1F7B','\u1FEC':'\u1FE5','\u1FF8':'\u1F78','\u1FF9':'\u1F79','\u1FFA':'\u1F7C','\u1FFB':'\u1F7D','\u2126':'\u03C9','\u212A':'k','\u212B':'\xE5','\u2132':'\u214E','\u2160':'\u2170','\u2161':'\u2171','\u2162':'\u2172','\u2163':'\u2173','\u2164':'\u2174','\u2165':'\u2175','\u2166':'\u2176','\u2167':'\u2177','\u2168':'\u2178','\u2169':'\u2179','\u216A':'\u217A','\u216B':'\u217B','\u216C':'\u217C','\u216D':'\u217D','\u216E':'\u217E','\u216F':'\u217F','\u2183':'\u2184','\u24B6':'\u24D0','\u24B7':'\u24D1','\u24B8':'\u24D2','\u24B9':'\u24D3','\u24BA':'\u24D4','\u24BB':'\u24D5','\u24BC':'\u24D6','\u24BD':'\u24D7','\u24BE':'\u24D8','\u24BF':'\u24D9','\u24C0':'\u24DA','\u24C1':'\u24DB','\u24C2':'\u24DC','\u24C3':'\u24DD','\u24C4':'\u24DE','\u24C5':'\u24DF','\u24C6':'\u24E0','\u24C7':'\u24E1','\u24C8':'\u24E2','\u24C9':'\u24E3','\u24CA':'\u24E4','\u24CB':'\u24E5','\u24CC':'\u24E6','\u24CD':'\u24E7','\u24CE':'\u24E8','\u24CF':'\u24E9','\u2C00':'\u2C30','\u2C01':'\u2C31','\u2C02':'\u2C32','\u2C03':'\u2C33','\u2C04':'\u2C34','\u2C05':'\u2C35','\u2C06':'\u2C36','\u2C07':'\u2C37','\u2C08':'\u2C38','\u2C09':'\u2C39','\u2C0A':'\u2C3A','\u2C0B':'\u2C3B','\u2C0C':'\u2C3C','\u2C0D':'\u2C3D','\u2C0E':'\u2C3E','\u2C0F':'\u2C3F','\u2C10':'\u2C40','\u2C11':'\u2C41','\u2C12':'\u2C42','\u2C13':'\u2C43','\u2C14':'\u2C44','\u2C15':'\u2C45','\u2C16':'\u2C46','\u2C17':'\u2C47','\u2C18':'\u2C48','\u2C19':'\u2C49','\u2C1A':'\u2C4A','\u2C1B':'\u2C4B','\u2C1C':'\u2C4C','\u2C1D':'\u2C4D','\u2C1E':'\u2C4E','\u2C1F':'\u2C4F','\u2C20':'\u2C50','\u2C21':'\u2C51','\u2C22':'\u2C52','\u2C23':'\u2C53','\u2C24':'\u2C54','\u2C25':'\u2C55','\u2C26':'\u2C56','\u2C27':'\u2C57','\u2C28':'\u2C58','\u2C29':'\u2C59','\u2C2A':'\u2C5A','\u2C2B':'\u2C5B','\u2C2C':'\u2C5C','\u2C2D':'\u2C5D','\u2C2E':'\u2C5E','\u2C60':'\u2C61','\u2C62':'\u026B','\u2C63':'\u1D7D','\u2C64':'\u027D','\u2C67':'\u2C68','\u2C69':'\u2C6A','\u2C6B':'\u2C6C','\u2C6D':'\u0251','\u2C6E':'\u0271','\u2C6F':'\u0250','\u2C70':'\u0252','\u2C72':'\u2C73','\u2C75':'\u2C76','\u2C7E':'\u023F','\u2C7F':'\u0240','\u2C80':'\u2C81','\u2C82':'\u2C83','\u2C84':'\u2C85','\u2C86':'\u2C87','\u2C88':'\u2C89','\u2C8A':'\u2C8B','\u2C8C':'\u2C8D','\u2C8E':'\u2C8F','\u2C90':'\u2C91','\u2C92':'\u2C93','\u2C94':'\u2C95','\u2C96':'\u2C97','\u2C98':'\u2C99','\u2C9A':'\u2C9B','\u2C9C':'\u2C9D','\u2C9E':'\u2C9F','\u2CA0':'\u2CA1','\u2CA2':'\u2CA3','\u2CA4':'\u2CA5','\u2CA6':'\u2CA7','\u2CA8':'\u2CA9','\u2CAA':'\u2CAB','\u2CAC':'\u2CAD','\u2CAE':'\u2CAF','\u2CB0':'\u2CB1','\u2CB2':'\u2CB3','\u2CB4':'\u2CB5','\u2CB6':'\u2CB7','\u2CB8':'\u2CB9','\u2CBA':'\u2CBB','\u2CBC':'\u2CBD','\u2CBE':'\u2CBF','\u2CC0':'\u2CC1','\u2CC2':'\u2CC3','\u2CC4':'\u2CC5','\u2CC6':'\u2CC7','\u2CC8':'\u2CC9','\u2CCA':'\u2CCB','\u2CCC':'\u2CCD','\u2CCE':'\u2CCF','\u2CD0':'\u2CD1','\u2CD2':'\u2CD3','\u2CD4':'\u2CD5','\u2CD6':'\u2CD7','\u2CD8':'\u2CD9','\u2CDA':'\u2CDB','\u2CDC':'\u2CDD','\u2CDE':'\u2CDF','\u2CE0':'\u2CE1','\u2CE2':'\u2CE3','\u2CEB':'\u2CEC','\u2CED':'\u2CEE','\u2CF2':'\u2CF3','\uA640':'\uA641','\uA642':'\uA643','\uA644':'\uA645','\uA646':'\uA647','\uA648':'\uA649','\uA64A':'\uA64B','\uA64C':'\uA64D','\uA64E':'\uA64F','\uA650':'\uA651','\uA652':'\uA653','\uA654':'\uA655','\uA656':'\uA657','\uA658':'\uA659','\uA65A':'\uA65B','\uA65C':'\uA65D','\uA65E':'\uA65F','\uA660':'\uA661','\uA662':'\uA663','\uA664':'\uA665','\uA666':'\uA667','\uA668':'\uA669','\uA66A':'\uA66B','\uA66C':'\uA66D','\uA680':'\uA681','\uA682':'\uA683','\uA684':'\uA685','\uA686':'\uA687','\uA688':'\uA689','\uA68A':'\uA68B','\uA68C':'\uA68D','\uA68E':'\uA68F','\uA690':'\uA691','\uA692':'\uA693','\uA694':'\uA695','\uA696':'\uA697','\uA698':'\uA699','\uA69A':'\uA69B','\uA722':'\uA723','\uA724':'\uA725','\uA726':'\uA727','\uA728':'\uA729','\uA72A':'\uA72B','\uA72C':'\uA72D','\uA72E':'\uA72F','\uA732':'\uA733','\uA734':'\uA735','\uA736':'\uA737','\uA738':'\uA739','\uA73A':'\uA73B','\uA73C':'\uA73D','\uA73E':'\uA73F','\uA740':'\uA741','\uA742':'\uA743','\uA744':'\uA745','\uA746':'\uA747','\uA748':'\uA749','\uA74A':'\uA74B','\uA74C':'\uA74D','\uA74E':'\uA74F','\uA750':'\uA751','\uA752':'\uA753','\uA754':'\uA755','\uA756':'\uA757','\uA758':'\uA759','\uA75A':'\uA75B','\uA75C':'\uA75D','\uA75E':'\uA75F','\uA760':'\uA761','\uA762':'\uA763','\uA764':'\uA765','\uA766':'\uA767','\uA768':'\uA769','\uA76A':'\uA76B','\uA76C':'\uA76D','\uA76E':'\uA76F','\uA779':'\uA77A','\uA77B':'\uA77C','\uA77D':'\u1D79','\uA77E':'\uA77F','\uA780':'\uA781','\uA782':'\uA783','\uA784':'\uA785','\uA786':'\uA787','\uA78B':'\uA78C','\uA78D':'\u0265','\uA790':'\uA791','\uA792':'\uA793','\uA796':'\uA797','\uA798':'\uA799','\uA79A':'\uA79B','\uA79C':'\uA79D','\uA79E':'\uA79F','\uA7A0':'\uA7A1','\uA7A2':'\uA7A3','\uA7A4':'\uA7A5','\uA7A6':'\uA7A7','\uA7A8':'\uA7A9','\uA7AA':'\u0266','\uA7AB':'\u025C','\uA7AC':'\u0261','\uA7AD':'\u026C','\uA7B0':'\u029E','\uA7B1':'\u0287','\uFF21':'\uFF41','\uFF22':'\uFF42','\uFF23':'\uFF43','\uFF24':'\uFF44','\uFF25':'\uFF45','\uFF26':'\uFF46','\uFF27':'\uFF47','\uFF28':'\uFF48','\uFF29':'\uFF49','\uFF2A':'\uFF4A','\uFF2B':'\uFF4B','\uFF2C':'\uFF4C','\uFF2D':'\uFF4D','\uFF2E':'\uFF4E','\uFF2F':'\uFF4F','\uFF30':'\uFF50','\uFF31':'\uFF51','\uFF32':'\uFF52','\uFF33':'\uFF53','\uFF34':'\uFF54','\uFF35':'\uFF55','\uFF36':'\uFF56','\uFF37':'\uFF57','\uFF38':'\uFF58','\uFF39':'\uFF59','\uFF3A':'\uFF5A','\uD801\uDC00':'\uD801\uDC28','\uD801\uDC01':'\uD801\uDC29','\uD801\uDC02':'\uD801\uDC2A','\uD801\uDC03':'\uD801\uDC2B','\uD801\uDC04':'\uD801\uDC2C','\uD801\uDC05':'\uD801\uDC2D','\uD801\uDC06':'\uD801\uDC2E','\uD801\uDC07':'\uD801\uDC2F','\uD801\uDC08':'\uD801\uDC30','\uD801\uDC09':'\uD801\uDC31','\uD801\uDC0A':'\uD801\uDC32','\uD801\uDC0B':'\uD801\uDC33','\uD801\uDC0C':'\uD801\uDC34','\uD801\uDC0D':'\uD801\uDC35','\uD801\uDC0E':'\uD801\uDC36','\uD801\uDC0F':'\uD801\uDC37','\uD801\uDC10':'\uD801\uDC38','\uD801\uDC11':'\uD801\uDC39','\uD801\uDC12':'\uD801\uDC3A','\uD801\uDC13':'\uD801\uDC3B','\uD801\uDC14':'\uD801\uDC3C','\uD801\uDC15':'\uD801\uDC3D','\uD801\uDC16':'\uD801\uDC3E','\uD801\uDC17':'\uD801\uDC3F','\uD801\uDC18':'\uD801\uDC40','\uD801\uDC19':'\uD801\uDC41','\uD801\uDC1A':'\uD801\uDC42','\uD801\uDC1B':'\uD801\uDC43','\uD801\uDC1C':'\uD801\uDC44','\uD801\uDC1D':'\uD801\uDC45','\uD801\uDC1E':'\uD801\uDC46','\uD801\uDC1F':'\uD801\uDC47','\uD801\uDC20':'\uD801\uDC48','\uD801\uDC21':'\uD801\uDC49','\uD801\uDC22':'\uD801\uDC4A','\uD801\uDC23':'\uD801\uDC4B','\uD801\uDC24':'\uD801\uDC4C','\uD801\uDC25':'\uD801\uDC4D','\uD801\uDC26':'\uD801\uDC4E','\uD801\uDC27':'\uD801\uDC4F','\uD806\uDCA0':'\uD806\uDCC0','\uD806\uDCA1':'\uD806\uDCC1','\uD806\uDCA2':'\uD806\uDCC2','\uD806\uDCA3':'\uD806\uDCC3','\uD806\uDCA4':'\uD806\uDCC4','\uD806\uDCA5':'\uD806\uDCC5','\uD806\uDCA6':'\uD806\uDCC6','\uD806\uDCA7':'\uD806\uDCC7','\uD806\uDCA8':'\uD806\uDCC8','\uD806\uDCA9':'\uD806\uDCC9','\uD806\uDCAA':'\uD806\uDCCA','\uD806\uDCAB':'\uD806\uDCCB','\uD806\uDCAC':'\uD806\uDCCC','\uD806\uDCAD':'\uD806\uDCCD','\uD806\uDCAE':'\uD806\uDCCE','\uD806\uDCAF':'\uD806\uDCCF','\uD806\uDCB0':'\uD806\uDCD0','\uD806\uDCB1':'\uD806\uDCD1','\uD806\uDCB2':'\uD806\uDCD2','\uD806\uDCB3':'\uD806\uDCD3','\uD806\uDCB4':'\uD806\uDCD4','\uD806\uDCB5':'\uD806\uDCD5','\uD806\uDCB6':'\uD806\uDCD6','\uD806\uDCB7':'\uD806\uDCD7','\uD806\uDCB8':'\uD806\uDCD8','\uD806\uDCB9':'\uD806\uDCD9','\uD806\uDCBA':'\uD806\uDCDA','\uD806\uDCBB':'\uD806\uDCDB','\uD806\uDCBC':'\uD806\uDCDC','\uD806\uDCBD':'\uD806\uDCDD','\uD806\uDCBE':'\uD806\uDCDE','\uD806\uDCBF':'\uD806\uDCDF','\xDF':'ss','\u0130':'i\u0307','\u0149':'\u02BCn','\u01F0':'j\u030C','\u0390':'\u03B9\u0308\u0301','\u03B0':'\u03C5\u0308\u0301','\u0587':'\u0565\u0582','\u1E96':'h\u0331','\u1E97':'t\u0308','\u1E98':'w\u030A','\u1E99':'y\u030A','\u1E9A':'a\u02BE','\u1E9E':'ss','\u1F50':'\u03C5\u0313','\u1F52':'\u03C5\u0313\u0300','\u1F54':'\u03C5\u0313\u0301','\u1F56':'\u03C5\u0313\u0342','\u1F80':'\u1F00\u03B9','\u1F81':'\u1F01\u03B9','\u1F82':'\u1F02\u03B9','\u1F83':'\u1F03\u03B9','\u1F84':'\u1F04\u03B9','\u1F85':'\u1F05\u03B9','\u1F86':'\u1F06\u03B9','\u1F87':'\u1F07\u03B9','\u1F88':'\u1F00\u03B9','\u1F89':'\u1F01\u03B9','\u1F8A':'\u1F02\u03B9','\u1F8B':'\u1F03\u03B9','\u1F8C':'\u1F04\u03B9','\u1F8D':'\u1F05\u03B9','\u1F8E':'\u1F06\u03B9','\u1F8F':'\u1F07\u03B9','\u1F90':'\u1F20\u03B9','\u1F91':'\u1F21\u03B9','\u1F92':'\u1F22\u03B9','\u1F93':'\u1F23\u03B9','\u1F94':'\u1F24\u03B9','\u1F95':'\u1F25\u03B9','\u1F96':'\u1F26\u03B9','\u1F97':'\u1F27\u03B9','\u1F98':'\u1F20\u03B9','\u1F99':'\u1F21\u03B9','\u1F9A':'\u1F22\u03B9','\u1F9B':'\u1F23\u03B9','\u1F9C':'\u1F24\u03B9','\u1F9D':'\u1F25\u03B9','\u1F9E':'\u1F26\u03B9','\u1F9F':'\u1F27\u03B9','\u1FA0':'\u1F60\u03B9','\u1FA1':'\u1F61\u03B9','\u1FA2':'\u1F62\u03B9','\u1FA3':'\u1F63\u03B9','\u1FA4':'\u1F64\u03B9','\u1FA5':'\u1F65\u03B9','\u1FA6':'\u1F66\u03B9','\u1FA7':'\u1F67\u03B9','\u1FA8':'\u1F60\u03B9','\u1FA9':'\u1F61\u03B9','\u1FAA':'\u1F62\u03B9','\u1FAB':'\u1F63\u03B9','\u1FAC':'\u1F64\u03B9','\u1FAD':'\u1F65\u03B9','\u1FAE':'\u1F66\u03B9','\u1FAF':'\u1F67\u03B9','\u1FB2':'\u1F70\u03B9','\u1FB3':'\u03B1\u03B9','\u1FB4':'\u03AC\u03B9','\u1FB6':'\u03B1\u0342','\u1FB7':'\u03B1\u0342\u03B9','\u1FBC':'\u03B1\u03B9','\u1FC2':'\u1F74\u03B9','\u1FC3':'\u03B7\u03B9','\u1FC4':'\u03AE\u03B9','\u1FC6':'\u03B7\u0342','\u1FC7':'\u03B7\u0342\u03B9','\u1FCC':'\u03B7\u03B9','\u1FD2':'\u03B9\u0308\u0300','\u1FD3':'\u03B9\u0308\u0301','\u1FD6':'\u03B9\u0342','\u1FD7':'\u03B9\u0308\u0342','\u1FE2':'\u03C5\u0308\u0300','\u1FE3':'\u03C5\u0308\u0301','\u1FE4':'\u03C1\u0313','\u1FE6':'\u03C5\u0342','\u1FE7':'\u03C5\u0308\u0342','\u1FF2':'\u1F7C\u03B9','\u1FF3':'\u03C9\u03B9','\u1FF4':'\u03CE\u03B9','\u1FF6':'\u03C9\u0342','\u1FF7':'\u03C9\u0342\u03B9','\u1FFC':'\u03C9\u03B9','\uFB00':'ff','\uFB01':'fi','\uFB02':'fl','\uFB03':'ffi','\uFB04':'ffl','\uFB05':'st','\uFB06':'st','\uFB13':'\u0574\u0576','\uFB14':'\u0574\u0565','\uFB15':'\u0574\u056B','\uFB16':'\u057E\u0576','\uFB17':'\u0574\u056D'};
-// Normalize reference label: collapse internal whitespace
-// to single space, remove leading/trailing whitespace, case fold.
-module.exports = function(string) {
- return string.slice(1, string.length - 1).trim().replace(regex, function($0) {
- // Note: there is no need to check `hasOwnProperty($0)` here.
- // If character not found in lookup table, it must be whitespace.
- return map[$0] || ' ';
- });
-};
+// Create a lookup array where anything but characters in `chars` string
+// and alphanumeric chars is percent-encoded.
+//
+function getEncodeCache(exclude) {
+ var i, ch, cache = encodeCache[exclude];
+ if (cache) { return cache; }
-},{}],12:[function(require,module,exports){
-"use strict";
+ cache = encodeCache[exclude] = [];
-var escapeXml = require('./common').escapeXml;
+ for (i = 0; i < 128; i++) {
+ ch = String.fromCharCode(i);
-// Helper function to produce an XML tag.
-var tag = function(name, attrs, selfclosing) {
- var result = '<' + name;
- if (attrs && attrs.length > 0) {
- var i = 0;
- var attrib;
- while ((attrib = attrs[i]) !== undefined) {
- result += ' ' + attrib[0] + '="' + attrib[1] + '"';
- i++;
- }
- }
- if (selfclosing) {
- result += ' /';
+ if (/^[0-9a-z]$/i.test(ch)) {
+ // always allow unencoded alphanumeric characters
+ cache.push(ch);
+ } else {
+ cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));
}
+ }
- result += '>';
- return result;
-};
-
-var reXMLTag = /\<[^>]*\>/;
+ for (i = 0; i < exclude.length; i++) {
+ cache[exclude.charCodeAt(i)] = exclude[i];
+ }
-var toTagName = function(s) {
- return s.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
-};
+ return cache;
+}
-var renderNodes = function(block) {
- var attrs;
- var tagname;
- var walker = block.walker();
- var event, node, entering;
- var buffer = "";
- var lastOut = "\n";
- var disableTags = 0;
- var indentLevel = 0;
- var indent = ' ';
- var unescapedContents;
- var container;
- var selfClosing;
- var nodetype;
+// Encode unsafe characters with percent-encoding, skipping already
+// encoded sequences.
+//
+// - string - string to encode
+// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)
+// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)
+//
+function encode(string, exclude, keepEscaped) {
+ var i, l, code, nextCode, cache,
+ result = '';
- var out = function(s) {
- if (disableTags > 0) {
- buffer += s.replace(reXMLTag, '');
- } else {
- buffer += s;
- }
- lastOut = s;
- };
- var esc = this.escape;
- var cr = function() {
- if (lastOut !== '\n') {
- buffer += '\n';
- lastOut = '\n';
- for (var i = indentLevel; i--;) {
- buffer += indent;
- }
- }
- };
+ if (typeof exclude !== 'string') {
+ // encode(string, keepEscaped)
+ keepEscaped = exclude;
+ exclude = encode.defaultChars;
+ }
- var options = this.options;
+ if (typeof keepEscaped === 'undefined') {
+ keepEscaped = true;
+ }
- if (options.time) { console.time("rendering"); }
+ cache = getEncodeCache(exclude);
- buffer += '\n';
- buffer += '\n';
+ for (i = 0, l = string.length; i < l; i++) {
+ code = string.charCodeAt(i);
- while ((event = walker.next())) {
- entering = event.entering;
- node = event.node;
- nodetype = node.type;
+ if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {
+ if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {
+ result += string.slice(i, i + 3);
+ i += 2;
+ continue;
+ }
+ }
- container = node.isContainer;
- selfClosing = nodetype === 'HorizontalRule' || nodetype === 'Hardbreak' ||
- nodetype === 'Softbreak' || nodetype === 'Image';
- unescapedContents = nodetype === 'Html' || nodetype === 'HtmlInline';
- tagname = toTagName(nodetype);
+ if (code < 128) {
+ result += cache[code];
+ continue;
+ }
- if (entering) {
+ if (code >= 0xD800 && code <= 0xDFFF) {
+ if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {
+ nextCode = string.charCodeAt(i + 1);
+ if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {
+ result += encodeURIComponent(string[i] + string[i + 1]);
+ i++;
+ continue;
+ }
+ }
+ result += '%EF%BF%BD';
+ continue;
+ }
- attrs = [];
+ result += encodeURIComponent(string[i]);
+ }
- switch (nodetype) {
- case 'List':
- if (node.listType !== null) {
- attrs.push(['type', node.listType.toLowerCase()]);
- }
- if (node.listStart !== null) {
- attrs.push(['start', String(node.listStart)]);
- }
- if (node.listTight !== null) {
- attrs.push(['tight', (node.listTight ? 'true' : 'false')]);
- }
- var delim = node.listDelimiter;
- if (delim !== null) {
- var delimword = '';
- if (delim === '.') {
- delimword = 'period';
- } else {
- delimword = 'paren';
- }
- attrs.push(['delimiter', delimword]);
- }
- break;
- case 'CodeBlock':
- if (node.info) {
- attrs.push(['info', node.info]);
- }
- break;
- case 'Header':
- attrs.push(['level', String(node.level)]);
- break;
- case 'Link':
- case 'Image':
- attrs.push(['destination', node.destination]);
- attrs.push(['title', node.title]);
- break;
- default:
- break;
- }
- if (options.sourcepos) {
- var pos = node.sourcepos;
- if (pos) {
- attrs.push(['sourcepos', String(pos[0][0]) + ':' +
- String(pos[0][1]) + '-' + String(pos[1][0]) + ':' +
- String(pos[1][1])]);
- }
- }
+ return result;
+}
- cr();
- out(tag(tagname, attrs, selfClosing));
- if (container) {
- indentLevel += 1;
- } else if (!container && !selfClosing) {
- var lit = node.literal;
- if (lit) {
- out(unescapedContents ? lit : esc(lit));
- }
- out(tag('/' + tagname));
- }
- } else {
- indentLevel -= 1;
- cr();
- out(tag('/' + tagname));
- }
+encode.defaultChars = ";/?:@&=+$,-_.!~*'()#";
+encode.componentChars = "-_.!~*'()";
- }
- if (options.time) { console.timeEnd("rendering"); }
- buffer += '\n';
- return buffer;
-};
+module.exports = encode;
-// The XmlRenderer object.
-function XmlRenderer(options){
- return {
- // default options:
- softbreak: '\n', // by default, soft breaks are rendered as newlines in HTML
- // set to "
" to make them hard breaks
- // set to " " if you want to ignore line wrapping in source
- escape: escapeXml,
- options: options || {},
- render: renderNodes
- };
+},{}],20:[function(require,module,exports){
+/*! http://mths.be/repeat v0.2.0 by @mathias */
+if (!String.prototype.repeat) {
+ (function() {
+ 'use strict'; // needed to support `apply`/`call` with `undefined`/`null`
+ var defineProperty = (function() {
+ // IE 8 only supports `Object.defineProperty` on DOM elements
+ try {
+ var object = {};
+ var $defineProperty = Object.defineProperty;
+ var result = $defineProperty(object, object, object) && $defineProperty;
+ } catch(error) {}
+ return result;
+ }());
+ var repeat = function(count) {
+ if (this == null) {
+ throw TypeError();
+ }
+ var string = String(this);
+ // `ToInteger`
+ var n = count ? Number(count) : 0;
+ if (n != n) { // better `isNaN`
+ n = 0;
+ }
+ // Account for out-of-bounds indices
+ if (n < 0 || n == Infinity) {
+ throw RangeError();
+ }
+ var result = '';
+ while (n) {
+ if (n % 2 == 1) {
+ result += string;
+ }
+ if (n > 1) {
+ string += string;
+ }
+ n >>= 1;
+ }
+ return result;
+ };
+ if (defineProperty) {
+ defineProperty(String.prototype, 'repeat', {
+ 'value': repeat,
+ 'configurable': true,
+ 'writable': true
+ });
+ } else {
+ String.prototype.repeat = repeat;
+ }
+ }());
}
-module.exports = XmlRenderer;
-
-},{"./common":2}]},{},[8])(8)
+},{}]},{},[5])(5)
});
\ No newline at end of file
diff --git a/dist/commonmark.min.js b/dist/commonmark.min.js
index 88814a62..df855f8b 100644
--- a/dist/commonmark.min.js
+++ b/dist/commonmark.min.js
@@ -1,4 +1,4 @@
-/* commonmark 0.20 https://github.com/jgm/CommonMark @license BSD3 */
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o;"undefined"!=typeof window?o=window:"undefined"!=typeof global?o=global:"undefined"!=typeof self&&(o=self),o.commonmark=e()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;r.length>o;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function Parser(options){return{doc:new Document,blocks:blocks,blockStarts:blockStarts,tip:this.doc,oldtip:this.doc,currentLine:"",lineNumber:0,offset:0,nextNonspace:0,indent:0,indented:!1,blank:!1,allClosed:!0,lastMatchedContainer:this.doc,refmap:{},lastLineLength:0,inlineParser:new InlineParser(options),findNextNonspace:findNextNonspace,breakOutOfLists:breakOutOfLists,addLine:addLine,addChild:addChild,incorporateLine:incorporateLine,finalize:finalize,processInlines:processInlines,closeUnmatchedBlocks:closeUnmatchedBlocks,parse:parse,options:options||{}}}var Node=require("./node"),unescapeString=require("./common").unescapeString,CODE_INDENT=4,C_NEWLINE=10,C_GREATERTHAN=62,C_SPACE=32,C_OPEN_BRACKET=91,InlineParser=require("./inlines"),BLOCKTAGNAME="(?:article|header|aside|hgroup|iframe|blockquote|hr|body|li|map|button|object|canvas|ol|caption|output|col|p|colgroup|pre|dd|progress|div|section|dl|table|td|dt|tbody|embed|textarea|fieldset|tfoot|figcaption|th|figure|thead|footer|footer|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)",HTMLBLOCKOPEN="<(?:"+BLOCKTAGNAME+"(?:[\\s/>]|$)|/"+BLOCKTAGNAME+"(?:[\\s>]|$)|[?!])",reHtmlBlockOpen=new RegExp("^"+HTMLBLOCKOPEN,"i"),reHrule=/^(?:(?:\* *){3,}|(?:_ *){3,}|(?:- *){3,}) *$/,reMaybeSpecial=/^[#`~*+_=<>0-9-]/,reNonSpace=/[^ \t\f\v\r\n]/,reBulletListMarker=/^[*+-]( +|$)/,reOrderedListMarker=/^(\d+)([.)])( +|$)/,reATXHeaderMarker=/^#{1,6}(?: +|$)/,reCodeFence=/^`{3,}(?!.*`)|^~{3,}(?!.*~)/,reClosingCodeFence=/^(?:`{3,}|~{3,})(?= *$)/,reSetextHeaderLine=/^(?:=+|-+) *$/,reLineEnding=/\r\n|\n|\r/,isBlank=function(s){return!reNonSpace.test(s)},tabSpaces=[" "," "," "," "],detabLine=function(text){for(var offset,start=0,lastStop=0;-1!==(offset=text.indexOf(" ",start));){var numspaces=(offset-lastStop)%4,spaces=tabSpaces[numspaces];text=text.slice(0,offset)+spaces+text.slice(offset+1),lastStop=offset+numspaces,start=lastStop}return text},peek=function(ln,pos){return ln.length>pos?ln.charCodeAt(pos):-1},endsWithBlankLine=function(block){for(;block;){if(block._lastLineBlank)return!0;var t=block.type;if("List"!==t&&"Item"!==t)break;block=block._lastChild}return!1},breakOutOfLists=function(block){var b=block,last_list=null;do"List"===b.type&&(last_list=b),b=b._parent;while(b);if(last_list){for(;block!==last_list;)this.finalize(block,this.lineNumber),block=block._parent;this.finalize(last_list,this.lineNumber),this.tip=last_list._parent}},addLine=function(){this.tip._string_content+=this.currentLine.slice(this.offset)+"\n"},addChild=function(tag,offset){for(;!this.blocks[this.tip.type].canContain(tag);)this.finalize(this.tip,this.lineNumber-1);var column_number=offset+1,newBlock=new Node(tag,[[this.lineNumber,column_number],[0,0]]);return newBlock._string_content="",this.tip.appendChild(newBlock),this.tip=newBlock,newBlock},parseListMarker=function(ln,offset,indent){var match,spaces_after_marker,rest=ln.slice(offset),data={type:null,tight:!0,bulletChar:null,start:null,delimiter:null,padding:null,markerOffset:indent};if(match=rest.match(reBulletListMarker))spaces_after_marker=match[1].length,data.type="Bullet",data.bulletChar=match[0][0];else{if(!(match=rest.match(reOrderedListMarker)))return null;spaces_after_marker=match[3].length,data.type="Ordered",data.start=parseInt(match[1]),data.delimiter=match[2]}var blank_item=match[0].length===rest.length;return data.padding=spaces_after_marker>=5||1>spaces_after_marker||blank_item?match[0].length-spaces_after_marker+1:match[0].length,data},listsMatch=function(list_data,item_data){return list_data.type===item_data.type&&list_data.delimiter===item_data.delimiter&&list_data.bulletChar===item_data.bulletChar},closeUnmatchedBlocks=function(){if(!this.allClosed){for(;this.oldtip!==this.lastMatchedContainer;){var parent=this.oldtip._parent;this.finalize(this.oldtip,this.lineNumber-1),this.oldtip=parent}this.allClosed=!0}},blocks={Document:{"continue":function(){return 0},finalize:function(){},canContain:function(t){return"Item"!==t},acceptsLines:!1},List:{"continue":function(){return 0},finalize:function(parser,block){for(var item=block._firstChild;item;){if(endsWithBlankLine(item)&&item._next){block._listData.tight=!1;break}for(var subitem=item._firstChild;subitem;){if(endsWithBlankLine(subitem)&&(item._next||subitem._next)){block._listData.tight=!1;break}subitem=subitem._next}item=item._next}},canContain:function(t){return"Item"===t},acceptsLines:!1},BlockQuote:{"continue":function(parser){var ln=parser.currentLine;return parser.indented||peek(ln,parser.nextNonspace)!==C_GREATERTHAN?1:(parser.offset=parser.nextNonspace+1,peek(ln,parser.offset)===C_SPACE&&parser.offset++,0)},finalize:function(){},canContain:function(t){return"Item"!==t},acceptsLines:!1},Item:{"continue":function(parser,container){if(parser.blank)parser.offset=parser.nextNonspace;else{if(!(parser.indent>=container._listData.markerOffset+container._listData.padding))return 1;parser.offset+=container._listData.markerOffset+container._listData.padding}return 0},finalize:function(){},canContain:function(t){return"Item"!==t},acceptsLines:!1},Header:{"continue":function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},HorizontalRule:{"continue":function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},CodeBlock:{"continue":function(parser,container){var ln=parser.currentLine,indent=parser.indent;if(container._isFenced){var match=3>=indent&&ln.charAt(parser.nextNonspace)===container._fenceChar&&ln.slice(parser.nextNonspace).match(reClosingCodeFence);if(match&&match[0].length>=container._fenceLength)return parser.finalize(container,parser.lineNumber),2;for(var i=container._fenceOffset;i>0&&peek(ln,parser.offset)===C_SPACE;)parser.offset++,i--}else if(indent>=CODE_INDENT)parser.offset+=CODE_INDENT;else{if(!parser.blank)return 1;parser.offset=parser.nextNonspace}return 0},finalize:function(parser,block){if(block._isFenced){var content=block._string_content,newlinePos=content.indexOf("\n"),firstLine=content.slice(0,newlinePos),rest=content.slice(newlinePos+1);block.info=unescapeString(firstLine.trim()),block._literal=rest}else block._literal=block._string_content.replace(/(\n *)+$/,"\n");block._string_content=null},canContain:function(){return!1},acceptsLines:!0},HtmlBlock:{"continue":function(parser){return parser.blank?1:0},finalize:function(parser,block){block._literal=block._string_content.replace(/(\n *)+$/,""),block._string_content=null},canContain:function(){return!1},acceptsLines:!0},Paragraph:{"continue":function(parser){return parser.blank?1:0},finalize:function(parser,block){for(var pos,hasReferenceDefs=!1;peek(block._string_content,0)===C_OPEN_BRACKET&&(pos=parser.inlineParser.parseReference(block._string_content,parser.refmap));)block._string_content=block._string_content.slice(pos),hasReferenceDefs=!0;hasReferenceDefs&&isBlank(block._string_content)&&block.unlink()},canContain:function(){return!1},acceptsLines:!0}},blockStarts=[function(parser){return parser.indented||peek(parser.currentLine,parser.nextNonspace)!==C_GREATERTHAN?0:(parser.offset=parser.nextNonspace+1,peek(parser.currentLine,parser.offset)===C_SPACE&&parser.offset++,parser.closeUnmatchedBlocks(),parser.addChild("BlockQuote",parser.nextNonspace),1)},function(parser){var match;if(!parser.indented&&(match=parser.currentLine.slice(parser.nextNonspace).match(reATXHeaderMarker))){parser.offset=parser.nextNonspace+match[0].length,parser.closeUnmatchedBlocks();var container=parser.addChild("Header",parser.nextNonspace);return container.level=match[0].trim().length,container._string_content=parser.currentLine.slice(parser.offset).replace(/^ *#+ *$/,"").replace(/ +#+ *$/,""),parser.offset=parser.currentLine.length,2}return 0},function(parser){var match;if(!parser.indented&&(match=parser.currentLine.slice(parser.nextNonspace).match(reCodeFence))){var fenceLength=match[0].length;parser.closeUnmatchedBlocks();var container=parser.addChild("CodeBlock",parser.nextNonspace);return container._isFenced=!0,container._fenceLength=fenceLength,container._fenceChar=match[0][0],container._fenceOffset=parser.indent,parser.offset=parser.nextNonspace+fenceLength,2}return 0},function(parser){return!parser.indented&&reHtmlBlockOpen.test(parser.currentLine.slice(parser.nextNonspace))?(parser.closeUnmatchedBlocks(),parser.addChild("HtmlBlock",parser.offset),2):0},function(parser,container){var match;if(!parser.indented&&"Paragraph"===container.type&&container._string_content.indexOf("\n")===container._string_content.length-1&&(match=parser.currentLine.slice(parser.nextNonspace).match(reSetextHeaderLine))){parser.closeUnmatchedBlocks();var header=new Node("Header",container.sourcepos);return header.level="="===match[0][0]?1:2,header._string_content=container._string_content,container.insertAfter(header),container.unlink(),parser.tip=header,parser.offset=parser.currentLine.length,2}return 0},function(parser){return!parser.indented&&reHrule.test(parser.currentLine.slice(parser.nextNonspace))?(parser.closeUnmatchedBlocks(),parser.addChild("HorizontalRule",parser.nextNonspace),parser.offset=parser.currentLine.length,2):0},function(parser,container){var data;return(data=parseListMarker(parser.currentLine,parser.nextNonspace,parser.indent))?(parser.closeUnmatchedBlocks(),parser.indented&&"List"!==parser.tip.type?0:(parser.offset=parser.nextNonspace+data.padding,"List"===parser.tip.type&&listsMatch(container._listData,data)||(container=parser.addChild("List",parser.nextNonspace),container._listData=data),container=parser.addChild("Item",parser.nextNonspace),container._listData=data,1)):0},function(parser){return parser.indented&&"Paragraph"!==parser.tip.type&&!parser.blank?(parser.offset+=CODE_INDENT,parser.closeUnmatchedBlocks(),parser.addChild("CodeBlock",parser.offset),2):0}],findNextNonspace=function(){var currentLine=this.currentLine,match=currentLine.slice(this.offset).match(reNonSpace);null===match?(this.nextNonspace=currentLine.length,this.blank=!0):(this.nextNonspace=this.offset+match.index,this.blank=!1),this.indent=this.nextNonspace-this.offset,this.indented=this.indent>=CODE_INDENT},incorporateLine=function(ln){var t,all_matched=!0,container=this.doc;this.oldtip=this.tip,this.offset=0,this.lineNumber+=1,-1!==ln.indexOf("\x00")&&(ln=ln.replace(/\0/g,"�")),ln=detabLine(ln),this.currentLine=ln;for(var lastChild;(lastChild=container._lastChild)&&lastChild._open;){switch(container=lastChild,this.findNextNonspace(),this.blocks[container.type]["continue"](this,container)){case 0:break;case 1:all_matched=!1;break;case 2:return void(this.lastLineLength=ln.length);default:throw"continue returned illegal value, must be 0, 1, or 2"}if(!all_matched){container=container._parent;break}}this.allClosed=container===this.oldtip,this.lastMatchedContainer=container,this.blank&&container._lastLineBlank&&this.breakOutOfLists(container);for(var matchedLeaf="Paragraph"!==container.type&&blocks[container.type].acceptsLines,starts=this.blockStarts,startsLen=starts.length;!matchedLeaf;){if(this.findNextNonspace(),!this.indented&&!reMaybeSpecial.test(ln.slice(this.nextNonspace))){this.offset=this.nextNonspace;break}for(var i=0;startsLen>i;){var res=starts[i](this,container);if(1===res){container=this.tip;break}if(2===res){container=this.tip,matchedLeaf=!0;break}i++}if(i===startsLen){this.offset=this.nextNonspace;break}}if(this.allClosed||this.blank||"Paragraph"!==this.tip.type){this.closeUnmatchedBlocks(),this.blank&&container.lastChild&&(container.lastChild._lastLineBlank=!0),t=container.type;for(var lastLineBlank=this.blank&&!("BlockQuote"===t||"CodeBlock"===t&&container._isFenced||"Item"===t&&!container._firstChild&&container.sourcepos[0][0]===this.lineNumber),cont=container;cont;)cont._lastLineBlank=lastLineBlank,cont=cont._parent;this.blocks[t].acceptsLines?this.addLine():ln.length>this.offset&&!this.blank&&(container=this.addChild("Paragraph",this.offset),this.offset=this.nextNonspace,this.addLine())}else this.addLine();this.lastLineLength=ln.length},finalize=function(block,lineNumber){var above=block._parent;block._open=!1,block.sourcepos[1]=[lineNumber,this.lastLineLength],this.blocks[block.type].finalize(this,block),this.tip=above},processInlines=function(block){var node,event,t,walker=block.walker();for(this.inlineParser.refmap=this.refmap;event=walker.next();)node=event.node,t=node.type,event.entering||"Paragraph"!==t&&"Header"!==t||this.inlineParser.parse(node)},Document=function(){var doc=new Node("Document",[[1,1],[0,0]]);return doc},parse=function(input){this.doc=new Document,this.tip=this.doc,this.refmap={},this.lineNumber=0,this.lastLineLength=0,this.offset=0,this.lastMatchedContainer=this.doc,this.currentLine="",this.options.time&&console.time("preparing input");var lines=input.split(reLineEnding),len=lines.length;input.charCodeAt(input.length-1)===C_NEWLINE&&(len-=1),this.options.time&&console.timeEnd("preparing input"),this.options.time&&console.time("block parsing");for(var i=0;len>i;i++)this.incorporateLine(lines[i]);for(;this.tip;)this.finalize(this.tip,len);return this.options.time&&console.timeEnd("block parsing"),this.options.time&&console.time("inline parsing"),this.processInlines(this.doc),this.options.time&&console.timeEnd("inline parsing"),this.doc};module.exports=Parser},{"./common":2,"./inlines":9,"./node":10}],2:[function(require,module,exports){"use strict";var encode=require("./encode"),decode=require("./decode"),C_BACKSLASH=92,entityToChar=require("./html5-entities.js").entityToChar,ENTITY="&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});",reBackslashOrAmp=/[\\&]/,ESCAPABLE="[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]",reEntityOrEscapedChar=new RegExp("\\\\"+ESCAPABLE+"|"+ENTITY,"gi"),XMLSPECIAL='[&<>"]',reXmlSpecial=new RegExp(XMLSPECIAL,"g"),reXmlSpecialOrEntity=new RegExp(ENTITY+"|"+XMLSPECIAL,"gi"),unescapeChar=function(s){return s.charCodeAt(0)===C_BACKSLASH?s.charAt(1):entityToChar(s)},unescapeString=function(s){return reBackslashOrAmp.test(s)?s.replace(reEntityOrEscapedChar,unescapeChar):s},normalizeURI=function(uri){try{return encode(decode(uri))}catch(err){return uri}},replaceUnsafeChar=function(s){switch(s){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";default:return s}},escapeXml=function(s,preserve_entities){return reXmlSpecial.test(s)?preserve_entities?s.replace(reXmlSpecialOrEntity,replaceUnsafeChar):s.replace(reXmlSpecial,replaceUnsafeChar):s};module.exports={unescapeString:unescapeString,normalizeURI:normalizeURI,escapeXml:escapeXml,ENTITY:ENTITY,ESCAPABLE:ESCAPABLE}},{"./decode":3,"./encode":4,"./html5-entities.js":7}],3:[function(require,module,exports){"use strict";function getDecodeCache(exclude){var i,ch,cache=decodeCache[exclude];if(cache)return cache;for(cache=decodeCache[exclude]=[],i=0;128>i;i++)ch=String.fromCharCode(i),cache.push(ch);for(i=0;exclude.length>i;i++)ch=exclude.charCodeAt(i),cache[ch]="%"+("0"+ch.toString(16).toUpperCase()).slice(-2);return cache}function decode(string,exclude){var cache;return"string"!=typeof exclude&&(exclude=decode.defaultChars),cache=getDecodeCache(exclude),string.replace(/(%[a-f0-9]{2})+/gi,function(seq){var i,l,b1,b2,b3,b4,char,result="";for(i=0,l=seq.length;l>i;i+=3)b1=parseInt(seq.slice(i+1,i+3),16),128>b1?result+=cache[b1]:192===(224&b1)&&l>i+3&&(b2=parseInt(seq.slice(i+4,i+6),16),128===(192&b2))?(char=b1<<6&1984|63&b2,result+=128>char?"��":String.fromCharCode(char),i+=3):224===(240&b1)&&l>i+6&&(b2=parseInt(seq.slice(i+4,i+6),16),b3=parseInt(seq.slice(i+7,i+9),16),128===(192&b2)&&128===(192&b3))?(char=b1<<12&61440|b2<<6&4032|63&b3,result+=2048>char||char>=55296&&57343>=char?"���":String.fromCharCode(char),i+=6):240===(248&b1)&&l>i+9&&(b2=parseInt(seq.slice(i+4,i+6),16),b3=parseInt(seq.slice(i+7,i+9),16),b4=parseInt(seq.slice(i+10,i+12),16),128===(192&b2)&&128===(192&b3)&&128===(192&b4))?(char=b1<<18&1835008|b2<<12&258048|b3<<6&4032|63&b4,65536>char||char>1114111?result+="����":(char-=65536,result+=String.fromCharCode(55296+(char>>10),56320+(1023&char))),i+=9):result+="�";return result})}var decodeCache={};decode.defaultChars=";/?:@&=+$,#",decode.componentChars="",module.exports=decode},{}],4:[function(require,module,exports){"use strict";function getEncodeCache(exclude){var i,ch,cache=encodeCache[exclude];if(cache)return cache;for(cache=encodeCache[exclude]=[],i=0;128>i;i++)ch=String.fromCharCode(i),cache.push(/^[0-9a-z]$/i.test(ch)?ch:"%"+("0"+i.toString(16).toUpperCase()).slice(-2));for(i=0;exclude.length>i;i++)cache[exclude.charCodeAt(i)]=exclude[i];return cache}function encode(string,exclude,keepEscaped){var i,l,code,nextCode,cache,result="";for("string"!=typeof exclude&&(keepEscaped=exclude,exclude=encode.defaultChars),"undefined"==typeof keepEscaped&&(keepEscaped=!0),cache=getEncodeCache(exclude),i=0,l=string.length;l>i;i++)if(code=string.charCodeAt(i),keepEscaped&&37===code&&l>i+2&&/^[0-9a-f]{2}$/i.test(string.slice(i+1,i+3)))result+=string.slice(i,i+3),i+=2;else if(128>code)result+=cache[code];else if(code>=55296&&57343>=code){if(code>=55296&&56319>=code&&l>i+1&&(nextCode=string.charCodeAt(i+1),nextCode>=56320&&57343>=nextCode)){result+=encodeURIComponent(string[i]+string[i+1]),i++;continue}result+="%EF%BF%BD"}else result+=encodeURIComponent(string[i]);return result}var encodeCache={};encode.defaultChars=";/?:@&=+$,-_.!~*'()#",encode.componentChars="-_.!~*'()",module.exports=encode},{}],5:[function(require,module,exports){"use strict";if(String.fromCodePoint)module.exports=function(_){try{return String.fromCodePoint(_)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var stringFromCharCode=String.fromCharCode,floor=Math.floor,fromCodePoint=function(){var highSurrogate,lowSurrogate,MAX_SIZE=16384,codeUnits=[],index=-1,length=arguments.length;if(!length)return"";for(var result="";++indexcodePoint||codePoint>1114111||floor(codePoint)!==codePoint)return String.fromCharCode(65533);65535>=codePoint?codeUnits.push(codePoint):(codePoint-=65536,highSurrogate=(codePoint>>10)+55296,lowSurrogate=codePoint%1024+56320,codeUnits.push(highSurrogate,lowSurrogate)),(index+1===length||codeUnits.length>MAX_SIZE)&&(result+=stringFromCharCode.apply(null,codeUnits),codeUnits.length=0)}return result};module.exports=fromCodePoint}},{}],6:[function(require,module,exports){"use strict";function HtmlRenderer(options){return{softbreak:"\n",escape:escapeXml,options:options||{},render:renderNodes}}var escapeXml=require("./common").escapeXml,tag=function(name,attrs,selfclosing){var result="<"+name;if(attrs&&attrs.length>0)for(var attrib,i=0;void 0!==(attrib=attrs[i]);)result+=" "+attrib[0]+'="'+attrib[1]+'"',i++;return selfclosing&&(result+=" /"),result+=">"},reHtmlTag=/\<[^>]*\>/,renderNodes=function(block){var attrs,info_words,tagname,event,node,entering,grandparent,walker=block.walker(),buffer="",lastOut="\n",disableTags=0,out=function(s){buffer+=disableTags>0?s.replace(reHtmlTag,""):s,lastOut=s},esc=this.escape,cr=function(){"\n"!==lastOut&&(buffer+="\n",lastOut="\n")},options=this.options;for(options.time&&console.time("rendering");event=walker.next();){if(entering=event.entering,node=event.node,attrs=[],options.sourcepos){var pos=node.sourcepos;pos&&attrs.push(["data-sourcepos",String(pos[0][0])+":"+String(pos[0][1])+"-"+String(pos[1][0])+":"+String(pos[1][1])])}switch(node.type){case"Text":out(esc(node.literal,!1));break;case"Softbreak":out(this.softbreak);break;case"Hardbreak":out(tag("br",[],!0)),cr();break;case"Emph":out(tag(entering?"em":"/em"));break;case"Strong":out(tag(entering?"strong":"/strong"));break;case"Html":out(node.literal);break;case"Link":entering?(attrs.push(["href",esc(node.destination,!0)]),node.title&&attrs.push(["title",esc(node.title,!0)]),out(tag("a",attrs))):out(tag("/a"));break;case"Image":entering?(0===disableTags&&out('')));break;case"Code":out(tag("code")+esc(node.literal,!1)+tag("/code"));break;case"Document":break;case"Paragraph":if(grandparent=node.parent.parent,null!==grandparent&&"List"===grandparent.type&&grandparent.listTight)break;entering?(cr(),out(tag("p",attrs))):(out(tag("/p")),cr());break;case"BlockQuote":entering?(cr(),out(tag("blockquote",attrs)),cr()):(cr(),out(tag("/blockquote")),cr());break;case"Item":entering?out(tag("li",attrs)):(out(tag("/li")),cr());break;case"List":if(tagname="Bullet"===node.listType?"ul":"ol",entering){var start=node.listStart;null!==start&&1!==start&&attrs.push(["start",start.toString()]),cr(),out(tag(tagname,attrs)),cr()}else cr(),out(tag("/"+tagname)),cr();break;case"Header":tagname="h"+node.level,entering?(cr(),out(tag(tagname,attrs))):(out(tag("/"+tagname)),cr());break;case"CodeBlock":info_words=node.info?node.info.split(/ +/):[],info_words.length>0&&info_words[0].length>0&&attrs.push(["class","language-"+esc(info_words[0],!0)]),cr(),out(tag("pre")+tag("code",attrs)),out(esc(node.literal,!1)),out(tag("/code")+tag("/pre")),cr();break;case"HtmlBlock":cr(),out(node.literal),cr();break;case"HorizontalRule":cr(),out(tag("hr",attrs,!0)),cr();break;default:throw"Unknown node type "+node.type}}return options.time&&console.timeEnd("rendering"),buffer};module.exports=HtmlRenderer},{"./common":2}],7:[function(require,module,exports){"use strict";var fromCodePoint=require("./from-code-point"),entities={AAacute:193,aacute:225,Abreve:258,abreve:259,ac:8766,acd:8767,acE:8766,Acirc:194,acirc:226,acute:180,Acy:1040,acy:1072,AElig:198,aelig:230,af:8289,Afr:55349,afr:55349,Agrave:192,agrave:224,alefsym:8501,aleph:8501,Alpha:913,alpha:945,Amacr:256,amacr:257,amalg:10815,amp:38,AMP:38,andand:10837,And:10835,and:8743,andd:10844,andslope:10840,andv:10842,ang:8736,ange:10660,angle:8736,angmsdaa:10664,angmsdab:10665,angmsdac:10666,angmsdad:10667,angmsdae:10668,angmsdaf:10669,angmsdag:10670,angmsdah:10671,angmsd:8737,angrt:8735,angrtvb:8894,angrtvbd:10653,angsph:8738,angst:197,angzarr:9084,Aogon:260,aogon:261,Aopf:55349,aopf:55349,apacir:10863,ap:8776,apE:10864,ape:8778,apid:8779,apos:39,ApplyFunction:8289,approx:8776,approxeq:8778,Aring:197,aring:229,Ascr:55349,ascr:55349,Assign:8788,ast:42,asymp:8776,asympeq:8781,Atilde:195,atilde:227,Auml:196,auml:228,awconint:8755,awint:10769,backcong:8780,backepsilon:1014,backprime:8245,backsim:8765,backsimeq:8909,Backslash:8726,Barv:10983,barvee:8893,barwed:8965,Barwed:8966,barwedge:8965,bbrk:9141,bbrktbrk:9142,bcong:8780,Bcy:1041,bcy:1073,bdquo:8222,becaus:8757,because:8757,Because:8757,bemptyv:10672,bepsi:1014,bernou:8492,Bernoullis:8492,Beta:914,beta:946,beth:8502,between:8812,Bfr:55349,bfr:55349,bigcap:8898,bigcirc:9711,bigcup:8899,bigodot:10752,bigoplus:10753,bigotimes:10754,bigsqcup:10758,bigstar:9733,bigtriangledown:9661,bigtriangleup:9651,biguplus:10756,bigvee:8897,bigwedge:8896,bkarow:10509,blacklozenge:10731,blacksquare:9642,blacktriangle:9652,blacktriangledown:9662,blacktriangleleft:9666,blacktriangleright:9656,blank:9251,blk12:9618,blk14:9617,blk34:9619,block:9608,bne:61,bnequiv:8801,bNot:10989,bnot:8976,Bopf:55349,bopf:55349,bot:8869,bottom:8869,bowtie:8904,boxbox:10697,boxdl:9488,boxdL:9557,boxDl:9558,boxDL:9559,boxdr:9484,boxdR:9554,boxDr:9555,boxDR:9556,boxh:9472,boxH:9552,boxhd:9516,boxHd:9572,boxhD:9573,boxHD:9574,boxhu:9524,boxHu:9575,boxhU:9576,boxHU:9577,boxminus:8863,boxplus:8862,boxtimes:8864,boxul:9496,boxuL:9563,boxUl:9564,boxUL:9565,boxur:9492,boxuR:9560,boxUr:9561,boxUR:9562,boxv:9474,boxV:9553,boxvh:9532,boxvH:9578,boxVh:9579,boxVH:9580,boxvl:9508,boxvL:9569,boxVl:9570,boxVL:9571,boxvr:9500,boxvR:9566,boxVr:9567,boxVR:9568,bprime:8245,breve:728,Breve:728,brvbar:166,bscr:55349,Bscr:8492,bsemi:8271,bsim:8765,bsime:8909,bsolb:10693,bsol:92,bsolhsub:10184,bull:8226,bullet:8226,bump:8782,bumpE:10926,bumpe:8783,Bumpeq:8782,bumpeq:8783,Cacute:262,cacute:263,capand:10820,capbrcup:10825,capcap:10827,cap:8745,Cap:8914,capcup:10823,capdot:10816,CapitalDifferentialD:8517,caps:8745,caret:8257,caron:711,Cayleys:8493,ccaps:10829,Ccaron:268,ccaron:269,Ccedil:199,ccedil:231,Ccirc:264,ccirc:265,Cconint:8752,ccups:10828,ccupssm:10832,Cdot:266,cdot:267,cedil:184,Cedilla:184,cemptyv:10674,cent:162,centerdot:183,CenterDot:183,cfr:55349,Cfr:8493,CHcy:1063,chcy:1095,check:10003,checkmark:10003,Chi:935,chi:967,circ:710,circeq:8791,circlearrowleft:8634,circlearrowright:8635,circledast:8859,circledcirc:8858,circleddash:8861,CircleDot:8857,circledR:174,circledS:9416,CircleMinus:8854,CirclePlus:8853,CircleTimes:8855,cir:9675,cirE:10691,cire:8791,cirfnint:10768,cirmid:10991,cirscir:10690,ClockwiseContourIntegral:8754,CloseCurlyDoubleQuote:8221,CloseCurlyQuote:8217,clubs:9827,clubsuit:9827,colon:58,Colon:8759,Colone:10868,colone:8788,coloneq:8788,comma:44,commat:64,comp:8705,compfn:8728,complement:8705,complexes:8450,cong:8773,congdot:10861,Congruent:8801,conint:8750,Conint:8751,ContourIntegral:8750,copf:55349,Copf:8450,coprod:8720,Coproduct:8720,copy:169,COPY:169,copysr:8471,CounterClockwiseContourIntegral:8755,crarr:8629,cross:10007,Cross:10799,Cscr:55349,cscr:55349,csub:10959,csube:10961,csup:10960,csupe:10962,ctdot:8943,cudarrl:10552,cudarrr:10549,cuepr:8926,cuesc:8927,cularr:8630,cularrp:10557,cupbrcap:10824,cupcap:10822,CupCap:8781,cup:8746,Cup:8915,cupcup:10826,cupdot:8845,cupor:10821,cups:8746,curarr:8631,curarrm:10556,curlyeqprec:8926,curlyeqsucc:8927,curlyvee:8910,curlywedge:8911,curren:164,curvearrowleft:8630,curvearrowright:8631,cuvee:8910,cuwed:8911,cwconint:8754,cwint:8753,cylcty:9005,dagger:8224,Dagger:8225,daleth:8504,darr:8595,Darr:8609,dArr:8659,dash:8208,Dashv:10980,dashv:8867,dbkarow:10511,dblac:733,Dcaron:270,dcaron:271,Dcy:1044,dcy:1076,ddagger:8225,ddarr:8650,DD:8517,dd:8518,DDotrahd:10513,ddotseq:10871,deg:176,Del:8711,Delta:916,delta:948,demptyv:10673,dfisht:10623,Dfr:55349,dfr:55349,dHar:10597,dharl:8643,dharr:8642,DiacriticalAcute:180,DiacriticalDot:729,DiacriticalDoubleAcute:733,DiacriticalGrave:96,DiacriticalTilde:732,diam:8900,diamond:8900,Diamond:8900,diamondsuit:9830,diams:9830,die:168,DifferentialD:8518,digamma:989,disin:8946,div:247,divide:247,divideontimes:8903,divonx:8903,DJcy:1026,djcy:1106,dlcorn:8990,dlcrop:8973,dollar:36,Dopf:55349,dopf:55349,Dot:168,dot:729,DotDot:8412,doteq:8784,doteqdot:8785,DotEqual:8784,dotminus:8760,dotplus:8724,dotsquare:8865,doublebarwedge:8966,DoubleContourIntegral:8751,DoubleDot:168,DoubleDownArrow:8659,DoubleLeftArrow:8656,DoubleLeftRightArrow:8660,DoubleLeftTee:10980,DoubleLongLeftArrow:10232,DoubleLongLeftRightArrow:10234,DoubleLongRightArrow:10233,DoubleRightArrow:8658,DoubleRightTee:8872,DoubleUpArrow:8657,DoubleUpDownArrow:8661,DoubleVerticalBar:8741,DownArrowBar:10515,downarrow:8595,DownArrow:8595,Downarrow:8659,DownArrowUpArrow:8693,DownBreve:785,downdownarrows:8650,downharpoonleft:8643,downharpoonright:8642,DownLeftRightVector:10576,DownLeftTeeVector:10590,DownLeftVectorBar:10582,DownLeftVector:8637,DownRightTeeVector:10591,DownRightVectorBar:10583,DownRightVector:8641,DownTeeArrow:8615,DownTee:8868,drbkarow:10512,drcorn:8991,drcrop:8972,Dscr:55349,dscr:55349,DScy:1029,dscy:1109,dsol:10742,Dstrok:272,dstrok:273,dtdot:8945,dtri:9663,dtrif:9662,duarr:8693,duhar:10607,dwangle:10662,DZcy:1039,dzcy:1119,dzigrarr:10239,Eacute:201,eacute:233,easter:10862,Ecaron:282,ecaron:283,Ecirc:202,ecirc:234,ecir:8790,ecolon:8789,Ecy:1069,ecy:1101,eDDot:10871,Edot:278,edot:279,eDot:8785,ee:8519,efDot:8786,Efr:55349,efr:55349,eg:10906,Egrave:200,egrave:232,egs:10902,egsdot:10904,el:10905,Element:8712,elinters:9191,ell:8467,els:10901,elsdot:10903,Emacr:274,emacr:275,empty:8709,emptyset:8709,EmptySmallSquare:9723,emptyv:8709,EmptyVerySmallSquare:9643,emsp13:8196,emsp14:8197,emsp:8195,ENG:330,eng:331,ensp:8194,Eogon:280,eogon:281,Eopf:55349,eopf:55349,epar:8917,eparsl:10723,eplus:10865,epsi:949,Epsilon:917,epsilon:949,epsiv:1013,eqcirc:8790,eqcolon:8789,eqsim:8770,eqslantgtr:10902,eqslantless:10901,Equal:10869,equals:61,EqualTilde:8770,equest:8799,Equilibrium:8652,equiv:8801,equivDD:10872,eqvparsl:10725,erarr:10609,erDot:8787,escr:8495,Escr:8496,esdot:8784,Esim:10867,esim:8770,Eta:919,eta:951,ETH:208,eth:240,Euml:203,euml:235,euro:8364,excl:33,exist:8707,Exists:8707,expectation:8496,exponentiale:8519,ExponentialE:8519,fallingdotseq:8786,Fcy:1060,fcy:1092,female:9792,ffilig:64259,fflig:64256,ffllig:64260,Ffr:55349,ffr:55349,filig:64257,FilledSmallSquare:9724,FilledVerySmallSquare:9642,fjlig:102,flat:9837,fllig:64258,fltns:9649,fnof:402,Fopf:55349,fopf:55349,forall:8704,ForAll:8704,fork:8916,forkv:10969,Fouriertrf:8497,fpartint:10765,frac12:189,frac13:8531,frac14:188,frac15:8533,frac16:8537,frac18:8539,frac23:8532,frac25:8534,frac34:190,frac35:8535,frac38:8540,frac45:8536,frac56:8538,frac58:8541,frac78:8542,frasl:8260,frown:8994,fscr:55349,Fscr:8497,gacute:501,Gamma:915,gamma:947,Gammad:988,gammad:989,gap:10886,Gbreve:286,gbreve:287,Gcedil:290,Gcirc:284,gcirc:285,Gcy:1043,gcy:1075,Gdot:288,gdot:289,ge:8805,gE:8807,gEl:10892,gel:8923,geq:8805,geqq:8807,geqslant:10878,gescc:10921,ges:10878,gesdot:10880,gesdoto:10882,gesdotol:10884,gesl:8923,gesles:10900,Gfr:55349,gfr:55349,gg:8811,Gg:8921,ggg:8921,gimel:8503,GJcy:1027,gjcy:1107,gla:10917,gl:8823,glE:10898,glj:10916,gnap:10890,gnapprox:10890,gne:10888,gnE:8809,gneq:10888,gneqq:8809,gnsim:8935,Gopf:55349,gopf:55349,grave:96,GreaterEqual:8805,GreaterEqualLess:8923,GreaterFullEqual:8807,GreaterGreater:10914,GreaterLess:8823,GreaterSlantEqual:10878,GreaterTilde:8819,Gscr:55349,gscr:8458,gsim:8819,gsime:10894,gsiml:10896,gtcc:10919,gtcir:10874,gt:62,GT:62,Gt:8811,gtdot:8919,gtlPar:10645,gtquest:10876,gtrapprox:10886,gtrarr:10616,gtrdot:8919,gtreqless:8923,gtreqqless:10892,gtrless:8823,gtrsim:8819,gvertneqq:8809,gvnE:8809,Hacek:711,hairsp:8202,half:189,hamilt:8459,HARDcy:1066,hardcy:1098,harrcir:10568,harr:8596,hArr:8660,harrw:8621,Hat:94,hbar:8463,Hcirc:292,hcirc:293,hearts:9829,heartsuit:9829,hellip:8230,hercon:8889,hfr:55349,Hfr:8460,HilbertSpace:8459,hksearow:10533,hkswarow:10534,hoarr:8703,homtht:8763,hookleftarrow:8617,hookrightarrow:8618,hopf:55349,Hopf:8461,horbar:8213,HorizontalLine:9472,hscr:55349,Hscr:8459,hslash:8463,Hstrok:294,hstrok:295,HumpDownHump:8782,HumpEqual:8783,hybull:8259,hyphen:8208,Iacute:205,iacute:237,ic:8291,Icirc:206,icirc:238,Icy:1048,icy:1080,Idot:304,IEcy:1045,iecy:1077,iexcl:161,iff:8660,ifr:55349,Ifr:8465,Igrave:204,igrave:236,ii:8520,iiiint:10764,iiint:8749,iinfin:10716,iiota:8489,IJlig:306,ijlig:307,Imacr:298,imacr:299,image:8465,ImaginaryI:8520,imagline:8464,imagpart:8465,imath:305,Im:8465,imof:8887,imped:437,Implies:8658,incare:8453,"in":8712,infin:8734,infintie:10717,inodot:305,intcal:8890,"int":8747,Int:8748,integers:8484,Integral:8747,intercal:8890,Intersection:8898,intlarhk:10775,intprod:10812,InvisibleComma:8291,InvisibleTimes:8290,IOcy:1025,iocy:1105,Iogon:302,iogon:303,Iopf:55349,iopf:55349,Iota:921,iota:953,iprod:10812,iquest:191,iscr:55349,Iscr:8464,isin:8712,isindot:8949,isinE:8953,isins:8948,isinsv:8947,isinv:8712,it:8290,Itilde:296,itilde:297,Iukcy:1030,iukcy:1110,Iuml:207,iuml:239,Jcirc:308,jcirc:309,Jcy:1049,jcy:1081,Jfr:55349,jfr:55349,jmath:567,Jopf:55349,jopf:55349,Jscr:55349,jscr:55349,Jsercy:1032,jsercy:1112,Jukcy:1028,jukcy:1108,Kappa:922,kappa:954,kappav:1008,Kcedil:310,kcedil:311,Kcy:1050,kcy:1082,Kfr:55349,kfr:55349,kgreen:312,KHcy:1061,khcy:1093,KJcy:1036,kjcy:1116,Kopf:55349,kopf:55349,Kscr:55349,kscr:55349,lAarr:8666,Lacute:313,lacute:314,laemptyv:10676,lagran:8466,Lambda:923,lambda:955,lang:10216,Lang:10218,langd:10641,langle:10216,lap:10885,Laplacetrf:8466,laquo:171,larrb:8676,larrbfs:10527,larr:8592,Larr:8606,lArr:8656,larrfs:10525,larrhk:8617,larrlp:8619,larrpl:10553,larrsim:10611,larrtl:8610,latail:10521,lAtail:10523,lat:10923,late:10925,lates:10925,lbarr:10508,lBarr:10510,lbbrk:10098,lbrace:123,lbrack:91,lbrke:10635,lbrksld:10639,lbrkslu:10637,Lcaron:317,lcaron:318,Lcedil:315,lcedil:316,lceil:8968,lcub:123,Lcy:1051,lcy:1083,ldca:10550,ldquo:8220,ldquor:8222,ldrdhar:10599,ldrushar:10571,ldsh:8626,le:8804,lE:8806,LeftAngleBracket:10216,LeftArrowBar:8676,leftarrow:8592,LeftArrow:8592,Leftarrow:8656,LeftArrowRightArrow:8646,leftarrowtail:8610,LeftCeiling:8968,LeftDoubleBracket:10214,LeftDownTeeVector:10593,LeftDownVectorBar:10585,LeftDownVector:8643,LeftFloor:8970,leftharpoondown:8637,leftharpoonup:8636,leftleftarrows:8647,leftrightarrow:8596,LeftRightArrow:8596,Leftrightarrow:8660,leftrightarrows:8646,leftrightharpoons:8651,leftrightsquigarrow:8621,LeftRightVector:10574,LeftTeeArrow:8612,LeftTee:8867,LeftTeeVector:10586,leftthreetimes:8907,LeftTriangleBar:10703,LeftTriangle:8882,LeftTriangleEqual:8884,LeftUpDownVector:10577,LeftUpTeeVector:10592,LeftUpVectorBar:10584,LeftUpVector:8639,LeftVectorBar:10578,LeftVector:8636,lEg:10891,leg:8922,leq:8804,leqq:8806,leqslant:10877,lescc:10920,les:10877,lesdot:10879,lesdoto:10881,lesdotor:10883,lesg:8922,lesges:10899,lessapprox:10885,lessdot:8918,lesseqgtr:8922,lesseqqgtr:10891,LessEqualGreater:8922,LessFullEqual:8806,LessGreater:8822,lessgtr:8822,LessLess:10913,lesssim:8818,LessSlantEqual:10877,LessTilde:8818,lfisht:10620,lfloor:8970,Lfr:55349,lfr:55349,lg:8822,lgE:10897,lHar:10594,lhard:8637,lharu:8636,lharul:10602,lhblk:9604,LJcy:1033,ljcy:1113,llarr:8647,ll:8810,Ll:8920,llcorner:8990,Lleftarrow:8666,llhard:10603,lltri:9722,Lmidot:319,lmidot:320,lmoustache:9136,lmoust:9136,lnap:10889,lnapprox:10889,lne:10887,lnE:8808,lneq:10887,lneqq:8808,lnsim:8934,loang:10220,loarr:8701,lobrk:10214,longleftarrow:10229,LongLeftArrow:10229,Longleftarrow:10232,longleftrightarrow:10231,LongLeftRightArrow:10231,Longleftrightarrow:10234,longmapsto:10236,longrightarrow:10230,LongRightArrow:10230,Longrightarrow:10233,looparrowleft:8619,looparrowright:8620,lopar:10629,Lopf:55349,lopf:55349,loplus:10797,lotimes:10804,lowast:8727,lowbar:95,LowerLeftArrow:8601,LowerRightArrow:8600,loz:9674,lozenge:9674,lozf:10731,lpar:40,lparlt:10643,lrarr:8646,lrcorner:8991,lrhar:8651,lrhard:10605,lrm:8206,lrtri:8895,lsaquo:8249,lscr:55349,Lscr:8466,lsh:8624,Lsh:8624,lsim:8818,lsime:10893,lsimg:10895,lsqb:91,lsquo:8216,lsquor:8218,Lstrok:321,lstrok:322,ltcc:10918,ltcir:10873,lt:60,LT:60,Lt:8810,ltdot:8918,lthree:8907,ltimes:8905,ltlarr:10614,ltquest:10875,ltri:9667,ltrie:8884,ltrif:9666,ltrPar:10646,lurdshar:10570,luruhar:10598,lvertneqq:8808,lvnE:8808,macr:175,male:9794,malt:10016,maltese:10016,Map:10501,map:8614,mapsto:8614,mapstodown:8615,mapstoleft:8612,mapstoup:8613,marker:9646,mcomma:10793,Mcy:1052,mcy:1084,mdash:8212,mDDot:8762,measuredangle:8737,MediumSpace:8287,Mellintrf:8499,Mfr:55349,mfr:55349,mho:8487,micro:181,midast:42,midcir:10992,mid:8739,middot:183,minusb:8863,minus:8722,minusd:8760,minusdu:10794,MinusPlus:8723,mlcp:10971,mldr:8230,mnplus:8723,models:8871,Mopf:55349,mopf:55349,mp:8723,mscr:55349,Mscr:8499,mstpos:8766,Mu:924,mu:956,multimap:8888,mumap:8888,nabla:8711,Nacute:323,nacute:324,nang:8736,nap:8777,napE:10864,napid:8779,napos:329,napprox:8777,natural:9838,naturals:8469,natur:9838,nbsp:160,nbump:8782,nbumpe:8783,ncap:10819,Ncaron:327,ncaron:328,Ncedil:325,ncedil:326,ncong:8775,ncongdot:10861,ncup:10818,Ncy:1053,ncy:1085,ndash:8211,nearhk:10532,nearr:8599,neArr:8663,nearrow:8599,ne:8800,nedot:8784,NegativeMediumSpace:8203,NegativeThickSpace:8203,NegativeThinSpace:8203,NegativeVeryThinSpace:8203,nequiv:8802,nesear:10536,nesim:8770,NestedGreaterGreater:8811,NestedLessLess:8810,NewLine:10,nexist:8708,nexists:8708,Nfr:55349,nfr:55349,ngE:8807,nge:8817,ngeq:8817,ngeqq:8807,ngeqslant:10878,nges:10878,nGg:8921,ngsim:8821,nGt:8811,ngt:8815,ngtr:8815,nGtv:8811,nharr:8622,nhArr:8654,nhpar:10994,ni:8715,nis:8956,nisd:8954,niv:8715,NJcy:1034,njcy:1114,nlarr:8602,nlArr:8653,nldr:8229,nlE:8806,nle:8816,nleftarrow:8602,nLeftarrow:8653,nleftrightarrow:8622,nLeftrightarrow:8654,nleq:8816,nleqq:8806,nleqslant:10877,nles:10877,nless:8814,nLl:8920,nlsim:8820,nLt:8810,nlt:8814,nltri:8938,nltrie:8940,nLtv:8810,nmid:8740,NoBreak:8288,NonBreakingSpace:160,nopf:55349,Nopf:8469,Not:10988,not:172,NotCongruent:8802,NotCupCap:8813,NotDoubleVerticalBar:8742,NotElement:8713,NotEqual:8800,NotEqualTilde:8770,NotExists:8708,NotGreater:8815,NotGreaterEqual:8817,NotGreaterFullEqual:8807,NotGreaterGreater:8811,NotGreaterLess:8825,NotGreaterSlantEqual:10878,NotGreaterTilde:8821,NotHumpDownHump:8782,NotHumpEqual:8783,notin:8713,notindot:8949,notinE:8953,notinva:8713,notinvb:8951,notinvc:8950,NotLeftTriangleBar:10703,NotLeftTriangle:8938,NotLeftTriangleEqual:8940,NotLess:8814,NotLessEqual:8816,NotLessGreater:8824,NotLessLess:8810,NotLessSlantEqual:10877,NotLessTilde:8820,NotNestedGreaterGreater:10914,NotNestedLessLess:10913,notni:8716,notniva:8716,notnivb:8958,notnivc:8957,NotPrecedes:8832,NotPrecedesEqual:10927,NotPrecedesSlantEqual:8928,NotReverseElement:8716,NotRightTriangleBar:10704,NotRightTriangle:8939,NotRightTriangleEqual:8941,NotSquareSubset:8847,NotSquareSubsetEqual:8930,NotSquareSuperset:8848,NotSquareSupersetEqual:8931,NotSubset:8834,NotSubsetEqual:8840,NotSucceeds:8833,NotSucceedsEqual:10928,NotSucceedsSlantEqual:8929,NotSucceedsTilde:8831,NotSuperset:8835,NotSupersetEqual:8841,NotTilde:8769,NotTildeEqual:8772,NotTildeFullEqual:8775,NotTildeTilde:8777,NotVerticalBar:8740,nparallel:8742,npar:8742,nparsl:11005,npart:8706,npolint:10772,npr:8832,nprcue:8928,nprec:8832,npreceq:10927,npre:10927,nrarrc:10547,nrarr:8603,nrArr:8655,nrarrw:8605,nrightarrow:8603,nRightarrow:8655,nrtri:8939,nrtrie:8941,nsc:8833,nsccue:8929,nsce:10928,Nscr:55349,nscr:55349,nshortmid:8740,nshortparallel:8742,nsim:8769,nsime:8772,nsimeq:8772,nsmid:8740,nspar:8742,nsqsube:8930,nsqsupe:8931,nsub:8836,nsubE:10949,nsube:8840,nsubset:8834,nsubseteq:8840,nsubseteqq:10949,nsucc:8833,nsucceq:10928,nsup:8837,nsupE:10950,nsupe:8841,nsupset:8835,nsupseteq:8841,nsupseteqq:10950,ntgl:8825,Ntilde:209,ntilde:241,ntlg:8824,ntriangleleft:8938,ntrianglelefteq:8940,ntriangleright:8939,ntrianglerighteq:8941,Nu:925,nu:957,num:35,numero:8470,numsp:8199,nvap:8781,nvdash:8876,nvDash:8877,nVdash:8878,nVDash:8879,nvge:8805,nvgt:62,nvHarr:10500,nvinfin:10718,nvlArr:10498,nvle:8804,nvlt:62,nvltrie:8884,nvrArr:10499,nvrtrie:8885,nvsim:8764,nwarhk:10531,nwarr:8598,nwArr:8662,nwarrow:8598,nwnear:10535,Oacute:211,oacute:243,oast:8859,Ocirc:212,ocirc:244,ocir:8858,Ocy:1054,ocy:1086,odash:8861,Odblac:336,odblac:337,odiv:10808,odot:8857,odsold:10684,OElig:338,oelig:339,ofcir:10687,Ofr:55349,ofr:55349,ogon:731,Ograve:210,ograve:242,ogt:10689,ohbar:10677,ohm:937,oint:8750,olarr:8634,olcir:10686,olcross:10683,oline:8254,olt:10688,Omacr:332,omacr:333,Omega:937,omega:969,Omicron:927,omicron:959,omid:10678,ominus:8854,Oopf:55349,oopf:55349,opar:10679,OpenCurlyDoubleQuote:8220,OpenCurlyQuote:8216,operp:10681,oplus:8853,orarr:8635,Or:10836,or:8744,ord:10845,order:8500,orderof:8500,ordf:170,ordm:186,origof:8886,oror:10838,orslope:10839,orv:10843,oS:9416,Oscr:55349,oscr:8500,Oslash:216,oslash:248,osol:8856,Otilde:213,otilde:245,otimesas:10806,Otimes:10807,otimes:8855,Ouml:214,ouml:246,ovbar:9021,OverBar:8254,OverBrace:9182,OverBracket:9140,OverParenthesis:9180,para:182,parallel:8741,par:8741,parsim:10995,parsl:11005,part:8706,PartialD:8706,Pcy:1055,pcy:1087,percnt:37,period:46,permil:8240,perp:8869,pertenk:8241,Pfr:55349,pfr:55349,Phi:934,phi:966,phiv:981,phmmat:8499,phone:9742,Pi:928,pi:960,pitchfork:8916,piv:982,planck:8463,planckh:8462,plankv:8463,plusacir:10787,plusb:8862,pluscir:10786,plus:43,plusdo:8724,plusdu:10789,pluse:10866,PlusMinus:177,plusmn:177,plussim:10790,plustwo:10791,pm:177,Poincareplane:8460,pointint:10773,popf:55349,Popf:8473,pound:163,prap:10935,Pr:10939,pr:8826,prcue:8828,precapprox:10935,prec:8826,preccurlyeq:8828,Precedes:8826,PrecedesEqual:10927,PrecedesSlantEqual:8828,PrecedesTilde:8830,preceq:10927,precnapprox:10937,precneqq:10933,precnsim:8936,pre:10927,prE:10931,precsim:8830,prime:8242,Prime:8243,primes:8473,prnap:10937,prnE:10933,prnsim:8936,prod:8719,Product:8719,profalar:9006,profline:8978,profsurf:8979,prop:8733,Proportional:8733,Proportion:8759,propto:8733,prsim:8830,prurel:8880,Pscr:55349,pscr:55349,Psi:936,psi:968,puncsp:8200,Qfr:55349,qfr:55349,qint:10764,qopf:55349,Qopf:8474,qprime:8279,Qscr:55349,qscr:55349,quaternions:8461,quatint:10774,quest:63,questeq:8799,quot:34,QUOT:34,rAarr:8667,race:8765,Racute:340,racute:341,radic:8730,raemptyv:10675,rang:10217,Rang:10219,rangd:10642,range:10661,rangle:10217,raquo:187,rarrap:10613,rarrb:8677,rarrbfs:10528,rarrc:10547,rarr:8594,Rarr:8608,rArr:8658,rarrfs:10526,rarrhk:8618,rarrlp:8620,rarrpl:10565,rarrsim:10612,Rarrtl:10518,rarrtl:8611,rarrw:8605,ratail:10522,rAtail:10524,ratio:8758,rationals:8474,rbarr:10509,rBarr:10511,RBarr:10512,rbbrk:10099,rbrace:125,rbrack:93,rbrke:10636,rbrksld:10638,rbrkslu:10640,Rcaron:344,rcaron:345,Rcedil:342,rcedil:343,rceil:8969,rcub:125,Rcy:1056,rcy:1088,rdca:10551,rdldhar:10601,rdquo:8221,rdquor:8221,rdsh:8627,real:8476,realine:8475,realpart:8476,reals:8477,Re:8476,rect:9645,reg:174,REG:174,ReverseElement:8715,ReverseEquilibrium:8651,ReverseUpEquilibrium:10607,rfisht:10621,rfloor:8971,rfr:55349,Rfr:8476,rHar:10596,rhard:8641,rharu:8640,rharul:10604,Rho:929,rho:961,rhov:1009,RightAngleBracket:10217,RightArrowBar:8677,rightarrow:8594,RightArrow:8594,Rightarrow:8658,RightArrowLeftArrow:8644,rightarrowtail:8611,RightCeiling:8969,RightDoubleBracket:10215,RightDownTeeVector:10589,RightDownVectorBar:10581,RightDownVector:8642,RightFloor:8971,rightharpoondown:8641,rightharpoonup:8640,rightleftarrows:8644,rightleftharpoons:8652,rightrightarrows:8649,rightsquigarrow:8605,RightTeeArrow:8614,RightTee:8866,RightTeeVector:10587,rightthreetimes:8908,RightTriangleBar:10704,RightTriangle:8883,RightTriangleEqual:8885,RightUpDownVector:10575,RightUpTeeVector:10588,RightUpVectorBar:10580,RightUpVector:8638,RightVectorBar:10579,RightVector:8640,ring:730,risingdotseq:8787,rlarr:8644,rlhar:8652,rlm:8207,rmoustache:9137,rmoust:9137,rnmid:10990,roang:10221,roarr:8702,robrk:10215,ropar:10630,ropf:55349,Ropf:8477,roplus:10798,rotimes:10805,RoundImplies:10608,rpar:41,rpargt:10644,rppolint:10770,rrarr:8649,Rrightarrow:8667,rsaquo:8250,rscr:55349,Rscr:8475,rsh:8625,Rsh:8625,rsqb:93,rsquo:8217,rsquor:8217,rthree:8908,rtimes:8906,rtri:9657,rtrie:8885,rtrif:9656,rtriltri:10702,RuleDelayed:10740,ruluhar:10600,rx:8478,Sacute:346,sacute:347,sbquo:8218,scap:10936,Scaron:352,scaron:353,Sc:10940,sc:8827,sccue:8829,sce:10928,scE:10932,Scedil:350,scedil:351,Scirc:348,scirc:349,scnap:10938,scnE:10934,scnsim:8937,scpolint:10771,scsim:8831,Scy:1057,scy:1089,sdotb:8865,sdot:8901,sdote:10854,searhk:10533,searr:8600,seArr:8664,searrow:8600,sect:167,semi:59,seswar:10537,setminus:8726,setmn:8726,sext:10038,Sfr:55349,sfr:55349,sfrown:8994,sharp:9839,SHCHcy:1065,shchcy:1097,SHcy:1064,shcy:1096,ShortDownArrow:8595,ShortLeftArrow:8592,shortmid:8739,shortparallel:8741,ShortRightArrow:8594,ShortUpArrow:8593,shy:173,Sigma:931,sigma:963,sigmaf:962,sigmav:962,sim:8764,simdot:10858,sime:8771,simeq:8771,simg:10910,simgE:10912,siml:10909,simlE:10911,simne:8774,simplus:10788,simrarr:10610,slarr:8592,SmallCircle:8728,smallsetminus:8726,smashp:10803,smeparsl:10724,smid:8739,smile:8995,smt:10922,smte:10924,smtes:10924,SOFTcy:1068,softcy:1100,solbar:9023,solb:10692,sol:47,Sopf:55349,sopf:55349,spades:9824,spadesuit:9824,spar:8741,sqcap:8851,sqcaps:8851,sqcup:8852,sqcups:8852,Sqrt:8730,sqsub:8847,sqsube:8849,sqsubset:8847,sqsubseteq:8849,sqsup:8848,sqsupe:8850,sqsupset:8848,sqsupseteq:8850,square:9633,Square:9633,SquareIntersection:8851,SquareSubset:8847,SquareSubsetEqual:8849,SquareSuperset:8848,SquareSupersetEqual:8850,SquareUnion:8852,squarf:9642,squ:9633,squf:9642,srarr:8594,Sscr:55349,sscr:55349,ssetmn:8726,ssmile:8995,sstarf:8902,Star:8902,star:9734,starf:9733,straightepsilon:1013,straightphi:981,strns:175,sub:8834,Sub:8912,subdot:10941,subE:10949,sube:8838,subedot:10947,submult:10945,subnE:10955,subne:8842,subplus:10943,subrarr:10617,subset:8834,Subset:8912,subseteq:8838,subseteqq:10949,SubsetEqual:8838,subsetneq:8842,subsetneqq:10955,subsim:10951,subsub:10965,subsup:10963,succapprox:10936,succ:8827,succcurlyeq:8829,Succeeds:8827,SucceedsEqual:10928,SucceedsSlantEqual:8829,SucceedsTilde:8831,succeq:10928,succnapprox:10938,succneqq:10934,succnsim:8937,succsim:8831,SuchThat:8715,sum:8721,Sum:8721,sung:9834,sup1:185,sup2:178,sup3:179,sup:8835,Sup:8913,supdot:10942,supdsub:10968,supE:10950,supe:8839,supedot:10948,Superset:8835,SupersetEqual:8839,suphsol:10185,suphsub:10967,suplarr:10619,supmult:10946,supnE:10956,supne:8843,supplus:10944,supset:8835,Supset:8913,supseteq:8839,supseteqq:10950,supsetneq:8843,supsetneqq:10956,supsim:10952,supsub:10964,supsup:10966,swarhk:10534,swarr:8601,swArr:8665,swarrow:8601,swnwar:10538,szlig:223,Tab:0/0,target:8982,Tau:932,tau:964,tbrk:9140,Tcaron:356,tcaron:357,Tcedil:354,tcedil:355,Tcy:1058,tcy:1090,tdot:8411,telrec:8981,Tfr:55349,tfr:55349,there4:8756,therefore:8756,Therefore:8756,Theta:920,theta:952,thetasym:977,thetav:977,thickapprox:8776,thicksim:8764,ThickSpace:8287,ThinSpace:8201,thinsp:8201,thkap:8776,thksim:8764,THORN:222,thorn:254,tilde:732,Tilde:8764,TildeEqual:8771,TildeFullEqual:8773,TildeTilde:8776,timesbar:10801,timesb:8864,times:215,timesd:10800,tint:8749,toea:10536,topbot:9014,topcir:10993,top:8868,Topf:55349,topf:55349,topfork:10970,tosa:10537,tprime:8244,trade:8482,TRADE:8482,triangle:9653,triangledown:9663,triangleleft:9667,trianglelefteq:8884,triangleq:8796,triangleright:9657,trianglerighteq:8885,tridot:9708,trie:8796,triminus:10810,TripleDot:8411,triplus:10809,trisb:10701,tritime:10811,trpezium:9186,Tscr:55349,tscr:55349,TScy:1062,tscy:1094,TSHcy:1035,tshcy:1115,Tstrok:358,tstrok:359,twixt:8812,twoheadleftarrow:8606,twoheadrightarrow:8608,Uacute:218,uacute:250,uarr:8593,Uarr:8607,uArr:8657,Uarrocir:10569,Ubrcy:1038,ubrcy:1118,Ubreve:364,ubreve:365,Ucirc:219,ucirc:251,Ucy:1059,ucy:1091,udarr:8645,Udblac:368,udblac:369,udhar:10606,ufisht:10622,Ufr:55349,ufr:55349,Ugrave:217,ugrave:249,uHar:10595,uharl:8639,uharr:8638,uhblk:9600,ulcorn:8988,ulcorner:8988,ulcrop:8975,ultri:9720,Umacr:362,umacr:363,uml:168,UnderBar:95,UnderBrace:9183,UnderBracket:9141,UnderParenthesis:9181,Union:8899,UnionPlus:8846,Uogon:370,uogon:371,Uopf:55349,uopf:55349,UpArrowBar:10514,uparrow:8593,UpArrow:8593,Uparrow:8657,UpArrowDownArrow:8645,updownarrow:8597,UpDownArrow:8597,Updownarrow:8661,UpEquilibrium:10606,upharpoonleft:8639,upharpoonright:8638,uplus:8846,UpperLeftArrow:8598,UpperRightArrow:8599,upsi:965,Upsi:978,upsih:978,Upsilon:933,upsilon:965,UpTeeArrow:8613,UpTee:8869,upuparrows:8648,urcorn:8989,urcorner:8989,urcrop:8974,Uring:366,uring:367,urtri:9721,Uscr:55349,uscr:55349,utdot:8944,Utilde:360,utilde:361,utri:9653,utrif:9652,uuarr:8648,Uuml:220,uuml:252,uwangle:10663,vangrt:10652,varepsilon:1013,varkappa:1008,varnothing:8709,varphi:981,varpi:982,varpropto:8733,varr:8597,vArr:8661,varrho:1009,varsigma:962,varsubsetneq:8842,varsubsetneqq:10955,varsupsetneq:8843,varsupsetneqq:10956,vartheta:977,vartriangleleft:8882,vartriangleright:8883,vBar:10984,Vbar:10987,vBarv:10985,Vcy:1042,vcy:1074,vdash:8866,vDash:8872,Vdash:8873,VDash:8875,Vdashl:10982,veebar:8891,vee:8744,Vee:8897,veeeq:8794,vellip:8942,verbar:124,Verbar:8214,vert:124,Vert:8214,VerticalBar:8739,VerticalLine:124,VerticalSeparator:10072,VerticalTilde:8768,VeryThinSpace:8202,Vfr:55349,vfr:55349,vltri:8882,vnsub:8834,vnsup:8835,Vopf:55349,vopf:55349,vprop:8733,vrtri:8883,Vscr:55349,vscr:55349,vsubnE:10955,vsubne:8842,vsupnE:10956,vsupne:8843,Vvdash:8874,vzigzag:10650,Wcirc:372,wcirc:373,wedbar:10847,wedge:8743,Wedge:8896,wedgeq:8793,weierp:8472,Wfr:55349,wfr:55349,Wopf:55349,wopf:55349,wp:8472,wr:8768,wreath:8768,Wscr:55349,wscr:55349,xcap:8898,xcirc:9711,xcup:8899,xdtri:9661,Xfr:55349,xfr:55349,xharr:10231,xhArr:10234,Xi:926,xi:958,xlarr:10229,xlArr:10232,xmap:10236,xnis:8955,xodot:10752,Xopf:55349,xopf:55349,xoplus:10753,xotime:10754,xrarr:10230,xrArr:10233,Xscr:55349,xscr:55349,xsqcup:10758,xuplus:10756,xutri:9651,xvee:8897,xwedge:8896,Yacute:221,yacute:253,YAcy:1071,yacy:1103,Ycirc:374,ycirc:375,Ycy:1067,ycy:1099,yen:165,Yfr:55349,yfr:55349,YIcy:1031,yicy:1111,Yopf:55349,yopf:55349,Yscr:55349,yscr:55349,YUcy:1070,yucy:1102,yuml:255,Yuml:376,Zacute:377,zacute:378,Zcaron:381,zcaron:382,Zcy:1047,zcy:1079,Zdot:379,zdot:380,zeetrf:8488,ZeroWidthSpace:8203,Zeta:918,zeta:950,zfr:55349,Zfr:8488,ZHcy:1046,zhcy:1078,zigrarr:8669,zopf:55349,Zopf:8484,Zscr:55349,zscr:55349,zwj:8205,zwnj:8204},entityToChar=function(m){var c,uchar,ucode,isNumeric=""===m.slice(0,2),isHex=isNumeric&&(c=m.slice(2,3))&&("X"===c||"x"===c);
-if(isNumeric){var num;num=isHex?parseInt(m.slice(3,m.length-1),16):parseInt(m.slice(2,m.length-1),10),uchar=0===num?"�":fromCodePoint(num)}else ucode=entities[m.slice(1,m.length-1)],ucode&&(uchar=fromCodePoint(entities[m.slice(1,m.length-1)]));return uchar||m};module.exports.entityToChar=entityToChar},{"./from-code-point":5}],8:[function(require,module,exports){"use strict";module.exports.Node=require("./node"),module.exports.Parser=require("./blocks"),module.exports.HtmlRenderer=require("./html"),module.exports.XmlRenderer=require("./xml")},{"./blocks":1,"./html":6,"./node":10,"./xml":12}],9:[function(require,module,exports){"use strict";function InlineParser(options){return{subject:"",delimiters:null,pos:0,refmap:{},match:match,peek:peek,spnl:spnl,parseBackticks:parseBackticks,parseBackslash:parseBackslash,parseAutolink:parseAutolink,parseHtmlTag:parseHtmlTag,scanDelims:scanDelims,handleDelim:handleDelim,parseLinkTitle:parseLinkTitle,parseLinkDestination:parseLinkDestination,parseLinkLabel:parseLinkLabel,parseOpenBracket:parseOpenBracket,parseCloseBracket:parseCloseBracket,parseBang:parseBang,parseEntity:parseEntity,parseString:parseString,parseNewline:parseNewline,parseReference:parseReference,parseInline:parseInline,processEmphasis:processEmphasis,removeDelimiter:removeDelimiter,options:options||{},parse:parseInlines}}var Node=require("./node"),common=require("./common"),normalizeReference=require("./normalize-reference"),normalizeURI=common.normalizeURI,unescapeString=common.unescapeString,fromCodePoint=require("./from-code-point.js"),entityToChar=require("./html5-entities.js").entityToChar,C_NEWLINE=10,C_ASTERISK=42,C_UNDERSCORE=95,C_BACKTICK=96,C_OPEN_BRACKET=91,C_CLOSE_BRACKET=93,C_LESSTHAN=60,C_BANG=33,C_BACKSLASH=92,C_AMPERSAND=38,C_OPEN_PAREN=40,C_CLOSE_PAREN=41,C_COLON=58,C_SINGLEQUOTE=39,C_DOUBLEQUOTE=34,ESCAPABLE=common.ESCAPABLE,ESCAPED_CHAR="\\\\"+ESCAPABLE,REG_CHAR="[^\\\\()\\x00-\\x20]",IN_PARENS_NOSP="\\(("+REG_CHAR+"|"+ESCAPED_CHAR+")*\\)",TAGNAME="[A-Za-z][A-Za-z0-9]*",ATTRIBUTENAME="[a-zA-Z_:][a-zA-Z0-9:._-]*",UNQUOTEDVALUE="[^\"'=<>`\\x00-\\x20]+",SINGLEQUOTEDVALUE="'[^']*'",DOUBLEQUOTEDVALUE='"[^"]*"',ATTRIBUTEVALUE="(?:"+UNQUOTEDVALUE+"|"+SINGLEQUOTEDVALUE+"|"+DOUBLEQUOTEDVALUE+")",ATTRIBUTEVALUESPEC="(?:\\s*=\\s*"+ATTRIBUTEVALUE+")",ATTRIBUTE="(?:\\s+"+ATTRIBUTENAME+ATTRIBUTEVALUESPEC+"?)",OPENTAG="<"+TAGNAME+ATTRIBUTE+"*\\s*/?>",CLOSETAG=""+TAGNAME+"\\s*[>]",HTMLCOMMENT="|",PROCESSINGINSTRUCTION="[<][?].*?[?][>]",DECLARATION="]*>",CDATA="",HTMLTAG="(?:"+OPENTAG+"|"+CLOSETAG+"|"+HTMLCOMMENT+"|"+PROCESSINGINSTRUCTION+"|"+DECLARATION+"|"+CDATA+")",ENTITY=common.ENTITY,rePunctuation=new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/),reHtmlTag=new RegExp("^"+HTMLTAG,"i"),reLinkTitle=new RegExp('^(?:"('+ESCAPED_CHAR+'|[^"\\x00])*"|\'('+ESCAPED_CHAR+"|[^'\\x00])*'|\\(("+ESCAPED_CHAR+"|[^)\\x00])*\\))"),reLinkDestinationBraces=new RegExp("^(?:[<](?:[^<>\\n\\\\\\x00]|"+ESCAPED_CHAR+"|\\\\)*[>])"),reLinkDestination=new RegExp("^(?:"+REG_CHAR+"+|"+ESCAPED_CHAR+"|"+IN_PARENS_NOSP+")*"),reEscapable=new RegExp("^"+ESCAPABLE),reEntityHere=new RegExp("^"+ENTITY,"i"),reTicks=/`+/,reTicksHere=/^`+/,reEllipses=/\.\.\./g,reDash=/---?/g,reEmailAutolink=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,reAutolink=/^<(?:coap|doi|javascript|aaa|aaas|about|acap|cap|cid|crid|data|dav|dict|dns|file|ftp|geo|go|gopher|h323|http|https|iax|icap|im|imap|info|ipp|iris|iris.beep|iris.xpc|iris.xpcs|iris.lwz|ldap|mailto|mid|msrp|msrps|mtqp|mupdate|news|nfs|ni|nih|nntp|opaquelocktoken|pop|pres|rtsp|service|session|shttp|sieve|sip|sips|sms|snmp|soap.beep|soap.beeps|tag|tel|telnet|tftp|thismessage|tn3270|tip|tv|urn|vemmi|ws|wss|xcon|xcon-userid|xmlrpc.beep|xmlrpc.beeps|xmpp|z39.50r|z39.50s|adiumxtra|afp|afs|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|chrome|chrome-extension|com-eventbrite-attendee|content|cvs|dlna-playsingle|dlna-playcontainer|dtn|dvb|ed2k|facetime|feed|finger|fish|gg|git|gizmoproject|gtalk|hcp|icon|ipn|irc|irc6|ircs|itms|jar|jms|keyparc|lastfm|ldaps|magnet|maps|market|message|mms|ms-help|msnim|mumble|mvn|notes|oid|palm|paparazzi|platform|proxy|psyc|query|res|resource|rmi|rsync|rtmp|secondlife|sftp|sgn|skype|smb|soldat|spotify|ssh|steam|svn|teamspeak|things|udp|unreal|ut2004|ventrilo|view-source|webcal|wtai|wyciwyg|xfire|xri|ymsgr):[^<>\x00-\x20]*>/i,reSpnl=/^ *(?:\n *)?/,reWhitespaceChar=/^\s/,reWhitespace=/\s+/g,reFinalSpace=/ *$/,reInitialSpace=/^ */,reSpaceAtEndOfLine=/^ *(?:\n|$)/,reLinkLabel=/^\[(?:[^\\\[\]]|\\[\[\]]){0,1000}\]/,reMain=/^[^\n`\[\]\\!<&*_'"]+/m,text=function(s){var node=new Node("Text");return node._literal=s,node},match=function(re){var m=re.exec(this.subject.slice(this.pos));return null===m?null:(this.pos+=m.index+m[0].length,m[0])},peek=function(){return this.subject.length>this.pos?this.subject.charCodeAt(this.pos):-1},spnl=function(){return this.match(reSpnl),!0},parseBackticks=function(block){var ticks=this.match(reTicksHere);if(null===ticks)return!1;for(var matched,node,afterOpenTicks=this.pos;null!==(matched=this.match(reTicks));)if(matched===ticks)return node=new Node("Code"),node._literal=this.subject.slice(afterOpenTicks,this.pos-ticks.length).trim().replace(reWhitespace," "),block.appendChild(node),!0;return this.pos=afterOpenTicks,block.appendChild(text(ticks)),!0},parseBackslash=function(block){var node,subj=this.subject;return this.pos+=1,this.peek()===C_NEWLINE?(this.pos+=1,node=new Node("Hardbreak"),block.appendChild(node)):reEscapable.test(subj.charAt(this.pos))?(block.appendChild(text(subj.charAt(this.pos))),this.pos+=1):block.appendChild(text("\\")),!0},parseAutolink=function(block){var m,dest,node;return(m=this.match(reEmailAutolink))?(dest=m.slice(1,m.length-1),node=new Node("Link"),node._destination=normalizeURI("mailto:"+dest),node._title="",node.appendChild(text(dest)),block.appendChild(node),!0):(m=this.match(reAutolink))?(dest=m.slice(1,m.length-1),node=new Node("Link"),node._destination=normalizeURI(dest),node._title="",node.appendChild(text(dest)),block.appendChild(node),!0):!1},parseHtmlTag=function(block){var m=this.match(reHtmlTag);if(null===m)return!1;var node=new Node("Html");return node._literal=m,block.appendChild(node),!0},scanDelims=function(cc){var char_before,char_after,cc_after,left_flanking,right_flanking,can_open,can_close,after_is_whitespace,after_is_punctuation,before_is_whitespace,before_is_punctuation,numdelims=0,startpos=this.pos;if(cc===C_SINGLEQUOTE||cc===C_DOUBLEQUOTE)numdelims++,this.pos++;else for(;this.peek()===cc;)numdelims++,this.pos++;return 0===numdelims?null:(char_before=0===startpos?"\n":this.subject.charAt(startpos-1),cc_after=this.peek(),char_after=-1===cc_after?"\n":fromCodePoint(cc_after),after_is_whitespace=reWhitespaceChar.test(char_after),after_is_punctuation=rePunctuation.test(char_after),before_is_whitespace=reWhitespaceChar.test(char_before),before_is_punctuation=rePunctuation.test(char_before),left_flanking=!(after_is_whitespace||after_is_punctuation&&!before_is_whitespace&&!before_is_punctuation),right_flanking=!(before_is_whitespace||before_is_punctuation&&!after_is_whitespace&&!after_is_punctuation),cc===C_UNDERSCORE?(can_open=left_flanking&&(!right_flanking||before_is_punctuation),can_close=right_flanking&&(!left_flanking||after_is_punctuation)):(can_open=left_flanking,can_close=right_flanking),this.pos=startpos,{numdelims:numdelims,can_open:can_open,can_close:can_close})},handleDelim=function(cc,block){var res=this.scanDelims(cc);if(!res)return!1;var contents,numdelims=res.numdelims,startpos=this.pos;this.pos+=numdelims,contents=cc===C_SINGLEQUOTE?"’":cc===C_DOUBLEQUOTE?"“":this.subject.slice(startpos,this.pos);var node=text(contents);return block.appendChild(node),this.delimiters={cc:cc,numdelims:numdelims,node:node,previous:this.delimiters,next:null,can_open:res.can_open,can_close:res.can_close,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},removeDelimiter=function(delim){null!==delim.previous&&(delim.previous.next=delim.next),null===delim.next?this.delimiters=delim.previous:delim.next.previous=delim.previous},removeDelimitersBetween=function(bottom,top){bottom.next!==top&&(bottom.next=top,top.previous=bottom)},processEmphasis=function(stack_bottom){var opener,closer,opener_inl,closer_inl,tempstack,use_delims,tmp,next;for(closer=this.delimiters;null!==closer&&closer.previous!==stack_bottom;)closer=closer.previous;for(;null!==closer;){var closercc=closer.cc;if(!closer.can_close||closercc!==C_UNDERSCORE&&closercc!==C_ASTERISK&&closercc!==C_SINGLEQUOTE&&closercc!==C_DOUBLEQUOTE)closer=closer.next;else{for(opener=closer.previous;null!==opener&&opener!==stack_bottom&&(opener.cc!==closer.cc||!opener.can_open);)opener=opener.previous;if(closercc===C_ASTERISK||closercc===C_UNDERSCORE)if(null===opener||opener===stack_bottom)closer=closer.next;else{use_delims=3>closer.numdelims||3>opener.numdelims?opener.numdelims>=closer.numdelims?closer.numdelims:opener.numdelims:closer.numdelims%2===0?2:1,opener_inl=opener.node,closer_inl=closer.node,opener.numdelims-=use_delims,closer.numdelims-=use_delims,opener_inl._literal=opener_inl._literal.slice(0,opener_inl._literal.length-use_delims),closer_inl._literal=closer_inl._literal.slice(0,closer_inl._literal.length-use_delims);var emph=new Node(1===use_delims?"Emph":"Strong");for(tmp=opener_inl._next;tmp&&tmp!==closer_inl;)next=tmp._next,tmp.unlink(),emph.appendChild(tmp),tmp=next;opener_inl.insertAfter(emph),removeDelimitersBetween(opener,closer),0===opener.numdelims&&(opener_inl.unlink(),this.removeDelimiter(opener)),0===closer.numdelims&&(closer_inl.unlink(),tempstack=closer.next,this.removeDelimiter(closer),closer=tempstack)}else closercc===C_SINGLEQUOTE?(closer.node._literal="’",null!==opener&&opener!==stack_bottom&&(opener.node._literal="‘"),closer=closer.next):closercc===C_DOUBLEQUOTE&&(closer.node._literal="”",null!==opener&&opener!==stack_bottom&&(opener.node.literal="“"),closer=closer.next)}}for(;this.delimiters!==stack_bottom;)this.removeDelimiter(this.delimiters)},parseLinkTitle=function(){var title=this.match(reLinkTitle);return null===title?null:unescapeString(title.substr(1,title.length-2))},parseLinkDestination=function(){var res=this.match(reLinkDestinationBraces);return null===res?(res=this.match(reLinkDestination),null===res?null:normalizeURI(unescapeString(res))):normalizeURI(unescapeString(res.substr(1,res.length-2)))},parseLinkLabel=function(){var m=this.match(reLinkLabel);return null===m?0:m.length},parseOpenBracket=function(block){var startpos=this.pos;this.pos+=1;var node=text("[");return block.appendChild(node),this.delimiters={cc:C_OPEN_BRACKET,numdelims:1,node:node,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:startpos,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},parseBang=function(block){var startpos=this.pos;if(this.pos+=1,this.peek()===C_OPEN_BRACKET){this.pos+=1;var node=text("![");block.appendChild(node),this.delimiters={cc:C_BANG,numdelims:1,node:node,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:startpos+1,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters)}else block.appendChild(text("!"));return!0},parseCloseBracket=function(block){var startpos,is_image,dest,title,reflabel,opener,matched=!1;for(this.pos+=1,startpos=this.pos,opener=this.delimiters;null!==opener&&opener.cc!==C_OPEN_BRACKET&&opener.cc!==C_BANG;)opener=opener.previous;if(null===opener)return block.appendChild(text("]")),!0;if(!opener.active)return block.appendChild(text("]")),this.removeDelimiter(opener),!0;if(is_image=opener.cc===C_BANG,this.peek()===C_OPEN_PAREN)this.pos++,this.spnl()&&null!==(dest=this.parseLinkDestination())&&this.spnl()&&this.spnl()&&this.peek()===C_CLOSE_PAREN&&(this.pos+=1,matched=!0);else{var savepos=this.pos;this.spnl();var beforelabel=this.pos,n=this.parseLinkLabel();reflabel=0===n||2===n?this.subject.slice(opener.index,startpos):this.subject.slice(beforelabel,beforelabel+n),0===n&&(this.pos=savepos);var link=this.refmap[normalizeReference(reflabel)];link&&(dest=link.destination,title=link.title,matched=!0)}if(matched){var node=new Node(is_image?"Image":"Link");node._destination=dest,node._title=title||"";var tmp,next;for(tmp=opener.node._next;tmp;)next=tmp._next,tmp.unlink(),node.appendChild(tmp),tmp=next;if(block.appendChild(node),this.processEmphasis(opener.previous),opener.node.unlink(),!is_image)for(opener=this.delimiters;null!==opener;)opener.cc===C_OPEN_BRACKET&&(opener.active=!1),opener=opener.previous;return!0}return this.removeDelimiter(opener),this.pos=startpos,block.appendChild(text("]")),!0},parseEntity=function(block){var m;return(m=this.match(reEntityHere))?(block.appendChild(text(entityToChar(m))),!0):!1},parseString=function(block){var m;return(m=this.match(reMain))?(block.appendChild(text(this.options.smart?m.replace(reEllipses,"…").replace(reDash,function(chars){return 3===chars.length?"—":"–"}):m)),!0):!1},parseNewline=function(block){this.pos+=1;var lastc=block._lastChild;if(lastc&&"Text"===lastc.type&&" "===lastc._literal[lastc._literal.length-1]){var hardbreak=" "===lastc._literal[lastc._literal.length-2];lastc._literal=lastc._literal.replace(reFinalSpace,""),block.appendChild(new Node(hardbreak?"Hardbreak":"Softbreak"))}else block.appendChild(new Node("Softbreak"));return this.match(reInitialSpace),!0},parseReference=function(s,refmap){this.subject=s,this.pos=0;var rawlabel,dest,title,matchChars,startpos=this.pos;if(matchChars=this.parseLinkLabel(),0===matchChars)return 0;if(rawlabel=this.subject.substr(0,matchChars),this.peek()!==C_COLON)return this.pos=startpos,0;if(this.pos++,this.spnl(),dest=this.parseLinkDestination(),null===dest||0===dest.length)return this.pos=startpos,0;var beforetitle=this.pos;if(this.spnl(),title=this.parseLinkTitle(),null===title&&(title="",this.pos=beforetitle),null===this.match(reSpaceAtEndOfLine))return this.pos=startpos,0;var normlabel=normalizeReference(rawlabel);return""===normlabel?(this.pos=startpos,0):(refmap[normlabel]||(refmap[normlabel]={destination:dest,title:title}),this.pos-startpos)},parseInline=function(block){var res=!1,c=this.peek();if(-1===c)return!1;switch(c){case C_NEWLINE:res=this.parseNewline(block);break;case C_BACKSLASH:res=this.parseBackslash(block);break;case C_BACKTICK:res=this.parseBackticks(block);break;case C_ASTERISK:case C_UNDERSCORE:res=this.handleDelim(c,block);break;case C_SINGLEQUOTE:case C_DOUBLEQUOTE:res=this.options.smart&&this.handleDelim(c,block);break;case C_OPEN_BRACKET:res=this.parseOpenBracket(block);break;case C_BANG:res=this.parseBang(block);break;case C_CLOSE_BRACKET:res=this.parseCloseBracket(block);break;case C_LESSTHAN:res=this.parseAutolink(block)||this.parseHtmlTag(block);break;case C_AMPERSAND:res=this.parseEntity(block);break;default:res=this.parseString(block)}return res||(this.pos+=1,block.appendChild(text(fromCodePoint(c)))),!0},parseInlines=function(block){for(this.subject=block._string_content.trim(),this.pos=0,this.delimiters=null;this.parseInline(block););block._string_content=null,this.processEmphasis(null)};module.exports=InlineParser},{"./common":2,"./from-code-point.js":5,"./html5-entities.js":7,"./node":10,"./normalize-reference":11}],10:[function(require,module,exports){"use strict";function isContainer(node){switch(node._type){case"Document":case"BlockQuote":case"List":case"Item":case"Paragraph":case"Header":case"Emph":case"Strong":case"Link":case"Image":return!0;default:return!1}}var resumeAt=function(node,entering){this.current=node,this.entering=entering===!0},next=function(){var cur=this.current,entering=this.entering;if(null===cur)return null;var container=isContainer(cur);return entering&&container?cur._firstChild?(this.current=cur._firstChild,this.entering=!0):this.entering=!1:cur===this.root?this.current=null:null===cur._next?(this.current=cur._parent,this.entering=!1):(this.current=cur._next,this.entering=!0),{entering:entering,node:cur}},NodeWalker=function(root){return{current:root,root:root,entering:!0,next:next,resumeAt:resumeAt}},Node=function(nodeType,sourcepos){this._type=nodeType,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=sourcepos,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData=null,this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null},proto=Node.prototype;Object.defineProperty(proto,"isContainer",{get:function(){return isContainer(this)}}),Object.defineProperty(proto,"type",{get:function(){return this._type}}),Object.defineProperty(proto,"firstChild",{get:function(){return this._firstChild}}),Object.defineProperty(proto,"lastChild",{get:function(){return this._lastChild}}),Object.defineProperty(proto,"next",{get:function(){return this._next}}),Object.defineProperty(proto,"prev",{get:function(){return this._prev}}),Object.defineProperty(proto,"parent",{get:function(){return this._parent}}),Object.defineProperty(proto,"sourcepos",{get:function(){return this._sourcepos}}),Object.defineProperty(proto,"literal",{get:function(){return this._literal},set:function(s){this._literal=s}}),Object.defineProperty(proto,"destination",{get:function(){return this._destination},set:function(s){this._destination=s}}),Object.defineProperty(proto,"title",{get:function(){return this._title},set:function(s){this._title=s}}),Object.defineProperty(proto,"info",{get:function(){return this._info},set:function(s){this._info=s}}),Object.defineProperty(proto,"level",{get:function(){return this._level},set:function(s){this._level=s}}),Object.defineProperty(proto,"listType",{get:function(){return this._listData.type},set:function(t){this._listData.type=t}}),Object.defineProperty(proto,"listTight",{get:function(){return this._listData.tight},set:function(t){this._listData.tight=t}}),Object.defineProperty(proto,"listStart",{get:function(){return this._listData.start},set:function(n){this._listData.start=n}}),Object.defineProperty(proto,"listDelimiter",{get:function(){return this._listData.delimiter},set:function(delim){this._listData.delimiter=delim}}),Node.prototype.appendChild=function(child){child.unlink(),child._parent=this,this._lastChild?(this._lastChild._next=child,child._prev=this._lastChild,this._lastChild=child):(this._firstChild=child,this._lastChild=child)},Node.prototype.prependChild=function(child){child.unlink(),child._parent=this,this._firstChild?(this._firstChild._prev=child,child._next=this._firstChild,this._firstChild=child):(this._firstChild=child,this._lastChild=child)},Node.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},Node.prototype.insertAfter=function(sibling){sibling.unlink(),sibling._next=this._next,sibling._next&&(sibling._next._prev=sibling),sibling._prev=this,this._next=sibling,sibling._parent=this._parent,sibling._next||(sibling._parent._lastChild=sibling)},Node.prototype.insertBefore=function(sibling){sibling.unlink(),sibling._prev=this._prev,sibling._prev&&(sibling._prev._next=sibling),sibling._next=this,this._prev=sibling,sibling._parent=this._parent,sibling._prev||(sibling._parent._firstChild=sibling)},Node.prototype.walker=function(){var walker=new NodeWalker(this);return walker},module.exports=Node},{}],11:[function(require,module,exports){"use strict";var regex=/[ \t\r\n]+|[A-Z\xB5\xC0-\xD6\xD8-\xDF\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u0149\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u017F\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C5\u01C7\u01C8\u01CA\u01CB\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F0-\u01F2\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0345\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03AB\u03B0\u03C2\u03CF-\u03D1\u03D5\u03D6\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0\u03F1\u03F4\u03F5\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u0587\u10A0-\u10C5\u10C7\u10CD\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E96-\u1E9B\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F50\u1F52\u1F54\u1F56\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F80-\u1FAF\u1FB2-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD2\u1FD3\u1FD6-\u1FDB\u1FE2-\u1FE4\u1FE6-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A\u212B\u2132\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0\uA7B1\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27]|\uD806[\uDCA0-\uDCBF]/g,map={A:"a",B:"b",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",J:"j",K:"k",L:"l",M:"m",N:"n",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",U:"u",V:"v",W:"w",X:"x",Y:"y",Z:"z","µ":"μ","À":"à","Á":"á","Â":"â","Ã":"ã","Ä":"ä","Å":"å","Æ":"æ","Ç":"ç","È":"è","É":"é","Ê":"ê","Ë":"ë","Ì":"ì","Í":"í","Î":"î","Ï":"ï","Ð":"ð","Ñ":"ñ","Ò":"ò","Ó":"ó","Ô":"ô","Õ":"õ","Ö":"ö","Ø":"ø","Ù":"ù","Ú":"ú","Û":"û","Ü":"ü","Ý":"ý","Þ":"þ","Ā":"ā","Ă":"ă","Ą":"ą","Ć":"ć","Ĉ":"ĉ","Ċ":"ċ","Č":"č","Ď":"ď","Đ":"đ","Ē":"ē","Ĕ":"ĕ","Ė":"ė","Ę":"ę","Ě":"ě","Ĝ":"ĝ","Ğ":"ğ","Ġ":"ġ","Ģ":"ģ","Ĥ":"ĥ","Ħ":"ħ","Ĩ":"ĩ","Ī":"ī","Ĭ":"ĭ","Į":"į","IJ":"ij","Ĵ":"ĵ","Ķ":"ķ","Ĺ":"ĺ","Ļ":"ļ","Ľ":"ľ","Ŀ":"ŀ","Ł":"ł","Ń":"ń","Ņ":"ņ","Ň":"ň","Ŋ":"ŋ","Ō":"ō","Ŏ":"ŏ","Ő":"ő","Œ":"œ","Ŕ":"ŕ","Ŗ":"ŗ","Ř":"ř","Ś":"ś","Ŝ":"ŝ","Ş":"ş","Š":"š","Ţ":"ţ","Ť":"ť","Ŧ":"ŧ","Ũ":"ũ","Ū":"ū","Ŭ":"ŭ","Ů":"ů","Ű":"ű","Ų":"ų","Ŵ":"ŵ","Ŷ":"ŷ","Ÿ":"ÿ","Ź":"ź","Ż":"ż","Ž":"ž","ſ":"s","Ɓ":"ɓ","Ƃ":"ƃ","Ƅ":"ƅ","Ɔ":"ɔ","Ƈ":"ƈ","Ɖ":"ɖ","Ɗ":"ɗ","Ƌ":"ƌ","Ǝ":"ǝ","Ə":"ə","Ɛ":"ɛ","Ƒ":"ƒ","Ɠ":"ɠ","Ɣ":"ɣ","Ɩ":"ɩ","Ɨ":"ɨ","Ƙ":"ƙ","Ɯ":"ɯ","Ɲ":"ɲ","Ɵ":"ɵ","Ơ":"ơ","Ƣ":"ƣ","Ƥ":"ƥ","Ʀ":"ʀ","Ƨ":"ƨ","Ʃ":"ʃ","Ƭ":"ƭ","Ʈ":"ʈ","Ư":"ư","Ʊ":"ʊ","Ʋ":"ʋ","Ƴ":"ƴ","Ƶ":"ƶ","Ʒ":"ʒ","Ƹ":"ƹ","Ƽ":"ƽ","DŽ":"dž","Dž":"dž","LJ":"lj","Lj":"lj","NJ":"nj","Nj":"nj","Ǎ":"ǎ","Ǐ":"ǐ","Ǒ":"ǒ","Ǔ":"ǔ","Ǖ":"ǖ","Ǘ":"ǘ","Ǚ":"ǚ","Ǜ":"ǜ","Ǟ":"ǟ","Ǡ":"ǡ","Ǣ":"ǣ","Ǥ":"ǥ","Ǧ":"ǧ","Ǩ":"ǩ","Ǫ":"ǫ","Ǭ":"ǭ","Ǯ":"ǯ","DZ":"dz","Dz":"dz","Ǵ":"ǵ","Ƕ":"ƕ","Ƿ":"ƿ","Ǹ":"ǹ","Ǻ":"ǻ","Ǽ":"ǽ","Ǿ":"ǿ","Ȁ":"ȁ","Ȃ":"ȃ","Ȅ":"ȅ","Ȇ":"ȇ","Ȉ":"ȉ","Ȋ":"ȋ","Ȍ":"ȍ","Ȏ":"ȏ","Ȑ":"ȑ","Ȓ":"ȓ","Ȕ":"ȕ","Ȗ":"ȗ","Ș":"ș","Ț":"ț","Ȝ":"ȝ","Ȟ":"ȟ","Ƞ":"ƞ","Ȣ":"ȣ","Ȥ":"ȥ","Ȧ":"ȧ","Ȩ":"ȩ","Ȫ":"ȫ","Ȭ":"ȭ","Ȯ":"ȯ","Ȱ":"ȱ","Ȳ":"ȳ","Ⱥ":"ⱥ","Ȼ":"ȼ","Ƚ":"ƚ","Ⱦ":"ⱦ","Ɂ":"ɂ","Ƀ":"ƀ","Ʉ":"ʉ","Ʌ":"ʌ","Ɇ":"ɇ","Ɉ":"ɉ","Ɋ":"ɋ","Ɍ":"ɍ","Ɏ":"ɏ","ͅ":"ι","Ͱ":"ͱ","Ͳ":"ͳ","Ͷ":"ͷ","Ϳ":"ϳ","Ά":"ά","Έ":"έ","Ή":"ή","Ί":"ί","Ό":"ό","Ύ":"ύ","Ώ":"ώ","Α":"α","Β":"β","Γ":"γ","Δ":"δ","Ε":"ε","Ζ":"ζ","Η":"η","Θ":"θ","Ι":"ι","Κ":"κ","Λ":"λ","Μ":"μ","Ν":"ν","Ξ":"ξ","Ο":"ο","Π":"π","Ρ":"ρ","Σ":"σ","Τ":"τ","Υ":"υ","Φ":"φ","Χ":"χ","Ψ":"ψ","Ω":"ω","Ϊ":"ϊ","Ϋ":"ϋ","ς":"σ","Ϗ":"ϗ","ϐ":"β","ϑ":"θ","ϕ":"φ","ϖ":"π","Ϙ":"ϙ","Ϛ":"ϛ","Ϝ":"ϝ","Ϟ":"ϟ","Ϡ":"ϡ","Ϣ":"ϣ","Ϥ":"ϥ","Ϧ":"ϧ","Ϩ":"ϩ","Ϫ":"ϫ","Ϭ":"ϭ","Ϯ":"ϯ","ϰ":"κ","ϱ":"ρ","ϴ":"θ","ϵ":"ε","Ϸ":"ϸ","Ϲ":"ϲ","Ϻ":"ϻ","Ͻ":"ͻ","Ͼ":"ͼ","Ͽ":"ͽ","Ѐ":"ѐ","Ё":"ё","Ђ":"ђ","Ѓ":"ѓ","Є":"є","Ѕ":"ѕ","І":"і","Ї":"ї","Ј":"ј","Љ":"љ","Њ":"њ","Ћ":"ћ","Ќ":"ќ","Ѝ":"ѝ","Ў":"ў","Џ":"џ","А":"а","Б":"б","В":"в","Г":"г","Д":"д","Е":"е","Ж":"ж","З":"з","И":"и","Й":"й","К":"к","Л":"л","М":"м","Н":"н","О":"о","П":"п","Р":"р","С":"с","Т":"т","У":"у","Ф":"ф","Х":"х","Ц":"ц","Ч":"ч","Ш":"ш","Щ":"щ","Ъ":"ъ","Ы":"ы","Ь":"ь","Э":"э","Ю":"ю","Я":"я","Ѡ":"ѡ","Ѣ":"ѣ","Ѥ":"ѥ","Ѧ":"ѧ","Ѩ":"ѩ","Ѫ":"ѫ","Ѭ":"ѭ","Ѯ":"ѯ","Ѱ":"ѱ","Ѳ":"ѳ","Ѵ":"ѵ","Ѷ":"ѷ","Ѹ":"ѹ","Ѻ":"ѻ","Ѽ":"ѽ","Ѿ":"ѿ","Ҁ":"ҁ","Ҋ":"ҋ","Ҍ":"ҍ","Ҏ":"ҏ","Ґ":"ґ","Ғ":"ғ","Ҕ":"ҕ","Җ":"җ","Ҙ":"ҙ","Қ":"қ","Ҝ":"ҝ","Ҟ":"ҟ","Ҡ":"ҡ","Ң":"ң","Ҥ":"ҥ","Ҧ":"ҧ","Ҩ":"ҩ","Ҫ":"ҫ","Ҭ":"ҭ","Ү":"ү","Ұ":"ұ","Ҳ":"ҳ","Ҵ":"ҵ","Ҷ":"ҷ","Ҹ":"ҹ","Һ":"һ","Ҽ":"ҽ","Ҿ":"ҿ","Ӏ":"ӏ","Ӂ":"ӂ","Ӄ":"ӄ","Ӆ":"ӆ","Ӈ":"ӈ","Ӊ":"ӊ","Ӌ":"ӌ","Ӎ":"ӎ","Ӑ":"ӑ","Ӓ":"ӓ","Ӕ":"ӕ","Ӗ":"ӗ","Ә":"ә","Ӛ":"ӛ","Ӝ":"ӝ","Ӟ":"ӟ","Ӡ":"ӡ","Ӣ":"ӣ","Ӥ":"ӥ","Ӧ":"ӧ","Ө":"ө","Ӫ":"ӫ","Ӭ":"ӭ","Ӯ":"ӯ","Ӱ":"ӱ","Ӳ":"ӳ","Ӵ":"ӵ","Ӷ":"ӷ","Ӹ":"ӹ","Ӻ":"ӻ","Ӽ":"ӽ","Ӿ":"ӿ","Ԁ":"ԁ","Ԃ":"ԃ","Ԅ":"ԅ","Ԇ":"ԇ","Ԉ":"ԉ","Ԋ":"ԋ","Ԍ":"ԍ","Ԏ":"ԏ","Ԑ":"ԑ","Ԓ":"ԓ","Ԕ":"ԕ","Ԗ":"ԗ","Ԙ":"ԙ","Ԛ":"ԛ","Ԝ":"ԝ","Ԟ":"ԟ","Ԡ":"ԡ","Ԣ":"ԣ","Ԥ":"ԥ","Ԧ":"ԧ","Ԩ":"ԩ","Ԫ":"ԫ","Ԭ":"ԭ","Ԯ":"ԯ","Ա":"ա","Բ":"բ","Գ":"գ","Դ":"դ","Ե":"ե","Զ":"զ","Է":"է","Ը":"ը","Թ":"թ","Ժ":"ժ","Ի":"ի","Լ":"լ","Խ":"խ","Ծ":"ծ","Կ":"կ","Հ":"հ","Ձ":"ձ","Ղ":"ղ","Ճ":"ճ","Մ":"մ","Յ":"յ","Ն":"ն","Շ":"շ","Ո":"ո","Չ":"չ","Պ":"պ","Ջ":"ջ","Ռ":"ռ","Ս":"ս","Վ":"վ","Տ":"տ","Ր":"ր","Ց":"ց","Ւ":"ւ","Փ":"փ","Ք":"ք","Օ":"օ","Ֆ":"ֆ","Ⴀ":"ⴀ","Ⴁ":"ⴁ","Ⴂ":"ⴂ","Ⴃ":"ⴃ","Ⴄ":"ⴄ","Ⴅ":"ⴅ","Ⴆ":"ⴆ","Ⴇ":"ⴇ","Ⴈ":"ⴈ","Ⴉ":"ⴉ","Ⴊ":"ⴊ","Ⴋ":"ⴋ","Ⴌ":"ⴌ","Ⴍ":"ⴍ","Ⴎ":"ⴎ","Ⴏ":"ⴏ","Ⴐ":"ⴐ","Ⴑ":"ⴑ","Ⴒ":"ⴒ","Ⴓ":"ⴓ","Ⴔ":"ⴔ","Ⴕ":"ⴕ","Ⴖ":"ⴖ","Ⴗ":"ⴗ","Ⴘ":"ⴘ","Ⴙ":"ⴙ","Ⴚ":"ⴚ","Ⴛ":"ⴛ","Ⴜ":"ⴜ","Ⴝ":"ⴝ","Ⴞ":"ⴞ","Ⴟ":"ⴟ","Ⴠ":"ⴠ","Ⴡ":"ⴡ","Ⴢ":"ⴢ","Ⴣ":"ⴣ","Ⴤ":"ⴤ","Ⴥ":"ⴥ","Ⴧ":"ⴧ","Ⴭ":"ⴭ","Ḁ":"ḁ","Ḃ":"ḃ","Ḅ":"ḅ","Ḇ":"ḇ","Ḉ":"ḉ","Ḋ":"ḋ","Ḍ":"ḍ","Ḏ":"ḏ","Ḑ":"ḑ","Ḓ":"ḓ","Ḕ":"ḕ","Ḗ":"ḗ","Ḙ":"ḙ","Ḛ":"ḛ","Ḝ":"ḝ","Ḟ":"ḟ","Ḡ":"ḡ","Ḣ":"ḣ","Ḥ":"ḥ","Ḧ":"ḧ","Ḩ":"ḩ","Ḫ":"ḫ","Ḭ":"ḭ","Ḯ":"ḯ","Ḱ":"ḱ","Ḳ":"ḳ","Ḵ":"ḵ","Ḷ":"ḷ","Ḹ":"ḹ","Ḻ":"ḻ","Ḽ":"ḽ","Ḿ":"ḿ","Ṁ":"ṁ","Ṃ":"ṃ","Ṅ":"ṅ","Ṇ":"ṇ","Ṉ":"ṉ","Ṋ":"ṋ","Ṍ":"ṍ","Ṏ":"ṏ","Ṑ":"ṑ","Ṓ":"ṓ","Ṕ":"ṕ","Ṗ":"ṗ","Ṙ":"ṙ","Ṛ":"ṛ","Ṝ":"ṝ","Ṟ":"ṟ","Ṡ":"ṡ","Ṣ":"ṣ","Ṥ":"ṥ","Ṧ":"ṧ","Ṩ":"ṩ","Ṫ":"ṫ","Ṭ":"ṭ","Ṯ":"ṯ","Ṱ":"ṱ","Ṳ":"ṳ","Ṵ":"ṵ","Ṷ":"ṷ","Ṹ":"ṹ","Ṻ":"ṻ","Ṽ":"ṽ","Ṿ":"ṿ","Ẁ":"ẁ","Ẃ":"ẃ","Ẅ":"ẅ","Ẇ":"ẇ","Ẉ":"ẉ","Ẋ":"ẋ","Ẍ":"ẍ","Ẏ":"ẏ","Ẑ":"ẑ","Ẓ":"ẓ","Ẕ":"ẕ","ẛ":"ṡ","Ạ":"ạ","Ả":"ả","Ấ":"ấ","Ầ":"ầ","Ẩ":"ẩ","Ẫ":"ẫ","Ậ":"ậ","Ắ":"ắ","Ằ":"ằ","Ẳ":"ẳ","Ẵ":"ẵ","Ặ":"ặ","Ẹ":"ẹ","Ẻ":"ẻ","Ẽ":"ẽ","Ế":"ế","Ề":"ề","Ể":"ể","Ễ":"ễ","Ệ":"ệ","Ỉ":"ỉ","Ị":"ị","Ọ":"ọ","Ỏ":"ỏ","Ố":"ố","Ồ":"ồ","Ổ":"ổ","Ỗ":"ỗ","Ộ":"ộ","Ớ":"ớ","Ờ":"ờ","Ở":"ở","Ỡ":"ỡ","Ợ":"ợ","Ụ":"ụ","Ủ":"ủ","Ứ":"ứ","Ừ":"ừ","Ử":"ử","Ữ":"ữ","Ự":"ự","Ỳ":"ỳ","Ỵ":"ỵ","Ỷ":"ỷ","Ỹ":"ỹ","Ỻ":"ỻ","Ỽ":"ỽ","Ỿ":"ỿ","Ἀ":"ἀ","Ἁ":"ἁ","Ἂ":"ἂ","Ἃ":"ἃ","Ἄ":"ἄ","Ἅ":"ἅ","Ἆ":"ἆ","Ἇ":"ἇ","Ἐ":"ἐ","Ἑ":"ἑ","Ἒ":"ἒ","Ἓ":"ἓ","Ἔ":"ἔ","Ἕ":"ἕ","Ἠ":"ἠ","Ἡ":"ἡ","Ἢ":"ἢ","Ἣ":"ἣ","Ἤ":"ἤ","Ἥ":"ἥ","Ἦ":"ἦ","Ἧ":"ἧ","Ἰ":"ἰ","Ἱ":"ἱ","Ἲ":"ἲ","Ἳ":"ἳ","Ἴ":"ἴ","Ἵ":"ἵ","Ἶ":"ἶ","Ἷ":"ἷ","Ὀ":"ὀ","Ὁ":"ὁ","Ὂ":"ὂ","Ὃ":"ὃ","Ὄ":"ὄ","Ὅ":"ὅ","Ὑ":"ὑ","Ὓ":"ὓ","Ὕ":"ὕ","Ὗ":"ὗ","Ὠ":"ὠ","Ὡ":"ὡ","Ὢ":"ὢ","Ὣ":"ὣ","Ὤ":"ὤ","Ὥ":"ὥ","Ὦ":"ὦ","Ὧ":"ὧ","Ᾰ":"ᾰ","Ᾱ":"ᾱ","Ὰ":"ὰ","Ά":"ά","ι":"ι","Ὲ":"ὲ","Έ":"έ","Ὴ":"ὴ","Ή":"ή","Ῐ":"ῐ","Ῑ":"ῑ","Ὶ":"ὶ","Ί":"ί","Ῠ":"ῠ","Ῡ":"ῡ","Ὺ":"ὺ","Ύ":"ύ","Ῥ":"ῥ","Ὸ":"ὸ","Ό":"ό","Ὼ":"ὼ","Ώ":"ώ","Ω":"ω","K":"k","Å":"å","Ⅎ":"ⅎ","Ⅰ":"ⅰ","Ⅱ":"ⅱ","Ⅲ":"ⅲ","Ⅳ":"ⅳ","Ⅴ":"ⅴ","Ⅵ":"ⅵ","Ⅶ":"ⅶ","Ⅷ":"ⅷ","Ⅸ":"ⅸ","Ⅹ":"ⅹ","Ⅺ":"ⅺ","Ⅻ":"ⅻ","Ⅼ":"ⅼ","Ⅽ":"ⅽ","Ⅾ":"ⅾ","Ⅿ":"ⅿ","Ↄ":"ↄ","Ⓐ":"ⓐ","Ⓑ":"ⓑ","Ⓒ":"ⓒ","Ⓓ":"ⓓ","Ⓔ":"ⓔ","Ⓕ":"ⓕ","Ⓖ":"ⓖ","Ⓗ":"ⓗ","Ⓘ":"ⓘ","Ⓙ":"ⓙ","Ⓚ":"ⓚ","Ⓛ":"ⓛ","Ⓜ":"ⓜ","Ⓝ":"ⓝ","Ⓞ":"ⓞ","Ⓟ":"ⓟ","Ⓠ":"ⓠ","Ⓡ":"ⓡ","Ⓢ":"ⓢ","Ⓣ":"ⓣ","Ⓤ":"ⓤ","Ⓥ":"ⓥ","Ⓦ":"ⓦ","Ⓧ":"ⓧ","Ⓨ":"ⓨ","Ⓩ":"ⓩ","Ⰰ":"ⰰ","Ⰱ":"ⰱ","Ⰲ":"ⰲ","Ⰳ":"ⰳ","Ⰴ":"ⰴ","Ⰵ":"ⰵ","Ⰶ":"ⰶ","Ⰷ":"ⰷ","Ⰸ":"ⰸ","Ⰹ":"ⰹ","Ⰺ":"ⰺ","Ⰻ":"ⰻ","Ⰼ":"ⰼ","Ⰽ":"ⰽ","Ⰾ":"ⰾ","Ⰿ":"ⰿ","Ⱀ":"ⱀ","Ⱁ":"ⱁ","Ⱂ":"ⱂ","Ⱃ":"ⱃ","Ⱄ":"ⱄ","Ⱅ":"ⱅ","Ⱆ":"ⱆ","Ⱇ":"ⱇ","Ⱈ":"ⱈ","Ⱉ":"ⱉ","Ⱊ":"ⱊ","Ⱋ":"ⱋ","Ⱌ":"ⱌ","Ⱍ":"ⱍ","Ⱎ":"ⱎ","Ⱏ":"ⱏ","Ⱐ":"ⱐ","Ⱑ":"ⱑ","Ⱒ":"ⱒ","Ⱓ":"ⱓ","Ⱔ":"ⱔ","Ⱕ":"ⱕ","Ⱖ":"ⱖ","Ⱗ":"ⱗ","Ⱘ":"ⱘ","Ⱙ":"ⱙ","Ⱚ":"ⱚ","Ⱛ":"ⱛ","Ⱜ":"ⱜ","Ⱝ":"ⱝ","Ⱞ":"ⱞ","Ⱡ":"ⱡ","Ɫ":"ɫ","Ᵽ":"ᵽ","Ɽ":"ɽ","Ⱨ":"ⱨ","Ⱪ":"ⱪ","Ⱬ":"ⱬ","Ɑ":"ɑ","Ɱ":"ɱ","Ɐ":"ɐ","Ɒ":"ɒ","Ⱳ":"ⱳ","Ⱶ":"ⱶ","Ȿ":"ȿ","Ɀ":"ɀ","Ⲁ":"ⲁ","Ⲃ":"ⲃ","Ⲅ":"ⲅ","Ⲇ":"ⲇ","Ⲉ":"ⲉ","Ⲋ":"ⲋ","Ⲍ":"ⲍ","Ⲏ":"ⲏ","Ⲑ":"ⲑ","Ⲓ":"ⲓ","Ⲕ":"ⲕ","Ⲗ":"ⲗ","Ⲙ":"ⲙ","Ⲛ":"ⲛ","Ⲝ":"ⲝ","Ⲟ":"ⲟ","Ⲡ":"ⲡ","Ⲣ":"ⲣ","Ⲥ":"ⲥ","Ⲧ":"ⲧ","Ⲩ":"ⲩ","Ⲫ":"ⲫ","Ⲭ":"ⲭ","Ⲯ":"ⲯ","Ⲱ":"ⲱ","Ⲳ":"ⲳ","Ⲵ":"ⲵ","Ⲷ":"ⲷ","Ⲹ":"ⲹ","Ⲻ":"ⲻ","Ⲽ":"ⲽ","Ⲿ":"ⲿ","Ⳁ":"ⳁ","Ⳃ":"ⳃ","Ⳅ":"ⳅ","Ⳇ":"ⳇ","Ⳉ":"ⳉ","Ⳋ":"ⳋ","Ⳍ":"ⳍ","Ⳏ":"ⳏ","Ⳑ":"ⳑ","Ⳓ":"ⳓ","Ⳕ":"ⳕ","Ⳗ":"ⳗ","Ⳙ":"ⳙ","Ⳛ":"ⳛ","Ⳝ":"ⳝ","Ⳟ":"ⳟ","Ⳡ":"ⳡ","Ⳣ":"ⳣ","Ⳬ":"ⳬ","Ⳮ":"ⳮ","Ⳳ":"ⳳ","Ꙁ":"ꙁ","Ꙃ":"ꙃ","Ꙅ":"ꙅ","Ꙇ":"ꙇ","Ꙉ":"ꙉ","Ꙋ":"ꙋ","Ꙍ":"ꙍ","Ꙏ":"ꙏ","Ꙑ":"ꙑ","Ꙓ":"ꙓ","Ꙕ":"ꙕ","Ꙗ":"ꙗ","Ꙙ":"ꙙ","Ꙛ":"ꙛ","Ꙝ":"ꙝ","Ꙟ":"ꙟ","Ꙡ":"ꙡ","Ꙣ":"ꙣ","Ꙥ":"ꙥ","Ꙧ":"ꙧ","Ꙩ":"ꙩ","Ꙫ":"ꙫ","Ꙭ":"ꙭ","Ꚁ":"ꚁ","Ꚃ":"ꚃ","Ꚅ":"ꚅ","Ꚇ":"ꚇ","Ꚉ":"ꚉ","Ꚋ":"ꚋ","Ꚍ":"ꚍ","Ꚏ":"ꚏ","Ꚑ":"ꚑ","Ꚓ":"ꚓ","Ꚕ":"ꚕ","Ꚗ":"ꚗ","Ꚙ":"ꚙ","Ꚛ":"ꚛ","Ꜣ":"ꜣ","Ꜥ":"ꜥ","Ꜧ":"ꜧ","Ꜩ":"ꜩ","Ꜫ":"ꜫ","Ꜭ":"ꜭ","Ꜯ":"ꜯ","Ꜳ":"ꜳ","Ꜵ":"ꜵ","Ꜷ":"ꜷ","Ꜹ":"ꜹ","Ꜻ":"ꜻ","Ꜽ":"ꜽ","Ꜿ":"ꜿ","Ꝁ":"ꝁ","Ꝃ":"ꝃ","Ꝅ":"ꝅ","Ꝇ":"ꝇ","Ꝉ":"ꝉ","Ꝋ":"ꝋ","Ꝍ":"ꝍ","Ꝏ":"ꝏ","Ꝑ":"ꝑ","Ꝓ":"ꝓ","Ꝕ":"ꝕ","Ꝗ":"ꝗ","Ꝙ":"ꝙ","Ꝛ":"ꝛ","Ꝝ":"ꝝ","Ꝟ":"ꝟ","Ꝡ":"ꝡ","Ꝣ":"ꝣ","Ꝥ":"ꝥ","Ꝧ":"ꝧ","Ꝩ":"ꝩ","Ꝫ":"ꝫ","Ꝭ":"ꝭ","Ꝯ":"ꝯ","Ꝺ":"ꝺ","Ꝼ":"ꝼ","Ᵹ":"ᵹ","Ꝿ":"ꝿ","Ꞁ":"ꞁ","Ꞃ":"ꞃ","Ꞅ":"ꞅ","Ꞇ":"ꞇ","Ꞌ":"ꞌ","Ɥ":"ɥ","Ꞑ":"ꞑ","Ꞓ":"ꞓ","Ꞗ":"ꞗ","Ꞙ":"ꞙ","Ꞛ":"ꞛ","Ꞝ":"ꞝ","Ꞟ":"ꞟ","Ꞡ":"ꞡ","Ꞣ":"ꞣ","Ꞥ":"ꞥ","Ꞧ":"ꞧ","Ꞩ":"ꞩ","Ɦ":"ɦ","Ɜ":"ɜ","Ɡ":"ɡ","Ɬ":"ɬ","Ʞ":"ʞ","Ʇ":"ʇ","A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","𐐀":"𐐨","𐐁":"𐐩","𐐂":"𐐪","𐐃":"𐐫","𐐄":"𐐬","𐐅":"𐐭","𐐆":"𐐮","𐐇":"𐐯","𐐈":"𐐰","𐐉":"𐐱","𐐊":"𐐲","𐐋":"𐐳","𐐌":"𐐴","𐐍":"𐐵","𐐎":"𐐶","𐐏":"𐐷","𐐐":"𐐸","𐐑":"𐐹","𐐒":"𐐺","𐐓":"𐐻","𐐔":"𐐼","𐐕":"𐐽","𐐖":"𐐾","𐐗":"𐐿","𐐘":"𐑀","𐐙":"𐑁","𐐚":"𐑂","𐐛":"𐑃","𐐜":"𐑄","𐐝":"𐑅","𐐞":"𐑆","𐐟":"𐑇","𐐠":"𐑈","𐐡":"𐑉","𐐢":"𐑊","𐐣":"𐑋","𐐤":"𐑌","𐐥":"𐑍","𐐦":"𐑎","𐐧":"𐑏","𑢠":"𑣀","𑢡":"𑣁","𑢢":"𑣂","𑢣":"𑣃","𑢤":"𑣄","𑢥":"𑣅","𑢦":"𑣆","𑢧":"𑣇","𑢨":"𑣈","𑢩":"𑣉","𑢪":"𑣊","𑢫":"𑣋","𑢬":"𑣌","𑢭":"𑣍","𑢮":"𑣎","𑢯":"𑣏","𑢰":"𑣐","𑢱":"𑣑","𑢲":"𑣒","𑢳":"𑣓","𑢴":"𑣔","𑢵":"𑣕","𑢶":"𑣖","𑢷":"𑣗","𑢸":"𑣘","𑢹":"𑣙","𑢺":"𑣚","𑢻":"𑣛","𑢼":"𑣜","𑢽":"𑣝","𑢾":"𑣞","𑢿":"𑣟","ß":"ss","İ":"i̇","ʼn":"ʼn","ǰ":"ǰ","ΐ":"ΐ","ΰ":"ΰ","և":"եւ","ẖ":"ẖ","ẗ":"ẗ","ẘ":"ẘ","ẙ":"ẙ","ẚ":"aʾ","ẞ":"ss","ὐ":"ὐ","ὒ":"ὒ","ὔ":"ὔ","ὖ":"ὖ","ᾀ":"ἀι","ᾁ":"ἁι","ᾂ":"ἂι","ᾃ":"ἃι","ᾄ":"ἄι","ᾅ":"ἅι","ᾆ":"ἆι","ᾇ":"ἇι","ᾈ":"ἀι","ᾉ":"ἁι","ᾊ":"ἂι","ᾋ":"ἃι","ᾌ":"ἄι","ᾍ":"ἅι","ᾎ":"ἆι","ᾏ":"ἇι","ᾐ":"ἠι","ᾑ":"ἡι","ᾒ":"ἢι","ᾓ":"ἣι","ᾔ":"ἤι","ᾕ":"ἥι","ᾖ":"ἦι","ᾗ":"ἧι","ᾘ":"ἠι","ᾙ":"ἡι","ᾚ":"ἢι","ᾛ":"ἣι","ᾜ":"ἤι","ᾝ":"ἥι","ᾞ":"ἦι","ᾟ":"ἧι","ᾠ":"ὠι","ᾡ":"ὡι","ᾢ":"ὢι","ᾣ":"ὣι","ᾤ":"ὤι","ᾥ":"ὥι","ᾦ":"ὦι","ᾧ":"ὧι","ᾨ":"ὠι","ᾩ":"ὡι","ᾪ":"ὢι","ᾫ":"ὣι","ᾬ":"ὤι","ᾭ":"ὥι","ᾮ":"ὦι","ᾯ":"ὧι","ᾲ":"ὰι","ᾳ":"αι","ᾴ":"άι","ᾶ":"ᾶ","ᾷ":"ᾶι","ᾼ":"αι","ῂ":"ὴι","ῃ":"ηι","ῄ":"ήι","ῆ":"ῆ","ῇ":"ῆι","ῌ":"ηι","ῒ":"ῒ","ΐ":"ΐ","ῖ":"ῖ","ῗ":"ῗ","ῢ":"ῢ","ΰ":"ΰ","ῤ":"ῤ","ῦ":"ῦ","ῧ":"ῧ","ῲ":"ὼι","ῳ":"ωι","ῴ":"ώι","ῶ":"ῶ","ῷ":"ῶι","ῼ":"ωι","ff":"ff","fi":"fi","fl":"fl","ffi":"ffi","ffl":"ffl","ſt":"st","st":"st","ﬓ":"մն","ﬔ":"մե","ﬕ":"մի","ﬖ":"վն","ﬗ":"մխ"};
-module.exports=function(string){return string.slice(1,string.length-1).trim().replace(regex,function($0){return map[$0]||" "})}},{}],12:[function(require,module,exports){"use strict";function XmlRenderer(options){return{softbreak:"\n",escape:escapeXml,options:options||{},render:renderNodes}}var escapeXml=require("./common").escapeXml,tag=function(name,attrs,selfclosing){var result="<"+name;if(attrs&&attrs.length>0)for(var attrib,i=0;void 0!==(attrib=attrs[i]);)result+=" "+attrib[0]+'="'+attrib[1]+'"',i++;return selfclosing&&(result+=" /"),result+=">"},reXMLTag=/\<[^>]*\>/,toTagName=function(s){return s.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()},renderNodes=function(block){var attrs,tagname,event,node,entering,unescapedContents,container,selfClosing,nodetype,walker=block.walker(),buffer="",lastOut="\n",disableTags=0,indentLevel=0,indent=" ",out=function(s){buffer+=disableTags>0?s.replace(reXMLTag,""):s,lastOut=s},esc=this.escape,cr=function(){if("\n"!==lastOut){buffer+="\n",lastOut="\n";for(var i=indentLevel;i--;)buffer+=indent}},options=this.options;for(options.time&&console.time("rendering"),buffer+='\n',buffer+='\n';event=walker.next();)if(entering=event.entering,node=event.node,nodetype=node.type,container=node.isContainer,selfClosing="HorizontalRule"===nodetype||"Hardbreak"===nodetype||"Softbreak"===nodetype||"Image"===nodetype,unescapedContents="Html"===nodetype||"HtmlInline"===nodetype,tagname=toTagName(nodetype),entering){switch(attrs=[],nodetype){case"List":null!==node.listType&&attrs.push(["type",node.listType.toLowerCase()]),null!==node.listStart&&attrs.push(["start",String(node.listStart)]),null!==node.listTight&&attrs.push(["tight",node.listTight?"true":"false"]);var delim=node.listDelimiter;if(null!==delim){var delimword="";delimword="."===delim?"period":"paren",attrs.push(["delimiter",delimword])}break;case"CodeBlock":node.info&&attrs.push(["info",node.info]);break;case"Header":attrs.push(["level",String(node.level)]);break;case"Link":case"Image":attrs.push(["destination",node.destination]),attrs.push(["title",node.title])}if(options.sourcepos){var pos=node.sourcepos;pos&&attrs.push(["sourcepos",String(pos[0][0])+":"+String(pos[0][1])+"-"+String(pos[1][0])+":"+String(pos[1][1])])}if(cr(),out(tag(tagname,attrs,selfClosing)),container)indentLevel+=1;else if(!container&&!selfClosing){var lit=node.literal;lit&&out(unescapedContents?lit:esc(lit)),out(tag("/"+tagname))}}else indentLevel-=1,cr(),out(tag("/"+tagname));return options.time&&console.timeEnd("rendering"),buffer+="\n"};module.exports=XmlRenderer},{"./common":2}]},{},[8])(8)});
\ No newline at end of file
+/* commonmark 0.21 https://github.com/jgm/CommonMark @license BSD3 */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o;"undefined"!=typeof window?o=window:"undefined"!=typeof global?o=global:"undefined"!=typeof self&&(o=self),o.commonmark=e()}}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;r.length>o;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function Parser(options){return{doc:new Document,blocks:blocks,blockStarts:blockStarts,tip:this.doc,oldtip:this.doc,currentLine:"",lineNumber:0,offset:0,column:0,nextNonspace:0,nextNonspaceColumn:0,indent:0,indented:!1,blank:!1,allClosed:!0,lastMatchedContainer:this.doc,refmap:{},lastLineLength:0,inlineParser:new InlineParser(options),findNextNonspace:findNextNonspace,advanceOffset:advanceOffset,advanceNextNonspace:advanceNextNonspace,breakOutOfLists:breakOutOfLists,addLine:addLine,addChild:addChild,incorporateLine:incorporateLine,finalize:finalize,processInlines:processInlines,closeUnmatchedBlocks:closeUnmatchedBlocks,parse:parse,options:options||{}}}var Node=require("./node"),unescapeString=require("./common").unescapeString,OPENTAG=require("./common").OPENTAG,CLOSETAG=require("./common").CLOSETAG,CODE_INDENT=4,C_NEWLINE=10,C_GREATERTHAN=62,C_LESSTHAN=60,C_SPACE=32,C_OPEN_BRACKET=91,InlineParser=require("./inlines"),reHtmlBlockOpen=[/./,/^<(?:script|pre|style)(?:\s|>|$)/i,/^/,/\?>/,/>/,/\]\]>/],reHrule=/^(?:(?:\* *){3,}|(?:_ *){3,}|(?:- *){3,}) *$/,reMaybeSpecial=/^[#`~*+_=<>0-9-]/,reNonSpace=/[^ \t\f\v\r\n]/,reBulletListMarker=/^[*+-]( +|$)/,reOrderedListMarker=/^(\d{1,9})([.)])( +|$)/,reATXHeaderMarker=/^#{1,6}(?: +|$)/,reCodeFence=/^`{3,}(?!.*`)|^~{3,}(?!.*~)/,reClosingCodeFence=/^(?:`{3,}|~{3,})(?= *$)/,reSetextHeaderLine=/^(?:=+|-+) *$/,reLineEnding=/\r\n|\n|\r/,isBlank=function(s){return!reNonSpace.test(s)},peek=function(ln,pos){return ln.length>pos?ln.charCodeAt(pos):-1},endsWithBlankLine=function(block){for(;block;){if(block._lastLineBlank)return!0;var t=block.type;if("List"!==t&&"Item"!==t)break;block=block._lastChild}return!1},breakOutOfLists=function(block){var b=block,last_list=null;do"List"===b.type&&(last_list=b),b=b._parent;while(b);if(last_list){for(;block!==last_list;)this.finalize(block,this.lineNumber),block=block._parent;this.finalize(last_list,this.lineNumber),this.tip=last_list._parent}},addLine=function(){this.tip._string_content+=this.currentLine.slice(this.offset)+"\n"},addChild=function(tag,offset){for(;!this.blocks[this.tip.type].canContain(tag);)this.finalize(this.tip,this.lineNumber-1);var column_number=offset+1,newBlock=new Node(tag,[[this.lineNumber,column_number],[0,0]]);return newBlock._string_content="",this.tip.appendChild(newBlock),this.tip=newBlock,newBlock},parseListMarker=function(ln,offset,indent){var match,spaces_after_marker,rest=ln.slice(offset),data={type:null,tight:!0,bulletChar:null,start:null,delimiter:null,padding:null,markerOffset:indent};if(match=rest.match(reBulletListMarker))spaces_after_marker=match[1].length,data.type="Bullet",data.bulletChar=match[0][0];else{if(!(match=rest.match(reOrderedListMarker)))return null;spaces_after_marker=match[3].length,data.type="Ordered",data.start=parseInt(match[1]),data.delimiter=match[2]}var blank_item=match[0].length===rest.length;return data.padding=spaces_after_marker>=5||1>spaces_after_marker||blank_item?match[0].length-spaces_after_marker+1:match[0].length,data},listsMatch=function(list_data,item_data){return list_data.type===item_data.type&&list_data.delimiter===item_data.delimiter&&list_data.bulletChar===item_data.bulletChar},closeUnmatchedBlocks=function(){if(!this.allClosed){for(;this.oldtip!==this.lastMatchedContainer;){var parent=this.oldtip._parent;this.finalize(this.oldtip,this.lineNumber-1),this.oldtip=parent}this.allClosed=!0}},blocks={Document:{"continue":function(){return 0},finalize:function(){},canContain:function(t){return"Item"!==t},acceptsLines:!1},List:{"continue":function(){return 0},finalize:function(parser,block){for(var item=block._firstChild;item;){if(endsWithBlankLine(item)&&item._next){block._listData.tight=!1;break}for(var subitem=item._firstChild;subitem;){if(endsWithBlankLine(subitem)&&(item._next||subitem._next)){block._listData.tight=!1;break}subitem=subitem._next}item=item._next}},canContain:function(t){return"Item"===t},acceptsLines:!1},BlockQuote:{"continue":function(parser){var ln=parser.currentLine;return parser.indented||peek(ln,parser.nextNonspace)!==C_GREATERTHAN?1:(parser.advanceNextNonspace(),parser.advanceOffset(1,!1),peek(ln,parser.offset)===C_SPACE&&parser.offset++,0)},finalize:function(){},canContain:function(t){return"Item"!==t},acceptsLines:!1},Item:{"continue":function(parser,container){if(parser.blank)parser.advanceNextNonspace();else{if(!(parser.indent>=container._listData.markerOffset+container._listData.padding))return 1;parser.advanceOffset(container._listData.markerOffset+container._listData.padding,!0)}return 0},finalize:function(){},canContain:function(t){return"Item"!==t},acceptsLines:!1},Header:{"continue":function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},HorizontalRule:{"continue":function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},CodeBlock:{"continue":function(parser,container){var ln=parser.currentLine,indent=parser.indent;if(container._isFenced){var match=3>=indent&&ln.charAt(parser.nextNonspace)===container._fenceChar&&ln.slice(parser.nextNonspace).match(reClosingCodeFence);if(match&&match[0].length>=container._fenceLength)return parser.finalize(container,parser.lineNumber),2;for(var i=container._fenceOffset;i>0&&peek(ln,parser.offset)===C_SPACE;)parser.advanceOffset(1,!1),i--}else if(indent>=CODE_INDENT)parser.advanceOffset(CODE_INDENT,!0);else{if(!parser.blank)return 1;parser.advanceNextNonspace()}return 0},finalize:function(parser,block){if(block._isFenced){var content=block._string_content,newlinePos=content.indexOf("\n"),firstLine=content.slice(0,newlinePos),rest=content.slice(newlinePos+1);block.info=unescapeString(firstLine.trim()),block._literal=rest}else block._literal=block._string_content.replace(/(\n *)+$/,"\n");block._string_content=null},canContain:function(){return!1},acceptsLines:!0},HtmlBlock:{"continue":function(parser,container){return!parser.blank||6!==container._htmlBlockType&&7!==container._htmlBlockType?0:1},finalize:function(parser,block){block._literal=block._string_content.replace(/(\n *)+$/,""),block._string_content=null},canContain:function(){return!1},acceptsLines:!0},Paragraph:{"continue":function(parser){return parser.blank?1:0},finalize:function(parser,block){for(var pos,hasReferenceDefs=!1;peek(block._string_content,0)===C_OPEN_BRACKET&&(pos=parser.inlineParser.parseReference(block._string_content,parser.refmap));)block._string_content=block._string_content.slice(pos),hasReferenceDefs=!0;hasReferenceDefs&&isBlank(block._string_content)&&block.unlink()},canContain:function(){return!1},acceptsLines:!0}},blockStarts=[function(parser){return parser.indented||peek(parser.currentLine,parser.nextNonspace)!==C_GREATERTHAN?0:(parser.advanceNextNonspace(),parser.advanceOffset(1,!1),peek(parser.currentLine,parser.offset)===C_SPACE&&parser.advanceOffset(1,!1),parser.closeUnmatchedBlocks(),parser.addChild("BlockQuote",parser.nextNonspace),1)},function(parser){var match;if(!parser.indented&&(match=parser.currentLine.slice(parser.nextNonspace).match(reATXHeaderMarker))){parser.advanceNextNonspace(),parser.advanceOffset(match[0].length,!1),parser.closeUnmatchedBlocks();var container=parser.addChild("Header",parser.nextNonspace);return container.level=match[0].trim().length,container._string_content=parser.currentLine.slice(parser.offset).replace(/^ *#+ *$/,"").replace(/ +#+ *$/,""),parser.advanceOffset(parser.currentLine.length-parser.offset),2}return 0},function(parser){var match;if(!parser.indented&&(match=parser.currentLine.slice(parser.nextNonspace).match(reCodeFence))){var fenceLength=match[0].length;parser.closeUnmatchedBlocks();var container=parser.addChild("CodeBlock",parser.nextNonspace);return container._isFenced=!0,container._fenceLength=fenceLength,container._fenceChar=match[0][0],container._fenceOffset=parser.indent,parser.advanceNextNonspace(),parser.advanceOffset(fenceLength,!1),2}return 0},function(parser,container){if(!parser.indented&&peek(parser.currentLine,parser.nextNonspace)===C_LESSTHAN){var blockType,s=parser.currentLine.slice(parser.nextNonspace);for(blockType=1;7>=blockType;blockType++)if(reHtmlBlockOpen[blockType].test(s)&&(7>blockType||"Paragraph"!==container.type)){parser.closeUnmatchedBlocks();var b=parser.addChild("HtmlBlock",parser.offset);return b._htmlBlockType=blockType,2}}return 0},function(parser,container){var match;if(!parser.indented&&"Paragraph"===container.type&&container._string_content.indexOf("\n")===container._string_content.length-1&&(match=parser.currentLine.slice(parser.nextNonspace).match(reSetextHeaderLine))){parser.closeUnmatchedBlocks();var header=new Node("Header",container.sourcepos);return header.level="="===match[0][0]?1:2,header._string_content=container._string_content,container.insertAfter(header),container.unlink(),parser.tip=header,parser.advanceOffset(parser.currentLine.length-parser.offset,!1),2}return 0},function(parser){return!parser.indented&&reHrule.test(parser.currentLine.slice(parser.nextNonspace))?(parser.closeUnmatchedBlocks(),parser.addChild("HorizontalRule",parser.nextNonspace),parser.advanceOffset(parser.currentLine.length-parser.offset,!1),2):0},function(parser,container){var data,i;return(data=parseListMarker(parser.currentLine,parser.nextNonspace,parser.indent))?(parser.closeUnmatchedBlocks(),parser.indented&&"List"!==parser.tip.type?0:(parser.advanceNextNonspace(),i=parser.column,parser.advanceOffset(data.padding,!1),data.padding=parser.column-i,"List"===parser.tip.type&&listsMatch(container._listData,data)||(container=parser.addChild("List",parser.nextNonspace),container._listData=data),container=parser.addChild("Item",parser.nextNonspace),container._listData=data,1)):0},function(parser){return parser.indented&&"Paragraph"!==parser.tip.type&&!parser.blank?(parser.advanceOffset(CODE_INDENT,!0),parser.closeUnmatchedBlocks(),parser.addChild("CodeBlock",parser.offset),2):0}],advanceOffset=function(count,columns){for(var i=0,cols=0,currentLine=this.currentLine;columns?count>cols:count>i;)cols+=" "===currentLine[this.offset+i]?4-this.column%4:1,i++;this.offset+=i,this.column+=cols},advanceNextNonspace=function(){this.offset=this.nextNonspace,this.column=this.nextNonspaceColumn},findNextNonspace=function(){for(var c,currentLine=this.currentLine,i=this.offset,cols=this.column;""!==(c=currentLine.charAt(i));)if(" "===c)i++,cols++;else{if(" "!==c)break;i++,cols+=4-cols%4}this.blank="\n"===c||"\r"===c||""===c,this.nextNonspace=i,this.nextNonspaceColumn=cols,this.indent=this.nextNonspaceColumn-this.column,this.indented=this.indent>=CODE_INDENT},incorporateLine=function(ln){var t,all_matched=!0,container=this.doc;this.oldtip=this.tip,this.offset=0,this.lineNumber+=1,-1!==ln.indexOf("\x00")&&(ln=ln.replace(/\0/g,"�")),this.currentLine=ln;for(var lastChild;(lastChild=container._lastChild)&&lastChild._open;){switch(container=lastChild,this.findNextNonspace(),this.blocks[container.type].continue(this,container)){case 0:break;case 1:all_matched=!1;break;case 2:return void(this.lastLineLength=ln.length);default:throw"continue returned illegal value, must be 0, 1, or 2"}if(!all_matched){container=container._parent;break}}this.allClosed=container===this.oldtip,this.lastMatchedContainer=container,this.blank&&container._lastLineBlank&&this.breakOutOfLists(container);for(var matchedLeaf="Paragraph"!==container.type&&blocks[container.type].acceptsLines,starts=this.blockStarts,startsLen=starts.length;!matchedLeaf;){if(this.findNextNonspace(),!this.indented&&!reMaybeSpecial.test(ln.slice(this.nextNonspace))){this.advanceNextNonspace();break}for(var i=0;startsLen>i;){var res=starts[i](this,container);if(1===res){container=this.tip;break}if(2===res){container=this.tip,matchedLeaf=!0;break}i++}if(i===startsLen){this.advanceNextNonspace();break}}if(this.allClosed||this.blank||"Paragraph"!==this.tip.type){this.closeUnmatchedBlocks(),this.blank&&container.lastChild&&(container.lastChild._lastLineBlank=!0),t=container.type;for(var lastLineBlank=this.blank&&!("BlockQuote"===t||"CodeBlock"===t&&container._isFenced||"Item"===t&&!container._firstChild&&container.sourcepos[0][0]===this.lineNumber),cont=container;cont;)cont._lastLineBlank=lastLineBlank,cont=cont._parent;this.blocks[t].acceptsLines?(this.addLine(),"HtmlBlock"===t&&container._htmlBlockType>=1&&5>=container._htmlBlockType&&reHtmlBlockClose[container._htmlBlockType].test(this.currentLine.slice(this.offset))&&this.finalize(container,this.lineNumber)):ln.length>this.offset&&!this.blank&&(container=this.addChild("Paragraph",this.offset),this.advanceNextNonspace(),this.addLine())}else this.addLine();this.lastLineLength=ln.length},finalize=function(block,lineNumber){var above=block._parent;block._open=!1,block.sourcepos[1]=[lineNumber,this.lastLineLength],this.blocks[block.type].finalize(this,block),this.tip=above},processInlines=function(block){var node,event,t,walker=block.walker();for(this.inlineParser.refmap=this.refmap,this.inlineParser.options=this.options;event=walker.next();)node=event.node,t=node.type,event.entering||"Paragraph"!==t&&"Header"!==t||this.inlineParser.parse(node)},Document=function(){var doc=new Node("Document",[[1,1],[0,0]]);return doc},parse=function(input){this.doc=new Document,this.tip=this.doc,this.refmap={},this.lineNumber=0,this.lastLineLength=0,this.offset=0,this.column=0,this.lastMatchedContainer=this.doc,this.currentLine="",this.options.time&&console.time("preparing input");var lines=input.split(reLineEnding),len=lines.length;input.charCodeAt(input.length-1)===C_NEWLINE&&(len-=1),this.options.time&&console.timeEnd("preparing input"),this.options.time&&console.time("block parsing");for(var i=0;len>i;i++)this.incorporateLine(lines[i]);for(;this.tip;)this.finalize(this.tip,len);return this.options.time&&console.timeEnd("block parsing"),this.options.time&&console.time("inline parsing"),this.processInlines(this.doc),this.options.time&&console.timeEnd("inline parsing"),this.doc};module.exports=Parser},{"./common":2,"./inlines":6,"./node":7}],2:[function(require,module,exports){"use strict";var encode=require("mdurl/encode"),decode=require("mdurl/decode"),C_BACKSLASH=92,decodeHTML=require("entities").decodeHTML,ENTITY="&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});",TAGNAME="[A-Za-z][A-Za-z0-9-]*",ATTRIBUTENAME="[a-zA-Z_:][a-zA-Z0-9:._-]*",UNQUOTEDVALUE="[^\"'=<>`\\x00-\\x20]+",SINGLEQUOTEDVALUE="'[^']*'",DOUBLEQUOTEDVALUE='"[^"]*"',ATTRIBUTEVALUE="(?:"+UNQUOTEDVALUE+"|"+SINGLEQUOTEDVALUE+"|"+DOUBLEQUOTEDVALUE+")",ATTRIBUTEVALUESPEC="(?:\\s*=\\s*"+ATTRIBUTEVALUE+")",ATTRIBUTE="(?:\\s+"+ATTRIBUTENAME+ATTRIBUTEVALUESPEC+"?)",OPENTAG="<"+TAGNAME+ATTRIBUTE+"*\\s*/?>",CLOSETAG=""+TAGNAME+"\\s*[>]",HTMLCOMMENT="|",PROCESSINGINSTRUCTION="[<][?].*?[?][>]",DECLARATION="]*>",CDATA="",HTMLTAG="(?:"+OPENTAG+"|"+CLOSETAG+"|"+HTMLCOMMENT+"|"+PROCESSINGINSTRUCTION+"|"+DECLARATION+"|"+CDATA+")",reHtmlTag=new RegExp("^"+HTMLTAG,"i"),reBackslashOrAmp=/[\\&]/,ESCAPABLE="[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]",reEntityOrEscapedChar=new RegExp("\\\\"+ESCAPABLE+"|"+ENTITY,"gi"),XMLSPECIAL='[&<>"]',reXmlSpecial=new RegExp(XMLSPECIAL,"g"),reXmlSpecialOrEntity=new RegExp(ENTITY+"|"+XMLSPECIAL,"gi"),unescapeChar=function(s){return s.charCodeAt(0)===C_BACKSLASH?s.charAt(1):decodeHTML(s)},unescapeString=function(s){return reBackslashOrAmp.test(s)?s.replace(reEntityOrEscapedChar,unescapeChar):s},normalizeURI=function(uri){try{return encode(decode(uri))}catch(err){return uri}},replaceUnsafeChar=function(s){switch(s){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";default:return s}},escapeXml=function(s,preserve_entities){return reXmlSpecial.test(s)?preserve_entities?s.replace(reXmlSpecialOrEntity,replaceUnsafeChar):s.replace(reXmlSpecial,replaceUnsafeChar):s};module.exports={unescapeString:unescapeString,normalizeURI:normalizeURI,escapeXml:escapeXml,reHtmlTag:reHtmlTag,OPENTAG:OPENTAG,CLOSETAG:CLOSETAG,ENTITY:ENTITY,ESCAPABLE:ESCAPABLE}},{entities:10,"mdurl/decode":18,"mdurl/encode":19}],3:[function(require,module,exports){"use strict";if(String.fromCodePoint)module.exports=function(_){try{return String.fromCodePoint(_)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var stringFromCharCode=String.fromCharCode,floor=Math.floor,fromCodePoint=function(){var highSurrogate,lowSurrogate,MAX_SIZE=16384,codeUnits=[],index=-1,length=arguments.length;if(!length)return"";for(var result="";++indexcodePoint||codePoint>1114111||floor(codePoint)!==codePoint)return String.fromCharCode(65533);65535>=codePoint?codeUnits.push(codePoint):(codePoint-=65536,highSurrogate=(codePoint>>10)+55296,lowSurrogate=codePoint%1024+56320,codeUnits.push(highSurrogate,lowSurrogate)),(index+1===length||codeUnits.length>MAX_SIZE)&&(result+=stringFromCharCode.apply(null,codeUnits),codeUnits.length=0)}return result};module.exports=fromCodePoint}},{}],4:[function(require,module,exports){"use strict";function HtmlRenderer(options){return{softbreak:"\n",escape:escapeXml,options:options||{},render:renderNodes}}var escapeXml=require("./common").escapeXml,tag=function(name,attrs,selfclosing){var result="<"+name;if(attrs&&attrs.length>0)for(var attrib,i=0;void 0!==(attrib=attrs[i]);)result+=" "+attrib[0]+'="'+attrib[1]+'"',i++;return selfclosing&&(result+=" /"),result+=">"},reHtmlTag=/\<[^>]*\>/,reUnsafeProtocol=/^javascript:|vbscript:|file:|data:/i,reSafeDataProtocol=/^data:image\/(?:png|gif|jpeg|webp)/i,potentiallyUnsafe=function(url){return reUnsafeProtocol.test(url)&&!reSafeDataProtocol.test(url)},renderNodes=function(block){var attrs,info_words,tagname,event,node,entering,grandparent,walker=block.walker(),buffer="",lastOut="\n",disableTags=0,out=function(s){buffer+=disableTags>0?s.replace(reHtmlTag,""):s,lastOut=s},esc=this.escape,cr=function(){"\n"!==lastOut&&(buffer+="\n",lastOut="\n")},options=this.options;for(options.time&&console.time("rendering");event=walker.next();){if(entering=event.entering,node=event.node,attrs=[],options.sourcepos){var pos=node.sourcepos;pos&&attrs.push(["data-sourcepos",String(pos[0][0])+":"+String(pos[0][1])+"-"+String(pos[1][0])+":"+String(pos[1][1])])}switch(node.type){case"Text":out(esc(node.literal,!1));break;case"Softbreak":out(this.softbreak);break;case"Hardbreak":out(tag("br",[],!0)),cr();break;case"Emph":out(tag(entering?"em":"/em"));break;case"Strong":out(tag(entering?"strong":"/strong"));break;case"Html":out(options.safe?"":node.literal);break;case"Link":entering?(options.safe&&potentiallyUnsafe(node.destination)||attrs.push(["href",esc(node.destination,!0)]),node.title&&attrs.push(["title",esc(node.title,!0)]),out(tag("a",attrs))):out(tag("/a"));break;case"Image":entering?(0===disableTags&&out(options.safe&&potentiallyUnsafe(node.destination)?'')));break;case"Code":out(tag("code")+esc(node.literal,!1)+tag("/code"));break;case"Document":break;case"Paragraph":if(grandparent=node.parent.parent,null!==grandparent&&"List"===grandparent.type&&grandparent.listTight)break;entering?(cr(),out(tag("p",attrs))):(out(tag("/p")),cr());break;case"BlockQuote":entering?(cr(),out(tag("blockquote",attrs)),cr()):(cr(),out(tag("/blockquote")),cr());break;case"Item":entering?out(tag("li",attrs)):(out(tag("/li")),cr());break;case"List":if(tagname="Bullet"===node.listType?"ul":"ol",entering){var start=node.listStart;null!==start&&1!==start&&attrs.push(["start",start.toString()]),cr(),out(tag(tagname,attrs)),cr()}else cr(),out(tag("/"+tagname)),cr();break;case"Header":tagname="h"+node.level,entering?(cr(),out(tag(tagname,attrs))):(out(tag("/"+tagname)),cr());break;case"CodeBlock":info_words=node.info?node.info.split(/\s+/):[],info_words.length>0&&info_words[0].length>0&&attrs.push(["class","language-"+esc(info_words[0],!0)]),cr(),out(tag("pre")+tag("code",attrs)),out(esc(node.literal,!1)),out(tag("/code")+tag("/pre")),cr();break;case"HtmlBlock":cr(),out(options.safe?"":node.literal),cr();break;case"HorizontalRule":cr(),out(tag("hr",attrs,!0)),cr();break;default:throw"Unknown node type "+node.type}}return options.time&&console.timeEnd("rendering"),buffer};module.exports=HtmlRenderer},{"./common":2}],5:[function(require,module,exports){"use strict";module.exports.Node=require("./node"),module.exports.Parser=require("./blocks"),module.exports.HtmlRenderer=require("./html"),module.exports.XmlRenderer=require("./xml")},{"./blocks":1,"./html":4,"./node":7,"./xml":9}],6:[function(require,module,exports){"use strict";function InlineParser(options){return{subject:"",delimiters:null,pos:0,refmap:{},match:match,peek:peek,spnl:spnl,parseBackticks:parseBackticks,parseBackslash:parseBackslash,parseAutolink:parseAutolink,parseHtmlTag:parseHtmlTag,scanDelims:scanDelims,handleDelim:handleDelim,parseLinkTitle:parseLinkTitle,parseLinkDestination:parseLinkDestination,parseLinkLabel:parseLinkLabel,parseOpenBracket:parseOpenBracket,parseCloseBracket:parseCloseBracket,parseBang:parseBang,parseEntity:parseEntity,parseString:parseString,parseNewline:parseNewline,parseReference:parseReference,parseInline:parseInline,processEmphasis:processEmphasis,removeDelimiter:removeDelimiter,options:options||{},parse:parseInlines}}var Node=require("./node"),common=require("./common"),normalizeReference=require("./normalize-reference"),normalizeURI=common.normalizeURI,unescapeString=common.unescapeString,fromCodePoint=require("./from-code-point.js"),decodeHTML=require("entities").decodeHTML;require("string.prototype.repeat");var C_NEWLINE=10,C_ASTERISK=42,C_UNDERSCORE=95,C_BACKTICK=96,C_OPEN_BRACKET=91,C_CLOSE_BRACKET=93,C_LESSTHAN=60,C_BANG=33,C_BACKSLASH=92,C_AMPERSAND=38,C_OPEN_PAREN=40,C_CLOSE_PAREN=41,C_COLON=58,C_SINGLEQUOTE=39,C_DOUBLEQUOTE=34,ESCAPABLE=common.ESCAPABLE,ESCAPED_CHAR="\\\\"+ESCAPABLE,REG_CHAR="[^\\\\()\\x00-\\x20]",IN_PARENS_NOSP="\\(("+REG_CHAR+"|"+ESCAPED_CHAR+"|\\\\)*\\)",ENTITY=common.ENTITY,reHtmlTag=common.reHtmlTag,rePunctuation=new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/),reLinkTitle=new RegExp('^(?:"('+ESCAPED_CHAR+'|[^"\\x00])*"|\'('+ESCAPED_CHAR+"|[^'\\x00])*'|\\(("+ESCAPED_CHAR+"|[^)\\x00])*\\))"),reLinkDestinationBraces=new RegExp("^(?:[<](?:[^<>\\n\\\\\\x00]|"+ESCAPED_CHAR+"|\\\\)*[>])"),reLinkDestination=new RegExp("^(?:"+REG_CHAR+"+|"+ESCAPED_CHAR+"|\\\\|"+IN_PARENS_NOSP+")*"),reEscapable=new RegExp("^"+ESCAPABLE),reEntityHere=new RegExp("^"+ENTITY,"i"),reTicks=/`+/,reTicksHere=/^`+/,reEllipses=/\.\.\./g,reDash=/--+/g,reEmailAutolink=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,reAutolink=/^<(?:coap|doi|javascript|aaa|aaas|about|acap|cap|cid|crid|data|dav|dict|dns|file|ftp|geo|go|gopher|h323|http|https|iax|icap|im|imap|info|ipp|iris|iris.beep|iris.xpc|iris.xpcs|iris.lwz|ldap|mailto|mid|msrp|msrps|mtqp|mupdate|news|nfs|ni|nih|nntp|opaquelocktoken|pop|pres|rtsp|service|session|shttp|sieve|sip|sips|sms|snmp|soap.beep|soap.beeps|tag|tel|telnet|tftp|thismessage|tn3270|tip|tv|urn|vemmi|ws|wss|xcon|xcon-userid|xmlrpc.beep|xmlrpc.beeps|xmpp|z39.50r|z39.50s|adiumxtra|afp|afs|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|chrome|chrome-extension|com-eventbrite-attendee|content|cvs|dlna-playsingle|dlna-playcontainer|dtn|dvb|ed2k|facetime|feed|finger|fish|gg|git|gizmoproject|gtalk|hcp|icon|ipn|irc|irc6|ircs|itms|jar|jms|keyparc|lastfm|ldaps|magnet|maps|market|message|mms|ms-help|msnim|mumble|mvn|notes|oid|palm|paparazzi|platform|proxy|psyc|query|res|resource|rmi|rsync|rtmp|secondlife|sftp|sgn|skype|smb|soldat|spotify|ssh|steam|svn|teamspeak|things|udp|unreal|ut2004|ventrilo|view-source|webcal|wtai|wyciwyg|xfire|xri|ymsgr):[^<>\x00-\x20]*>/i,reSpnl=/^ *(?:\n *)?/,reWhitespaceChar=/^\s/,reWhitespace=/\s+/g,reFinalSpace=/ *$/,reInitialSpace=/^ */,reSpaceAtEndOfLine=/^ *(?:\n|$)/,reLinkLabel=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+ESCAPED_CHAR+"|\\\\){0,1000}\\]"),reMain=/^[^\n`\[\]\\!<&*_'"]+/m,text=function(s){var node=new Node("Text");return node._literal=s,node},match=function(re){var m=re.exec(this.subject.slice(this.pos));return null===m?null:(this.pos+=m.index+m[0].length,m[0])},peek=function(){return this.subject.length>this.pos?this.subject.charCodeAt(this.pos):-1},spnl=function(){return this.match(reSpnl),!0},parseBackticks=function(block){var ticks=this.match(reTicksHere);if(null===ticks)return!1;for(var matched,node,afterOpenTicks=this.pos;null!==(matched=this.match(reTicks));)if(matched===ticks)return node=new Node("Code"),node._literal=this.subject.slice(afterOpenTicks,this.pos-ticks.length).trim().replace(reWhitespace," "),block.appendChild(node),!0;return this.pos=afterOpenTicks,block.appendChild(text(ticks)),!0},parseBackslash=function(block){var node,subj=this.subject;return this.pos+=1,this.peek()===C_NEWLINE?(this.pos+=1,node=new Node("Hardbreak"),block.appendChild(node)):reEscapable.test(subj.charAt(this.pos))?(block.appendChild(text(subj.charAt(this.pos))),this.pos+=1):block.appendChild(text("\\")),!0},parseAutolink=function(block){var m,dest,node;return(m=this.match(reEmailAutolink))?(dest=m.slice(1,m.length-1),node=new Node("Link"),node._destination=normalizeURI("mailto:"+dest),node._title="",node.appendChild(text(dest)),block.appendChild(node),!0):(m=this.match(reAutolink))?(dest=m.slice(1,m.length-1),node=new Node("Link"),node._destination=normalizeURI(dest),node._title="",node.appendChild(text(dest)),block.appendChild(node),!0):!1},parseHtmlTag=function(block){var m=this.match(reHtmlTag);if(null===m)return!1;var node=new Node("Html");return node._literal=m,block.appendChild(node),!0},scanDelims=function(cc){var char_before,char_after,cc_after,left_flanking,right_flanking,can_open,can_close,after_is_whitespace,after_is_punctuation,before_is_whitespace,before_is_punctuation,numdelims=0,startpos=this.pos;if(cc===C_SINGLEQUOTE||cc===C_DOUBLEQUOTE)numdelims++,this.pos++;else for(;this.peek()===cc;)numdelims++,this.pos++;return 0===numdelims?null:(char_before=0===startpos?"\n":this.subject.charAt(startpos-1),cc_after=this.peek(),char_after=-1===cc_after?"\n":fromCodePoint(cc_after),after_is_whitespace=reWhitespaceChar.test(char_after),after_is_punctuation=rePunctuation.test(char_after),before_is_whitespace=reWhitespaceChar.test(char_before),before_is_punctuation=rePunctuation.test(char_before),left_flanking=!(after_is_whitespace||after_is_punctuation&&!before_is_whitespace&&!before_is_punctuation),right_flanking=!(before_is_whitespace||before_is_punctuation&&!after_is_whitespace&&!after_is_punctuation),cc===C_UNDERSCORE?(can_open=left_flanking&&(!right_flanking||before_is_punctuation),can_close=right_flanking&&(!left_flanking||after_is_punctuation)):(can_open=left_flanking,can_close=right_flanking),this.pos=startpos,{numdelims:numdelims,can_open:can_open,can_close:can_close})},handleDelim=function(cc,block){var res=this.scanDelims(cc);if(!res)return!1;var contents,numdelims=res.numdelims,startpos=this.pos;this.pos+=numdelims,contents=cc===C_SINGLEQUOTE?"’":cc===C_DOUBLEQUOTE?"“":this.subject.slice(startpos,this.pos);var node=text(contents);return block.appendChild(node),this.delimiters={cc:cc,numdelims:numdelims,node:node,previous:this.delimiters,next:null,can_open:res.can_open,can_close:res.can_close,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},removeDelimiter=function(delim){null!==delim.previous&&(delim.previous.next=delim.next),null===delim.next?this.delimiters=delim.previous:delim.next.previous=delim.previous},removeDelimitersBetween=function(bottom,top){bottom.next!==top&&(bottom.next=top,top.previous=bottom)},processEmphasis=function(stack_bottom){var opener,closer,old_closer,opener_inl,closer_inl,tempstack,use_delims,tmp,next,opener_found,openers_bottom=[];for(openers_bottom[C_UNDERSCORE]=stack_bottom,openers_bottom[C_ASTERISK]=stack_bottom,openers_bottom[C_SINGLEQUOTE]=stack_bottom,openers_bottom[C_DOUBLEQUOTE]=stack_bottom,closer=this.delimiters;null!==closer&&closer.previous!==stack_bottom;)closer=closer.previous;for(;null!==closer;){var closercc=closer.cc;if(!closer.can_close||closercc!==C_UNDERSCORE&&closercc!==C_ASTERISK&&closercc!==C_SINGLEQUOTE&&closercc!==C_DOUBLEQUOTE)closer=closer.next;else{for(opener=closer.previous,opener_found=!1;null!==opener&&opener!==stack_bottom&&opener!==openers_bottom[closercc];){if(opener.cc===closer.cc&&opener.can_open){opener_found=!0;break}opener=opener.previous}if(old_closer=closer,closercc===C_ASTERISK||closercc===C_UNDERSCORE)if(opener_found){use_delims=3>closer.numdelims||3>opener.numdelims?opener.numdelims>=closer.numdelims?closer.numdelims:opener.numdelims:closer.numdelims%2===0?2:1,opener_inl=opener.node,closer_inl=closer.node,opener.numdelims-=use_delims,closer.numdelims-=use_delims,opener_inl._literal=opener_inl._literal.slice(0,opener_inl._literal.length-use_delims),closer_inl._literal=closer_inl._literal.slice(0,closer_inl._literal.length-use_delims);var emph=new Node(1===use_delims?"Emph":"Strong");for(tmp=opener_inl._next;tmp&&tmp!==closer_inl;)next=tmp._next,tmp.unlink(),emph.appendChild(tmp),tmp=next;opener_inl.insertAfter(emph),removeDelimitersBetween(opener,closer),0===opener.numdelims&&(opener_inl.unlink(),this.removeDelimiter(opener)),0===closer.numdelims&&(closer_inl.unlink(),tempstack=closer.next,this.removeDelimiter(closer),closer=tempstack)}else closer=closer.next;else closercc===C_SINGLEQUOTE?(closer.node._literal="’",opener_found&&(opener.node._literal="‘"),closer=closer.next):closercc===C_DOUBLEQUOTE&&(closer.node._literal="”",opener_found&&(opener.node.literal="“"),closer=closer.next);opener_found||(openers_bottom[closercc]=old_closer.previous,old_closer.can_open||this.removeDelimiter(old_closer))}}for(;null!==this.delimiters&&this.delimiters!==stack_bottom;)this.removeDelimiter(this.delimiters)},parseLinkTitle=function(){var title=this.match(reLinkTitle);return null===title?null:unescapeString(title.substr(1,title.length-2))},parseLinkDestination=function(){var res=this.match(reLinkDestinationBraces);return null===res?(res=this.match(reLinkDestination),null===res?null:normalizeURI(unescapeString(res))):normalizeURI(unescapeString(res.substr(1,res.length-2)))},parseLinkLabel=function(){var m=this.match(reLinkLabel);return null===m||m.length>1001?0:m.length},parseOpenBracket=function(block){var startpos=this.pos;this.pos+=1;var node=text("[");return block.appendChild(node),this.delimiters={cc:C_OPEN_BRACKET,numdelims:1,node:node,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:startpos,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0
+},parseBang=function(block){var startpos=this.pos;if(this.pos+=1,this.peek()===C_OPEN_BRACKET){this.pos+=1;var node=text("![");block.appendChild(node),this.delimiters={cc:C_BANG,numdelims:1,node:node,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:startpos+1,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters)}else block.appendChild(text("!"));return!0},parseCloseBracket=function(block){var startpos,is_image,dest,title,reflabel,opener,matched=!1;for(this.pos+=1,startpos=this.pos,opener=this.delimiters;null!==opener&&opener.cc!==C_OPEN_BRACKET&&opener.cc!==C_BANG;)opener=opener.previous;if(null===opener)return block.appendChild(text("]")),!0;if(!opener.active)return block.appendChild(text("]")),this.removeDelimiter(opener),!0;if(is_image=opener.cc===C_BANG,this.peek()===C_OPEN_PAREN)this.pos++,this.spnl()&&null!==(dest=this.parseLinkDestination())&&this.spnl()&&this.spnl()&&this.peek()===C_CLOSE_PAREN&&(this.pos+=1,matched=!0);else{var savepos=this.pos;this.spnl();var beforelabel=this.pos,n=this.parseLinkLabel();reflabel=0===n||2===n?this.subject.slice(opener.index,startpos):this.subject.slice(beforelabel,beforelabel+n),0===n&&(this.pos=savepos);var link=this.refmap[normalizeReference(reflabel)];link&&(dest=link.destination,title=link.title,matched=!0)}if(matched){var node=new Node(is_image?"Image":"Link");node._destination=dest,node._title=title||"";var tmp,next;for(tmp=opener.node._next;tmp;)next=tmp._next,tmp.unlink(),node.appendChild(tmp),tmp=next;if(block.appendChild(node),this.processEmphasis(opener.previous),opener.node.unlink(),!is_image)for(opener=this.delimiters;null!==opener;)opener.cc===C_OPEN_BRACKET&&(opener.active=!1),opener=opener.previous;return!0}return this.removeDelimiter(opener),this.pos=startpos,block.appendChild(text("]")),!0},parseEntity=function(block){var m;return(m=this.match(reEntityHere))?(block.appendChild(text(decodeHTML(m))),!0):!1},parseString=function(block){var m;return(m=this.match(reMain))?(block.appendChild(text(this.options.smart?m.replace(reEllipses,"…").replace(reDash,function(chars){var enCount=0,emCount=0;return chars.length%3===0?emCount=chars.length/3:chars.length%2===0?enCount=chars.length/2:chars.length%3===2?(enCount=1,emCount=(chars.length-2)/3):(enCount=2,emCount=(chars.length-4)/3),"—".repeat(emCount)+"–".repeat(enCount)}):m)),!0):!1},parseNewline=function(block){this.pos+=1;var lastc=block._lastChild;if(lastc&&"Text"===lastc.type&&" "===lastc._literal[lastc._literal.length-1]){var hardbreak=" "===lastc._literal[lastc._literal.length-2];lastc._literal=lastc._literal.replace(reFinalSpace,""),block.appendChild(new Node(hardbreak?"Hardbreak":"Softbreak"))}else block.appendChild(new Node("Softbreak"));return this.match(reInitialSpace),!0},parseReference=function(s,refmap){this.subject=s,this.pos=0;var rawlabel,dest,title,matchChars,startpos=this.pos;if(matchChars=this.parseLinkLabel(),0===matchChars)return 0;if(rawlabel=this.subject.substr(0,matchChars),this.peek()!==C_COLON)return this.pos=startpos,0;if(this.pos++,this.spnl(),dest=this.parseLinkDestination(),null===dest||0===dest.length)return this.pos=startpos,0;var beforetitle=this.pos;this.spnl(),title=this.parseLinkTitle(),null===title&&(title="",this.pos=beforetitle);var atLineEnd=!0;if(null===this.match(reSpaceAtEndOfLine)&&(""===title?atLineEnd=!1:(title="",this.pos=beforetitle,atLineEnd=null!==this.match(reSpaceAtEndOfLine))),!atLineEnd)return this.pos=startpos,0;var normlabel=normalizeReference(rawlabel);return""===normlabel?(this.pos=startpos,0):(refmap[normlabel]||(refmap[normlabel]={destination:dest,title:title}),this.pos-startpos)},parseInline=function(block){var res=!1,c=this.peek();if(-1===c)return!1;switch(c){case C_NEWLINE:res=this.parseNewline(block);break;case C_BACKSLASH:res=this.parseBackslash(block);break;case C_BACKTICK:res=this.parseBackticks(block);break;case C_ASTERISK:case C_UNDERSCORE:res=this.handleDelim(c,block);break;case C_SINGLEQUOTE:case C_DOUBLEQUOTE:res=this.options.smart&&this.handleDelim(c,block);break;case C_OPEN_BRACKET:res=this.parseOpenBracket(block);break;case C_BANG:res=this.parseBang(block);break;case C_CLOSE_BRACKET:res=this.parseCloseBracket(block);break;case C_LESSTHAN:res=this.parseAutolink(block)||this.parseHtmlTag(block);break;case C_AMPERSAND:res=this.parseEntity(block);break;default:res=this.parseString(block)}return res||(this.pos+=1,block.appendChild(text(fromCodePoint(c)))),!0},parseInlines=function(block){for(this.subject=block._string_content.trim(),this.pos=0,this.delimiters=null;this.parseInline(block););block._string_content=null,this.processEmphasis(null)};module.exports=InlineParser},{"./common":2,"./from-code-point.js":3,"./node":7,"./normalize-reference":8,entities:10,"string.prototype.repeat":20}],7:[function(require,module,exports){"use strict";function isContainer(node){switch(node._type){case"Document":case"BlockQuote":case"List":case"Item":case"Paragraph":case"Header":case"Emph":case"Strong":case"Link":case"Image":return!0;default:return!1}}var resumeAt=function(node,entering){this.current=node,this.entering=entering===!0},next=function(){var cur=this.current,entering=this.entering;if(null===cur)return null;var container=isContainer(cur);return entering&&container?cur._firstChild?(this.current=cur._firstChild,this.entering=!0):this.entering=!1:cur===this.root?this.current=null:null===cur._next?(this.current=cur._parent,this.entering=!1):(this.current=cur._next,this.entering=!0),{entering:entering,node:cur}},NodeWalker=function(root){return{current:root,root:root,entering:!0,next:next,resumeAt:resumeAt}},Node=function(nodeType,sourcepos){this._type=nodeType,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=sourcepos,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData=null,this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null},proto=Node.prototype;Object.defineProperty(proto,"isContainer",{get:function(){return isContainer(this)}}),Object.defineProperty(proto,"type",{get:function(){return this._type}}),Object.defineProperty(proto,"firstChild",{get:function(){return this._firstChild}}),Object.defineProperty(proto,"lastChild",{get:function(){return this._lastChild}}),Object.defineProperty(proto,"next",{get:function(){return this._next}}),Object.defineProperty(proto,"prev",{get:function(){return this._prev}}),Object.defineProperty(proto,"parent",{get:function(){return this._parent}}),Object.defineProperty(proto,"sourcepos",{get:function(){return this._sourcepos}}),Object.defineProperty(proto,"literal",{get:function(){return this._literal},set:function(s){this._literal=s}}),Object.defineProperty(proto,"destination",{get:function(){return this._destination},set:function(s){this._destination=s}}),Object.defineProperty(proto,"title",{get:function(){return this._title},set:function(s){this._title=s}}),Object.defineProperty(proto,"info",{get:function(){return this._info},set:function(s){this._info=s}}),Object.defineProperty(proto,"level",{get:function(){return this._level},set:function(s){this._level=s}}),Object.defineProperty(proto,"listType",{get:function(){return this._listData.type},set:function(t){this._listData.type=t}}),Object.defineProperty(proto,"listTight",{get:function(){return this._listData.tight},set:function(t){this._listData.tight=t}}),Object.defineProperty(proto,"listStart",{get:function(){return this._listData.start},set:function(n){this._listData.start=n}}),Object.defineProperty(proto,"listDelimiter",{get:function(){return this._listData.delimiter},set:function(delim){this._listData.delimiter=delim}}),Node.prototype.appendChild=function(child){child.unlink(),child._parent=this,this._lastChild?(this._lastChild._next=child,child._prev=this._lastChild,this._lastChild=child):(this._firstChild=child,this._lastChild=child)},Node.prototype.prependChild=function(child){child.unlink(),child._parent=this,this._firstChild?(this._firstChild._prev=child,child._next=this._firstChild,this._firstChild=child):(this._firstChild=child,this._lastChild=child)},Node.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},Node.prototype.insertAfter=function(sibling){sibling.unlink(),sibling._next=this._next,sibling._next&&(sibling._next._prev=sibling),sibling._prev=this,this._next=sibling,sibling._parent=this._parent,sibling._next||(sibling._parent._lastChild=sibling)},Node.prototype.insertBefore=function(sibling){sibling.unlink(),sibling._prev=this._prev,sibling._prev&&(sibling._prev._next=sibling),sibling._next=this,this._prev=sibling,sibling._parent=this._parent,sibling._prev||(sibling._parent._firstChild=sibling)},Node.prototype.walker=function(){var walker=new NodeWalker(this);return walker},module.exports=Node},{}],8:[function(require,module,exports){"use strict";var regex=/[ \t\r\n]+|[A-Z\xB5\xC0-\xD6\xD8-\xDF\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u0149\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u017F\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C5\u01C7\u01C8\u01CA\u01CB\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F0-\u01F2\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0345\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03AB\u03B0\u03C2\u03CF-\u03D1\u03D5\u03D6\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F0\u03F1\u03F4\u03F5\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u0587\u10A0-\u10C5\u10C7\u10CD\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E96-\u1E9B\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F50\u1F52\u1F54\u1F56\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1F80-\u1FAF\u1FB2-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD2\u1FD3\u1FD6-\u1FDB\u1FE2-\u1FE4\u1FE6-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126\u212A\u212B\u2132\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AD\uA7B0\uA7B1\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A]|\uD801[\uDC00-\uDC27]|\uD806[\uDCA0-\uDCBF]/g,map={A:"a",B:"b",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",J:"j",K:"k",L:"l",M:"m",N:"n",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",U:"u",V:"v",W:"w",X:"x",Y:"y",Z:"z","µ":"μ","À":"à","Á":"á","Â":"â","Ã":"ã","Ä":"ä","Å":"å","Æ":"æ","Ç":"ç","È":"è","É":"é","Ê":"ê","Ë":"ë","Ì":"ì","Í":"í","Î":"î","Ï":"ï","Ð":"ð","Ñ":"ñ","Ò":"ò","Ó":"ó","Ô":"ô","Õ":"õ","Ö":"ö","Ø":"ø","Ù":"ù","Ú":"ú","Û":"û","Ü":"ü","Ý":"ý","Þ":"þ","Ā":"ā","Ă":"ă","Ą":"ą","Ć":"ć","Ĉ":"ĉ","Ċ":"ċ","Č":"č","Ď":"ď","Đ":"đ","Ē":"ē","Ĕ":"ĕ","Ė":"ė","Ę":"ę","Ě":"ě","Ĝ":"ĝ","Ğ":"ğ","Ġ":"ġ","Ģ":"ģ","Ĥ":"ĥ","Ħ":"ħ","Ĩ":"ĩ","Ī":"ī","Ĭ":"ĭ","Į":"į","IJ":"ij","Ĵ":"ĵ","Ķ":"ķ","Ĺ":"ĺ","Ļ":"ļ","Ľ":"ľ","Ŀ":"ŀ","Ł":"ł","Ń":"ń","Ņ":"ņ","Ň":"ň","Ŋ":"ŋ","Ō":"ō","Ŏ":"ŏ","Ő":"ő","Œ":"œ","Ŕ":"ŕ","Ŗ":"ŗ","Ř":"ř","Ś":"ś","Ŝ":"ŝ","Ş":"ş","Š":"š","Ţ":"ţ","Ť":"ť","Ŧ":"ŧ","Ũ":"ũ","Ū":"ū","Ŭ":"ŭ","Ů":"ů","Ű":"ű","Ų":"ų","Ŵ":"ŵ","Ŷ":"ŷ","Ÿ":"ÿ","Ź":"ź","Ż":"ż","Ž":"ž","ſ":"s","Ɓ":"ɓ","Ƃ":"ƃ","Ƅ":"ƅ","Ɔ":"ɔ","Ƈ":"ƈ","Ɖ":"ɖ","Ɗ":"ɗ","Ƌ":"ƌ","Ǝ":"ǝ","Ə":"ə","Ɛ":"ɛ","Ƒ":"ƒ","Ɠ":"ɠ","Ɣ":"ɣ","Ɩ":"ɩ","Ɨ":"ɨ","Ƙ":"ƙ","Ɯ":"ɯ","Ɲ":"ɲ","Ɵ":"ɵ","Ơ":"ơ","Ƣ":"ƣ","Ƥ":"ƥ","Ʀ":"ʀ","Ƨ":"ƨ","Ʃ":"ʃ","Ƭ":"ƭ","Ʈ":"ʈ","Ư":"ư","Ʊ":"ʊ","Ʋ":"ʋ","Ƴ":"ƴ","Ƶ":"ƶ","Ʒ":"ʒ","Ƹ":"ƹ","Ƽ":"ƽ","DŽ":"dž","Dž":"dž","LJ":"lj","Lj":"lj","NJ":"nj","Nj":"nj","Ǎ":"ǎ","Ǐ":"ǐ","Ǒ":"ǒ","Ǔ":"ǔ","Ǖ":"ǖ","Ǘ":"ǘ","Ǚ":"ǚ","Ǜ":"ǜ","Ǟ":"ǟ","Ǡ":"ǡ","Ǣ":"ǣ","Ǥ":"ǥ","Ǧ":"ǧ","Ǩ":"ǩ","Ǫ":"ǫ","Ǭ":"ǭ","Ǯ":"ǯ","DZ":"dz","Dz":"dz","Ǵ":"ǵ","Ƕ":"ƕ","Ƿ":"ƿ","Ǹ":"ǹ","Ǻ":"ǻ","Ǽ":"ǽ","Ǿ":"ǿ","Ȁ":"ȁ","Ȃ":"ȃ","Ȅ":"ȅ","Ȇ":"ȇ","Ȉ":"ȉ","Ȋ":"ȋ","Ȍ":"ȍ","Ȏ":"ȏ","Ȑ":"ȑ","Ȓ":"ȓ","Ȕ":"ȕ","Ȗ":"ȗ","Ș":"ș","Ț":"ț","Ȝ":"ȝ","Ȟ":"ȟ","Ƞ":"ƞ","Ȣ":"ȣ","Ȥ":"ȥ","Ȧ":"ȧ","Ȩ":"ȩ","Ȫ":"ȫ","Ȭ":"ȭ","Ȯ":"ȯ","Ȱ":"ȱ","Ȳ":"ȳ","Ⱥ":"ⱥ","Ȼ":"ȼ","Ƚ":"ƚ","Ⱦ":"ⱦ","Ɂ":"ɂ","Ƀ":"ƀ","Ʉ":"ʉ","Ʌ":"ʌ","Ɇ":"ɇ","Ɉ":"ɉ","Ɋ":"ɋ","Ɍ":"ɍ","Ɏ":"ɏ","ͅ":"ι","Ͱ":"ͱ","Ͳ":"ͳ","Ͷ":"ͷ","Ϳ":"ϳ","Ά":"ά","Έ":"έ","Ή":"ή","Ί":"ί","Ό":"ό","Ύ":"ύ","Ώ":"ώ","Α":"α","Β":"β","Γ":"γ","Δ":"δ","Ε":"ε","Ζ":"ζ","Η":"η","Θ":"θ","Ι":"ι","Κ":"κ","Λ":"λ","Μ":"μ","Ν":"ν","Ξ":"ξ","Ο":"ο","Π":"π","Ρ":"ρ","Σ":"σ","Τ":"τ","Υ":"υ","Φ":"φ","Χ":"χ","Ψ":"ψ","Ω":"ω","Ϊ":"ϊ","Ϋ":"ϋ","ς":"σ","Ϗ":"ϗ","ϐ":"β","ϑ":"θ","ϕ":"φ","ϖ":"π","Ϙ":"ϙ","Ϛ":"ϛ","Ϝ":"ϝ","Ϟ":"ϟ","Ϡ":"ϡ","Ϣ":"ϣ","Ϥ":"ϥ","Ϧ":"ϧ","Ϩ":"ϩ","Ϫ":"ϫ","Ϭ":"ϭ","Ϯ":"ϯ","ϰ":"κ","ϱ":"ρ","ϴ":"θ","ϵ":"ε","Ϸ":"ϸ","Ϲ":"ϲ","Ϻ":"ϻ","Ͻ":"ͻ","Ͼ":"ͼ","Ͽ":"ͽ","Ѐ":"ѐ","Ё":"ё","Ђ":"ђ","Ѓ":"ѓ","Є":"є","Ѕ":"ѕ","І":"і","Ї":"ї","Ј":"ј","Љ":"љ","Њ":"њ","Ћ":"ћ","Ќ":"ќ","Ѝ":"ѝ","Ў":"ў","Џ":"џ","А":"а","Б":"б","В":"в","Г":"г","Д":"д","Е":"е","Ж":"ж","З":"з","И":"и","Й":"й","К":"к","Л":"л","М":"м","Н":"н","О":"о","П":"п","Р":"р","С":"с","Т":"т","У":"у","Ф":"ф","Х":"х","Ц":"ц","Ч":"ч","Ш":"ш","Щ":"щ","Ъ":"ъ","Ы":"ы","Ь":"ь","Э":"э","Ю":"ю","Я":"я","Ѡ":"ѡ","Ѣ":"ѣ","Ѥ":"ѥ","Ѧ":"ѧ","Ѩ":"ѩ","Ѫ":"ѫ","Ѭ":"ѭ","Ѯ":"ѯ","Ѱ":"ѱ","Ѳ":"ѳ","Ѵ":"ѵ","Ѷ":"ѷ","Ѹ":"ѹ","Ѻ":"ѻ","Ѽ":"ѽ","Ѿ":"ѿ","Ҁ":"ҁ","Ҋ":"ҋ","Ҍ":"ҍ","Ҏ":"ҏ","Ґ":"ґ","Ғ":"ғ","Ҕ":"ҕ","Җ":"җ","Ҙ":"ҙ","Қ":"қ","Ҝ":"ҝ","Ҟ":"ҟ","Ҡ":"ҡ","Ң":"ң","Ҥ":"ҥ","Ҧ":"ҧ","Ҩ":"ҩ","Ҫ":"ҫ","Ҭ":"ҭ","Ү":"ү","Ұ":"ұ","Ҳ":"ҳ","Ҵ":"ҵ","Ҷ":"ҷ","Ҹ":"ҹ","Һ":"һ","Ҽ":"ҽ","Ҿ":"ҿ","Ӏ":"ӏ","Ӂ":"ӂ","Ӄ":"ӄ","Ӆ":"ӆ","Ӈ":"ӈ","Ӊ":"ӊ","Ӌ":"ӌ","Ӎ":"ӎ","Ӑ":"ӑ","Ӓ":"ӓ","Ӕ":"ӕ","Ӗ":"ӗ","Ә":"ә","Ӛ":"ӛ","Ӝ":"ӝ","Ӟ":"ӟ","Ӡ":"ӡ","Ӣ":"ӣ","Ӥ":"ӥ","Ӧ":"ӧ","Ө":"ө","Ӫ":"ӫ","Ӭ":"ӭ","Ӯ":"ӯ","Ӱ":"ӱ","Ӳ":"ӳ","Ӵ":"ӵ","Ӷ":"ӷ","Ӹ":"ӹ","Ӻ":"ӻ","Ӽ":"ӽ","Ӿ":"ӿ","Ԁ":"ԁ","Ԃ":"ԃ","Ԅ":"ԅ","Ԇ":"ԇ","Ԉ":"ԉ","Ԋ":"ԋ","Ԍ":"ԍ","Ԏ":"ԏ","Ԑ":"ԑ","Ԓ":"ԓ","Ԕ":"ԕ","Ԗ":"ԗ","Ԙ":"ԙ","Ԛ":"ԛ","Ԝ":"ԝ","Ԟ":"ԟ","Ԡ":"ԡ","Ԣ":"ԣ","Ԥ":"ԥ","Ԧ":"ԧ","Ԩ":"ԩ","Ԫ":"ԫ","Ԭ":"ԭ","Ԯ":"ԯ","Ա":"ա","Բ":"բ","Գ":"գ","Դ":"դ","Ե":"ե","Զ":"զ","Է":"է","Ը":"ը","Թ":"թ","Ժ":"ժ","Ի":"ի","Լ":"լ","Խ":"խ","Ծ":"ծ","Կ":"կ","Հ":"հ","Ձ":"ձ","Ղ":"ղ","Ճ":"ճ","Մ":"մ","Յ":"յ","Ն":"ն","Շ":"շ","Ո":"ո","Չ":"չ","Պ":"պ","Ջ":"ջ","Ռ":"ռ","Ս":"ս","Վ":"վ","Տ":"տ","Ր":"ր","Ց":"ց","Ւ":"ւ","Փ":"փ","Ք":"ք","Օ":"օ","Ֆ":"ֆ","Ⴀ":"ⴀ","Ⴁ":"ⴁ","Ⴂ":"ⴂ","Ⴃ":"ⴃ","Ⴄ":"ⴄ","Ⴅ":"ⴅ","Ⴆ":"ⴆ","Ⴇ":"ⴇ","Ⴈ":"ⴈ","Ⴉ":"ⴉ","Ⴊ":"ⴊ","Ⴋ":"ⴋ","Ⴌ":"ⴌ","Ⴍ":"ⴍ","Ⴎ":"ⴎ","Ⴏ":"ⴏ","Ⴐ":"ⴐ","Ⴑ":"ⴑ","Ⴒ":"ⴒ","Ⴓ":"ⴓ","Ⴔ":"ⴔ","Ⴕ":"ⴕ","Ⴖ":"ⴖ","Ⴗ":"ⴗ","Ⴘ":"ⴘ","Ⴙ":"ⴙ","Ⴚ":"ⴚ","Ⴛ":"ⴛ","Ⴜ":"ⴜ","Ⴝ":"ⴝ","Ⴞ":"ⴞ","Ⴟ":"ⴟ","Ⴠ":"ⴠ","Ⴡ":"ⴡ","Ⴢ":"ⴢ","Ⴣ":"ⴣ","Ⴤ":"ⴤ","Ⴥ":"ⴥ","Ⴧ":"ⴧ","Ⴭ":"ⴭ","Ḁ":"ḁ","Ḃ":"ḃ","Ḅ":"ḅ","Ḇ":"ḇ","Ḉ":"ḉ","Ḋ":"ḋ","Ḍ":"ḍ","Ḏ":"ḏ","Ḑ":"ḑ","Ḓ":"ḓ","Ḕ":"ḕ","Ḗ":"ḗ","Ḙ":"ḙ","Ḛ":"ḛ","Ḝ":"ḝ","Ḟ":"ḟ","Ḡ":"ḡ","Ḣ":"ḣ","Ḥ":"ḥ","Ḧ":"ḧ","Ḩ":"ḩ","Ḫ":"ḫ","Ḭ":"ḭ","Ḯ":"ḯ","Ḱ":"ḱ","Ḳ":"ḳ","Ḵ":"ḵ","Ḷ":"ḷ","Ḹ":"ḹ","Ḻ":"ḻ","Ḽ":"ḽ","Ḿ":"ḿ","Ṁ":"ṁ","Ṃ":"ṃ","Ṅ":"ṅ","Ṇ":"ṇ","Ṉ":"ṉ","Ṋ":"ṋ","Ṍ":"ṍ","Ṏ":"ṏ","Ṑ":"ṑ","Ṓ":"ṓ","Ṕ":"ṕ","Ṗ":"ṗ","Ṙ":"ṙ","Ṛ":"ṛ","Ṝ":"ṝ","Ṟ":"ṟ","Ṡ":"ṡ","Ṣ":"ṣ","Ṥ":"ṥ","Ṧ":"ṧ","Ṩ":"ṩ","Ṫ":"ṫ","Ṭ":"ṭ","Ṯ":"ṯ","Ṱ":"ṱ","Ṳ":"ṳ","Ṵ":"ṵ","Ṷ":"ṷ","Ṹ":"ṹ","Ṻ":"ṻ","Ṽ":"ṽ","Ṿ":"ṿ","Ẁ":"ẁ","Ẃ":"ẃ","Ẅ":"ẅ","Ẇ":"ẇ","Ẉ":"ẉ","Ẋ":"ẋ","Ẍ":"ẍ","Ẏ":"ẏ","Ẑ":"ẑ","Ẓ":"ẓ","Ẕ":"ẕ","ẛ":"ṡ","Ạ":"ạ","Ả":"ả","Ấ":"ấ","Ầ":"ầ","Ẩ":"ẩ","Ẫ":"ẫ","Ậ":"ậ","Ắ":"ắ","Ằ":"ằ","Ẳ":"ẳ","Ẵ":"ẵ","Ặ":"ặ","Ẹ":"ẹ","Ẻ":"ẻ","Ẽ":"ẽ","Ế":"ế","Ề":"ề","Ể":"ể","Ễ":"ễ","Ệ":"ệ","Ỉ":"ỉ","Ị":"ị","Ọ":"ọ","Ỏ":"ỏ","Ố":"ố","Ồ":"ồ","Ổ":"ổ","Ỗ":"ỗ","Ộ":"ộ","Ớ":"ớ","Ờ":"ờ","Ở":"ở","Ỡ":"ỡ","Ợ":"ợ","Ụ":"ụ","Ủ":"ủ","Ứ":"ứ","Ừ":"ừ","Ử":"ử","Ữ":"ữ","Ự":"ự","Ỳ":"ỳ","Ỵ":"ỵ","Ỷ":"ỷ","Ỹ":"ỹ","Ỻ":"ỻ","Ỽ":"ỽ","Ỿ":"ỿ","Ἀ":"ἀ","Ἁ":"ἁ","Ἂ":"ἂ","Ἃ":"ἃ","Ἄ":"ἄ","Ἅ":"ἅ","Ἆ":"ἆ","Ἇ":"ἇ","Ἐ":"ἐ","Ἑ":"ἑ","Ἒ":"ἒ","Ἓ":"ἓ","Ἔ":"ἔ","Ἕ":"ἕ","Ἠ":"ἠ","Ἡ":"ἡ","Ἢ":"ἢ","Ἣ":"ἣ","Ἤ":"ἤ","Ἥ":"ἥ","Ἦ":"ἦ","Ἧ":"ἧ","Ἰ":"ἰ","Ἱ":"ἱ","Ἲ":"ἲ","Ἳ":"ἳ","Ἴ":"ἴ","Ἵ":"ἵ","Ἶ":"ἶ","Ἷ":"ἷ","Ὀ":"ὀ","Ὁ":"ὁ","Ὂ":"ὂ","Ὃ":"ὃ","Ὄ":"ὄ","Ὅ":"ὅ","Ὑ":"ὑ","Ὓ":"ὓ","Ὕ":"ὕ","Ὗ":"ὗ","Ὠ":"ὠ","Ὡ":"ὡ","Ὢ":"ὢ","Ὣ":"ὣ","Ὤ":"ὤ","Ὥ":"ὥ","Ὦ":"ὦ","Ὧ":"ὧ","Ᾰ":"ᾰ","Ᾱ":"ᾱ","Ὰ":"ὰ","Ά":"ά","ι":"ι","Ὲ":"ὲ","Έ":"έ","Ὴ":"ὴ","Ή":"ή","Ῐ":"ῐ","Ῑ":"ῑ","Ὶ":"ὶ","Ί":"ί","Ῠ":"ῠ","Ῡ":"ῡ","Ὺ":"ὺ","Ύ":"ύ","Ῥ":"ῥ","Ὸ":"ὸ","Ό":"ό","Ὼ":"ὼ","Ώ":"ώ","Ω":"ω","K":"k","Å":"å","Ⅎ":"ⅎ","Ⅰ":"ⅰ","Ⅱ":"ⅱ","Ⅲ":"ⅲ","Ⅳ":"ⅳ","Ⅴ":"ⅴ","Ⅵ":"ⅵ","Ⅶ":"ⅶ","Ⅷ":"ⅷ","Ⅸ":"ⅸ","Ⅹ":"ⅹ","Ⅺ":"ⅺ","Ⅻ":"ⅻ","Ⅼ":"ⅼ","Ⅽ":"ⅽ","Ⅾ":"ⅾ","Ⅿ":"ⅿ","Ↄ":"ↄ","Ⓐ":"ⓐ","Ⓑ":"ⓑ","Ⓒ":"ⓒ","Ⓓ":"ⓓ","Ⓔ":"ⓔ","Ⓕ":"ⓕ","Ⓖ":"ⓖ","Ⓗ":"ⓗ","Ⓘ":"ⓘ","Ⓙ":"ⓙ","Ⓚ":"ⓚ","Ⓛ":"ⓛ","Ⓜ":"ⓜ","Ⓝ":"ⓝ","Ⓞ":"ⓞ","Ⓟ":"ⓟ","Ⓠ":"ⓠ","Ⓡ":"ⓡ","Ⓢ":"ⓢ","Ⓣ":"ⓣ","Ⓤ":"ⓤ","Ⓥ":"ⓥ","Ⓦ":"ⓦ","Ⓧ":"ⓧ","Ⓨ":"ⓨ","Ⓩ":"ⓩ","Ⰰ":"ⰰ","Ⰱ":"ⰱ","Ⰲ":"ⰲ","Ⰳ":"ⰳ","Ⰴ":"ⰴ","Ⰵ":"ⰵ","Ⰶ":"ⰶ","Ⰷ":"ⰷ","Ⰸ":"ⰸ","Ⰹ":"ⰹ","Ⰺ":"ⰺ","Ⰻ":"ⰻ","Ⰼ":"ⰼ","Ⰽ":"ⰽ","Ⰾ":"ⰾ","Ⰿ":"ⰿ","Ⱀ":"ⱀ","Ⱁ":"ⱁ","Ⱂ":"ⱂ","Ⱃ":"ⱃ","Ⱄ":"ⱄ","Ⱅ":"ⱅ","Ⱆ":"ⱆ","Ⱇ":"ⱇ","Ⱈ":"ⱈ","Ⱉ":"ⱉ","Ⱊ":"ⱊ","Ⱋ":"ⱋ","Ⱌ":"ⱌ","Ⱍ":"ⱍ","Ⱎ":"ⱎ","Ⱏ":"ⱏ","Ⱐ":"ⱐ","Ⱑ":"ⱑ","Ⱒ":"ⱒ","Ⱓ":"ⱓ","Ⱔ":"ⱔ","Ⱕ":"ⱕ","Ⱖ":"ⱖ","Ⱗ":"ⱗ","Ⱘ":"ⱘ","Ⱙ":"ⱙ","Ⱚ":"ⱚ","Ⱛ":"ⱛ","Ⱜ":"ⱜ","Ⱝ":"ⱝ","Ⱞ":"ⱞ","Ⱡ":"ⱡ","Ɫ":"ɫ","Ᵽ":"ᵽ","Ɽ":"ɽ","Ⱨ":"ⱨ","Ⱪ":"ⱪ","Ⱬ":"ⱬ","Ɑ":"ɑ","Ɱ":"ɱ","Ɐ":"ɐ","Ɒ":"ɒ","Ⱳ":"ⱳ","Ⱶ":"ⱶ","Ȿ":"ȿ","Ɀ":"ɀ","Ⲁ":"ⲁ","Ⲃ":"ⲃ","Ⲅ":"ⲅ","Ⲇ":"ⲇ","Ⲉ":"ⲉ","Ⲋ":"ⲋ","Ⲍ":"ⲍ","Ⲏ":"ⲏ","Ⲑ":"ⲑ","Ⲓ":"ⲓ","Ⲕ":"ⲕ","Ⲗ":"ⲗ","Ⲙ":"ⲙ","Ⲛ":"ⲛ","Ⲝ":"ⲝ","Ⲟ":"ⲟ","Ⲡ":"ⲡ","Ⲣ":"ⲣ","Ⲥ":"ⲥ","Ⲧ":"ⲧ","Ⲩ":"ⲩ","Ⲫ":"ⲫ","Ⲭ":"ⲭ","Ⲯ":"ⲯ","Ⲱ":"ⲱ","Ⲳ":"ⲳ","Ⲵ":"ⲵ","Ⲷ":"ⲷ","Ⲹ":"ⲹ","Ⲻ":"ⲻ","Ⲽ":"ⲽ","Ⲿ":"ⲿ","Ⳁ":"ⳁ","Ⳃ":"ⳃ","Ⳅ":"ⳅ","Ⳇ":"ⳇ","Ⳉ":"ⳉ","Ⳋ":"ⳋ","Ⳍ":"ⳍ","Ⳏ":"ⳏ","Ⳑ":"ⳑ","Ⳓ":"ⳓ","Ⳕ":"ⳕ","Ⳗ":"ⳗ","Ⳙ":"ⳙ","Ⳛ":"ⳛ","Ⳝ":"ⳝ","Ⳟ":"ⳟ","Ⳡ":"ⳡ","Ⳣ":"ⳣ","Ⳬ":"ⳬ","Ⳮ":"ⳮ","Ⳳ":"ⳳ","Ꙁ":"ꙁ","Ꙃ":"ꙃ","Ꙅ":"ꙅ","Ꙇ":"ꙇ","Ꙉ":"ꙉ","Ꙋ":"ꙋ","Ꙍ":"ꙍ","Ꙏ":"ꙏ","Ꙑ":"ꙑ","Ꙓ":"ꙓ","Ꙕ":"ꙕ","Ꙗ":"ꙗ","Ꙙ":"ꙙ","Ꙛ":"ꙛ","Ꙝ":"ꙝ","Ꙟ":"ꙟ","Ꙡ":"ꙡ","Ꙣ":"ꙣ","Ꙥ":"ꙥ","Ꙧ":"ꙧ","Ꙩ":"ꙩ","Ꙫ":"ꙫ","Ꙭ":"ꙭ","Ꚁ":"ꚁ","Ꚃ":"ꚃ","Ꚅ":"ꚅ","Ꚇ":"ꚇ","Ꚉ":"ꚉ","Ꚋ":"ꚋ","Ꚍ":"ꚍ","Ꚏ":"ꚏ","Ꚑ":"ꚑ","Ꚓ":"ꚓ","Ꚕ":"ꚕ","Ꚗ":"ꚗ","Ꚙ":"ꚙ","Ꚛ":"ꚛ","Ꜣ":"ꜣ","Ꜥ":"ꜥ","Ꜧ":"ꜧ","Ꜩ":"ꜩ","Ꜫ":"ꜫ","Ꜭ":"ꜭ","Ꜯ":"ꜯ","Ꜳ":"ꜳ","Ꜵ":"ꜵ","Ꜷ":"ꜷ","Ꜹ":"ꜹ","Ꜻ":"ꜻ","Ꜽ":"ꜽ","Ꜿ":"ꜿ","Ꝁ":"ꝁ","Ꝃ":"ꝃ","Ꝅ":"ꝅ","Ꝇ":"ꝇ","Ꝉ":"ꝉ","Ꝋ":"ꝋ","Ꝍ":"ꝍ","Ꝏ":"ꝏ","Ꝑ":"ꝑ","Ꝓ":"ꝓ","Ꝕ":"ꝕ","Ꝗ":"ꝗ","Ꝙ":"ꝙ","Ꝛ":"ꝛ","Ꝝ":"ꝝ","Ꝟ":"ꝟ","Ꝡ":"ꝡ","Ꝣ":"ꝣ","Ꝥ":"ꝥ","Ꝧ":"ꝧ","Ꝩ":"ꝩ","Ꝫ":"ꝫ","Ꝭ":"ꝭ","Ꝯ":"ꝯ","Ꝺ":"ꝺ","Ꝼ":"ꝼ","Ᵹ":"ᵹ","Ꝿ":"ꝿ","Ꞁ":"ꞁ","Ꞃ":"ꞃ","Ꞅ":"ꞅ","Ꞇ":"ꞇ","Ꞌ":"ꞌ","Ɥ":"ɥ","Ꞑ":"ꞑ","Ꞓ":"ꞓ","Ꞗ":"ꞗ","Ꞙ":"ꞙ","Ꞛ":"ꞛ","Ꞝ":"ꞝ","Ꞟ":"ꞟ","Ꞡ":"ꞡ","Ꞣ":"ꞣ","Ꞥ":"ꞥ","Ꞧ":"ꞧ","Ꞩ":"ꞩ","Ɦ":"ɦ","Ɜ":"ɜ","Ɡ":"ɡ","Ɬ":"ɬ","Ʞ":"ʞ","Ʇ":"ʇ","A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","𐐀":"𐐨","𐐁":"𐐩","𐐂":"𐐪","𐐃":"𐐫","𐐄":"𐐬","𐐅":"𐐭","𐐆":"𐐮","𐐇":"𐐯","𐐈":"𐐰","𐐉":"𐐱","𐐊":"𐐲","𐐋":"𐐳","𐐌":"𐐴","𐐍":"𐐵","𐐎":"𐐶","𐐏":"𐐷","𐐐":"𐐸","𐐑":"𐐹","𐐒":"𐐺","𐐓":"𐐻","𐐔":"𐐼","𐐕":"𐐽","𐐖":"𐐾","𐐗":"𐐿","𐐘":"𐑀","𐐙":"𐑁","𐐚":"𐑂","𐐛":"𐑃","𐐜":"𐑄","𐐝":"𐑅","𐐞":"𐑆","𐐟":"𐑇","𐐠":"𐑈","𐐡":"𐑉","𐐢":"𐑊","𐐣":"𐑋","𐐤":"𐑌","𐐥":"𐑍","𐐦":"𐑎","𐐧":"𐑏","𑢠":"𑣀","𑢡":"𑣁","𑢢":"𑣂","𑢣":"𑣃","𑢤":"𑣄","𑢥":"𑣅","𑢦":"𑣆","𑢧":"𑣇","𑢨":"𑣈","𑢩":"𑣉","𑢪":"𑣊","𑢫":"𑣋","𑢬":"𑣌","𑢭":"𑣍","𑢮":"𑣎","𑢯":"𑣏","𑢰":"𑣐","𑢱":"𑣑","𑢲":"𑣒","𑢳":"𑣓","𑢴":"𑣔","𑢵":"𑣕","𑢶":"𑣖","𑢷":"𑣗","𑢸":"𑣘","𑢹":"𑣙","𑢺":"𑣚","𑢻":"𑣛","𑢼":"𑣜","𑢽":"𑣝","𑢾":"𑣞","𑢿":"𑣟","ß":"ss","İ":"i̇","ʼn":"ʼn","ǰ":"ǰ","ΐ":"ΐ","ΰ":"ΰ","և":"եւ","ẖ":"ẖ","ẗ":"ẗ","ẘ":"ẘ","ẙ":"ẙ","ẚ":"aʾ","ẞ":"ss","ὐ":"ὐ","ὒ":"ὒ","ὔ":"ὔ","ὖ":"ὖ","ᾀ":"ἀι","ᾁ":"ἁι","ᾂ":"ἂι","ᾃ":"ἃι","ᾄ":"ἄι","ᾅ":"ἅι","ᾆ":"ἆι","ᾇ":"ἇι","ᾈ":"ἀι","ᾉ":"ἁι","ᾊ":"ἂι","ᾋ":"ἃι","ᾌ":"ἄι","ᾍ":"ἅι","ᾎ":"ἆι","ᾏ":"ἇι","ᾐ":"ἠι","ᾑ":"ἡι","ᾒ":"ἢι","ᾓ":"ἣι","ᾔ":"ἤι","ᾕ":"ἥι","ᾖ":"ἦι","ᾗ":"ἧι","ᾘ":"ἠι","ᾙ":"ἡι","ᾚ":"ἢι","ᾛ":"ἣι","ᾜ":"ἤι","ᾝ":"ἥι","ᾞ":"ἦι","ᾟ":"ἧι","ᾠ":"ὠι","ᾡ":"ὡι","ᾢ":"ὢι","ᾣ":"ὣι","ᾤ":"ὤι","ᾥ":"ὥι","ᾦ":"ὦι","ᾧ":"ὧι","ᾨ":"ὠι","ᾩ":"ὡι","ᾪ":"ὢι","ᾫ":"ὣι","ᾬ":"ὤι","ᾭ":"ὥι","ᾮ":"ὦι","ᾯ":"ὧι","ᾲ":"ὰι","ᾳ":"αι","ᾴ":"άι","ᾶ":"ᾶ","ᾷ":"ᾶι","ᾼ":"αι","ῂ":"ὴι","ῃ":"ηι","ῄ":"ήι","ῆ":"ῆ","ῇ":"ῆι","ῌ":"ηι","ῒ":"ῒ","ΐ":"ΐ","ῖ":"ῖ","ῗ":"ῗ","ῢ":"ῢ","ΰ":"ΰ","ῤ":"ῤ","ῦ":"ῦ","ῧ":"ῧ","ῲ":"ὼι","ῳ":"ωι","ῴ":"ώι","ῶ":"ῶ","ῷ":"ῶι","ῼ":"ωι","ff":"ff","fi":"fi","fl":"fl","ffi":"ffi","ffl":"ffl","ſt":"st","st":"st","ﬓ":"մն","ﬔ":"մե","ﬕ":"մի","ﬖ":"վն","ﬗ":"մխ"};module.exports=function(string){return string.slice(1,string.length-1).trim().replace(regex,function($0){return map[$0]||" "})}},{}],9:[function(require,module,exports){"use strict";function XmlRenderer(options){return{softbreak:"\n",escape:escapeXml,options:options||{},render:renderNodes}}var escapeXml=require("./common").escapeXml,tag=function(name,attrs,selfclosing){var result="<"+name;if(attrs&&attrs.length>0)for(var attrib,i=0;void 0!==(attrib=attrs[i]);)result+=" "+attrib[0]+'="'+attrib[1]+'"',i++;return selfclosing&&(result+=" /"),result+=">"},reXMLTag=/\<[^>]*\>/,toTagName=function(s){return s.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()},renderNodes=function(block){var attrs,tagname,event,node,entering,unescapedContents,container,selfClosing,nodetype,walker=block.walker(),buffer="",lastOut="\n",disableTags=0,indentLevel=0,indent=" ",out=function(s){buffer+=disableTags>0?s.replace(reXMLTag,""):s,lastOut=s},esc=this.escape,cr=function(){if("\n"!==lastOut){buffer+="\n",lastOut="\n";for(var i=indentLevel;i>0;i--)buffer+=indent}},options=this.options;for(options.time&&console.time("rendering"),buffer+='\n',buffer+='\n';event=walker.next();)if(entering=event.entering,node=event.node,nodetype=node.type,container=node.isContainer,selfClosing="HorizontalRule"===nodetype||"Hardbreak"===nodetype||"Softbreak"===nodetype,unescapedContents="Html"===nodetype||"HtmlInline"===nodetype,tagname=toTagName(nodetype),entering){switch(attrs=[],nodetype){case"List":null!==node.listType&&attrs.push(["type",node.listType.toLowerCase()]),null!==node.listStart&&attrs.push(["start",String(node.listStart)]),null!==node.listTight&&attrs.push(["tight",node.listTight?"true":"false"]);var delim=node.listDelimiter;if(null!==delim){var delimword="";delimword="."===delim?"period":"paren",attrs.push(["delimiter",delimword])}break;case"CodeBlock":node.info&&attrs.push(["info",node.info]);break;case"Header":attrs.push(["level",String(node.level)]);break;case"Link":case"Image":attrs.push(["destination",node.destination]),attrs.push(["title",node.title])}if(options.sourcepos){var pos=node.sourcepos;pos&&attrs.push(["sourcepos",String(pos[0][0])+":"+String(pos[0][1])+"-"+String(pos[1][0])+":"+String(pos[1][1])])}if(cr(),out(tag(tagname,attrs,selfClosing)),container)indentLevel+=1;else if(!container&&!selfClosing){var lit=node.literal;lit&&out(unescapedContents?lit:esc(lit)),out(tag("/"+tagname))}}else indentLevel-=1,cr(),out(tag("/"+tagname));return options.time&&console.timeEnd("rendering"),buffer+="\n"};module.exports=XmlRenderer},{"./common":2}],10:[function(require,module,exports){var encode=require("./lib/encode.js"),decode=require("./lib/decode.js");exports.decode=function(data,level){return(!level||0>=level?decode.XML:decode.HTML)(data)},exports.decodeStrict=function(data,level){return(!level||0>=level?decode.XML:decode.HTMLStrict)(data)},exports.encode=function(data,level){return(!level||0>=level?encode.XML:encode.HTML)(data)},exports.encodeXML=encode.XML,exports.encodeHTML4=exports.encodeHTML5=exports.encodeHTML=encode.HTML,exports.decodeXML=exports.decodeXMLStrict=decode.XML,exports.decodeHTML4=exports.decodeHTML5=exports.decodeHTML=decode.HTML,exports.decodeHTML4Strict=exports.decodeHTML5Strict=exports.decodeHTMLStrict=decode.HTMLStrict,exports.escape=encode.escape},{"./lib/decode.js":11,"./lib/encode.js":13}],11:[function(require,module,exports){function getStrictDecoder(map){var keys=Object.keys(map).join("|"),replace=getReplacer(map);keys+="|#[xX][\\da-fA-F]+|#\\d+";var re=new RegExp("&(?:"+keys+");","g");return function(str){return String(str).replace(re,replace)}}function sorter(a,b){return b>a?1:-1}function getReplacer(map){return function(str){return"#"===str.charAt(1)?decodeCodePoint("X"===str.charAt(2)||"x"===str.charAt(2)?parseInt(str.substr(3),16):parseInt(str.substr(2),10)):map[str.slice(1,-1)]}}var entityMap=require("../maps/entities.json"),legacyMap=require("../maps/legacy.json"),xmlMap=require("../maps/xml.json"),decodeCodePoint=require("./decode_codepoint.js"),decodeXMLStrict=getStrictDecoder(xmlMap),decodeHTMLStrict=getStrictDecoder(entityMap),decodeHTML=function(){function replacer(str){return";"!==str.substr(-1)&&(str+=";"),replace(str)}for(var legacy=Object.keys(legacyMap).sort(sorter),keys=Object.keys(entityMap).sort(sorter),i=0,j=0;keys.length>i;i++)legacy[j]===keys[i]?(keys[i]+=";?",j++):keys[i]+=";";var re=new RegExp("&(?:"+keys.join("|")+"|#[xX][\\da-fA-F]+;?|#\\d+;?)","g"),replace=getReplacer(entityMap);return function(str){return String(str).replace(re,replacer)}}();module.exports={XML:decodeXMLStrict,HTML:decodeHTML,HTMLStrict:decodeHTMLStrict}},{"../maps/entities.json":15,"../maps/legacy.json":16,"../maps/xml.json":17,"./decode_codepoint.js":12}],12:[function(require,module,exports){function decodeCodePoint(codePoint){if(codePoint>=55296&&57343>=codePoint||codePoint>1114111)return"�";codePoint in decodeMap&&(codePoint=decodeMap[codePoint]);var output="";return codePoint>65535&&(codePoint-=65536,output+=String.fromCharCode(codePoint>>>10&1023|55296),codePoint=56320|1023&codePoint),output+=String.fromCharCode(codePoint)}var decodeMap=require("../maps/decode.json");module.exports=decodeCodePoint},{"../maps/decode.json":14}],13:[function(require,module,exports){function getInverseObj(obj){return Object.keys(obj).sort().reduce(function(inverse,name){return inverse[obj[name]]="&"+name+";",inverse},{})}function getInverseReplacer(inverse){var single=[],multiple=[];return Object.keys(inverse).forEach(function(k){1===k.length?single.push("\\"+k):multiple.push(k)}),multiple.unshift("["+single.join("")+"]"),new RegExp(multiple.join("|"),"g")}function singleCharReplacer(c){return""+c.charCodeAt(0).toString(16).toUpperCase()+";"}function astralReplacer(c){var high=c.charCodeAt(0),low=c.charCodeAt(1),codePoint=1024*(high-55296)+low-56320+65536;return""+codePoint.toString(16).toUpperCase()+";"}function getInverse(inverse,re){function func(name){return inverse[name]}return function(data){return data.replace(re,func).replace(re_astralSymbols,astralReplacer).replace(re_nonASCII,singleCharReplacer)}}function escapeXML(data){return data.replace(re_xmlChars,singleCharReplacer).replace(re_astralSymbols,astralReplacer).replace(re_nonASCII,singleCharReplacer)}var inverseXML=getInverseObj(require("../maps/xml.json")),xmlReplacer=getInverseReplacer(inverseXML);exports.XML=getInverse(inverseXML,xmlReplacer);var inverseHTML=getInverseObj(require("../maps/entities.json")),htmlReplacer=getInverseReplacer(inverseHTML);exports.HTML=getInverse(inverseHTML,htmlReplacer);var re_nonASCII=/[^\0-\x7F]/g,re_astralSymbols=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,re_xmlChars=getInverseReplacer(inverseXML);exports.escape=escapeXML},{"../maps/entities.json":15,"../maps/xml.json":17}],14:[function(require,module,exports){module.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},{}],15:[function(require,module,exports){module.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cup:"∪",Cup:"⋓",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",Darr:"↡",dArr:"⇓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",ddagger:"‡",ddarr:"⇊",DD:"ⅅ",dd:"ⅆ",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrowBar:"⤓",downarrow:"↓",DownArrow:"↓",Downarrow:"⇓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVectorBar:"⥖",DownLeftVector:"↽",DownRightTeeVector:"⥟",DownRightVectorBar:"⥗",DownRightVector:"⇁",DownTeeArrow:"↧",DownTee:"⊤",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",Ecirc:"Ê",ecirc:"ê",ecir:"≖",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",edot:"ė",eDot:"≑",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp13:" ",emsp14:" ",emsp:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",ge:"≥",gE:"≧",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",gescc:"⪩",ges:"⩾",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gla:"⪥",gl:"≷",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gtcc:"⪧",gtcir:"⩺",gt:">",GT:">",Gt:"≫",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",harrcir:"⥈",harr:"↔",hArr:"⇔",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",Im:"ℑ",imof:"⊷",imped:"Ƶ",Implies:"⇒",incare:"℅","in":"∈",infin:"∞",infintie:"⧝",inodot:"ı",intcal:"⊺","int":"∫",Int:"∬",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"",InvisibleTimes:"",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larrb:"⇤",larrbfs:"⤟",larr:"←",Larr:"↞",lArr:"⇐",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",latail:"⤙",lAtail:"⤛",lat:"⪫",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",LeftArrowBar:"⇤",leftarrow:"←",LeftArrow:"←",Leftarrow:"⇐",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVectorBar:"⥙",LeftDownVector:"⇃",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTeeArrow:"↤",LeftTee:"⊣",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangleBar:"⧏",LeftTriangle:"⊲",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVectorBar:"⥘",LeftUpVector:"↿",LeftVectorBar:"⥒",LeftVector:"↼",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",lescc:"⪨",les:"⩽",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",llarr:"⇇",ll:"≪",Ll:"⋘",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoustache:"⎰",lmoust:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftrightarrow:"⟷",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longmapsto:"⟼",longrightarrow:"⟶",LongRightArrow:"⟶",Longrightarrow:"⟹",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",ltcc:"⪦",ltcir:"⩹",lt:"<",LT:"<",Lt:"≪",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",midast:"*",midcir:"⫰",mid:"∣",middot:"·",minusb:"⊟",minus:"−",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natural:"♮",naturals:"ℕ",natur:"♮",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",ne:"≠",nedot:"≐̸",NegativeMediumSpace:"",NegativeThickSpace:"",NegativeThinSpace:"",NegativeVeryThinSpace:"",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nlE:"≦̸",nle:"≰",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangleBar:"⧏̸",NotLeftTriangle:"⋪",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangleBar:"⧐̸",NotRightTriangle:"⋫",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",nparallel:"∦",npar:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",nprec:"⊀",npreceq:"⪯̸",npre:"⪯̸",nrarrc:"⤳̸",nrarr:"↛",nrArr:"⇏",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",Ocirc:"Ô",ocirc:"ô",ocir:"⊚",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",orarr:"↻",Or:"⩔",or:"∨",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",otimesas:"⨶",Otimes:"⨷",otimes:"⊗",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",para:"¶",parallel:"∥",par:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plus:"+",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",prap:"⪷",Pr:"⪻",pr:"≺",prcue:"≼",precapprox:"⪷",prec:"≺",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",pre:"⪯",prE:"⪳",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportional:"∝",Proportion:"∷",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarr:"→",Rarr:"↠",rArr:"⇒",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",Re:"ℜ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrowBar:"⇥",rightarrow:"→",RightArrow:"→",Rightarrow:"⇒",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVectorBar:"⥕",RightDownVector:"⇂",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTeeArrow:"↦",RightTee:"⊢",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangleBar:"⧐",RightTriangle:"⊳",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVectorBar:"⥔",RightUpVector:"↾",RightVectorBar:"⥓",RightVector:"⇀",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"",rmoustache:"⎱",rmoust:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",scap:"⪸",Scaron:"Š",scaron:"š",Sc:"⪼",sc:"≻",sccue:"≽",sce:"⪰",scE:"⪴",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdotb:"⊡",sdot:"⋅",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",solbar:"⌿",solb:"⧄",sol:"/",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squ:"□",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succapprox:"⪸",succ:"≻",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",Sup:"⋑",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",therefore:"∴",Therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:" ",ThinSpace:" ",thinsp:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",timesbar:"⨱",timesb:"⊠",times:"×",timesd:"⨰",tint:"∭",toea:"⤨",topbot:"⌶",topcir:"⫱",top:"⊤",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",uarr:"↑",Uarr:"↟",uArr:"⇑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrowBar:"⤒",uparrow:"↑",UpArrow:"↑",Uparrow:"⇑",UpArrowDownArrow:"⇅",updownarrow:"↕",UpDownArrow:"↕",Updownarrow:"⇕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTeeArrow:"↥",UpTee:"⊥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",Vcy:"В",vcy:"в",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",veebar:"⊻",vee:"∨",Vee:"⋁",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xharr:"⟷",xhArr:"⟺",Xi:"Ξ",xi:"ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",yuml:"ÿ",Yuml:"Ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"",Zeta:"Ζ",zeta:"ζ",zfr:"𝔷",Zfr:"ℨ",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",Zscr:"𝒵",zscr:"𝓏",zwj:"",zwnj:""}
+},{}],16:[function(require,module,exports){module.exports={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",amp:"&",AMP:"&",Aring:"Å",aring:"å",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",brvbar:"¦",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",iquest:"¿",Iuml:"Ï",iuml:"ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",Ntilde:"Ñ",ntilde:"ñ",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",Ograve:"Ò",ograve:"ò",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",Ouml:"Ö",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",THORN:"Þ",thorn:"þ",times:"×",Uacute:"Ú",uacute:"ú",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",Uuml:"Ü",uuml:"ü",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ"}},{}],17:[function(require,module,exports){module.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}},{}],18:[function(require,module,exports){"use strict";function getDecodeCache(exclude){var i,ch,cache=decodeCache[exclude];if(cache)return cache;for(cache=decodeCache[exclude]=[],i=0;128>i;i++)ch=String.fromCharCode(i),cache.push(ch);for(i=0;exclude.length>i;i++)ch=exclude.charCodeAt(i),cache[ch]="%"+("0"+ch.toString(16).toUpperCase()).slice(-2);return cache}function decode(string,exclude){var cache;return"string"!=typeof exclude&&(exclude=decode.defaultChars),cache=getDecodeCache(exclude),string.replace(/(%[a-f0-9]{2})+/gi,function(seq){var i,l,b1,b2,b3,b4,char,result="";for(i=0,l=seq.length;l>i;i+=3)b1=parseInt(seq.slice(i+1,i+3),16),128>b1?result+=cache[b1]:192===(224&b1)&&l>i+3&&(b2=parseInt(seq.slice(i+4,i+6),16),128===(192&b2))?(char=b1<<6&1984|63&b2,result+=128>char?"��":String.fromCharCode(char),i+=3):224===(240&b1)&&l>i+6&&(b2=parseInt(seq.slice(i+4,i+6),16),b3=parseInt(seq.slice(i+7,i+9),16),128===(192&b2)&&128===(192&b3))?(char=b1<<12&61440|b2<<6&4032|63&b3,result+=2048>char||char>=55296&&57343>=char?"���":String.fromCharCode(char),i+=6):240===(248&b1)&&l>i+9&&(b2=parseInt(seq.slice(i+4,i+6),16),b3=parseInt(seq.slice(i+7,i+9),16),b4=parseInt(seq.slice(i+10,i+12),16),128===(192&b2)&&128===(192&b3)&&128===(192&b4))?(char=b1<<18&1835008|b2<<12&258048|b3<<6&4032|63&b4,65536>char||char>1114111?result+="����":(char-=65536,result+=String.fromCharCode(55296+(char>>10),56320+(1023&char))),i+=9):result+="�";return result})}var decodeCache={};decode.defaultChars=";/?:@&=+$,#",decode.componentChars="",module.exports=decode},{}],19:[function(require,module,exports){"use strict";function getEncodeCache(exclude){var i,ch,cache=encodeCache[exclude];if(cache)return cache;for(cache=encodeCache[exclude]=[],i=0;128>i;i++)ch=String.fromCharCode(i),cache.push(/^[0-9a-z]$/i.test(ch)?ch:"%"+("0"+i.toString(16).toUpperCase()).slice(-2));for(i=0;exclude.length>i;i++)cache[exclude.charCodeAt(i)]=exclude[i];return cache}function encode(string,exclude,keepEscaped){var i,l,code,nextCode,cache,result="";for("string"!=typeof exclude&&(keepEscaped=exclude,exclude=encode.defaultChars),"undefined"==typeof keepEscaped&&(keepEscaped=!0),cache=getEncodeCache(exclude),i=0,l=string.length;l>i;i++)if(code=string.charCodeAt(i),keepEscaped&&37===code&&l>i+2&&/^[0-9a-f]{2}$/i.test(string.slice(i+1,i+3)))result+=string.slice(i,i+3),i+=2;else if(128>code)result+=cache[code];else if(code>=55296&&57343>=code){if(code>=55296&&56319>=code&&l>i+1&&(nextCode=string.charCodeAt(i+1),nextCode>=56320&&57343>=nextCode)){result+=encodeURIComponent(string[i]+string[i+1]),i++;continue}result+="%EF%BF%BD"}else result+=encodeURIComponent(string[i]);return result}var encodeCache={};encode.defaultChars=";/?:@&=+$,-_.!~*'()#",encode.componentChars="-_.!~*'()",module.exports=encode},{}],20:[function(require,module,exports){String.prototype.repeat||!function(){"use strict";var defineProperty=function(){try{var object={},$defineProperty=Object.defineProperty,result=$defineProperty(object,object,object)&&$defineProperty}catch(error){}return result}(),repeat=function(count){if(null==this)throw TypeError();var string=String(this),n=count?Number(count):0;if(n!=n&&(n=0),0>n||1/0==n)throw RangeError();for(var result="";n;)n%2==1&&(result+=string),n>1&&(string+=string),n>>=1;return result};defineProperty?defineProperty(String.prototype,"repeat",{value:repeat,configurable:!0,writable:!0}):String.prototype.repeat=repeat}()},{}]},{},[5])(5)});
\ No newline at end of file