From 9892ec4da632417a002b0a9db533abd91f323ca5 Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Fri, 31 Jul 2015 12:01:47 +0200 Subject: [PATCH] Refactor to externalise core API This refactor externalises the API (process/ use / parse / transform / compile). The two reasons for that: * Now **retext** can use a similar API, without duplicate code; * Less commits relating to API design will be in this repository. This does change the exports object of `lib/parse` and `lib/compile`, in that they previously exposed different interfaces (a function with a constructor on top). This was normalized into just a constructor (`Parser` / `Compiler`) which receive a virtual file and settings, and expose respectivly either a `parse` or a `compile` method. This additionally changes some internals (where plug-ins) are stored, and removes the limitation of not allowing multiple equal attachers. --- component.json | 3 +- index.js | 327 +--- lib/parse.js | 45 +- lib/stringify.js | 31 +- mdast.js | 4830 +++++++++++++++++++++++++++++++++------------- mdast.min.js | 2 +- package.json | 3 +- test/index.js | 10 +- 8 files changed, 3498 insertions(+), 1753 deletions(-) diff --git a/component.json b/component.json index 9a8b6102a..be3e498ba 100644 --- a/component.json +++ b/component.json @@ -26,8 +26,7 @@ "jonschlinkert/repeat-string": "^1.5.2", "component/trim": "^0.0.1", "wooorm/trim-trailing-lines": "^1.0.0", - "segmentio/ware": "^1.2.0", - "wooorm/vfile": "^1.0.0" + "wooorm/unified": "^1.0.0" }, "repository": "wooorm/mdast", "scripts": [ diff --git a/index.js b/index.js index 3db83b238..4d4365e0a 100644 --- a/index.js +++ b/index.js @@ -12,324 +12,17 @@ * Dependencies. */ -var Ware = require('ware'); -var VFile = require('vfile'); -var extend = require('extend.js'); -var parser = require('./lib/parse.js'); -var stringifier = require('./lib/stringify.js'); -var utilities = require('./lib/utilities.js'); +var unified = require('unified'); +var Parser = require('./lib/parse.js'); +var Compiler = require('./lib/stringify.js'); /* - * Methods. + * Exports. */ -var Parser = parser.Parser; -var parseProto = Parser.prototype; -var Compiler = stringifier.Compiler; -var compileProto = Compiler.prototype; - -/** - * Throws if passed an exception. - * - * Here until the following PR is merged into - * segmentio/ware: - * - * https://github.com/segmentio/ware/pull/21 - * - * @param {Error?} exception - */ -function fail(exception) { - if (exception) { - throw exception; - } -} - -/** - * Create a custom, cloned, Parser. - * - * @return {Function} - */ -function constructParser() { - var customProto; - var expressions; - var key; - - /** - * Extensible prototype. - */ - function CustomProto() {} - - CustomProto.prototype = parseProto; - - customProto = new CustomProto(); - - /** - * Extensible constructor. - */ - function CustomParser() { - Parser.apply(this, arguments); - } - - CustomParser.prototype = customProto; - - /* - * Construct new objects for things that plugin's - * might modify. - */ - - customProto.blockTokenizers = extend({}, parseProto.blockTokenizers); - customProto.blockMethods = extend([], parseProto.blockMethods); - customProto.inlineTokenizers = extend({}, parseProto.inlineTokenizers); - customProto.inlineMethods = extend([], parseProto.inlineMethods); - - expressions = parseProto.expressions; - customProto.expressions = {}; - - for (key in expressions) { - customProto.expressions[key] = extend({}, expressions[key]); - } - - return CustomParser; -} - -/** - * Create a custom, cloned, Compiler. - * - * @return {Function} - */ -function constructCompiler() { - var customProto; - - /** - * Extensible prototype. - */ - function CustomProto() {} - - CustomProto.prototype = compileProto; - - customProto = new CustomProto(); - - /** - * Extensible constructor. - */ - function CustomCompiler() { - Compiler.apply(this, arguments); - } - - CustomCompiler.prototype = customProto; - - return CustomCompiler; -} - -/** - * Construct an MDAST instance. - * - * @constructor {MDAST} - */ -function MDAST() { - var self = this; - - if (!(self instanceof MDAST)) { - return new MDAST(); - } - - self.ware = new Ware(); - self.attachers = []; - - self.Parser = constructParser(); - self.Compiler = constructCompiler(); -} - -/** - * Attach a plugin. - * - * @param {Function|Array.} attach - * @param {Object?} [options] - * @param {FileSet?} [fileSet] - Optional file-set, - * passed by the CLI. - * @return {MDAST} - */ -function use(attach, options, fileSet) { - var self = this; - var index; - var transformer; - - if (!(self instanceof MDAST)) { - self = new MDAST(); - } - - /* - * Multiple attachers. - */ - - if ('length' in attach && typeof attach !== 'function') { - index = -1; - - while (attach[++index]) { - self.use(attach[index], options, fileSet); - } - - return self; - } - - /* - * Single plugin. - */ - - if (self.attachers.indexOf(attach) === -1) { - transformer = attach(self, options, fileSet); - - self.attachers.push(attach); - - if (transformer) { - self.ware.use(transformer); - } - } - - return self; -} - -/** - * Apply transformers to `node`. - * - * @param {Node} ast - * @param {VFile?} [file] - * @param {Function?} [done] - * @return {Node} - `ast`. - */ -function run(ast, file, done) { - var self = this; - - if (typeof file === 'function') { - done = file; - file = null; - } - - file = new VFile(file); - - done = typeof done === 'function' ? done : fail; - - if (typeof ast !== 'object' && typeof ast.type !== 'string') { - utilities.raise(ast, 'ast'); - } - - /* - * Only run when this is an instance of MDAST. - */ - - if (self.ware) { - self.ware.run(ast, file, done); - } else { - done(null, ast, file); - } - - return ast; -} - -/** - * Wrapper to pass a file to `parser`. - */ -function parse(value, options) { - var file = new VFile(value); - var ast = file.namespace('mdast').ast = parser.call(this, file, options); - - return ast; -} - -/** - * Wrapper to pass a file to `stringifier`. - */ -function stringify(ast, file, options) { - if (options === null || options === undefined) { - options = file; - file = null; - } - - if (!file && ast && !ast.type) { - file = ast; - ast = null; - } - - file = new VFile(file); - - if (!ast) { - ast = file.namespace('mdast').ast || ast; - } - - return stringifier.call(this, ast, file, options); -} - -/** - * Parse a value and apply transformers. - * - * @param {string|VFile} value - * @param {Object?} [options] - * @param {Function?} [done] - * @return {string?} - */ -function process(value, options, done) { - var file = new VFile(value); - var self = this instanceof MDAST ? this : new MDAST(); - var result = null; - var ast; - - if (typeof options === 'function') { - done = options; - options = null; - } - - if (!options) { - options = {}; - } - - /** - * Invoked when `run` completes. Hoists `result` into - * the upper scope to return something for sync - * operations. - */ - function callback(exception) { - if (exception) { - (done || fail)(exception); - } else { - result = self.stringify(ast, file, options); - - if (done) { - done(null, result, file); - } - } - } - - ast = self.parse(file, options); - - self.run(ast, file, callback); - - return result; -} - -/* - * Methods. - */ - -var proto = MDAST.prototype; - -proto.use = use; -proto.parse = parse; -proto.run = run; -proto.stringify = stringify; -proto.process = process; - -/* - * Functions. - */ - -MDAST.use = use; -MDAST.parse = parse; -MDAST.run = run; -MDAST.stringify = stringify; -MDAST.process = process; - -/* - * Expose `mdast`. - */ - -module.exports = MDAST; +module.exports = unified({ + 'name': 'mdast', + 'type': 'ast', + 'Parser': Parser, + 'Compiler': Compiler +}); diff --git a/lib/parse.js b/lib/parse.js index b44bbc019..5f842db03 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -1878,17 +1878,19 @@ function tokenizeBreak(eat, $0) { * Construct a new parser. * * @example - * var parser = new Parser(); + * var parser = new Parser(new VFile('Foo')); * * @constructor * @class {Parser} + * @param {VFile} file - File to parse. * @param {Object?} [options] - Passed to * `Parser#setOptions()`. */ -function Parser(options) { +function Parser(file, options) { var self = this; var rules = extend({}, self.expressions.rules); + self.file = file; self.inLink = false; self.atTop = true; self.atStart = true; @@ -1999,23 +2001,19 @@ Parser.prototype.indent = function (start) { }; /** - * Parse `value` into an AST. + * Parse the bound file. * * @example - * var parser = new Parser(); - * parser.parse(new File('_Foo_.')); + * new Parser(new File('_Foo_.')).parse(); * * @this {Parser} - * @param {Object} file * @return {Object} - `root` node. */ -Parser.prototype.parse = function (file) { +Parser.prototype.parse = function () { var self = this; - var value = clean(String(file)); + var value = clean(String(self.file)); var token; - self.file = file; - /* * Add an `offset` matrix, used to keep track of * syntax and white space indentation per line. @@ -2676,31 +2674,6 @@ Parser.prototype.inlineMethods = [ Parser.prototype.tokenizeInline = tokenizeFactory(INLINE); -/** - * Transform a markdown document into an AST. - * - * @example - * parse(new File('> foo.'), {gfm: true}); - * - * @this {Object?} - When this function is places on an - * object which also houses a `Parser` property, that - * class is used. - * @param {File} file - Virtual file. - * @param {Object?} [options] - Settings for the parser. - * @return {Object} - Abstract syntax tree. - */ -function parse(file, options) { - var CustomParser = this.Parser || Parser; - - return new CustomParser(options).parse(file); -} - -/* - * Expose `Parser` on `parse`. - */ - -parse.Parser = Parser; - /* * Expose `tokenizeFactory` so dependencies could create * their own tokenizers. @@ -2712,4 +2685,4 @@ Parser.prototype.tokenizeFactory = tokenizeFactory; * Expose `parse` on `module.exports`. */ -module.exports = parse; +module.exports = Parser; diff --git a/lib/stringify.js b/lib/stringify.js index 6a32a979f..87a2b3e30 100644 --- a/lib/stringify.js +++ b/lib/stringify.js @@ -1710,38 +1710,31 @@ compilerPrototype.tableCell = function (token) { }; /** - * Stringify an abstract syntax tree. + * Stringify the bound file. * * @example - * stringify({ + * var file = new VFile('__Foo__'); + * + * file.namespace('mdast').ast = { * type: 'strong', * children: [{ * type: 'text', * value: 'Foo' * }] - * }, new File()); + * }); + * + * new Compiler(file).compile(); * // '**Foo**' * - * @param {Object} ast - A node, most commonly, `root`. - * @param {File} file - Virtual file. - * @param {Object?} [options] - Passed to - * `Compiler#setOptions()`. + * @this {Compiler} * @return {string} - Markdown document. */ -function stringify(ast, file, options) { - var CustomCompiler = this.Compiler || Compiler; - - return new CustomCompiler(file, options).visit(ast); -} - -/* - * Expose `Compiler` on `stringify`. - */ - -stringify.Compiler = Compiler; +compilerPrototype.compile = function () { + return this.visit(this.file.namespace('mdast').ast); +}; /* * Expose `stringify` on `module.exports`. */ -module.exports = stringify; +module.exports = Compiler; diff --git a/mdast.js b/mdast.js index 3c5360efd..733de118a 100644 --- a/mdast.js +++ b/mdast.js @@ -13,329 +13,22 @@ * Dependencies. */ -var Ware = require('ware'); -var VFile = require('vfile'); -var extend = require('extend.js'); -var parser = require('./lib/parse.js'); -var stringifier = require('./lib/stringify.js'); -var utilities = require('./lib/utilities.js'); - -/* - * Methods. - */ - -var Parser = parser.Parser; -var parseProto = Parser.prototype; -var Compiler = stringifier.Compiler; -var compileProto = Compiler.prototype; - -/** - * Throws if passed an exception. - * - * Here until the following PR is merged into - * segmentio/ware: - * - * https://github.com/segmentio/ware/pull/21 - * - * @param {Error?} exception - */ -function fail(exception) { - if (exception) { - throw exception; - } -} - -/** - * Create a custom, cloned, Parser. - * - * @return {Function} - */ -function constructParser() { - var customProto; - var expressions; - var key; - - /** - * Extensible prototype. - */ - function CustomProto() {} - - CustomProto.prototype = parseProto; - - customProto = new CustomProto(); - - /** - * Extensible constructor. - */ - function CustomParser() { - Parser.apply(this, arguments); - } - - CustomParser.prototype = customProto; - - /* - * Construct new objects for things that plugin's - * might modify. - */ - - customProto.blockTokenizers = extend({}, parseProto.blockTokenizers); - customProto.blockMethods = extend([], parseProto.blockMethods); - customProto.inlineTokenizers = extend({}, parseProto.inlineTokenizers); - customProto.inlineMethods = extend([], parseProto.inlineMethods); - - expressions = parseProto.expressions; - customProto.expressions = {}; - - for (key in expressions) { - customProto.expressions[key] = extend({}, expressions[key]); - } - - return CustomParser; -} - -/** - * Create a custom, cloned, Compiler. - * - * @return {Function} - */ -function constructCompiler() { - var customProto; - - /** - * Extensible prototype. - */ - function CustomProto() {} - - CustomProto.prototype = compileProto; - - customProto = new CustomProto(); - - /** - * Extensible constructor. - */ - function CustomCompiler() { - Compiler.apply(this, arguments); - } - - CustomCompiler.prototype = customProto; - - return CustomCompiler; -} - -/** - * Construct an MDAST instance. - * - * @constructor {MDAST} - */ -function MDAST() { - var self = this; - - if (!(self instanceof MDAST)) { - return new MDAST(); - } - - self.ware = new Ware(); - self.attachers = []; - - self.Parser = constructParser(); - self.Compiler = constructCompiler(); -} - -/** - * Attach a plugin. - * - * @param {Function|Array.} attach - * @param {Object?} [options] - * @param {FileSet?} [fileSet] - Optional file-set, - * passed by the CLI. - * @return {MDAST} - */ -function use(attach, options, fileSet) { - var self = this; - var index; - var transformer; - - if (!(self instanceof MDAST)) { - self = new MDAST(); - } - - /* - * Multiple attachers. - */ - - if ('length' in attach && typeof attach !== 'function') { - index = -1; - - while (attach[++index]) { - self.use(attach[index], options, fileSet); - } - - return self; - } - - /* - * Single plugin. - */ - - if (self.attachers.indexOf(attach) === -1) { - transformer = attach(self, options, fileSet); - - self.attachers.push(attach); - - if (transformer) { - self.ware.use(transformer); - } - } - - return self; -} - -/** - * Apply transformers to `node`. - * - * @param {Node} ast - * @param {VFile?} [file] - * @param {Function?} [done] - * @return {Node} - `ast`. - */ -function run(ast, file, done) { - var self = this; - - if (typeof file === 'function') { - done = file; - file = null; - } - - file = new VFile(file); - - done = typeof done === 'function' ? done : fail; - - if (typeof ast !== 'object' && typeof ast.type !== 'string') { - utilities.raise(ast, 'ast'); - } - - /* - * Only run when this is an instance of MDAST. - */ - - if (self.ware) { - self.ware.run(ast, file, done); - } else { - done(null, ast, file); - } - - return ast; -} - -/** - * Wrapper to pass a file to `parser`. - */ -function parse(value, options) { - var file = new VFile(value); - var ast = file.namespace('mdast').ast = parser.call(this, file, options); - - return ast; -} - -/** - * Wrapper to pass a file to `stringifier`. - */ -function stringify(ast, file, options) { - if (options === null || options === undefined) { - options = file; - file = null; - } - - if (!file && ast && !ast.type) { - file = ast; - ast = null; - } - - file = new VFile(file); - - if (!ast) { - ast = file.namespace('mdast').ast || ast; - } - - return stringifier.call(this, ast, file, options); -} - -/** - * Parse a value and apply transformers. - * - * @param {string|VFile} value - * @param {Object?} [options] - * @param {Function?} [done] - * @return {string?} - */ -function process(value, options, done) { - var file = new VFile(value); - var self = this instanceof MDAST ? this : new MDAST(); - var result = null; - var ast; - - if (typeof options === 'function') { - done = options; - options = null; - } - - if (!options) { - options = {}; - } - - /** - * Invoked when `run` completes. Hoists `result` into - * the upper scope to return something for sync - * operations. - */ - function callback(exception) { - if (exception) { - (done || fail)(exception); - } else { - result = self.stringify(ast, file, options); - - if (done) { - done(null, result, file); - } - } - } - - ast = self.parse(file, options); - - self.run(ast, file, callback); - - return result; -} - -/* - * Methods. - */ - -var proto = MDAST.prototype; - -proto.use = use; -proto.parse = parse; -proto.run = run; -proto.stringify = stringify; -proto.process = process; - -/* - * Functions. - */ - -MDAST.use = use; -MDAST.parse = parse; -MDAST.run = run; -MDAST.stringify = stringify; -MDAST.process = process; +var unified = require('unified'); +var Parser = require('./lib/parse.js'); +var Compiler = require('./lib/stringify.js'); /* - * Expose `mdast`. + * Exports. */ -module.exports = MDAST; +module.exports = unified({ + 'name': 'mdast', + 'type': 'ast', + 'Parser': Parser, + 'Compiler': Compiler +}); -},{"./lib/parse.js":4,"./lib/stringify.js":5,"./lib/utilities.js":6,"extend.js":9,"vfile":16,"ware":17}],2:[function(require,module,exports){ +},{"./lib/parse.js":4,"./lib/stringify.js":5,"unified":21}],2:[function(require,module,exports){ /** * @author Titus Wormer * @copyright 2015 Titus Wormer @@ -2336,17 +2029,19 @@ function tokenizeBreak(eat, $0) { * Construct a new parser. * * @example - * var parser = new Parser(); + * var parser = new Parser(new VFile('Foo')); * * @constructor * @class {Parser} + * @param {VFile} file - File to parse. * @param {Object?} [options] - Passed to * `Parser#setOptions()`. */ -function Parser(options) { +function Parser(file, options) { var self = this; var rules = extend({}, self.expressions.rules); + self.file = file; self.inLink = false; self.atTop = true; self.atStart = true; @@ -2457,23 +2152,19 @@ Parser.prototype.indent = function (start) { }; /** - * Parse `value` into an AST. + * Parse the bound file. * * @example - * var parser = new Parser(); - * parser.parse(new File('_Foo_.')); + * new Parser(new File('_Foo_.')).parse(); * * @this {Parser} - * @param {Object} file * @return {Object} - `root` node. */ -Parser.prototype.parse = function (file) { +Parser.prototype.parse = function () { var self = this; - var value = clean(String(file)); + var value = clean(String(self.file)); var token; - self.file = file; - /* * Add an `offset` matrix, used to keep track of * syntax and white space indentation per line. @@ -2767,7 +2458,6 @@ function tokenizeFactory(type) { node.position.indent = indent; - return node; } @@ -3135,31 +2825,6 @@ Parser.prototype.inlineMethods = [ Parser.prototype.tokenizeInline = tokenizeFactory(INLINE); -/** - * Transform a markdown document into an AST. - * - * @example - * parse(new File('> foo.'), {gfm: true}); - * - * @this {Object?} - When this function is places on an - * object which also houses a `Parser` property, that - * class is used. - * @param {File} file - Virtual file. - * @param {Object?} [options] - Settings for the parser. - * @return {Object} - Abstract syntax tree. - */ -function parse(file, options) { - var CustomParser = this.Parser || Parser; - - return new CustomParser(options).parse(file); -} - -/* - * Expose `Parser` on `parse`. - */ - -parse.Parser = Parser; - /* * Expose `tokenizeFactory` so dependencies could create * their own tokenizers. @@ -3171,9 +2836,9 @@ Parser.prototype.tokenizeFactory = tokenizeFactory; * Expose `parse` on `module.exports`. */ -module.exports = parse; +module.exports = Parser; -},{"./defaults.js":2,"./expressions.js":3,"./utilities.js":6,"extend.js":9,"he":10,"repeat-string":13,"trim":15,"trim-trailing-lines":14}],5:[function(require,module,exports){ +},{"./defaults.js":2,"./expressions.js":3,"./utilities.js":6,"extend.js":14,"he":15,"repeat-string":18,"trim":20,"trim-trailing-lines":19}],5:[function(require,module,exports){ /** * @author Titus Wormer * @copyright 2015 Titus Wormer @@ -4886,43 +4551,36 @@ compilerPrototype.tableCell = function (token) { }; /** - * Stringify an abstract syntax tree. + * Stringify the bound file. * * @example - * stringify({ + * var file = new VFile('__Foo__'); + * + * file.namespace('mdast').ast = { * type: 'strong', * children: [{ * type: 'text', * value: 'Foo' * }] - * }, new File()); + * }); + * + * new Compiler(file).compile(); * // '**Foo**' * - * @param {Object} ast - A node, most commonly, `root`. - * @param {File} file - Virtual file. - * @param {Object?} [options] - Passed to - * `Compiler#setOptions()`. + * @this {Compiler} * @return {string} - Markdown document. */ -function stringify(ast, file, options) { - var CustomCompiler = this.Compiler || Compiler; - - return new CustomCompiler(file, options).visit(ast); -} - -/* - * Expose `Compiler` on `stringify`. - */ - -stringify.Compiler = Compiler; +compilerPrototype.compile = function () { + return this.visit(this.file.namespace('mdast').ast); +}; /* * Expose `stringify` on `module.exports`. */ -module.exports = stringify; +module.exports = Compiler; -},{"./defaults.js":2,"./utilities.js":6,"ccount":7,"extend.js":9,"he":10,"longest-streak":11,"markdown-table":12,"repeat-string":13}],6:[function(require,module,exports){ +},{"./defaults.js":2,"./utilities.js":6,"ccount":11,"extend.js":14,"he":15,"longest-streak":16,"markdown-table":17,"repeat-string":18}],6:[function(require,module,exports){ /** * @author Titus Wormer * @copyright 2015 Titus Wormer @@ -5104,284 +4762,2134 @@ exports.normalizeIdentifier = normalizeIdentifier; exports.clean = clean; exports.raise = raise; -},{"collapse-white-space":8}],7:[function(require,module,exports){ +},{"collapse-white-space":13}],7:[function(require,module,exports){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +var base64 = require('base64-js') +var ieee754 = require('ieee754') +var isArray = require('is-array') + +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 +Buffer.poolSize = 8192 // not used by this implementation + +var rootParent = {} + /** - * @author Titus Wormer - * @copyright 2015 Titus Wormer. All rights reserved. - * @module ccount - * @fileoverview Count characters. + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Use Object implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * Note: + * + * - Implementation must support adding new properties to `Uint8Array` instances. + * Firefox 4-29 lacked support, fixed in Firefox 30+. + * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. + * + * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. + * + * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of + * incorrect length in some situations. + * + * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they will + * get the Object implementation, which is slower but will work correctly. */ +Buffer.TYPED_ARRAY_SUPPORT = (function () { + function Foo () {} + try { + var buf = new ArrayBuffer(0) + var arr = new Uint8Array(buf) + arr.foo = function () { return 42 } + arr.constructor = Foo + return arr.foo() === 42 && // typed array instances can be augmented + arr.constructor === Foo && // constructor can be set + typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` + new Uint8Array(1).subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` + } catch (e) { + return false + } +})() -'use strict'; +function kMaxLength () { + return Buffer.TYPED_ARRAY_SUPPORT + ? 0x7fffffff + : 0x3fffffff +} /** - * Count how many characters `character` occur in `value`. + * Class: Buffer + * ============= * - * @example - * ccount('foo(bar(baz)', '(') // 2 - * ccount('foo(bar(baz)', ')') // 1 + * The Buffer constructor returns instances of `Uint8Array` that are augmented + * with function properties for all the node `Buffer` API functions. We use + * `Uint8Array` so that square bracket notation works as expected -- it returns + * a single octet. * - * @param {string} value - Content, coerced to string. - * @param {string} character - Single character to look - * for. - * @return {number} - Count. - * @throws {Error} - when `character` is not a single - * character. + * By augmenting the instances, we can avoid modifying the `Uint8Array` + * prototype. */ -function ccount(value, character) { - var index = -1; - var count = 0; - var length; +function Buffer (arg) { + if (!(this instanceof Buffer)) { + // Avoid going through an ArgumentsAdaptorTrampoline in the common case. + if (arguments.length > 1) return new Buffer(arg, arguments[1]) + return new Buffer(arg) + } - value = String(value); - length = value.length; + this.length = 0 + this.parent = undefined - if (typeof character !== 'string' || character.length !== 1) { - throw new Error('Expected character'); - } + // Common case. + if (typeof arg === 'number') { + return fromNumber(this, arg) + } - while (++index < length) { - if (value.charAt(index) === character) { - count++; - } - } + // Slightly less common case. + if (typeof arg === 'string') { + return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8') + } - return count; + // Unusual. + return fromObject(this, arg) } -/* - * Expose. - */ +function fromNumber (that, length) { + that = allocate(that, length < 0 ? 0 : checked(length) | 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < length; i++) { + that[i] = 0 + } + } + return that +} -module.exports = ccount; +function fromString (that, string, encoding) { + if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8' -},{}],8:[function(require,module,exports){ -'use strict'; + // Assumption: byteLength() return value is always < kMaxLength. + var length = byteLength(string, encoding) | 0 + that = allocate(that, length) -/* - * Constants. - */ + that.write(string, encoding) + return that +} -var WHITE_SPACE_COLLAPSABLE = /\s+/g; -var SPACE = ' '; +function fromObject (that, object) { + if (Buffer.isBuffer(object)) return fromBuffer(that, object) -/** - * Replace multiple white-space characters with a single space. - * - * @example - * collapse(' \t\nbar \nbaz\t'); // ' bar baz ' - * - * @param {string} value - Value with uncollapsed white-space, - * coerced to string. - * @return {string} - Value with collapsed white-space. - */ -function collapse(value) { - return String(value).replace(WHITE_SPACE_COLLAPSABLE, SPACE); + if (isArray(object)) return fromArray(that, object) + + if (object == null) { + throw new TypeError('must start with number, buffer, array or string') + } + + if (typeof ArrayBuffer !== 'undefined' && object.buffer instanceof ArrayBuffer) { + return fromTypedArray(that, object) + } + + if (object.length) return fromArrayLike(that, object) + + return fromJsonObject(that, object) } -/* - * Expose. - */ +function fromBuffer (that, buffer) { + var length = checked(buffer.length) | 0 + that = allocate(that, length) + buffer.copy(that, 0, 0, length) + return that +} -module.exports = collapse; +function fromArray (that, array) { + var length = checked(array.length) | 0 + that = allocate(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} -},{}],9:[function(require,module,exports){ -/** - * Extend an object with another. - * - * @param {Object, ...} src, ... - * @return {Object} merged - * @api private - */ +// Duplicate of fromArray() to keep fromArray() monomorphic. +function fromTypedArray (that, array) { + var length = checked(array.length) | 0 + that = allocate(that, length) + // Truncating the elements is probably not what people expect from typed + // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior + // of the old Buffer constructor. + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} -module.exports = function(src) { - var objs = [].slice.call(arguments, 1), obj; +function fromArrayLike (that, array) { + var length = checked(array.length) | 0 + that = allocate(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} - for (var i = 0, len = objs.length; i < len; i++) { - obj = objs[i]; - for (var prop in obj) { - src[prop] = obj[prop]; +// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object. +// Returns a zero-length buffer for inputs that don't conform to the spec. +function fromJsonObject (that, object) { + var array + var length = 0 + + if (object.type === 'Buffer' && isArray(object.data)) { + array = object.data + length = checked(array.length) | 0 + } + that = allocate(that, length) + + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +function allocate (that, length) { + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = Buffer._augment(new Uint8Array(length)) + } else { + // Fallback: Return an object instance of the Buffer class + that.length = length + that._isBuffer = true + } + + var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1 + if (fromPool) that.parent = rootParent + + return that +} + +function checked (length) { + // Note: cannot use `length < kMaxLength` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= kMaxLength()) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + kMaxLength().toString(16) + ' bytes') + } + return length | 0 +} + +function SlowBuffer (subject, encoding) { + if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding) + + var buf = new Buffer(subject, encoding) + delete buf.parent + return buf +} + +Buffer.isBuffer = function isBuffer (b) { + return !!(b != null && b._isBuffer) +} + +Buffer.compare = function compare (a, b) { + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('Arguments must be Buffers') + } + + if (a === b) return 0 + + var x = a.length + var y = b.length + + var i = 0 + var len = Math.min(x, y) + while (i < len) { + if (a[i] !== b[i]) break + + ++i + } + + if (i !== len) { + x = a[i] + y = b[i] + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'binary': + case 'base64': + case 'raw': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} + +Buffer.concat = function concat (list, length) { + if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.') + + if (list.length === 0) { + return new Buffer(0) + } else if (list.length === 1) { + return list[0] + } + + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; i++) { + length += list[i].length } } - return src; + var buf = new Buffer(length) + var pos = 0 + for (i = 0; i < list.length; i++) { + var item = list[i] + item.copy(buf, pos) + pos += item.length + } + return buf } -},{}],10:[function(require,module,exports){ -(function (global){ -/*! http://mths.be/he v0.5.0 by @mathias | MIT license */ -;(function(root) { +function byteLength (string, encoding) { + if (typeof string !== 'string') string = '' + string + + var len = string.length + if (len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'binary': + // Deprecated + case 'raw': + case 'raws': + return len + case 'utf8': + case 'utf-8': + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) return utf8ToBytes(string).length // assume utf8 + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength - // Detect free variables `exports`. - var freeExports = typeof exports == 'object' && exports; +// pre-set for values that may exist in the future +Buffer.prototype.length = undefined +Buffer.prototype.parent = undefined - // Detect free variable `module`. - var freeModule = typeof module == 'object' && module && - module.exports == freeExports && module; +function slowToString (encoding, start, end) { + var loweredCase = false - // Detect free variable `global`, from Node.js or Browserified code, - // and use it as `root`. - var freeGlobal = typeof global == 'object' && global; - if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { - root = freeGlobal; - } + start = start | 0 + end = end === undefined || end === Infinity ? this.length : end | 0 - /*--------------------------------------------------------------------------*/ + if (!encoding) encoding = 'utf8' + if (start < 0) start = 0 + if (end > this.length) end = this.length + if (end <= start) return '' - // All astral symbols. - var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - // All ASCII symbols (not just printable ASCII) except those listed in the - // first column of the overrides table. - // http://whatwg.org/html/tokenization.html#table-charref-overrides - var regexAsciiWhitelist = /[\x01-\x7F]/g; - // All BMP symbols that are not ASCII newlines, printable ASCII symbols, or - // code points listed in the first column of the overrides table on - // http://whatwg.org/html/tokenization.html#table-charref-overrides. - var regexBmpWhitelist = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g; + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) - var regexEncodeNonAscii = /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g; - var encodeMap = {'\xC1':'Aacute','\xE1':'aacute','\u0102':'Abreve','\u0103':'abreve','\u223E':'ac','\u223F':'acd','\u223E\u0333':'acE','\xC2':'Acirc','\xE2':'acirc','\xB4':'acute','\u0410':'Acy','\u0430':'acy','\xC6':'AElig','\xE6':'aelig','\u2061':'af','\uD835\uDD04':'Afr','\uD835\uDD1E':'afr','\xC0':'Agrave','\xE0':'agrave','\u2135':'aleph','\u0391':'Alpha','\u03B1':'alpha','\u0100':'Amacr','\u0101':'amacr','\u2A3F':'amalg','&':'amp','\u2A55':'andand','\u2A53':'And','\u2227':'and','\u2A5C':'andd','\u2A58':'andslope','\u2A5A':'andv','\u2220':'ang','\u29A4':'ange','\u29A8':'angmsdaa','\u29A9':'angmsdab','\u29AA':'angmsdac','\u29AB':'angmsdad','\u29AC':'angmsdae','\u29AD':'angmsdaf','\u29AE':'angmsdag','\u29AF':'angmsdah','\u2221':'angmsd','\u221F':'angrt','\u22BE':'angrtvb','\u299D':'angrtvbd','\u2222':'angsph','\xC5':'angst','\u237C':'angzarr','\u0104':'Aogon','\u0105':'aogon','\uD835\uDD38':'Aopf','\uD835\uDD52':'aopf','\u2A6F':'apacir','\u2248':'ap','\u2A70':'apE','\u224A':'ape','\u224B':'apid','\'':'apos','\xE5':'aring','\uD835\uDC9C':'Ascr','\uD835\uDCB6':'ascr','\u2254':'colone','*':'ast','\u224D':'CupCap','\xC3':'Atilde','\xE3':'atilde','\xC4':'Auml','\xE4':'auml','\u2233':'awconint','\u2A11':'awint','\u224C':'bcong','\u03F6':'bepsi','\u2035':'bprime','\u223D':'bsim','\u22CD':'bsime','\u2216':'setmn','\u2AE7':'Barv','\u22BD':'barvee','\u2305':'barwed','\u2306':'Barwed','\u23B5':'bbrk','\u23B6':'bbrktbrk','\u0411':'Bcy','\u0431':'bcy','\u201E':'bdquo','\u2235':'becaus','\u29B0':'bemptyv','\u212C':'Bscr','\u0392':'Beta','\u03B2':'beta','\u2136':'beth','\u226C':'twixt','\uD835\uDD05':'Bfr','\uD835\uDD1F':'bfr','\u22C2':'xcap','\u25EF':'xcirc','\u22C3':'xcup','\u2A00':'xodot','\u2A01':'xoplus','\u2A02':'xotime','\u2A06':'xsqcup','\u2605':'starf','\u25BD':'xdtri','\u25B3':'xutri','\u2A04':'xuplus','\u22C1':'Vee','\u22C0':'Wedge','\u290D':'rbarr','\u29EB':'lozf','\u25AA':'squf','\u25B4':'utrif','\u25BE':'dtrif','\u25C2':'ltrif','\u25B8':'rtrif','\u2423':'blank','\u2592':'blk12','\u2591':'blk14','\u2593':'blk34','\u2588':'block','=\u20E5':'bne','\u2261\u20E5':'bnequiv','\u2AED':'bNot','\u2310':'bnot','\uD835\uDD39':'Bopf','\uD835\uDD53':'bopf','\u22A5':'bot','\u22C8':'bowtie','\u29C9':'boxbox','\u2510':'boxdl','\u2555':'boxdL','\u2556':'boxDl','\u2557':'boxDL','\u250C':'boxdr','\u2552':'boxdR','\u2553':'boxDr','\u2554':'boxDR','\u2500':'boxh','\u2550':'boxH','\u252C':'boxhd','\u2564':'boxHd','\u2565':'boxhD','\u2566':'boxHD','\u2534':'boxhu','\u2567':'boxHu','\u2568':'boxhU','\u2569':'boxHU','\u229F':'minusb','\u229E':'plusb','\u22A0':'timesb','\u2518':'boxul','\u255B':'boxuL','\u255C':'boxUl','\u255D':'boxUL','\u2514':'boxur','\u2558':'boxuR','\u2559':'boxUr','\u255A':'boxUR','\u2502':'boxv','\u2551':'boxV','\u253C':'boxvh','\u256A':'boxvH','\u256B':'boxVh','\u256C':'boxVH','\u2524':'boxvl','\u2561':'boxvL','\u2562':'boxVl','\u2563':'boxVL','\u251C':'boxvr','\u255E':'boxvR','\u255F':'boxVr','\u2560':'boxVR','\u02D8':'breve','\xA6':'brvbar','\uD835\uDCB7':'bscr','\u204F':'bsemi','\u29C5':'bsolb','\\':'bsol','\u27C8':'bsolhsub','\u2022':'bull','\u224E':'bump','\u2AAE':'bumpE','\u224F':'bumpe','\u0106':'Cacute','\u0107':'cacute','\u2A44':'capand','\u2A49':'capbrcup','\u2A4B':'capcap','\u2229':'cap','\u22D2':'Cap','\u2A47':'capcup','\u2A40':'capdot','\u2145':'DD','\u2229\uFE00':'caps','\u2041':'caret','\u02C7':'caron','\u212D':'Cfr','\u2A4D':'ccaps','\u010C':'Ccaron','\u010D':'ccaron','\xC7':'Ccedil','\xE7':'ccedil','\u0108':'Ccirc','\u0109':'ccirc','\u2230':'Cconint','\u2A4C':'ccups','\u2A50':'ccupssm','\u010A':'Cdot','\u010B':'cdot','\xB8':'cedil','\u29B2':'cemptyv','\xA2':'cent','\xB7':'middot','\uD835\uDD20':'cfr','\u0427':'CHcy','\u0447':'chcy','\u2713':'check','\u03A7':'Chi','\u03C7':'chi','\u02C6':'circ','\u2257':'cire','\u21BA':'olarr','\u21BB':'orarr','\u229B':'oast','\u229A':'ocir','\u229D':'odash','\u2299':'odot','\xAE':'reg','\u24C8':'oS','\u2296':'ominus','\u2295':'oplus','\u2297':'otimes','\u25CB':'cir','\u29C3':'cirE','\u2A10':'cirfnint','\u2AEF':'cirmid','\u29C2':'cirscir','\u2232':'cwconint','\u201D':'rdquo','\u2019':'rsquo','\u2663':'clubs',':':'colon','\u2237':'Colon','\u2A74':'Colone',',':'comma','@':'commat','\u2201':'comp','\u2218':'compfn','\u2102':'Copf','\u2245':'cong','\u2A6D':'congdot','\u2261':'equiv','\u222E':'oint','\u222F':'Conint','\uD835\uDD54':'copf','\u2210':'coprod','\xA9':'copy','\u2117':'copysr','\u21B5':'crarr','\u2717':'cross','\u2A2F':'Cross','\uD835\uDC9E':'Cscr','\uD835\uDCB8':'cscr','\u2ACF':'csub','\u2AD1':'csube','\u2AD0':'csup','\u2AD2':'csupe','\u22EF':'ctdot','\u2938':'cudarrl','\u2935':'cudarrr','\u22DE':'cuepr','\u22DF':'cuesc','\u21B6':'cularr','\u293D':'cularrp','\u2A48':'cupbrcap','\u2A46':'cupcap','\u222A':'cup','\u22D3':'Cup','\u2A4A':'cupcup','\u228D':'cupdot','\u2A45':'cupor','\u222A\uFE00':'cups','\u21B7':'curarr','\u293C':'curarrm','\u22CE':'cuvee','\u22CF':'cuwed','\xA4':'curren','\u2231':'cwint','\u232D':'cylcty','\u2020':'dagger','\u2021':'Dagger','\u2138':'daleth','\u2193':'darr','\u21A1':'Darr','\u21D3':'dArr','\u2010':'dash','\u2AE4':'Dashv','\u22A3':'dashv','\u290F':'rBarr','\u02DD':'dblac','\u010E':'Dcaron','\u010F':'dcaron','\u0414':'Dcy','\u0434':'dcy','\u21CA':'ddarr','\u2146':'dd','\u2911':'DDotrahd','\u2A77':'eDDot','\xB0':'deg','\u2207':'Del','\u0394':'Delta','\u03B4':'delta','\u29B1':'demptyv','\u297F':'dfisht','\uD835\uDD07':'Dfr','\uD835\uDD21':'dfr','\u2965':'dHar','\u21C3':'dharl','\u21C2':'dharr','\u02D9':'dot','`':'grave','\u02DC':'tilde','\u22C4':'diam','\u2666':'diams','\xA8':'die','\u03DD':'gammad','\u22F2':'disin','\xF7':'div','\u22C7':'divonx','\u0402':'DJcy','\u0452':'djcy','\u231E':'dlcorn','\u230D':'dlcrop','$':'dollar','\uD835\uDD3B':'Dopf','\uD835\uDD55':'dopf','\u20DC':'DotDot','\u2250':'doteq','\u2251':'eDot','\u2238':'minusd','\u2214':'plusdo','\u22A1':'sdotb','\u21D0':'lArr','\u21D4':'iff','\u27F8':'xlArr','\u27FA':'xhArr','\u27F9':'xrArr','\u21D2':'rArr','\u22A8':'vDash','\u21D1':'uArr','\u21D5':'vArr','\u2225':'par','\u2913':'DownArrowBar','\u21F5':'duarr','\u0311':'DownBreve','\u2950':'DownLeftRightVector','\u295E':'DownLeftTeeVector','\u2956':'DownLeftVectorBar','\u21BD':'lhard','\u295F':'DownRightTeeVector','\u2957':'DownRightVectorBar','\u21C1':'rhard','\u21A7':'mapstodown','\u22A4':'top','\u2910':'RBarr','\u231F':'drcorn','\u230C':'drcrop','\uD835\uDC9F':'Dscr','\uD835\uDCB9':'dscr','\u0405':'DScy','\u0455':'dscy','\u29F6':'dsol','\u0110':'Dstrok','\u0111':'dstrok','\u22F1':'dtdot','\u25BF':'dtri','\u296F':'duhar','\u29A6':'dwangle','\u040F':'DZcy','\u045F':'dzcy','\u27FF':'dzigrarr','\xC9':'Eacute','\xE9':'eacute','\u2A6E':'easter','\u011A':'Ecaron','\u011B':'ecaron','\xCA':'Ecirc','\xEA':'ecirc','\u2256':'ecir','\u2255':'ecolon','\u042D':'Ecy','\u044D':'ecy','\u0116':'Edot','\u0117':'edot','\u2147':'ee','\u2252':'efDot','\uD835\uDD08':'Efr','\uD835\uDD22':'efr','\u2A9A':'eg','\xC8':'Egrave','\xE8':'egrave','\u2A96':'egs','\u2A98':'egsdot','\u2A99':'el','\u2208':'in','\u23E7':'elinters','\u2113':'ell','\u2A95':'els','\u2A97':'elsdot','\u0112':'Emacr','\u0113':'emacr','\u2205':'empty','\u25FB':'EmptySmallSquare','\u25AB':'EmptyVerySmallSquare','\u2004':'emsp13','\u2005':'emsp14','\u2003':'emsp','\u014A':'ENG','\u014B':'eng','\u2002':'ensp','\u0118':'Eogon','\u0119':'eogon','\uD835\uDD3C':'Eopf','\uD835\uDD56':'eopf','\u22D5':'epar','\u29E3':'eparsl','\u2A71':'eplus','\u03B5':'epsi','\u0395':'Epsilon','\u03F5':'epsiv','\u2242':'esim','\u2A75':'Equal','=':'equals','\u225F':'equest','\u21CC':'rlhar','\u2A78':'equivDD','\u29E5':'eqvparsl','\u2971':'erarr','\u2253':'erDot','\u212F':'escr','\u2130':'Escr','\u2A73':'Esim','\u0397':'Eta','\u03B7':'eta','\xD0':'ETH','\xF0':'eth','\xCB':'Euml','\xEB':'euml','\u20AC':'euro','!':'excl','\u2203':'exist','\u0424':'Fcy','\u0444':'fcy','\u2640':'female','\uFB03':'ffilig','\uFB00':'fflig','\uFB04':'ffllig','\uD835\uDD09':'Ffr','\uD835\uDD23':'ffr','\uFB01':'filig','\u25FC':'FilledSmallSquare','fj':'fjlig','\u266D':'flat','\uFB02':'fllig','\u25B1':'fltns','\u0192':'fnof','\uD835\uDD3D':'Fopf','\uD835\uDD57':'fopf','\u2200':'forall','\u22D4':'fork','\u2AD9':'forkv','\u2131':'Fscr','\u2A0D':'fpartint','\xBD':'half','\u2153':'frac13','\xBC':'frac14','\u2155':'frac15','\u2159':'frac16','\u215B':'frac18','\u2154':'frac23','\u2156':'frac25','\xBE':'frac34','\u2157':'frac35','\u215C':'frac38','\u2158':'frac45','\u215A':'frac56','\u215D':'frac58','\u215E':'frac78','\u2044':'frasl','\u2322':'frown','\uD835\uDCBB':'fscr','\u01F5':'gacute','\u0393':'Gamma','\u03B3':'gamma','\u03DC':'Gammad','\u2A86':'gap','\u011E':'Gbreve','\u011F':'gbreve','\u0122':'Gcedil','\u011C':'Gcirc','\u011D':'gcirc','\u0413':'Gcy','\u0433':'gcy','\u0120':'Gdot','\u0121':'gdot','\u2265':'ge','\u2267':'gE','\u2A8C':'gEl','\u22DB':'gel','\u2A7E':'ges','\u2AA9':'gescc','\u2A80':'gesdot','\u2A82':'gesdoto','\u2A84':'gesdotol','\u22DB\uFE00':'gesl','\u2A94':'gesles','\uD835\uDD0A':'Gfr','\uD835\uDD24':'gfr','\u226B':'gg','\u22D9':'Gg','\u2137':'gimel','\u0403':'GJcy','\u0453':'gjcy','\u2AA5':'gla','\u2277':'gl','\u2A92':'glE','\u2AA4':'glj','\u2A8A':'gnap','\u2A88':'gne','\u2269':'gnE','\u22E7':'gnsim','\uD835\uDD3E':'Gopf','\uD835\uDD58':'gopf','\u2AA2':'GreaterGreater','\u2273':'gsim','\uD835\uDCA2':'Gscr','\u210A':'gscr','\u2A8E':'gsime','\u2A90':'gsiml','\u2AA7':'gtcc','\u2A7A':'gtcir','>':'gt','\u22D7':'gtdot','\u2995':'gtlPar','\u2A7C':'gtquest','\u2978':'gtrarr','\u2269\uFE00':'gvnE','\u200A':'hairsp','\u210B':'Hscr','\u042A':'HARDcy','\u044A':'hardcy','\u2948':'harrcir','\u2194':'harr','\u21AD':'harrw','^':'Hat','\u210F':'hbar','\u0124':'Hcirc','\u0125':'hcirc','\u2665':'hearts','\u2026':'mldr','\u22B9':'hercon','\uD835\uDD25':'hfr','\u210C':'Hfr','\u2925':'searhk','\u2926':'swarhk','\u21FF':'hoarr','\u223B':'homtht','\u21A9':'larrhk','\u21AA':'rarrhk','\uD835\uDD59':'hopf','\u210D':'Hopf','\u2015':'horbar','\uD835\uDCBD':'hscr','\u0126':'Hstrok','\u0127':'hstrok','\u2043':'hybull','\xCD':'Iacute','\xED':'iacute','\u2063':'ic','\xCE':'Icirc','\xEE':'icirc','\u0418':'Icy','\u0438':'icy','\u0130':'Idot','\u0415':'IEcy','\u0435':'iecy','\xA1':'iexcl','\uD835\uDD26':'ifr','\u2111':'Im','\xCC':'Igrave','\xEC':'igrave','\u2148':'ii','\u2A0C':'qint','\u222D':'tint','\u29DC':'iinfin','\u2129':'iiota','\u0132':'IJlig','\u0133':'ijlig','\u012A':'Imacr','\u012B':'imacr','\u2110':'Iscr','\u0131':'imath','\u22B7':'imof','\u01B5':'imped','\u2105':'incare','\u221E':'infin','\u29DD':'infintie','\u22BA':'intcal','\u222B':'int','\u222C':'Int','\u2124':'Zopf','\u2A17':'intlarhk','\u2A3C':'iprod','\u2062':'it','\u0401':'IOcy','\u0451':'iocy','\u012E':'Iogon','\u012F':'iogon','\uD835\uDD40':'Iopf','\uD835\uDD5A':'iopf','\u0399':'Iota','\u03B9':'iota','\xBF':'iquest','\uD835\uDCBE':'iscr','\u22F5':'isindot','\u22F9':'isinE','\u22F4':'isins','\u22F3':'isinsv','\u0128':'Itilde','\u0129':'itilde','\u0406':'Iukcy','\u0456':'iukcy','\xCF':'Iuml','\xEF':'iuml','\u0134':'Jcirc','\u0135':'jcirc','\u0419':'Jcy','\u0439':'jcy','\uD835\uDD0D':'Jfr','\uD835\uDD27':'jfr','\u0237':'jmath','\uD835\uDD41':'Jopf','\uD835\uDD5B':'jopf','\uD835\uDCA5':'Jscr','\uD835\uDCBF':'jscr','\u0408':'Jsercy','\u0458':'jsercy','\u0404':'Jukcy','\u0454':'jukcy','\u039A':'Kappa','\u03BA':'kappa','\u03F0':'kappav','\u0136':'Kcedil','\u0137':'kcedil','\u041A':'Kcy','\u043A':'kcy','\uD835\uDD0E':'Kfr','\uD835\uDD28':'kfr','\u0138':'kgreen','\u0425':'KHcy','\u0445':'khcy','\u040C':'KJcy','\u045C':'kjcy','\uD835\uDD42':'Kopf','\uD835\uDD5C':'kopf','\uD835\uDCA6':'Kscr','\uD835\uDCC0':'kscr','\u21DA':'lAarr','\u0139':'Lacute','\u013A':'lacute','\u29B4':'laemptyv','\u2112':'Lscr','\u039B':'Lambda','\u03BB':'lambda','\u27E8':'lang','\u27EA':'Lang','\u2991':'langd','\u2A85':'lap','\xAB':'laquo','\u21E4':'larrb','\u291F':'larrbfs','\u2190':'larr','\u219E':'Larr','\u291D':'larrfs','\u21AB':'larrlp','\u2939':'larrpl','\u2973':'larrsim','\u21A2':'larrtl','\u2919':'latail','\u291B':'lAtail','\u2AAB':'lat','\u2AAD':'late','\u2AAD\uFE00':'lates','\u290C':'lbarr','\u290E':'lBarr','\u2772':'lbbrk','{':'lcub','[':'lsqb','\u298B':'lbrke','\u298F':'lbrksld','\u298D':'lbrkslu','\u013D':'Lcaron','\u013E':'lcaron','\u013B':'Lcedil','\u013C':'lcedil','\u2308':'lceil','\u041B':'Lcy','\u043B':'lcy','\u2936':'ldca','\u201C':'ldquo','\u2967':'ldrdhar','\u294B':'ldrushar','\u21B2':'ldsh','\u2264':'le','\u2266':'lE','\u21C6':'lrarr','\u27E6':'lobrk','\u2961':'LeftDownTeeVector','\u2959':'LeftDownVectorBar','\u230A':'lfloor','\u21BC':'lharu','\u21C7':'llarr','\u21CB':'lrhar','\u294E':'LeftRightVector','\u21A4':'mapstoleft','\u295A':'LeftTeeVector','\u22CB':'lthree','\u29CF':'LeftTriangleBar','\u22B2':'vltri','\u22B4':'ltrie','\u2951':'LeftUpDownVector','\u2960':'LeftUpTeeVector','\u2958':'LeftUpVectorBar','\u21BF':'uharl','\u2952':'LeftVectorBar','\u2A8B':'lEg','\u22DA':'leg','\u2A7D':'les','\u2AA8':'lescc','\u2A7F':'lesdot','\u2A81':'lesdoto','\u2A83':'lesdotor','\u22DA\uFE00':'lesg','\u2A93':'lesges','\u22D6':'ltdot','\u2276':'lg','\u2AA1':'LessLess','\u2272':'lsim','\u297C':'lfisht','\uD835\uDD0F':'Lfr','\uD835\uDD29':'lfr','\u2A91':'lgE','\u2962':'lHar','\u296A':'lharul','\u2584':'lhblk','\u0409':'LJcy','\u0459':'ljcy','\u226A':'ll','\u22D8':'Ll','\u296B':'llhard','\u25FA':'lltri','\u013F':'Lmidot','\u0140':'lmidot','\u23B0':'lmoust','\u2A89':'lnap','\u2A87':'lne','\u2268':'lnE','\u22E6':'lnsim','\u27EC':'loang','\u21FD':'loarr','\u27F5':'xlarr','\u27F7':'xharr','\u27FC':'xmap','\u27F6':'xrarr','\u21AC':'rarrlp','\u2985':'lopar','\uD835\uDD43':'Lopf','\uD835\uDD5D':'lopf','\u2A2D':'loplus','\u2A34':'lotimes','\u2217':'lowast','_':'lowbar','\u2199':'swarr','\u2198':'searr','\u25CA':'loz','(':'lpar','\u2993':'lparlt','\u296D':'lrhard','\u200E':'lrm','\u22BF':'lrtri','\u2039':'lsaquo','\uD835\uDCC1':'lscr','\u21B0':'lsh','\u2A8D':'lsime','\u2A8F':'lsimg','\u2018':'lsquo','\u201A':'sbquo','\u0141':'Lstrok','\u0142':'lstrok','\u2AA6':'ltcc','\u2A79':'ltcir','<':'lt','\u22C9':'ltimes','\u2976':'ltlarr','\u2A7B':'ltquest','\u25C3':'ltri','\u2996':'ltrPar','\u294A':'lurdshar','\u2966':'luruhar','\u2268\uFE00':'lvnE','\xAF':'macr','\u2642':'male','\u2720':'malt','\u2905':'Map','\u21A6':'map','\u21A5':'mapstoup','\u25AE':'marker','\u2A29':'mcomma','\u041C':'Mcy','\u043C':'mcy','\u2014':'mdash','\u223A':'mDDot','\u205F':'MediumSpace','\u2133':'Mscr','\uD835\uDD10':'Mfr','\uD835\uDD2A':'mfr','\u2127':'mho','\xB5':'micro','\u2AF0':'midcir','\u2223':'mid','\u2212':'minus','\u2A2A':'minusdu','\u2213':'mp','\u2ADB':'mlcp','\u22A7':'models','\uD835\uDD44':'Mopf','\uD835\uDD5E':'mopf','\uD835\uDCC2':'mscr','\u039C':'Mu','\u03BC':'mu','\u22B8':'mumap','\u0143':'Nacute','\u0144':'nacute','\u2220\u20D2':'nang','\u2249':'nap','\u2A70\u0338':'napE','\u224B\u0338':'napid','\u0149':'napos','\u266E':'natur','\u2115':'Nopf','\xA0':'nbsp','\u224E\u0338':'nbump','\u224F\u0338':'nbumpe','\u2A43':'ncap','\u0147':'Ncaron','\u0148':'ncaron','\u0145':'Ncedil','\u0146':'ncedil','\u2247':'ncong','\u2A6D\u0338':'ncongdot','\u2A42':'ncup','\u041D':'Ncy','\u043D':'ncy','\u2013':'ndash','\u2924':'nearhk','\u2197':'nearr','\u21D7':'neArr','\u2260':'ne','\u2250\u0338':'nedot','\u200B':'ZeroWidthSpace','\u2262':'nequiv','\u2928':'toea','\u2242\u0338':'nesim','\n':'NewLine','\u2204':'nexist','\uD835\uDD11':'Nfr','\uD835\uDD2B':'nfr','\u2267\u0338':'ngE','\u2271':'nge','\u2A7E\u0338':'nges','\u22D9\u0338':'nGg','\u2275':'ngsim','\u226B\u20D2':'nGt','\u226F':'ngt','\u226B\u0338':'nGtv','\u21AE':'nharr','\u21CE':'nhArr','\u2AF2':'nhpar','\u220B':'ni','\u22FC':'nis','\u22FA':'nisd','\u040A':'NJcy','\u045A':'njcy','\u219A':'nlarr','\u21CD':'nlArr','\u2025':'nldr','\u2266\u0338':'nlE','\u2270':'nle','\u2A7D\u0338':'nles','\u226E':'nlt','\u22D8\u0338':'nLl','\u2274':'nlsim','\u226A\u20D2':'nLt','\u22EA':'nltri','\u22EC':'nltrie','\u226A\u0338':'nLtv','\u2224':'nmid','\u2060':'NoBreak','\uD835\uDD5F':'nopf','\u2AEC':'Not','\xAC':'not','\u226D':'NotCupCap','\u2226':'npar','\u2209':'notin','\u2279':'ntgl','\u22F5\u0338':'notindot','\u22F9\u0338':'notinE','\u22F7':'notinvb','\u22F6':'notinvc','\u29CF\u0338':'NotLeftTriangleBar','\u2278':'ntlg','\u2AA2\u0338':'NotNestedGreaterGreater','\u2AA1\u0338':'NotNestedLessLess','\u220C':'notni','\u22FE':'notnivb','\u22FD':'notnivc','\u2280':'npr','\u2AAF\u0338':'npre','\u22E0':'nprcue','\u29D0\u0338':'NotRightTriangleBar','\u22EB':'nrtri','\u22ED':'nrtrie','\u228F\u0338':'NotSquareSubset','\u22E2':'nsqsube','\u2290\u0338':'NotSquareSuperset','\u22E3':'nsqsupe','\u2282\u20D2':'vnsub','\u2288':'nsube','\u2281':'nsc','\u2AB0\u0338':'nsce','\u22E1':'nsccue','\u227F\u0338':'NotSucceedsTilde','\u2283\u20D2':'vnsup','\u2289':'nsupe','\u2241':'nsim','\u2244':'nsime','\u2AFD\u20E5':'nparsl','\u2202\u0338':'npart','\u2A14':'npolint','\u2933\u0338':'nrarrc','\u219B':'nrarr','\u21CF':'nrArr','\u219D\u0338':'nrarrw','\uD835\uDCA9':'Nscr','\uD835\uDCC3':'nscr','\u2284':'nsub','\u2AC5\u0338':'nsubE','\u2285':'nsup','\u2AC6\u0338':'nsupE','\xD1':'Ntilde','\xF1':'ntilde','\u039D':'Nu','\u03BD':'nu','#':'num','\u2116':'numero','\u2007':'numsp','\u224D\u20D2':'nvap','\u22AC':'nvdash','\u22AD':'nvDash','\u22AE':'nVdash','\u22AF':'nVDash','\u2265\u20D2':'nvge','>\u20D2':'nvgt','\u2904':'nvHarr','\u29DE':'nvinfin','\u2902':'nvlArr','\u2264\u20D2':'nvle','<\u20D2':'nvlt','\u22B4\u20D2':'nvltrie','\u2903':'nvrArr','\u22B5\u20D2':'nvrtrie','\u223C\u20D2':'nvsim','\u2923':'nwarhk','\u2196':'nwarr','\u21D6':'nwArr','\u2927':'nwnear','\xD3':'Oacute','\xF3':'oacute','\xD4':'Ocirc','\xF4':'ocirc','\u041E':'Ocy','\u043E':'ocy','\u0150':'Odblac','\u0151':'odblac','\u2A38':'odiv','\u29BC':'odsold','\u0152':'OElig','\u0153':'oelig','\u29BF':'ofcir','\uD835\uDD12':'Ofr','\uD835\uDD2C':'ofr','\u02DB':'ogon','\xD2':'Ograve','\xF2':'ograve','\u29C1':'ogt','\u29B5':'ohbar','\u03A9':'ohm','\u29BE':'olcir','\u29BB':'olcross','\u203E':'oline','\u29C0':'olt','\u014C':'Omacr','\u014D':'omacr','\u03C9':'omega','\u039F':'Omicron','\u03BF':'omicron','\u29B6':'omid','\uD835\uDD46':'Oopf','\uD835\uDD60':'oopf','\u29B7':'opar','\u29B9':'operp','\u2A54':'Or','\u2228':'or','\u2A5D':'ord','\u2134':'oscr','\xAA':'ordf','\xBA':'ordm','\u22B6':'origof','\u2A56':'oror','\u2A57':'orslope','\u2A5B':'orv','\uD835\uDCAA':'Oscr','\xD8':'Oslash','\xF8':'oslash','\u2298':'osol','\xD5':'Otilde','\xF5':'otilde','\u2A36':'otimesas','\u2A37':'Otimes','\xD6':'Ouml','\xF6':'ouml','\u233D':'ovbar','\u23DE':'OverBrace','\u23B4':'tbrk','\u23DC':'OverParenthesis','\xB6':'para','\u2AF3':'parsim','\u2AFD':'parsl','\u2202':'part','\u041F':'Pcy','\u043F':'pcy','%':'percnt','.':'period','\u2030':'permil','\u2031':'pertenk','\uD835\uDD13':'Pfr','\uD835\uDD2D':'pfr','\u03A6':'Phi','\u03C6':'phi','\u03D5':'phiv','\u260E':'phone','\u03A0':'Pi','\u03C0':'pi','\u03D6':'piv','\u210E':'planckh','\u2A23':'plusacir','\u2A22':'pluscir','+':'plus','\u2A25':'plusdu','\u2A72':'pluse','\xB1':'pm','\u2A26':'plussim','\u2A27':'plustwo','\u2A15':'pointint','\uD835\uDD61':'popf','\u2119':'Popf','\xA3':'pound','\u2AB7':'prap','\u2ABB':'Pr','\u227A':'pr','\u227C':'prcue','\u2AAF':'pre','\u227E':'prsim','\u2AB9':'prnap','\u2AB5':'prnE','\u22E8':'prnsim','\u2AB3':'prE','\u2032':'prime','\u2033':'Prime','\u220F':'prod','\u232E':'profalar','\u2312':'profline','\u2313':'profsurf','\u221D':'prop','\u22B0':'prurel','\uD835\uDCAB':'Pscr','\uD835\uDCC5':'pscr','\u03A8':'Psi','\u03C8':'psi','\u2008':'puncsp','\uD835\uDD14':'Qfr','\uD835\uDD2E':'qfr','\uD835\uDD62':'qopf','\u211A':'Qopf','\u2057':'qprime','\uD835\uDCAC':'Qscr','\uD835\uDCC6':'qscr','\u2A16':'quatint','?':'quest','"':'quot','\u21DB':'rAarr','\u223D\u0331':'race','\u0154':'Racute','\u0155':'racute','\u221A':'Sqrt','\u29B3':'raemptyv','\u27E9':'rang','\u27EB':'Rang','\u2992':'rangd','\u29A5':'range','\xBB':'raquo','\u2975':'rarrap','\u21E5':'rarrb','\u2920':'rarrbfs','\u2933':'rarrc','\u2192':'rarr','\u21A0':'Rarr','\u291E':'rarrfs','\u2945':'rarrpl','\u2974':'rarrsim','\u2916':'Rarrtl','\u21A3':'rarrtl','\u219D':'rarrw','\u291A':'ratail','\u291C':'rAtail','\u2236':'ratio','\u2773':'rbbrk','}':'rcub',']':'rsqb','\u298C':'rbrke','\u298E':'rbrksld','\u2990':'rbrkslu','\u0158':'Rcaron','\u0159':'rcaron','\u0156':'Rcedil','\u0157':'rcedil','\u2309':'rceil','\u0420':'Rcy','\u0440':'rcy','\u2937':'rdca','\u2969':'rdldhar','\u21B3':'rdsh','\u211C':'Re','\u211B':'Rscr','\u211D':'Ropf','\u25AD':'rect','\u297D':'rfisht','\u230B':'rfloor','\uD835\uDD2F':'rfr','\u2964':'rHar','\u21C0':'rharu','\u296C':'rharul','\u03A1':'Rho','\u03C1':'rho','\u03F1':'rhov','\u21C4':'rlarr','\u27E7':'robrk','\u295D':'RightDownTeeVector','\u2955':'RightDownVectorBar','\u21C9':'rrarr','\u22A2':'vdash','\u295B':'RightTeeVector','\u22CC':'rthree','\u29D0':'RightTriangleBar','\u22B3':'vrtri','\u22B5':'rtrie','\u294F':'RightUpDownVector','\u295C':'RightUpTeeVector','\u2954':'RightUpVectorBar','\u21BE':'uharr','\u2953':'RightVectorBar','\u02DA':'ring','\u200F':'rlm','\u23B1':'rmoust','\u2AEE':'rnmid','\u27ED':'roang','\u21FE':'roarr','\u2986':'ropar','\uD835\uDD63':'ropf','\u2A2E':'roplus','\u2A35':'rotimes','\u2970':'RoundImplies',')':'rpar','\u2994':'rpargt','\u2A12':'rppolint','\u203A':'rsaquo','\uD835\uDCC7':'rscr','\u21B1':'rsh','\u22CA':'rtimes','\u25B9':'rtri','\u29CE':'rtriltri','\u29F4':'RuleDelayed','\u2968':'ruluhar','\u211E':'rx','\u015A':'Sacute','\u015B':'sacute','\u2AB8':'scap','\u0160':'Scaron','\u0161':'scaron','\u2ABC':'Sc','\u227B':'sc','\u227D':'sccue','\u2AB0':'sce','\u2AB4':'scE','\u015E':'Scedil','\u015F':'scedil','\u015C':'Scirc','\u015D':'scirc','\u2ABA':'scnap','\u2AB6':'scnE','\u22E9':'scnsim','\u2A13':'scpolint','\u227F':'scsim','\u0421':'Scy','\u0441':'scy','\u22C5':'sdot','\u2A66':'sdote','\u21D8':'seArr','\xA7':'sect',';':'semi','\u2929':'tosa','\u2736':'sext','\uD835\uDD16':'Sfr','\uD835\uDD30':'sfr','\u266F':'sharp','\u0429':'SHCHcy','\u0449':'shchcy','\u0428':'SHcy','\u0448':'shcy','\u2191':'uarr','\xAD':'shy','\u03A3':'Sigma','\u03C3':'sigma','\u03C2':'sigmaf','\u223C':'sim','\u2A6A':'simdot','\u2243':'sime','\u2A9E':'simg','\u2AA0':'simgE','\u2A9D':'siml','\u2A9F':'simlE','\u2246':'simne','\u2A24':'simplus','\u2972':'simrarr','\u2A33':'smashp','\u29E4':'smeparsl','\u2323':'smile','\u2AAA':'smt','\u2AAC':'smte','\u2AAC\uFE00':'smtes','\u042C':'SOFTcy','\u044C':'softcy','\u233F':'solbar','\u29C4':'solb','/':'sol','\uD835\uDD4A':'Sopf','\uD835\uDD64':'sopf','\u2660':'spades','\u2293':'sqcap','\u2293\uFE00':'sqcaps','\u2294':'sqcup','\u2294\uFE00':'sqcups','\u228F':'sqsub','\u2291':'sqsube','\u2290':'sqsup','\u2292':'sqsupe','\u25A1':'squ','\uD835\uDCAE':'Sscr','\uD835\uDCC8':'sscr','\u22C6':'Star','\u2606':'star','\u2282':'sub','\u22D0':'Sub','\u2ABD':'subdot','\u2AC5':'subE','\u2286':'sube','\u2AC3':'subedot','\u2AC1':'submult','\u2ACB':'subnE','\u228A':'subne','\u2ABF':'subplus','\u2979':'subrarr','\u2AC7':'subsim','\u2AD5':'subsub','\u2AD3':'subsup','\u2211':'sum','\u266A':'sung','\xB9':'sup1','\xB2':'sup2','\xB3':'sup3','\u2283':'sup','\u22D1':'Sup','\u2ABE':'supdot','\u2AD8':'supdsub','\u2AC6':'supE','\u2287':'supe','\u2AC4':'supedot','\u27C9':'suphsol','\u2AD7':'suphsub','\u297B':'suplarr','\u2AC2':'supmult','\u2ACC':'supnE','\u228B':'supne','\u2AC0':'supplus','\u2AC8':'supsim','\u2AD4':'supsub','\u2AD6':'supsup','\u21D9':'swArr','\u292A':'swnwar','\xDF':'szlig','\t':'Tab','\u2316':'target','\u03A4':'Tau','\u03C4':'tau','\u0164':'Tcaron','\u0165':'tcaron','\u0162':'Tcedil','\u0163':'tcedil','\u0422':'Tcy','\u0442':'tcy','\u20DB':'tdot','\u2315':'telrec','\uD835\uDD17':'Tfr','\uD835\uDD31':'tfr','\u2234':'there4','\u0398':'Theta','\u03B8':'theta','\u03D1':'thetav','\u205F\u200A':'ThickSpace','\u2009':'thinsp','\xDE':'THORN','\xFE':'thorn','\u2A31':'timesbar','\xD7':'times','\u2A30':'timesd','\u2336':'topbot','\u2AF1':'topcir','\uD835\uDD4B':'Topf','\uD835\uDD65':'topf','\u2ADA':'topfork','\u2034':'tprime','\u2122':'trade','\u25B5':'utri','\u225C':'trie','\u25EC':'tridot','\u2A3A':'triminus','\u2A39':'triplus','\u29CD':'trisb','\u2A3B':'tritime','\u23E2':'trpezium','\uD835\uDCAF':'Tscr','\uD835\uDCC9':'tscr','\u0426':'TScy','\u0446':'tscy','\u040B':'TSHcy','\u045B':'tshcy','\u0166':'Tstrok','\u0167':'tstrok','\xDA':'Uacute','\xFA':'uacute','\u219F':'Uarr','\u2949':'Uarrocir','\u040E':'Ubrcy','\u045E':'ubrcy','\u016C':'Ubreve','\u016D':'ubreve','\xDB':'Ucirc','\xFB':'ucirc','\u0423':'Ucy','\u0443':'ucy','\u21C5':'udarr','\u0170':'Udblac','\u0171':'udblac','\u296E':'udhar','\u297E':'ufisht','\uD835\uDD18':'Ufr','\uD835\uDD32':'ufr','\xD9':'Ugrave','\xF9':'ugrave','\u2963':'uHar','\u2580':'uhblk','\u231C':'ulcorn','\u230F':'ulcrop','\u25F8':'ultri','\u016A':'Umacr','\u016B':'umacr','\u23DF':'UnderBrace','\u23DD':'UnderParenthesis','\u228E':'uplus','\u0172':'Uogon','\u0173':'uogon','\uD835\uDD4C':'Uopf','\uD835\uDD66':'uopf','\u2912':'UpArrowBar','\u2195':'varr','\u03C5':'upsi','\u03D2':'Upsi','\u03A5':'Upsilon','\u21C8':'uuarr','\u231D':'urcorn','\u230E':'urcrop','\u016E':'Uring','\u016F':'uring','\u25F9':'urtri','\uD835\uDCB0':'Uscr','\uD835\uDCCA':'uscr','\u22F0':'utdot','\u0168':'Utilde','\u0169':'utilde','\xDC':'Uuml','\xFC':'uuml','\u29A7':'uwangle','\u299C':'vangrt','\u228A\uFE00':'vsubne','\u2ACB\uFE00':'vsubnE','\u228B\uFE00':'vsupne','\u2ACC\uFE00':'vsupnE','\u2AE8':'vBar','\u2AEB':'Vbar','\u2AE9':'vBarv','\u0412':'Vcy','\u0432':'vcy','\u22A9':'Vdash','\u22AB':'VDash','\u2AE6':'Vdashl','\u22BB':'veebar','\u225A':'veeeq','\u22EE':'vellip','|':'vert','\u2016':'Vert','\u2758':'VerticalSeparator','\u2240':'wr','\uD835\uDD19':'Vfr','\uD835\uDD33':'vfr','\uD835\uDD4D':'Vopf','\uD835\uDD67':'vopf','\uD835\uDCB1':'Vscr','\uD835\uDCCB':'vscr','\u22AA':'Vvdash','\u299A':'vzigzag','\u0174':'Wcirc','\u0175':'wcirc','\u2A5F':'wedbar','\u2259':'wedgeq','\u2118':'wp','\uD835\uDD1A':'Wfr','\uD835\uDD34':'wfr','\uD835\uDD4E':'Wopf','\uD835\uDD68':'wopf','\uD835\uDCB2':'Wscr','\uD835\uDCCC':'wscr','\uD835\uDD1B':'Xfr','\uD835\uDD35':'xfr','\u039E':'Xi','\u03BE':'xi','\u22FB':'xnis','\uD835\uDD4F':'Xopf','\uD835\uDD69':'xopf','\uD835\uDCB3':'Xscr','\uD835\uDCCD':'xscr','\xDD':'Yacute','\xFD':'yacute','\u042F':'YAcy','\u044F':'yacy','\u0176':'Ycirc','\u0177':'ycirc','\u042B':'Ycy','\u044B':'ycy','\xA5':'yen','\uD835\uDD1C':'Yfr','\uD835\uDD36':'yfr','\u0407':'YIcy','\u0457':'yicy','\uD835\uDD50':'Yopf','\uD835\uDD6A':'yopf','\uD835\uDCB4':'Yscr','\uD835\uDCCE':'yscr','\u042E':'YUcy','\u044E':'yucy','\xFF':'yuml','\u0178':'Yuml','\u0179':'Zacute','\u017A':'zacute','\u017D':'Zcaron','\u017E':'zcaron','\u0417':'Zcy','\u0437':'zcy','\u017B':'Zdot','\u017C':'zdot','\u2128':'Zfr','\u0396':'Zeta','\u03B6':'zeta','\uD835\uDD37':'zfr','\u0416':'ZHcy','\u0436':'zhcy','\u21DD':'zigrarr','\uD835\uDD6B':'zopf','\uD835\uDCB5':'Zscr','\uD835\uDCCF':'zscr','\u200D':'zwj','\u200C':'zwnj'}; + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) - var regexEscape = /["&'<>`]/g; - var escapeMap = { - '"': '"', - '&': '&', - '\'': ''', - '<': '<', - // See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the - // following is not strictly necessary unless it’s part of a tag or an - // unquoted attribute value. We’re only escaping it to support those - // situations, and for XML support. - '>': '>', - // In Internet Explorer ≤ 8, the backtick character can be used - // to break out of (un)quoted attribute values or HTML comments. - // See http://html5sec.org/#102, http://html5sec.org/#108, and - // http://html5sec.org/#133. - '`': '`' - }; + case 'ascii': + return asciiSlice(this, start, end) - var regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/; - var regexInvalidRawCodePoint = /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; - var regexDecode = /&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g; - var decodeMap = {'Aacute':'\xC1','aacute':'\xE1','Abreve':'\u0102','abreve':'\u0103','ac':'\u223E','acd':'\u223F','acE':'\u223E\u0333','Acirc':'\xC2','acirc':'\xE2','acute':'\xB4','Acy':'\u0410','acy':'\u0430','AElig':'\xC6','aelig':'\xE6','af':'\u2061','Afr':'\uD835\uDD04','afr':'\uD835\uDD1E','Agrave':'\xC0','agrave':'\xE0','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':'\xC5','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':'\xC5','aring':'\xE5','Ascr':'\uD835\uDC9C','ascr':'\uD835\uDCB6','Assign':'\u2254','ast':'*','asymp':'\u2248','asympeq':'\u224D','Atilde':'\xC3','atilde':'\xE3','Auml':'\xC4','auml':'\xE4','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':'\xA6','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':'\xC7','ccedil':'\xE7','Ccirc':'\u0108','ccirc':'\u0109','Cconint':'\u2230','ccups':'\u2A4C','ccupssm':'\u2A50','Cdot':'\u010A','cdot':'\u010B','cedil':'\xB8','Cedilla':'\xB8','cemptyv':'\u29B2','cent':'\xA2','centerdot':'\xB7','CenterDot':'\xB7','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':'\xAE','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':'\xA9','COPY':'\xA9','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':'\xA4','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':'\xB0','Del':'\u2207','Delta':'\u0394','delta':'\u03B4','demptyv':'\u29B1','dfisht':'\u297F','Dfr':'\uD835\uDD07','dfr':'\uD835\uDD21','dHar':'\u2965','dharl':'\u21C3','dharr':'\u21C2','DiacriticalAcute':'\xB4','DiacriticalDot':'\u02D9','DiacriticalDoubleAcute':'\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\u02DC','diam':'\u22C4','diamond':'\u22C4','Diamond':'\u22C4','diamondsuit':'\u2666','diams':'\u2666','die':'\xA8','DifferentialD':'\u2146','digamma':'\u03DD','disin':'\u22F2','div':'\xF7','divide':'\xF7','divideontimes':'\u22C7','divonx':'\u22C7','DJcy':'\u0402','djcy':'\u0452','dlcorn':'\u231E','dlcrop':'\u230D','dollar':'$','Dopf':'\uD835\uDD3B','dopf':'\uD835\uDD55','Dot':'\xA8','dot':'\u02D9','DotDot':'\u20DC','doteq':'\u2250','doteqdot':'\u2251','DotEqual':'\u2250','dotminus':'\u2238','dotplus':'\u2214','dotsquare':'\u22A1','doublebarwedge':'\u2306','DoubleContourIntegral':'\u222F','DoubleDot':'\xA8','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':'\xC9','eacute':'\xE9','easter':'\u2A6E','Ecaron':'\u011A','ecaron':'\u011B','Ecirc':'\xCA','ecirc':'\xEA','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':'\xC8','egrave':'\xE8','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':'\xD0','eth':'\xF0','Euml':'\xCB','euml':'\xEB','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':'\xBD','frac13':'\u2153','frac14':'\xBC','frac15':'\u2155','frac16':'\u2159','frac18':'\u215B','frac23':'\u2154','frac25':'\u2156','frac34':'\xBE','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':'\xBD','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':'\xCD','iacute':'\xED','ic':'\u2063','Icirc':'\xCE','icirc':'\xEE','Icy':'\u0418','icy':'\u0438','Idot':'\u0130','IEcy':'\u0415','iecy':'\u0435','iexcl':'\xA1','iff':'\u21D4','ifr':'\uD835\uDD26','Ifr':'\u2111','Igrave':'\xCC','igrave':'\xEC','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':'\xBF','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':'\xCF','iuml':'\xEF','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':'\xAB','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':'\xAF','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':'\xB5','midast':'*','midcir':'\u2AF0','mid':'\u2223','middot':'\xB7','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':'\xA0','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':'\xA0','nopf':'\uD835\uDD5F','Nopf':'\u2115','Not':'\u2AEC','not':'\xAC','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':'\xD1','ntilde':'\xF1','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':'\xD3','oacute':'\xF3','oast':'\u229B','Ocirc':'\xD4','ocirc':'\xF4','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':'\xD2','ograve':'\xF2','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':'\xAA','ordm':'\xBA','origof':'\u22B6','oror':'\u2A56','orslope':'\u2A57','orv':'\u2A5B','oS':'\u24C8','Oscr':'\uD835\uDCAA','oscr':'\u2134','Oslash':'\xD8','oslash':'\xF8','osol':'\u2298','Otilde':'\xD5','otilde':'\xF5','otimesas':'\u2A36','Otimes':'\u2A37','otimes':'\u2297','Ouml':'\xD6','ouml':'\xF6','ovbar':'\u233D','OverBar':'\u203E','OverBrace':'\u23DE','OverBracket':'\u23B4','OverParenthesis':'\u23DC','para':'\xB6','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':'\xB1','plusmn':'\xB1','plussim':'\u2A26','plustwo':'\u2A27','pm':'\xB1','Poincareplane':'\u210C','pointint':'\u2A15','popf':'\uD835\uDD61','Popf':'\u2119','pound':'\xA3','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':'\xBB','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':'\xAE','REG':'\xAE','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':'\xA7','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':'\xAD','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':'\xAF','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':'\xB9','sup2':'\xB2','sup3':'\xB3','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':'\xDF','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':'\xDE','thorn':'\xFE','tilde':'\u02DC','Tilde':'\u223C','TildeEqual':'\u2243','TildeFullEqual':'\u2245','TildeTilde':'\u2248','timesbar':'\u2A31','timesb':'\u22A0','times':'\xD7','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':'\xDA','uacute':'\xFA','uarr':'\u2191','Uarr':'\u219F','uArr':'\u21D1','Uarrocir':'\u2949','Ubrcy':'\u040E','ubrcy':'\u045E','Ubreve':'\u016C','ubreve':'\u016D','Ucirc':'\xDB','ucirc':'\xFB','Ucy':'\u0423','ucy':'\u0443','udarr':'\u21C5','Udblac':'\u0170','udblac':'\u0171','udhar':'\u296E','ufisht':'\u297E','Ufr':'\uD835\uDD18','ufr':'\uD835\uDD32','Ugrave':'\xD9','ugrave':'\xF9','uHar':'\u2963','uharl':'\u21BF','uharr':'\u21BE','uhblk':'\u2580','ulcorn':'\u231C','ulcorner':'\u231C','ulcrop':'\u230F','ultri':'\u25F8','Umacr':'\u016A','umacr':'\u016B','uml':'\xA8','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':'\xDC','uuml':'\xFC','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':'\xDD','yacute':'\xFD','YAcy':'\u042F','yacy':'\u044F','Ycirc':'\u0176','ycirc':'\u0177','Ycy':'\u042B','ycy':'\u044B','yen':'\xA5','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':'\xFF','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'}; - var decodeMapLegacy = {'Aacute':'\xC1','aacute':'\xE1','Acirc':'\xC2','acirc':'\xE2','acute':'\xB4','AElig':'\xC6','aelig':'\xE6','Agrave':'\xC0','agrave':'\xE0','amp':'&','AMP':'&','Aring':'\xC5','aring':'\xE5','Atilde':'\xC3','atilde':'\xE3','Auml':'\xC4','auml':'\xE4','brvbar':'\xA6','Ccedil':'\xC7','ccedil':'\xE7','cedil':'\xB8','cent':'\xA2','copy':'\xA9','COPY':'\xA9','curren':'\xA4','deg':'\xB0','divide':'\xF7','Eacute':'\xC9','eacute':'\xE9','Ecirc':'\xCA','ecirc':'\xEA','Egrave':'\xC8','egrave':'\xE8','ETH':'\xD0','eth':'\xF0','Euml':'\xCB','euml':'\xEB','frac12':'\xBD','frac14':'\xBC','frac34':'\xBE','gt':'>','GT':'>','Iacute':'\xCD','iacute':'\xED','Icirc':'\xCE','icirc':'\xEE','iexcl':'\xA1','Igrave':'\xCC','igrave':'\xEC','iquest':'\xBF','Iuml':'\xCF','iuml':'\xEF','laquo':'\xAB','lt':'<','LT':'<','macr':'\xAF','micro':'\xB5','middot':'\xB7','nbsp':'\xA0','not':'\xAC','Ntilde':'\xD1','ntilde':'\xF1','Oacute':'\xD3','oacute':'\xF3','Ocirc':'\xD4','ocirc':'\xF4','Ograve':'\xD2','ograve':'\xF2','ordf':'\xAA','ordm':'\xBA','Oslash':'\xD8','oslash':'\xF8','Otilde':'\xD5','otilde':'\xF5','Ouml':'\xD6','ouml':'\xF6','para':'\xB6','plusmn':'\xB1','pound':'\xA3','quot':'"','QUOT':'"','raquo':'\xBB','reg':'\xAE','REG':'\xAE','sect':'\xA7','shy':'\xAD','sup1':'\xB9','sup2':'\xB2','sup3':'\xB3','szlig':'\xDF','THORN':'\xDE','thorn':'\xFE','times':'\xD7','Uacute':'\xDA','uacute':'\xFA','Ucirc':'\xDB','ucirc':'\xFB','Ugrave':'\xD9','ugrave':'\xF9','uml':'\xA8','Uuml':'\xDC','uuml':'\xFC','Yacute':'\xDD','yacute':'\xFD','yen':'\xA5','yuml':'\xFF'}; - var decodeMapNumeric = {'0':'\uFFFD','128':'\u20AC','130':'\u201A','131':'\u0192','132':'\u201E','133':'\u2026','134':'\u2020','135':'\u2021','136':'\u02C6','137':'\u2030','138':'\u0160','139':'\u2039','140':'\u0152','142':'\u017D','145':'\u2018','146':'\u2019','147':'\u201C','148':'\u201D','149':'\u2022','150':'\u2013','151':'\u2014','152':'\u02DC','153':'\u2122','154':'\u0161','155':'\u203A','156':'\u0153','158':'\u017E','159':'\u0178'}; - var invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]; + case 'binary': + return binarySlice(this, start, end) - /*--------------------------------------------------------------------------*/ + case 'base64': + return base64Slice(this, start, end) - var stringFromCharCode = String.fromCharCode; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) - var object = {}; - var hasOwnProperty = object.hasOwnProperty; - var has = function(object, propertyName) { - return hasOwnProperty.call(object, propertyName); - }; + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} - var contains = function(array, value) { - var index = -1; - var length = array.length; - while (++index < length) { - if (array[index] == value) { - return true; - } - } - return false; - }; +Buffer.prototype.toString = function toString () { + var length = this.length | 0 + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} - var merge = function(options, defaults) { - if (!options) { - return defaults; - } - var result = {}; - var key; - for (key in defaults) { - // A `hasOwnProperty` check is not needed here, since only recognized - // option names are used anyway. Any others are ignored. - result[key] = has(options, key) ? options[key] : defaults[key]; - } - return result; - }; +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} - // Modified version of `ucs2encode`; see http://mths.be/punycode. - var codePointToSymbol = function(codePoint, strict) { - var output = ''; - if ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) { - // See issue #4: - // “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is - // greater than 0x10FFFF, then this is a parse error. Return a U+FFFD - // REPLACEMENT CHARACTER.” - if (strict) { - parseError('character reference outside the permissible Unicode range'); - } - return '\uFFFD'; - } - if (has(decodeMapNumeric, codePoint)) { - if (strict) { - parseError('disallowed character reference'); - } - return decodeMapNumeric[codePoint]; - } - if (strict && contains(invalidReferenceCodePoints, codePoint)) { - parseError('disallowed character reference'); - } - if (codePoint > 0xFFFF) { - codePoint -= 0x10000; - output += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800); - codePoint = 0xDC00 | codePoint & 0x3FF; - } - output += stringFromCharCode(codePoint); - return output; - }; +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + if (this.length > 0) { + str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') + if (this.length > max) str += ' ... ' + } + return '' +} - var hexEscape = function(symbol) { - return '&#x' + symbol.charCodeAt(0).toString(16).toUpperCase() + ';'; - }; +Buffer.prototype.compare = function compare (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return 0 + return Buffer.compare(this, b) +} - var parseError = function(message) { - throw Error('Parse error: ' + message); - }; +Buffer.prototype.indexOf = function indexOf (val, byteOffset) { + if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff + else if (byteOffset < -0x80000000) byteOffset = -0x80000000 + byteOffset >>= 0 - /*--------------------------------------------------------------------------*/ + if (this.length === 0) return -1 + if (byteOffset >= this.length) return -1 - var encode = function(string, options) { - options = merge(options, encode.options); - var strict = options.strict; - if (strict && regexInvalidRawCodePoint.test(string)) { - parseError('forbidden code point'); - } - var encodeEverything = options.encodeEverything; - var useNamedReferences = options.useNamedReferences; - var allowUnsafeSymbols = options.allowUnsafeSymbols; - if (encodeEverything) { - // Encode ASCII symbols. - string = string.replace(regexAsciiWhitelist, function(symbol) { - // Use named references if requested & possible. - if (useNamedReferences && has(encodeMap, symbol)) { - return '&' + encodeMap[symbol] + ';'; - } - return hexEscape(symbol); - }); - // Shorten a few escapes that represent two symbols, of which at least one - // is within the ASCII range. - if (useNamedReferences) { - string = string - .replace(/>\u20D2/g, '>⃒') - .replace(/<\u20D2/g, '<⃒') - .replace(/fj/g, 'fj'); - } - // Encode non-ASCII symbols. - if (useNamedReferences) { - // Encode non-ASCII symbols that can be replaced with a named reference. - string = string.replace(regexEncodeNonAscii, function(string) { - // Note: there is no need to check `has(encodeMap, string)` here. - return '&' + encodeMap[string] + ';'; - }); - } - // Note: any remaining non-ASCII symbols are handled outside of the `if`. - } else if (useNamedReferences) { - // Apply named character references. - // Encode `<>"'&` using named character references. + // Negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0) + + if (typeof val === 'string') { + if (val.length === 0) return -1 // special case: looking for empty string always fails + return String.prototype.indexOf.call(this, val, byteOffset) + } + if (Buffer.isBuffer(val)) { + return arrayIndexOf(this, val, byteOffset) + } + if (typeof val === 'number') { + if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') { + return Uint8Array.prototype.indexOf.call(this, val, byteOffset) + } + return arrayIndexOf(this, [ val ], byteOffset) + } + + function arrayIndexOf (arr, val, byteOffset) { + var foundIndex = -1 + for (var i = 0; byteOffset + i < arr.length; i++) { + if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex + } else { + foundIndex = -1 + } + } + return -1 + } + + throw new TypeError('val must be string, number or Buffer') +} + +// `get` will be removed in Node 0.13+ +Buffer.prototype.get = function get (offset) { + console.log('.get() is deprecated. Access using array indexes instead.') + return this.readUInt8(offset) +} + +// `set` will be removed in Node 0.13+ +Buffer.prototype.set = function set (v, offset) { + console.log('.set() is deprecated. Access using array indexes instead.') + return this.writeUInt8(v, offset) +} + +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + // must be an even number of digits + var strLen = string.length + if (strLen % 2 !== 0) throw new Error('Invalid hex string') + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; i++) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (isNaN(parsed)) throw new Error('Invalid hex string') + buf[offset + i] = parsed + } + return i +} + +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} + +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} + +function binaryWrite (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} + +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} + +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} + +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset | 0 + if (isFinite(length)) { + length = length | 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + // legacy write(string, encoding, offset, length) - remove in v0.13 + } else { + var swap = encoding + encoding = offset + offset = length | 0 + length = swap + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'binary': + return binaryWrite(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} + +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} + +function utf8Slice (buf, start, end) { + var res = '' + var tmp = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; i++) { + if (buf[i] <= 0x7F) { + res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i]) + tmp = '' + } else { + tmp += '%' + buf[i].toString(16) + } + } + + return res + decodeUtf8Char(tmp) +} + +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; i++) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} + +function binarySlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; i++) { + ret += String.fromCharCode(buf[i]) + } + return ret +} + +function hexSlice (buf, start, end) { + var len = buf.length + + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len + + var out = '' + for (var i = start; i < end; i++) { + out += toHex(buf[i]) + } + return out +} + +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) + } + return res +} + +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = Buffer._augment(this.subarray(start, end)) + } else { + var sliceLen = end - start + newBuf = new Buffer(sliceLen, undefined) + for (var i = 0; i < sliceLen; i++) { + newBuf[i] = this[i + start] + } + } + + if (newBuf.length) newBuf.parent = this.parent || this + + return newBuf +} + +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} + +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + + return val +} + +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } + + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } + + return val +} + +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} + +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} + +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} + +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} + +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} + +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} + +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} + +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} + +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} + +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} + +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance') + if (value > max || value < min) throw new RangeError('value is out of bounds') + if (offset + ext > buf.length) throw new RangeError('index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + this[offset] = value + return offset + 1 +} + +function objectWriteUInt16 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) { + buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> + (littleEndian ? i : 1 - i) * 8 + } +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = value + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +function objectWriteUInt32 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffffffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) { + buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff + } +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = value + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = value + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = value < 0 ? 1 : 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = value < 0 ? 1 : 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + if (value < 0) value = 0xff + value + 1 + this[offset] = value + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = value + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = value + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (value > max || value < min) throw new RangeError('value is out of bounds') + if (offset + ext > buf.length) throw new RangeError('index out of range') + if (offset < 0) throw new RangeError('index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + + if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < len; i++) { + target[i + targetStart] = this[i + start] + } + } else { + target._set(this.subarray(start, start + len), targetStart) + } + + return len +} + +// fill(value, start=0, end=buffer.length) +Buffer.prototype.fill = function fill (value, start, end) { + if (!value) value = 0 + if (!start) start = 0 + if (!end) end = this.length + + if (end < start) throw new RangeError('end < start') + + // Fill 0 bytes; we're done + if (end === start) return + if (this.length === 0) return + + if (start < 0 || start >= this.length) throw new RangeError('start out of bounds') + if (end < 0 || end > this.length) throw new RangeError('end out of bounds') + + var i + if (typeof value === 'number') { + for (i = start; i < end; i++) { + this[i] = value + } + } else { + var bytes = utf8ToBytes(value.toString()) + var len = bytes.length + for (i = start; i < end; i++) { + this[i] = bytes[i % len] + } + } + + return this +} + +/** + * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance. + * Added in Node 0.12. Only available in browsers that support ArrayBuffer. + */ +Buffer.prototype.toArrayBuffer = function toArrayBuffer () { + if (typeof Uint8Array !== 'undefined') { + if (Buffer.TYPED_ARRAY_SUPPORT) { + return (new Buffer(this)).buffer + } else { + var buf = new Uint8Array(this.length) + for (var i = 0, len = buf.length; i < len; i += 1) { + buf[i] = this[i] + } + return buf.buffer + } + } else { + throw new TypeError('Buffer.toArrayBuffer not supported in this browser') + } +} + +// HELPER FUNCTIONS +// ================ + +var BP = Buffer.prototype + +/** + * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods + */ +Buffer._augment = function _augment (arr) { + arr.constructor = Buffer + arr._isBuffer = true + + // save reference to original Uint8Array set method before overwriting + arr._set = arr.set + + // deprecated, will be removed in node 0.13+ + arr.get = BP.get + arr.set = BP.set + + arr.write = BP.write + arr.toString = BP.toString + arr.toLocaleString = BP.toString + arr.toJSON = BP.toJSON + arr.equals = BP.equals + arr.compare = BP.compare + arr.indexOf = BP.indexOf + arr.copy = BP.copy + arr.slice = BP.slice + arr.readUIntLE = BP.readUIntLE + arr.readUIntBE = BP.readUIntBE + arr.readUInt8 = BP.readUInt8 + arr.readUInt16LE = BP.readUInt16LE + arr.readUInt16BE = BP.readUInt16BE + arr.readUInt32LE = BP.readUInt32LE + arr.readUInt32BE = BP.readUInt32BE + arr.readIntLE = BP.readIntLE + arr.readIntBE = BP.readIntBE + arr.readInt8 = BP.readInt8 + arr.readInt16LE = BP.readInt16LE + arr.readInt16BE = BP.readInt16BE + arr.readInt32LE = BP.readInt32LE + arr.readInt32BE = BP.readInt32BE + arr.readFloatLE = BP.readFloatLE + arr.readFloatBE = BP.readFloatBE + arr.readDoubleLE = BP.readDoubleLE + arr.readDoubleBE = BP.readDoubleBE + arr.writeUInt8 = BP.writeUInt8 + arr.writeUIntLE = BP.writeUIntLE + arr.writeUIntBE = BP.writeUIntBE + arr.writeUInt16LE = BP.writeUInt16LE + arr.writeUInt16BE = BP.writeUInt16BE + arr.writeUInt32LE = BP.writeUInt32LE + arr.writeUInt32BE = BP.writeUInt32BE + arr.writeIntLE = BP.writeIntLE + arr.writeIntBE = BP.writeIntBE + arr.writeInt8 = BP.writeInt8 + arr.writeInt16LE = BP.writeInt16LE + arr.writeInt16BE = BP.writeInt16BE + arr.writeInt32LE = BP.writeInt32LE + arr.writeInt32BE = BP.writeInt32BE + arr.writeFloatLE = BP.writeFloatLE + arr.writeFloatBE = BP.writeFloatBE + arr.writeDoubleLE = BP.writeDoubleLE + arr.writeDoubleBE = BP.writeDoubleBE + arr.fill = BP.fill + arr.inspect = BP.inspect + arr.toArrayBuffer = BP.toArrayBuffer + + return arr +} + +var INVALID_BASE64_RE = /[^+\/0-9A-z\-]/g + +function base64clean (str) { + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = stringtrim(str).replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function stringtrim (str) { + if (str.trim) return str.trim() + return str.replace(/^\s+|\s+$/g, '') +} + +function toHex (n) { + if (n < 16) return '0' + n.toString(16) + return n.toString(16) +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + var i = 0 + + for (; i < length; i++) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (leadSurrogate) { + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } else { + // valid surrogate pair + codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000 + leadSurrogate = null + } + } else { + // no lead yet + + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else { + // valid lead + leadSurrogate = codePoint + continue + } + } + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = null + } + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x200000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; i++) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; i++) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; i++) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +function decodeUtf8Char (str) { + try { + return decodeURIComponent(str) + } catch (err) { + return String.fromCharCode(0xFFFD) // UTF 8 invalid char + } +} + +},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){ +var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + +;(function (exports) { + 'use strict'; + + var Arr = (typeof Uint8Array !== 'undefined') + ? Uint8Array + : Array + + var PLUS = '+'.charCodeAt(0) + var SLASH = '/'.charCodeAt(0) + var NUMBER = '0'.charCodeAt(0) + var LOWER = 'a'.charCodeAt(0) + var UPPER = 'A'.charCodeAt(0) + var PLUS_URL_SAFE = '-'.charCodeAt(0) + var SLASH_URL_SAFE = '_'.charCodeAt(0) + + function decode (elt) { + var code = elt.charCodeAt(0) + if (code === PLUS || + code === PLUS_URL_SAFE) + return 62 // '+' + if (code === SLASH || + code === SLASH_URL_SAFE) + return 63 // '/' + if (code < NUMBER) + return -1 //no match + if (code < NUMBER + 10) + return code - NUMBER + 26 + 26 + if (code < UPPER + 26) + return code - UPPER + if (code < LOWER + 26) + return code - LOWER + 26 + } + + function b64ToByteArray (b64) { + var i, j, l, tmp, placeHolders, arr + + if (b64.length % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // the number of equal signs (place holders) + // if there are two placeholders, than the two characters before it + // represent one byte + // if there is only one, then the three characters before it represent 2 bytes + // this is just a cheap hack to not do indexOf twice + var len = b64.length + placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0 + + // base64 is 4/3 + up to two characters of the original data + arr = new Arr(b64.length * 3 / 4 - placeHolders) + + // if there are placeholders, only get up to the last complete 4 chars + l = placeHolders > 0 ? b64.length - 4 : b64.length + + var L = 0 + + function push (v) { + arr[L++] = v + } + + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3)) + push((tmp & 0xFF0000) >> 16) + push((tmp & 0xFF00) >> 8) + push(tmp & 0xFF) + } + + if (placeHolders === 2) { + tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4) + push(tmp & 0xFF) + } else if (placeHolders === 1) { + tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2) + push((tmp >> 8) & 0xFF) + push(tmp & 0xFF) + } + + return arr + } + + function uint8ToBase64 (uint8) { + var i, + extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes + output = "", + temp, length + + function encode (num) { + return lookup.charAt(num) + } + + function tripletToBase64 (num) { + return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F) + } + + // go through the array every three bytes, we'll deal with trailing stuff later + for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) { + temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) + output += tripletToBase64(temp) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + switch (extraBytes) { + case 1: + temp = uint8[uint8.length - 1] + output += encode(temp >> 2) + output += encode((temp << 4) & 0x3F) + output += '==' + break + case 2: + temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]) + output += encode(temp >> 10) + output += encode((temp >> 4) & 0x3F) + output += encode((temp << 2) & 0x3F) + output += '=' + break + } + + return output + } + + exports.toByteArray = b64ToByteArray + exports.fromByteArray = uint8ToBase64 +}(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) + +},{}],9:[function(require,module,exports){ +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + +},{}],10:[function(require,module,exports){ + +/** + * isArray + */ + +var isArray = Array.isArray; + +/** + * toString + */ + +var str = Object.prototype.toString; + +/** + * Whether or not the given `val` + * is an array. + * + * example: + * + * isArray([]); + * // > true + * isArray(arguments); + * // > false + * isArray(''); + * // > false + * + * @param {mixed} val + * @return {bool} + */ + +module.exports = isArray || function (val) { + return !! val && '[object Array]' == str.call(val); +}; + +},{}],11:[function(require,module,exports){ +/** + * @author Titus Wormer + * @copyright 2015 Titus Wormer. All rights reserved. + * @module ccount + * @fileoverview Count characters. + */ + +'use strict'; + +/** + * Count how many characters `character` occur in `value`. + * + * @example + * ccount('foo(bar(baz)', '(') // 2 + * ccount('foo(bar(baz)', ')') // 1 + * + * @param {string} value - Content, coerced to string. + * @param {string} character - Single character to look + * for. + * @return {number} - Count. + * @throws {Error} - when `character` is not a single + * character. + */ +function ccount(value, character) { + var index = -1; + var count = 0; + var length; + + value = String(value); + length = value.length; + + if (typeof character !== 'string' || character.length !== 1) { + throw new Error('Expected character'); + } + + while (++index < length) { + if (value.charAt(index) === character) { + count++; + } + } + + return count; +} + +/* + * Expose. + */ + +module.exports = ccount; + +},{}],12:[function(require,module,exports){ +(function (Buffer){ +var clone = (function() { +'use strict'; + +/** + * Clones (copies) an Object using deep copying. + * + * This function supports circular references by default, but if you are certain + * there are no circular references in your object, you can save some CPU time + * by calling clone(obj, false). + * + * Caution: if `circular` is false and `parent` contains circular references, + * your program may enter an infinite loop and crash. + * + * @param `parent` - the object to be cloned + * @param `circular` - set to true if the object to be cloned may contain + * circular references. (optional - true by default) + * @param `depth` - set to a number if the object is only to be cloned to + * a particular depth. (optional - defaults to Infinity) + * @param `prototype` - sets the prototype to be used when cloning an object. + * (optional - defaults to parent prototype). +*/ +function clone(parent, circular, depth, prototype) { + var filter; + if (typeof circular === 'object') { + depth = circular.depth; + prototype = circular.prototype; + filter = circular.filter; + circular = circular.circular + } + // maintain two arrays for circular references, where corresponding parents + // and children have the same index + var allParents = []; + var allChildren = []; + + var useBuffer = typeof Buffer != 'undefined'; + + if (typeof circular == 'undefined') + circular = true; + + if (typeof depth == 'undefined') + depth = Infinity; + + // recurse this function so we don't reset allParents and allChildren + function _clone(parent, depth) { + // cloning null always returns null + if (parent === null) + return null; + + if (depth == 0) + return parent; + + var child; + var proto; + if (typeof parent != 'object') { + return parent; + } + + if (clone.__isArray(parent)) { + child = []; + } else if (clone.__isRegExp(parent)) { + child = new RegExp(parent.source, __getRegExpFlags(parent)); + if (parent.lastIndex) child.lastIndex = parent.lastIndex; + } else if (clone.__isDate(parent)) { + child = new Date(parent.getTime()); + } else if (useBuffer && Buffer.isBuffer(parent)) { + child = new Buffer(parent.length); + parent.copy(child); + return child; + } else { + if (typeof prototype == 'undefined') { + proto = Object.getPrototypeOf(parent); + child = Object.create(proto); + } + else { + child = Object.create(prototype); + proto = prototype; + } + } + + if (circular) { + var index = allParents.indexOf(parent); + + if (index != -1) { + return allChildren[index]; + } + allParents.push(parent); + allChildren.push(child); + } + + for (var i in parent) { + var attrs; + if (proto) { + attrs = Object.getOwnPropertyDescriptor(proto, i); + } + + if (attrs && attrs.set == null) { + continue; + } + child[i] = _clone(parent[i], depth - 1); + } + + return child; + } + + return _clone(parent, depth); +} + +/** + * Simple flat clone using prototype, accepts only objects, usefull for property + * override on FLAT configuration object (no nested props). + * + * USE WITH CAUTION! This may not behave as you wish if you do not know how this + * works. + */ +clone.clonePrototype = function clonePrototype(parent) { + if (parent === null) + return null; + + var c = function () {}; + c.prototype = parent; + return new c(); +}; + +// private utility functions + +function __objToStr(o) { + return Object.prototype.toString.call(o); +}; +clone.__objToStr = __objToStr; + +function __isDate(o) { + return typeof o === 'object' && __objToStr(o) === '[object Date]'; +}; +clone.__isDate = __isDate; + +function __isArray(o) { + return typeof o === 'object' && __objToStr(o) === '[object Array]'; +}; +clone.__isArray = __isArray; + +function __isRegExp(o) { + return typeof o === 'object' && __objToStr(o) === '[object RegExp]'; +}; +clone.__isRegExp = __isRegExp; + +function __getRegExpFlags(re) { + var flags = ''; + if (re.global) flags += 'g'; + if (re.ignoreCase) flags += 'i'; + if (re.multiline) flags += 'm'; + return flags; +}; +clone.__getRegExpFlags = __getRegExpFlags; + +return clone; +})(); + +if (typeof module === 'object' && module.exports) { + module.exports = clone; +} + +}).call(this,require("buffer").Buffer) +},{"buffer":7}],13:[function(require,module,exports){ +'use strict'; + +/* + * Constants. + */ + +var WHITE_SPACE_COLLAPSABLE = /\s+/g; +var SPACE = ' '; + +/** + * Replace multiple white-space characters with a single space. + * + * @example + * collapse(' \t\nbar \nbaz\t'); // ' bar baz ' + * + * @param {string} value - Value with uncollapsed white-space, + * coerced to string. + * @return {string} - Value with collapsed white-space. + */ +function collapse(value) { + return String(value).replace(WHITE_SPACE_COLLAPSABLE, SPACE); +} + +/* + * Expose. + */ + +module.exports = collapse; + +},{}],14:[function(require,module,exports){ +/** + * Extend an object with another. + * + * @param {Object, ...} src, ... + * @return {Object} merged + * @api private + */ + +module.exports = function(src) { + var objs = [].slice.call(arguments, 1), obj; + + for (var i = 0, len = objs.length; i < len; i++) { + obj = objs[i]; + for (var prop in obj) { + src[prop] = obj[prop]; + } + } + + return src; +} + +},{}],15:[function(require,module,exports){ +(function (global){ +/*! http://mths.be/he v0.5.0 by @mathias | MIT license */ +;(function(root) { + + // Detect free variables `exports`. + var freeExports = typeof exports == 'object' && exports; + + // Detect free variable `module`. + var freeModule = typeof module == 'object' && module && + module.exports == freeExports && module; + + // Detect free variable `global`, from Node.js or Browserified code, + // and use it as `root`. + var freeGlobal = typeof global == 'object' && global; + if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { + root = freeGlobal; + } + + /*--------------------------------------------------------------------------*/ + + // All astral symbols. + var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; + // All ASCII symbols (not just printable ASCII) except those listed in the + // first column of the overrides table. + // http://whatwg.org/html/tokenization.html#table-charref-overrides + var regexAsciiWhitelist = /[\x01-\x7F]/g; + // All BMP symbols that are not ASCII newlines, printable ASCII symbols, or + // code points listed in the first column of the overrides table on + // http://whatwg.org/html/tokenization.html#table-charref-overrides. + var regexBmpWhitelist = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g; + + var regexEncodeNonAscii = /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g; + var encodeMap = {'\xC1':'Aacute','\xE1':'aacute','\u0102':'Abreve','\u0103':'abreve','\u223E':'ac','\u223F':'acd','\u223E\u0333':'acE','\xC2':'Acirc','\xE2':'acirc','\xB4':'acute','\u0410':'Acy','\u0430':'acy','\xC6':'AElig','\xE6':'aelig','\u2061':'af','\uD835\uDD04':'Afr','\uD835\uDD1E':'afr','\xC0':'Agrave','\xE0':'agrave','\u2135':'aleph','\u0391':'Alpha','\u03B1':'alpha','\u0100':'Amacr','\u0101':'amacr','\u2A3F':'amalg','&':'amp','\u2A55':'andand','\u2A53':'And','\u2227':'and','\u2A5C':'andd','\u2A58':'andslope','\u2A5A':'andv','\u2220':'ang','\u29A4':'ange','\u29A8':'angmsdaa','\u29A9':'angmsdab','\u29AA':'angmsdac','\u29AB':'angmsdad','\u29AC':'angmsdae','\u29AD':'angmsdaf','\u29AE':'angmsdag','\u29AF':'angmsdah','\u2221':'angmsd','\u221F':'angrt','\u22BE':'angrtvb','\u299D':'angrtvbd','\u2222':'angsph','\xC5':'angst','\u237C':'angzarr','\u0104':'Aogon','\u0105':'aogon','\uD835\uDD38':'Aopf','\uD835\uDD52':'aopf','\u2A6F':'apacir','\u2248':'ap','\u2A70':'apE','\u224A':'ape','\u224B':'apid','\'':'apos','\xE5':'aring','\uD835\uDC9C':'Ascr','\uD835\uDCB6':'ascr','\u2254':'colone','*':'ast','\u224D':'CupCap','\xC3':'Atilde','\xE3':'atilde','\xC4':'Auml','\xE4':'auml','\u2233':'awconint','\u2A11':'awint','\u224C':'bcong','\u03F6':'bepsi','\u2035':'bprime','\u223D':'bsim','\u22CD':'bsime','\u2216':'setmn','\u2AE7':'Barv','\u22BD':'barvee','\u2305':'barwed','\u2306':'Barwed','\u23B5':'bbrk','\u23B6':'bbrktbrk','\u0411':'Bcy','\u0431':'bcy','\u201E':'bdquo','\u2235':'becaus','\u29B0':'bemptyv','\u212C':'Bscr','\u0392':'Beta','\u03B2':'beta','\u2136':'beth','\u226C':'twixt','\uD835\uDD05':'Bfr','\uD835\uDD1F':'bfr','\u22C2':'xcap','\u25EF':'xcirc','\u22C3':'xcup','\u2A00':'xodot','\u2A01':'xoplus','\u2A02':'xotime','\u2A06':'xsqcup','\u2605':'starf','\u25BD':'xdtri','\u25B3':'xutri','\u2A04':'xuplus','\u22C1':'Vee','\u22C0':'Wedge','\u290D':'rbarr','\u29EB':'lozf','\u25AA':'squf','\u25B4':'utrif','\u25BE':'dtrif','\u25C2':'ltrif','\u25B8':'rtrif','\u2423':'blank','\u2592':'blk12','\u2591':'blk14','\u2593':'blk34','\u2588':'block','=\u20E5':'bne','\u2261\u20E5':'bnequiv','\u2AED':'bNot','\u2310':'bnot','\uD835\uDD39':'Bopf','\uD835\uDD53':'bopf','\u22A5':'bot','\u22C8':'bowtie','\u29C9':'boxbox','\u2510':'boxdl','\u2555':'boxdL','\u2556':'boxDl','\u2557':'boxDL','\u250C':'boxdr','\u2552':'boxdR','\u2553':'boxDr','\u2554':'boxDR','\u2500':'boxh','\u2550':'boxH','\u252C':'boxhd','\u2564':'boxHd','\u2565':'boxhD','\u2566':'boxHD','\u2534':'boxhu','\u2567':'boxHu','\u2568':'boxhU','\u2569':'boxHU','\u229F':'minusb','\u229E':'plusb','\u22A0':'timesb','\u2518':'boxul','\u255B':'boxuL','\u255C':'boxUl','\u255D':'boxUL','\u2514':'boxur','\u2558':'boxuR','\u2559':'boxUr','\u255A':'boxUR','\u2502':'boxv','\u2551':'boxV','\u253C':'boxvh','\u256A':'boxvH','\u256B':'boxVh','\u256C':'boxVH','\u2524':'boxvl','\u2561':'boxvL','\u2562':'boxVl','\u2563':'boxVL','\u251C':'boxvr','\u255E':'boxvR','\u255F':'boxVr','\u2560':'boxVR','\u02D8':'breve','\xA6':'brvbar','\uD835\uDCB7':'bscr','\u204F':'bsemi','\u29C5':'bsolb','\\':'bsol','\u27C8':'bsolhsub','\u2022':'bull','\u224E':'bump','\u2AAE':'bumpE','\u224F':'bumpe','\u0106':'Cacute','\u0107':'cacute','\u2A44':'capand','\u2A49':'capbrcup','\u2A4B':'capcap','\u2229':'cap','\u22D2':'Cap','\u2A47':'capcup','\u2A40':'capdot','\u2145':'DD','\u2229\uFE00':'caps','\u2041':'caret','\u02C7':'caron','\u212D':'Cfr','\u2A4D':'ccaps','\u010C':'Ccaron','\u010D':'ccaron','\xC7':'Ccedil','\xE7':'ccedil','\u0108':'Ccirc','\u0109':'ccirc','\u2230':'Cconint','\u2A4C':'ccups','\u2A50':'ccupssm','\u010A':'Cdot','\u010B':'cdot','\xB8':'cedil','\u29B2':'cemptyv','\xA2':'cent','\xB7':'middot','\uD835\uDD20':'cfr','\u0427':'CHcy','\u0447':'chcy','\u2713':'check','\u03A7':'Chi','\u03C7':'chi','\u02C6':'circ','\u2257':'cire','\u21BA':'olarr','\u21BB':'orarr','\u229B':'oast','\u229A':'ocir','\u229D':'odash','\u2299':'odot','\xAE':'reg','\u24C8':'oS','\u2296':'ominus','\u2295':'oplus','\u2297':'otimes','\u25CB':'cir','\u29C3':'cirE','\u2A10':'cirfnint','\u2AEF':'cirmid','\u29C2':'cirscir','\u2232':'cwconint','\u201D':'rdquo','\u2019':'rsquo','\u2663':'clubs',':':'colon','\u2237':'Colon','\u2A74':'Colone',',':'comma','@':'commat','\u2201':'comp','\u2218':'compfn','\u2102':'Copf','\u2245':'cong','\u2A6D':'congdot','\u2261':'equiv','\u222E':'oint','\u222F':'Conint','\uD835\uDD54':'copf','\u2210':'coprod','\xA9':'copy','\u2117':'copysr','\u21B5':'crarr','\u2717':'cross','\u2A2F':'Cross','\uD835\uDC9E':'Cscr','\uD835\uDCB8':'cscr','\u2ACF':'csub','\u2AD1':'csube','\u2AD0':'csup','\u2AD2':'csupe','\u22EF':'ctdot','\u2938':'cudarrl','\u2935':'cudarrr','\u22DE':'cuepr','\u22DF':'cuesc','\u21B6':'cularr','\u293D':'cularrp','\u2A48':'cupbrcap','\u2A46':'cupcap','\u222A':'cup','\u22D3':'Cup','\u2A4A':'cupcup','\u228D':'cupdot','\u2A45':'cupor','\u222A\uFE00':'cups','\u21B7':'curarr','\u293C':'curarrm','\u22CE':'cuvee','\u22CF':'cuwed','\xA4':'curren','\u2231':'cwint','\u232D':'cylcty','\u2020':'dagger','\u2021':'Dagger','\u2138':'daleth','\u2193':'darr','\u21A1':'Darr','\u21D3':'dArr','\u2010':'dash','\u2AE4':'Dashv','\u22A3':'dashv','\u290F':'rBarr','\u02DD':'dblac','\u010E':'Dcaron','\u010F':'dcaron','\u0414':'Dcy','\u0434':'dcy','\u21CA':'ddarr','\u2146':'dd','\u2911':'DDotrahd','\u2A77':'eDDot','\xB0':'deg','\u2207':'Del','\u0394':'Delta','\u03B4':'delta','\u29B1':'demptyv','\u297F':'dfisht','\uD835\uDD07':'Dfr','\uD835\uDD21':'dfr','\u2965':'dHar','\u21C3':'dharl','\u21C2':'dharr','\u02D9':'dot','`':'grave','\u02DC':'tilde','\u22C4':'diam','\u2666':'diams','\xA8':'die','\u03DD':'gammad','\u22F2':'disin','\xF7':'div','\u22C7':'divonx','\u0402':'DJcy','\u0452':'djcy','\u231E':'dlcorn','\u230D':'dlcrop','$':'dollar','\uD835\uDD3B':'Dopf','\uD835\uDD55':'dopf','\u20DC':'DotDot','\u2250':'doteq','\u2251':'eDot','\u2238':'minusd','\u2214':'plusdo','\u22A1':'sdotb','\u21D0':'lArr','\u21D4':'iff','\u27F8':'xlArr','\u27FA':'xhArr','\u27F9':'xrArr','\u21D2':'rArr','\u22A8':'vDash','\u21D1':'uArr','\u21D5':'vArr','\u2225':'par','\u2913':'DownArrowBar','\u21F5':'duarr','\u0311':'DownBreve','\u2950':'DownLeftRightVector','\u295E':'DownLeftTeeVector','\u2956':'DownLeftVectorBar','\u21BD':'lhard','\u295F':'DownRightTeeVector','\u2957':'DownRightVectorBar','\u21C1':'rhard','\u21A7':'mapstodown','\u22A4':'top','\u2910':'RBarr','\u231F':'drcorn','\u230C':'drcrop','\uD835\uDC9F':'Dscr','\uD835\uDCB9':'dscr','\u0405':'DScy','\u0455':'dscy','\u29F6':'dsol','\u0110':'Dstrok','\u0111':'dstrok','\u22F1':'dtdot','\u25BF':'dtri','\u296F':'duhar','\u29A6':'dwangle','\u040F':'DZcy','\u045F':'dzcy','\u27FF':'dzigrarr','\xC9':'Eacute','\xE9':'eacute','\u2A6E':'easter','\u011A':'Ecaron','\u011B':'ecaron','\xCA':'Ecirc','\xEA':'ecirc','\u2256':'ecir','\u2255':'ecolon','\u042D':'Ecy','\u044D':'ecy','\u0116':'Edot','\u0117':'edot','\u2147':'ee','\u2252':'efDot','\uD835\uDD08':'Efr','\uD835\uDD22':'efr','\u2A9A':'eg','\xC8':'Egrave','\xE8':'egrave','\u2A96':'egs','\u2A98':'egsdot','\u2A99':'el','\u2208':'in','\u23E7':'elinters','\u2113':'ell','\u2A95':'els','\u2A97':'elsdot','\u0112':'Emacr','\u0113':'emacr','\u2205':'empty','\u25FB':'EmptySmallSquare','\u25AB':'EmptyVerySmallSquare','\u2004':'emsp13','\u2005':'emsp14','\u2003':'emsp','\u014A':'ENG','\u014B':'eng','\u2002':'ensp','\u0118':'Eogon','\u0119':'eogon','\uD835\uDD3C':'Eopf','\uD835\uDD56':'eopf','\u22D5':'epar','\u29E3':'eparsl','\u2A71':'eplus','\u03B5':'epsi','\u0395':'Epsilon','\u03F5':'epsiv','\u2242':'esim','\u2A75':'Equal','=':'equals','\u225F':'equest','\u21CC':'rlhar','\u2A78':'equivDD','\u29E5':'eqvparsl','\u2971':'erarr','\u2253':'erDot','\u212F':'escr','\u2130':'Escr','\u2A73':'Esim','\u0397':'Eta','\u03B7':'eta','\xD0':'ETH','\xF0':'eth','\xCB':'Euml','\xEB':'euml','\u20AC':'euro','!':'excl','\u2203':'exist','\u0424':'Fcy','\u0444':'fcy','\u2640':'female','\uFB03':'ffilig','\uFB00':'fflig','\uFB04':'ffllig','\uD835\uDD09':'Ffr','\uD835\uDD23':'ffr','\uFB01':'filig','\u25FC':'FilledSmallSquare','fj':'fjlig','\u266D':'flat','\uFB02':'fllig','\u25B1':'fltns','\u0192':'fnof','\uD835\uDD3D':'Fopf','\uD835\uDD57':'fopf','\u2200':'forall','\u22D4':'fork','\u2AD9':'forkv','\u2131':'Fscr','\u2A0D':'fpartint','\xBD':'half','\u2153':'frac13','\xBC':'frac14','\u2155':'frac15','\u2159':'frac16','\u215B':'frac18','\u2154':'frac23','\u2156':'frac25','\xBE':'frac34','\u2157':'frac35','\u215C':'frac38','\u2158':'frac45','\u215A':'frac56','\u215D':'frac58','\u215E':'frac78','\u2044':'frasl','\u2322':'frown','\uD835\uDCBB':'fscr','\u01F5':'gacute','\u0393':'Gamma','\u03B3':'gamma','\u03DC':'Gammad','\u2A86':'gap','\u011E':'Gbreve','\u011F':'gbreve','\u0122':'Gcedil','\u011C':'Gcirc','\u011D':'gcirc','\u0413':'Gcy','\u0433':'gcy','\u0120':'Gdot','\u0121':'gdot','\u2265':'ge','\u2267':'gE','\u2A8C':'gEl','\u22DB':'gel','\u2A7E':'ges','\u2AA9':'gescc','\u2A80':'gesdot','\u2A82':'gesdoto','\u2A84':'gesdotol','\u22DB\uFE00':'gesl','\u2A94':'gesles','\uD835\uDD0A':'Gfr','\uD835\uDD24':'gfr','\u226B':'gg','\u22D9':'Gg','\u2137':'gimel','\u0403':'GJcy','\u0453':'gjcy','\u2AA5':'gla','\u2277':'gl','\u2A92':'glE','\u2AA4':'glj','\u2A8A':'gnap','\u2A88':'gne','\u2269':'gnE','\u22E7':'gnsim','\uD835\uDD3E':'Gopf','\uD835\uDD58':'gopf','\u2AA2':'GreaterGreater','\u2273':'gsim','\uD835\uDCA2':'Gscr','\u210A':'gscr','\u2A8E':'gsime','\u2A90':'gsiml','\u2AA7':'gtcc','\u2A7A':'gtcir','>':'gt','\u22D7':'gtdot','\u2995':'gtlPar','\u2A7C':'gtquest','\u2978':'gtrarr','\u2269\uFE00':'gvnE','\u200A':'hairsp','\u210B':'Hscr','\u042A':'HARDcy','\u044A':'hardcy','\u2948':'harrcir','\u2194':'harr','\u21AD':'harrw','^':'Hat','\u210F':'hbar','\u0124':'Hcirc','\u0125':'hcirc','\u2665':'hearts','\u2026':'mldr','\u22B9':'hercon','\uD835\uDD25':'hfr','\u210C':'Hfr','\u2925':'searhk','\u2926':'swarhk','\u21FF':'hoarr','\u223B':'homtht','\u21A9':'larrhk','\u21AA':'rarrhk','\uD835\uDD59':'hopf','\u210D':'Hopf','\u2015':'horbar','\uD835\uDCBD':'hscr','\u0126':'Hstrok','\u0127':'hstrok','\u2043':'hybull','\xCD':'Iacute','\xED':'iacute','\u2063':'ic','\xCE':'Icirc','\xEE':'icirc','\u0418':'Icy','\u0438':'icy','\u0130':'Idot','\u0415':'IEcy','\u0435':'iecy','\xA1':'iexcl','\uD835\uDD26':'ifr','\u2111':'Im','\xCC':'Igrave','\xEC':'igrave','\u2148':'ii','\u2A0C':'qint','\u222D':'tint','\u29DC':'iinfin','\u2129':'iiota','\u0132':'IJlig','\u0133':'ijlig','\u012A':'Imacr','\u012B':'imacr','\u2110':'Iscr','\u0131':'imath','\u22B7':'imof','\u01B5':'imped','\u2105':'incare','\u221E':'infin','\u29DD':'infintie','\u22BA':'intcal','\u222B':'int','\u222C':'Int','\u2124':'Zopf','\u2A17':'intlarhk','\u2A3C':'iprod','\u2062':'it','\u0401':'IOcy','\u0451':'iocy','\u012E':'Iogon','\u012F':'iogon','\uD835\uDD40':'Iopf','\uD835\uDD5A':'iopf','\u0399':'Iota','\u03B9':'iota','\xBF':'iquest','\uD835\uDCBE':'iscr','\u22F5':'isindot','\u22F9':'isinE','\u22F4':'isins','\u22F3':'isinsv','\u0128':'Itilde','\u0129':'itilde','\u0406':'Iukcy','\u0456':'iukcy','\xCF':'Iuml','\xEF':'iuml','\u0134':'Jcirc','\u0135':'jcirc','\u0419':'Jcy','\u0439':'jcy','\uD835\uDD0D':'Jfr','\uD835\uDD27':'jfr','\u0237':'jmath','\uD835\uDD41':'Jopf','\uD835\uDD5B':'jopf','\uD835\uDCA5':'Jscr','\uD835\uDCBF':'jscr','\u0408':'Jsercy','\u0458':'jsercy','\u0404':'Jukcy','\u0454':'jukcy','\u039A':'Kappa','\u03BA':'kappa','\u03F0':'kappav','\u0136':'Kcedil','\u0137':'kcedil','\u041A':'Kcy','\u043A':'kcy','\uD835\uDD0E':'Kfr','\uD835\uDD28':'kfr','\u0138':'kgreen','\u0425':'KHcy','\u0445':'khcy','\u040C':'KJcy','\u045C':'kjcy','\uD835\uDD42':'Kopf','\uD835\uDD5C':'kopf','\uD835\uDCA6':'Kscr','\uD835\uDCC0':'kscr','\u21DA':'lAarr','\u0139':'Lacute','\u013A':'lacute','\u29B4':'laemptyv','\u2112':'Lscr','\u039B':'Lambda','\u03BB':'lambda','\u27E8':'lang','\u27EA':'Lang','\u2991':'langd','\u2A85':'lap','\xAB':'laquo','\u21E4':'larrb','\u291F':'larrbfs','\u2190':'larr','\u219E':'Larr','\u291D':'larrfs','\u21AB':'larrlp','\u2939':'larrpl','\u2973':'larrsim','\u21A2':'larrtl','\u2919':'latail','\u291B':'lAtail','\u2AAB':'lat','\u2AAD':'late','\u2AAD\uFE00':'lates','\u290C':'lbarr','\u290E':'lBarr','\u2772':'lbbrk','{':'lcub','[':'lsqb','\u298B':'lbrke','\u298F':'lbrksld','\u298D':'lbrkslu','\u013D':'Lcaron','\u013E':'lcaron','\u013B':'Lcedil','\u013C':'lcedil','\u2308':'lceil','\u041B':'Lcy','\u043B':'lcy','\u2936':'ldca','\u201C':'ldquo','\u2967':'ldrdhar','\u294B':'ldrushar','\u21B2':'ldsh','\u2264':'le','\u2266':'lE','\u21C6':'lrarr','\u27E6':'lobrk','\u2961':'LeftDownTeeVector','\u2959':'LeftDownVectorBar','\u230A':'lfloor','\u21BC':'lharu','\u21C7':'llarr','\u21CB':'lrhar','\u294E':'LeftRightVector','\u21A4':'mapstoleft','\u295A':'LeftTeeVector','\u22CB':'lthree','\u29CF':'LeftTriangleBar','\u22B2':'vltri','\u22B4':'ltrie','\u2951':'LeftUpDownVector','\u2960':'LeftUpTeeVector','\u2958':'LeftUpVectorBar','\u21BF':'uharl','\u2952':'LeftVectorBar','\u2A8B':'lEg','\u22DA':'leg','\u2A7D':'les','\u2AA8':'lescc','\u2A7F':'lesdot','\u2A81':'lesdoto','\u2A83':'lesdotor','\u22DA\uFE00':'lesg','\u2A93':'lesges','\u22D6':'ltdot','\u2276':'lg','\u2AA1':'LessLess','\u2272':'lsim','\u297C':'lfisht','\uD835\uDD0F':'Lfr','\uD835\uDD29':'lfr','\u2A91':'lgE','\u2962':'lHar','\u296A':'lharul','\u2584':'lhblk','\u0409':'LJcy','\u0459':'ljcy','\u226A':'ll','\u22D8':'Ll','\u296B':'llhard','\u25FA':'lltri','\u013F':'Lmidot','\u0140':'lmidot','\u23B0':'lmoust','\u2A89':'lnap','\u2A87':'lne','\u2268':'lnE','\u22E6':'lnsim','\u27EC':'loang','\u21FD':'loarr','\u27F5':'xlarr','\u27F7':'xharr','\u27FC':'xmap','\u27F6':'xrarr','\u21AC':'rarrlp','\u2985':'lopar','\uD835\uDD43':'Lopf','\uD835\uDD5D':'lopf','\u2A2D':'loplus','\u2A34':'lotimes','\u2217':'lowast','_':'lowbar','\u2199':'swarr','\u2198':'searr','\u25CA':'loz','(':'lpar','\u2993':'lparlt','\u296D':'lrhard','\u200E':'lrm','\u22BF':'lrtri','\u2039':'lsaquo','\uD835\uDCC1':'lscr','\u21B0':'lsh','\u2A8D':'lsime','\u2A8F':'lsimg','\u2018':'lsquo','\u201A':'sbquo','\u0141':'Lstrok','\u0142':'lstrok','\u2AA6':'ltcc','\u2A79':'ltcir','<':'lt','\u22C9':'ltimes','\u2976':'ltlarr','\u2A7B':'ltquest','\u25C3':'ltri','\u2996':'ltrPar','\u294A':'lurdshar','\u2966':'luruhar','\u2268\uFE00':'lvnE','\xAF':'macr','\u2642':'male','\u2720':'malt','\u2905':'Map','\u21A6':'map','\u21A5':'mapstoup','\u25AE':'marker','\u2A29':'mcomma','\u041C':'Mcy','\u043C':'mcy','\u2014':'mdash','\u223A':'mDDot','\u205F':'MediumSpace','\u2133':'Mscr','\uD835\uDD10':'Mfr','\uD835\uDD2A':'mfr','\u2127':'mho','\xB5':'micro','\u2AF0':'midcir','\u2223':'mid','\u2212':'minus','\u2A2A':'minusdu','\u2213':'mp','\u2ADB':'mlcp','\u22A7':'models','\uD835\uDD44':'Mopf','\uD835\uDD5E':'mopf','\uD835\uDCC2':'mscr','\u039C':'Mu','\u03BC':'mu','\u22B8':'mumap','\u0143':'Nacute','\u0144':'nacute','\u2220\u20D2':'nang','\u2249':'nap','\u2A70\u0338':'napE','\u224B\u0338':'napid','\u0149':'napos','\u266E':'natur','\u2115':'Nopf','\xA0':'nbsp','\u224E\u0338':'nbump','\u224F\u0338':'nbumpe','\u2A43':'ncap','\u0147':'Ncaron','\u0148':'ncaron','\u0145':'Ncedil','\u0146':'ncedil','\u2247':'ncong','\u2A6D\u0338':'ncongdot','\u2A42':'ncup','\u041D':'Ncy','\u043D':'ncy','\u2013':'ndash','\u2924':'nearhk','\u2197':'nearr','\u21D7':'neArr','\u2260':'ne','\u2250\u0338':'nedot','\u200B':'ZeroWidthSpace','\u2262':'nequiv','\u2928':'toea','\u2242\u0338':'nesim','\n':'NewLine','\u2204':'nexist','\uD835\uDD11':'Nfr','\uD835\uDD2B':'nfr','\u2267\u0338':'ngE','\u2271':'nge','\u2A7E\u0338':'nges','\u22D9\u0338':'nGg','\u2275':'ngsim','\u226B\u20D2':'nGt','\u226F':'ngt','\u226B\u0338':'nGtv','\u21AE':'nharr','\u21CE':'nhArr','\u2AF2':'nhpar','\u220B':'ni','\u22FC':'nis','\u22FA':'nisd','\u040A':'NJcy','\u045A':'njcy','\u219A':'nlarr','\u21CD':'nlArr','\u2025':'nldr','\u2266\u0338':'nlE','\u2270':'nle','\u2A7D\u0338':'nles','\u226E':'nlt','\u22D8\u0338':'nLl','\u2274':'nlsim','\u226A\u20D2':'nLt','\u22EA':'nltri','\u22EC':'nltrie','\u226A\u0338':'nLtv','\u2224':'nmid','\u2060':'NoBreak','\uD835\uDD5F':'nopf','\u2AEC':'Not','\xAC':'not','\u226D':'NotCupCap','\u2226':'npar','\u2209':'notin','\u2279':'ntgl','\u22F5\u0338':'notindot','\u22F9\u0338':'notinE','\u22F7':'notinvb','\u22F6':'notinvc','\u29CF\u0338':'NotLeftTriangleBar','\u2278':'ntlg','\u2AA2\u0338':'NotNestedGreaterGreater','\u2AA1\u0338':'NotNestedLessLess','\u220C':'notni','\u22FE':'notnivb','\u22FD':'notnivc','\u2280':'npr','\u2AAF\u0338':'npre','\u22E0':'nprcue','\u29D0\u0338':'NotRightTriangleBar','\u22EB':'nrtri','\u22ED':'nrtrie','\u228F\u0338':'NotSquareSubset','\u22E2':'nsqsube','\u2290\u0338':'NotSquareSuperset','\u22E3':'nsqsupe','\u2282\u20D2':'vnsub','\u2288':'nsube','\u2281':'nsc','\u2AB0\u0338':'nsce','\u22E1':'nsccue','\u227F\u0338':'NotSucceedsTilde','\u2283\u20D2':'vnsup','\u2289':'nsupe','\u2241':'nsim','\u2244':'nsime','\u2AFD\u20E5':'nparsl','\u2202\u0338':'npart','\u2A14':'npolint','\u2933\u0338':'nrarrc','\u219B':'nrarr','\u21CF':'nrArr','\u219D\u0338':'nrarrw','\uD835\uDCA9':'Nscr','\uD835\uDCC3':'nscr','\u2284':'nsub','\u2AC5\u0338':'nsubE','\u2285':'nsup','\u2AC6\u0338':'nsupE','\xD1':'Ntilde','\xF1':'ntilde','\u039D':'Nu','\u03BD':'nu','#':'num','\u2116':'numero','\u2007':'numsp','\u224D\u20D2':'nvap','\u22AC':'nvdash','\u22AD':'nvDash','\u22AE':'nVdash','\u22AF':'nVDash','\u2265\u20D2':'nvge','>\u20D2':'nvgt','\u2904':'nvHarr','\u29DE':'nvinfin','\u2902':'nvlArr','\u2264\u20D2':'nvle','<\u20D2':'nvlt','\u22B4\u20D2':'nvltrie','\u2903':'nvrArr','\u22B5\u20D2':'nvrtrie','\u223C\u20D2':'nvsim','\u2923':'nwarhk','\u2196':'nwarr','\u21D6':'nwArr','\u2927':'nwnear','\xD3':'Oacute','\xF3':'oacute','\xD4':'Ocirc','\xF4':'ocirc','\u041E':'Ocy','\u043E':'ocy','\u0150':'Odblac','\u0151':'odblac','\u2A38':'odiv','\u29BC':'odsold','\u0152':'OElig','\u0153':'oelig','\u29BF':'ofcir','\uD835\uDD12':'Ofr','\uD835\uDD2C':'ofr','\u02DB':'ogon','\xD2':'Ograve','\xF2':'ograve','\u29C1':'ogt','\u29B5':'ohbar','\u03A9':'ohm','\u29BE':'olcir','\u29BB':'olcross','\u203E':'oline','\u29C0':'olt','\u014C':'Omacr','\u014D':'omacr','\u03C9':'omega','\u039F':'Omicron','\u03BF':'omicron','\u29B6':'omid','\uD835\uDD46':'Oopf','\uD835\uDD60':'oopf','\u29B7':'opar','\u29B9':'operp','\u2A54':'Or','\u2228':'or','\u2A5D':'ord','\u2134':'oscr','\xAA':'ordf','\xBA':'ordm','\u22B6':'origof','\u2A56':'oror','\u2A57':'orslope','\u2A5B':'orv','\uD835\uDCAA':'Oscr','\xD8':'Oslash','\xF8':'oslash','\u2298':'osol','\xD5':'Otilde','\xF5':'otilde','\u2A36':'otimesas','\u2A37':'Otimes','\xD6':'Ouml','\xF6':'ouml','\u233D':'ovbar','\u23DE':'OverBrace','\u23B4':'tbrk','\u23DC':'OverParenthesis','\xB6':'para','\u2AF3':'parsim','\u2AFD':'parsl','\u2202':'part','\u041F':'Pcy','\u043F':'pcy','%':'percnt','.':'period','\u2030':'permil','\u2031':'pertenk','\uD835\uDD13':'Pfr','\uD835\uDD2D':'pfr','\u03A6':'Phi','\u03C6':'phi','\u03D5':'phiv','\u260E':'phone','\u03A0':'Pi','\u03C0':'pi','\u03D6':'piv','\u210E':'planckh','\u2A23':'plusacir','\u2A22':'pluscir','+':'plus','\u2A25':'plusdu','\u2A72':'pluse','\xB1':'pm','\u2A26':'plussim','\u2A27':'plustwo','\u2A15':'pointint','\uD835\uDD61':'popf','\u2119':'Popf','\xA3':'pound','\u2AB7':'prap','\u2ABB':'Pr','\u227A':'pr','\u227C':'prcue','\u2AAF':'pre','\u227E':'prsim','\u2AB9':'prnap','\u2AB5':'prnE','\u22E8':'prnsim','\u2AB3':'prE','\u2032':'prime','\u2033':'Prime','\u220F':'prod','\u232E':'profalar','\u2312':'profline','\u2313':'profsurf','\u221D':'prop','\u22B0':'prurel','\uD835\uDCAB':'Pscr','\uD835\uDCC5':'pscr','\u03A8':'Psi','\u03C8':'psi','\u2008':'puncsp','\uD835\uDD14':'Qfr','\uD835\uDD2E':'qfr','\uD835\uDD62':'qopf','\u211A':'Qopf','\u2057':'qprime','\uD835\uDCAC':'Qscr','\uD835\uDCC6':'qscr','\u2A16':'quatint','?':'quest','"':'quot','\u21DB':'rAarr','\u223D\u0331':'race','\u0154':'Racute','\u0155':'racute','\u221A':'Sqrt','\u29B3':'raemptyv','\u27E9':'rang','\u27EB':'Rang','\u2992':'rangd','\u29A5':'range','\xBB':'raquo','\u2975':'rarrap','\u21E5':'rarrb','\u2920':'rarrbfs','\u2933':'rarrc','\u2192':'rarr','\u21A0':'Rarr','\u291E':'rarrfs','\u2945':'rarrpl','\u2974':'rarrsim','\u2916':'Rarrtl','\u21A3':'rarrtl','\u219D':'rarrw','\u291A':'ratail','\u291C':'rAtail','\u2236':'ratio','\u2773':'rbbrk','}':'rcub',']':'rsqb','\u298C':'rbrke','\u298E':'rbrksld','\u2990':'rbrkslu','\u0158':'Rcaron','\u0159':'rcaron','\u0156':'Rcedil','\u0157':'rcedil','\u2309':'rceil','\u0420':'Rcy','\u0440':'rcy','\u2937':'rdca','\u2969':'rdldhar','\u21B3':'rdsh','\u211C':'Re','\u211B':'Rscr','\u211D':'Ropf','\u25AD':'rect','\u297D':'rfisht','\u230B':'rfloor','\uD835\uDD2F':'rfr','\u2964':'rHar','\u21C0':'rharu','\u296C':'rharul','\u03A1':'Rho','\u03C1':'rho','\u03F1':'rhov','\u21C4':'rlarr','\u27E7':'robrk','\u295D':'RightDownTeeVector','\u2955':'RightDownVectorBar','\u21C9':'rrarr','\u22A2':'vdash','\u295B':'RightTeeVector','\u22CC':'rthree','\u29D0':'RightTriangleBar','\u22B3':'vrtri','\u22B5':'rtrie','\u294F':'RightUpDownVector','\u295C':'RightUpTeeVector','\u2954':'RightUpVectorBar','\u21BE':'uharr','\u2953':'RightVectorBar','\u02DA':'ring','\u200F':'rlm','\u23B1':'rmoust','\u2AEE':'rnmid','\u27ED':'roang','\u21FE':'roarr','\u2986':'ropar','\uD835\uDD63':'ropf','\u2A2E':'roplus','\u2A35':'rotimes','\u2970':'RoundImplies',')':'rpar','\u2994':'rpargt','\u2A12':'rppolint','\u203A':'rsaquo','\uD835\uDCC7':'rscr','\u21B1':'rsh','\u22CA':'rtimes','\u25B9':'rtri','\u29CE':'rtriltri','\u29F4':'RuleDelayed','\u2968':'ruluhar','\u211E':'rx','\u015A':'Sacute','\u015B':'sacute','\u2AB8':'scap','\u0160':'Scaron','\u0161':'scaron','\u2ABC':'Sc','\u227B':'sc','\u227D':'sccue','\u2AB0':'sce','\u2AB4':'scE','\u015E':'Scedil','\u015F':'scedil','\u015C':'Scirc','\u015D':'scirc','\u2ABA':'scnap','\u2AB6':'scnE','\u22E9':'scnsim','\u2A13':'scpolint','\u227F':'scsim','\u0421':'Scy','\u0441':'scy','\u22C5':'sdot','\u2A66':'sdote','\u21D8':'seArr','\xA7':'sect',';':'semi','\u2929':'tosa','\u2736':'sext','\uD835\uDD16':'Sfr','\uD835\uDD30':'sfr','\u266F':'sharp','\u0429':'SHCHcy','\u0449':'shchcy','\u0428':'SHcy','\u0448':'shcy','\u2191':'uarr','\xAD':'shy','\u03A3':'Sigma','\u03C3':'sigma','\u03C2':'sigmaf','\u223C':'sim','\u2A6A':'simdot','\u2243':'sime','\u2A9E':'simg','\u2AA0':'simgE','\u2A9D':'siml','\u2A9F':'simlE','\u2246':'simne','\u2A24':'simplus','\u2972':'simrarr','\u2A33':'smashp','\u29E4':'smeparsl','\u2323':'smile','\u2AAA':'smt','\u2AAC':'smte','\u2AAC\uFE00':'smtes','\u042C':'SOFTcy','\u044C':'softcy','\u233F':'solbar','\u29C4':'solb','/':'sol','\uD835\uDD4A':'Sopf','\uD835\uDD64':'sopf','\u2660':'spades','\u2293':'sqcap','\u2293\uFE00':'sqcaps','\u2294':'sqcup','\u2294\uFE00':'sqcups','\u228F':'sqsub','\u2291':'sqsube','\u2290':'sqsup','\u2292':'sqsupe','\u25A1':'squ','\uD835\uDCAE':'Sscr','\uD835\uDCC8':'sscr','\u22C6':'Star','\u2606':'star','\u2282':'sub','\u22D0':'Sub','\u2ABD':'subdot','\u2AC5':'subE','\u2286':'sube','\u2AC3':'subedot','\u2AC1':'submult','\u2ACB':'subnE','\u228A':'subne','\u2ABF':'subplus','\u2979':'subrarr','\u2AC7':'subsim','\u2AD5':'subsub','\u2AD3':'subsup','\u2211':'sum','\u266A':'sung','\xB9':'sup1','\xB2':'sup2','\xB3':'sup3','\u2283':'sup','\u22D1':'Sup','\u2ABE':'supdot','\u2AD8':'supdsub','\u2AC6':'supE','\u2287':'supe','\u2AC4':'supedot','\u27C9':'suphsol','\u2AD7':'suphsub','\u297B':'suplarr','\u2AC2':'supmult','\u2ACC':'supnE','\u228B':'supne','\u2AC0':'supplus','\u2AC8':'supsim','\u2AD4':'supsub','\u2AD6':'supsup','\u21D9':'swArr','\u292A':'swnwar','\xDF':'szlig','\t':'Tab','\u2316':'target','\u03A4':'Tau','\u03C4':'tau','\u0164':'Tcaron','\u0165':'tcaron','\u0162':'Tcedil','\u0163':'tcedil','\u0422':'Tcy','\u0442':'tcy','\u20DB':'tdot','\u2315':'telrec','\uD835\uDD17':'Tfr','\uD835\uDD31':'tfr','\u2234':'there4','\u0398':'Theta','\u03B8':'theta','\u03D1':'thetav','\u205F\u200A':'ThickSpace','\u2009':'thinsp','\xDE':'THORN','\xFE':'thorn','\u2A31':'timesbar','\xD7':'times','\u2A30':'timesd','\u2336':'topbot','\u2AF1':'topcir','\uD835\uDD4B':'Topf','\uD835\uDD65':'topf','\u2ADA':'topfork','\u2034':'tprime','\u2122':'trade','\u25B5':'utri','\u225C':'trie','\u25EC':'tridot','\u2A3A':'triminus','\u2A39':'triplus','\u29CD':'trisb','\u2A3B':'tritime','\u23E2':'trpezium','\uD835\uDCAF':'Tscr','\uD835\uDCC9':'tscr','\u0426':'TScy','\u0446':'tscy','\u040B':'TSHcy','\u045B':'tshcy','\u0166':'Tstrok','\u0167':'tstrok','\xDA':'Uacute','\xFA':'uacute','\u219F':'Uarr','\u2949':'Uarrocir','\u040E':'Ubrcy','\u045E':'ubrcy','\u016C':'Ubreve','\u016D':'ubreve','\xDB':'Ucirc','\xFB':'ucirc','\u0423':'Ucy','\u0443':'ucy','\u21C5':'udarr','\u0170':'Udblac','\u0171':'udblac','\u296E':'udhar','\u297E':'ufisht','\uD835\uDD18':'Ufr','\uD835\uDD32':'ufr','\xD9':'Ugrave','\xF9':'ugrave','\u2963':'uHar','\u2580':'uhblk','\u231C':'ulcorn','\u230F':'ulcrop','\u25F8':'ultri','\u016A':'Umacr','\u016B':'umacr','\u23DF':'UnderBrace','\u23DD':'UnderParenthesis','\u228E':'uplus','\u0172':'Uogon','\u0173':'uogon','\uD835\uDD4C':'Uopf','\uD835\uDD66':'uopf','\u2912':'UpArrowBar','\u2195':'varr','\u03C5':'upsi','\u03D2':'Upsi','\u03A5':'Upsilon','\u21C8':'uuarr','\u231D':'urcorn','\u230E':'urcrop','\u016E':'Uring','\u016F':'uring','\u25F9':'urtri','\uD835\uDCB0':'Uscr','\uD835\uDCCA':'uscr','\u22F0':'utdot','\u0168':'Utilde','\u0169':'utilde','\xDC':'Uuml','\xFC':'uuml','\u29A7':'uwangle','\u299C':'vangrt','\u228A\uFE00':'vsubne','\u2ACB\uFE00':'vsubnE','\u228B\uFE00':'vsupne','\u2ACC\uFE00':'vsupnE','\u2AE8':'vBar','\u2AEB':'Vbar','\u2AE9':'vBarv','\u0412':'Vcy','\u0432':'vcy','\u22A9':'Vdash','\u22AB':'VDash','\u2AE6':'Vdashl','\u22BB':'veebar','\u225A':'veeeq','\u22EE':'vellip','|':'vert','\u2016':'Vert','\u2758':'VerticalSeparator','\u2240':'wr','\uD835\uDD19':'Vfr','\uD835\uDD33':'vfr','\uD835\uDD4D':'Vopf','\uD835\uDD67':'vopf','\uD835\uDCB1':'Vscr','\uD835\uDCCB':'vscr','\u22AA':'Vvdash','\u299A':'vzigzag','\u0174':'Wcirc','\u0175':'wcirc','\u2A5F':'wedbar','\u2259':'wedgeq','\u2118':'wp','\uD835\uDD1A':'Wfr','\uD835\uDD34':'wfr','\uD835\uDD4E':'Wopf','\uD835\uDD68':'wopf','\uD835\uDCB2':'Wscr','\uD835\uDCCC':'wscr','\uD835\uDD1B':'Xfr','\uD835\uDD35':'xfr','\u039E':'Xi','\u03BE':'xi','\u22FB':'xnis','\uD835\uDD4F':'Xopf','\uD835\uDD69':'xopf','\uD835\uDCB3':'Xscr','\uD835\uDCCD':'xscr','\xDD':'Yacute','\xFD':'yacute','\u042F':'YAcy','\u044F':'yacy','\u0176':'Ycirc','\u0177':'ycirc','\u042B':'Ycy','\u044B':'ycy','\xA5':'yen','\uD835\uDD1C':'Yfr','\uD835\uDD36':'yfr','\u0407':'YIcy','\u0457':'yicy','\uD835\uDD50':'Yopf','\uD835\uDD6A':'yopf','\uD835\uDCB4':'Yscr','\uD835\uDCCE':'yscr','\u042E':'YUcy','\u044E':'yucy','\xFF':'yuml','\u0178':'Yuml','\u0179':'Zacute','\u017A':'zacute','\u017D':'Zcaron','\u017E':'zcaron','\u0417':'Zcy','\u0437':'zcy','\u017B':'Zdot','\u017C':'zdot','\u2128':'Zfr','\u0396':'Zeta','\u03B6':'zeta','\uD835\uDD37':'zfr','\u0416':'ZHcy','\u0436':'zhcy','\u21DD':'zigrarr','\uD835\uDD6B':'zopf','\uD835\uDCB5':'Zscr','\uD835\uDCCF':'zscr','\u200D':'zwj','\u200C':'zwnj'}; + + var regexEscape = /["&'<>`]/g; + var escapeMap = { + '"': '"', + '&': '&', + '\'': ''', + '<': '<', + // See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the + // following is not strictly necessary unless it’s part of a tag or an + // unquoted attribute value. We’re only escaping it to support those + // situations, and for XML support. + '>': '>', + // In Internet Explorer ≤ 8, the backtick character can be used + // to break out of (un)quoted attribute values or HTML comments. + // See http://html5sec.org/#102, http://html5sec.org/#108, and + // http://html5sec.org/#133. + '`': '`' + }; + + var regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/; + var regexInvalidRawCodePoint = /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; + var regexDecode = /&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g; + var decodeMap = {'Aacute':'\xC1','aacute':'\xE1','Abreve':'\u0102','abreve':'\u0103','ac':'\u223E','acd':'\u223F','acE':'\u223E\u0333','Acirc':'\xC2','acirc':'\xE2','acute':'\xB4','Acy':'\u0410','acy':'\u0430','AElig':'\xC6','aelig':'\xE6','af':'\u2061','Afr':'\uD835\uDD04','afr':'\uD835\uDD1E','Agrave':'\xC0','agrave':'\xE0','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':'\xC5','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':'\xC5','aring':'\xE5','Ascr':'\uD835\uDC9C','ascr':'\uD835\uDCB6','Assign':'\u2254','ast':'*','asymp':'\u2248','asympeq':'\u224D','Atilde':'\xC3','atilde':'\xE3','Auml':'\xC4','auml':'\xE4','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':'\xA6','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':'\xC7','ccedil':'\xE7','Ccirc':'\u0108','ccirc':'\u0109','Cconint':'\u2230','ccups':'\u2A4C','ccupssm':'\u2A50','Cdot':'\u010A','cdot':'\u010B','cedil':'\xB8','Cedilla':'\xB8','cemptyv':'\u29B2','cent':'\xA2','centerdot':'\xB7','CenterDot':'\xB7','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':'\xAE','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':'\xA9','COPY':'\xA9','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':'\xA4','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':'\xB0','Del':'\u2207','Delta':'\u0394','delta':'\u03B4','demptyv':'\u29B1','dfisht':'\u297F','Dfr':'\uD835\uDD07','dfr':'\uD835\uDD21','dHar':'\u2965','dharl':'\u21C3','dharr':'\u21C2','DiacriticalAcute':'\xB4','DiacriticalDot':'\u02D9','DiacriticalDoubleAcute':'\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\u02DC','diam':'\u22C4','diamond':'\u22C4','Diamond':'\u22C4','diamondsuit':'\u2666','diams':'\u2666','die':'\xA8','DifferentialD':'\u2146','digamma':'\u03DD','disin':'\u22F2','div':'\xF7','divide':'\xF7','divideontimes':'\u22C7','divonx':'\u22C7','DJcy':'\u0402','djcy':'\u0452','dlcorn':'\u231E','dlcrop':'\u230D','dollar':'$','Dopf':'\uD835\uDD3B','dopf':'\uD835\uDD55','Dot':'\xA8','dot':'\u02D9','DotDot':'\u20DC','doteq':'\u2250','doteqdot':'\u2251','DotEqual':'\u2250','dotminus':'\u2238','dotplus':'\u2214','dotsquare':'\u22A1','doublebarwedge':'\u2306','DoubleContourIntegral':'\u222F','DoubleDot':'\xA8','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':'\xC9','eacute':'\xE9','easter':'\u2A6E','Ecaron':'\u011A','ecaron':'\u011B','Ecirc':'\xCA','ecirc':'\xEA','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':'\xC8','egrave':'\xE8','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':'\xD0','eth':'\xF0','Euml':'\xCB','euml':'\xEB','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':'\xBD','frac13':'\u2153','frac14':'\xBC','frac15':'\u2155','frac16':'\u2159','frac18':'\u215B','frac23':'\u2154','frac25':'\u2156','frac34':'\xBE','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':'\xBD','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':'\xCD','iacute':'\xED','ic':'\u2063','Icirc':'\xCE','icirc':'\xEE','Icy':'\u0418','icy':'\u0438','Idot':'\u0130','IEcy':'\u0415','iecy':'\u0435','iexcl':'\xA1','iff':'\u21D4','ifr':'\uD835\uDD26','Ifr':'\u2111','Igrave':'\xCC','igrave':'\xEC','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':'\xBF','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':'\xCF','iuml':'\xEF','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':'\xAB','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':'\xAF','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':'\xB5','midast':'*','midcir':'\u2AF0','mid':'\u2223','middot':'\xB7','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':'\xA0','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':'\xA0','nopf':'\uD835\uDD5F','Nopf':'\u2115','Not':'\u2AEC','not':'\xAC','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':'\xD1','ntilde':'\xF1','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':'\xD3','oacute':'\xF3','oast':'\u229B','Ocirc':'\xD4','ocirc':'\xF4','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':'\xD2','ograve':'\xF2','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':'\xAA','ordm':'\xBA','origof':'\u22B6','oror':'\u2A56','orslope':'\u2A57','orv':'\u2A5B','oS':'\u24C8','Oscr':'\uD835\uDCAA','oscr':'\u2134','Oslash':'\xD8','oslash':'\xF8','osol':'\u2298','Otilde':'\xD5','otilde':'\xF5','otimesas':'\u2A36','Otimes':'\u2A37','otimes':'\u2297','Ouml':'\xD6','ouml':'\xF6','ovbar':'\u233D','OverBar':'\u203E','OverBrace':'\u23DE','OverBracket':'\u23B4','OverParenthesis':'\u23DC','para':'\xB6','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':'\xB1','plusmn':'\xB1','plussim':'\u2A26','plustwo':'\u2A27','pm':'\xB1','Poincareplane':'\u210C','pointint':'\u2A15','popf':'\uD835\uDD61','Popf':'\u2119','pound':'\xA3','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':'\xBB','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':'\xAE','REG':'\xAE','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':'\xA7','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':'\xAD','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':'\xAF','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':'\xB9','sup2':'\xB2','sup3':'\xB3','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':'\xDF','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':'\xDE','thorn':'\xFE','tilde':'\u02DC','Tilde':'\u223C','TildeEqual':'\u2243','TildeFullEqual':'\u2245','TildeTilde':'\u2248','timesbar':'\u2A31','timesb':'\u22A0','times':'\xD7','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':'\xDA','uacute':'\xFA','uarr':'\u2191','Uarr':'\u219F','uArr':'\u21D1','Uarrocir':'\u2949','Ubrcy':'\u040E','ubrcy':'\u045E','Ubreve':'\u016C','ubreve':'\u016D','Ucirc':'\xDB','ucirc':'\xFB','Ucy':'\u0423','ucy':'\u0443','udarr':'\u21C5','Udblac':'\u0170','udblac':'\u0171','udhar':'\u296E','ufisht':'\u297E','Ufr':'\uD835\uDD18','ufr':'\uD835\uDD32','Ugrave':'\xD9','ugrave':'\xF9','uHar':'\u2963','uharl':'\u21BF','uharr':'\u21BE','uhblk':'\u2580','ulcorn':'\u231C','ulcorner':'\u231C','ulcrop':'\u230F','ultri':'\u25F8','Umacr':'\u016A','umacr':'\u016B','uml':'\xA8','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':'\xDC','uuml':'\xFC','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':'\xDD','yacute':'\xFD','YAcy':'\u042F','yacy':'\u044F','Ycirc':'\u0176','ycirc':'\u0177','Ycy':'\u042B','ycy':'\u044B','yen':'\xA5','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':'\xFF','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'}; + var decodeMapLegacy = {'Aacute':'\xC1','aacute':'\xE1','Acirc':'\xC2','acirc':'\xE2','acute':'\xB4','AElig':'\xC6','aelig':'\xE6','Agrave':'\xC0','agrave':'\xE0','amp':'&','AMP':'&','Aring':'\xC5','aring':'\xE5','Atilde':'\xC3','atilde':'\xE3','Auml':'\xC4','auml':'\xE4','brvbar':'\xA6','Ccedil':'\xC7','ccedil':'\xE7','cedil':'\xB8','cent':'\xA2','copy':'\xA9','COPY':'\xA9','curren':'\xA4','deg':'\xB0','divide':'\xF7','Eacute':'\xC9','eacute':'\xE9','Ecirc':'\xCA','ecirc':'\xEA','Egrave':'\xC8','egrave':'\xE8','ETH':'\xD0','eth':'\xF0','Euml':'\xCB','euml':'\xEB','frac12':'\xBD','frac14':'\xBC','frac34':'\xBE','gt':'>','GT':'>','Iacute':'\xCD','iacute':'\xED','Icirc':'\xCE','icirc':'\xEE','iexcl':'\xA1','Igrave':'\xCC','igrave':'\xEC','iquest':'\xBF','Iuml':'\xCF','iuml':'\xEF','laquo':'\xAB','lt':'<','LT':'<','macr':'\xAF','micro':'\xB5','middot':'\xB7','nbsp':'\xA0','not':'\xAC','Ntilde':'\xD1','ntilde':'\xF1','Oacute':'\xD3','oacute':'\xF3','Ocirc':'\xD4','ocirc':'\xF4','Ograve':'\xD2','ograve':'\xF2','ordf':'\xAA','ordm':'\xBA','Oslash':'\xD8','oslash':'\xF8','Otilde':'\xD5','otilde':'\xF5','Ouml':'\xD6','ouml':'\xF6','para':'\xB6','plusmn':'\xB1','pound':'\xA3','quot':'"','QUOT':'"','raquo':'\xBB','reg':'\xAE','REG':'\xAE','sect':'\xA7','shy':'\xAD','sup1':'\xB9','sup2':'\xB2','sup3':'\xB3','szlig':'\xDF','THORN':'\xDE','thorn':'\xFE','times':'\xD7','Uacute':'\xDA','uacute':'\xFA','Ucirc':'\xDB','ucirc':'\xFB','Ugrave':'\xD9','ugrave':'\xF9','uml':'\xA8','Uuml':'\xDC','uuml':'\xFC','Yacute':'\xDD','yacute':'\xFD','yen':'\xA5','yuml':'\xFF'}; + var decodeMapNumeric = {'0':'\uFFFD','128':'\u20AC','130':'\u201A','131':'\u0192','132':'\u201E','133':'\u2026','134':'\u2020','135':'\u2021','136':'\u02C6','137':'\u2030','138':'\u0160','139':'\u2039','140':'\u0152','142':'\u017D','145':'\u2018','146':'\u2019','147':'\u201C','148':'\u201D','149':'\u2022','150':'\u2013','151':'\u2014','152':'\u02DC','153':'\u2122','154':'\u0161','155':'\u203A','156':'\u0153','158':'\u017E','159':'\u0178'}; + var invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]; + + /*--------------------------------------------------------------------------*/ + + var stringFromCharCode = String.fromCharCode; + + var object = {}; + var hasOwnProperty = object.hasOwnProperty; + var has = function(object, propertyName) { + return hasOwnProperty.call(object, propertyName); + }; + + var contains = function(array, value) { + var index = -1; + var length = array.length; + while (++index < length) { + if (array[index] == value) { + return true; + } + } + return false; + }; + + var merge = function(options, defaults) { + if (!options) { + return defaults; + } + var result = {}; + var key; + for (key in defaults) { + // A `hasOwnProperty` check is not needed here, since only recognized + // option names are used anyway. Any others are ignored. + result[key] = has(options, key) ? options[key] : defaults[key]; + } + return result; + }; + + // Modified version of `ucs2encode`; see http://mths.be/punycode. + var codePointToSymbol = function(codePoint, strict) { + var output = ''; + if ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) { + // See issue #4: + // “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is + // greater than 0x10FFFF, then this is a parse error. Return a U+FFFD + // REPLACEMENT CHARACTER.” + if (strict) { + parseError('character reference outside the permissible Unicode range'); + } + return '\uFFFD'; + } + if (has(decodeMapNumeric, codePoint)) { + if (strict) { + parseError('disallowed character reference'); + } + return decodeMapNumeric[codePoint]; + } + if (strict && contains(invalidReferenceCodePoints, codePoint)) { + parseError('disallowed character reference'); + } + if (codePoint > 0xFFFF) { + codePoint -= 0x10000; + output += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800); + codePoint = 0xDC00 | codePoint & 0x3FF; + } + output += stringFromCharCode(codePoint); + return output; + }; + + var hexEscape = function(symbol) { + return '&#x' + symbol.charCodeAt(0).toString(16).toUpperCase() + ';'; + }; + + var parseError = function(message) { + throw Error('Parse error: ' + message); + }; + + /*--------------------------------------------------------------------------*/ + + var encode = function(string, options) { + options = merge(options, encode.options); + var strict = options.strict; + if (strict && regexInvalidRawCodePoint.test(string)) { + parseError('forbidden code point'); + } + var encodeEverything = options.encodeEverything; + var useNamedReferences = options.useNamedReferences; + var allowUnsafeSymbols = options.allowUnsafeSymbols; + if (encodeEverything) { + // Encode ASCII symbols. + string = string.replace(regexAsciiWhitelist, function(symbol) { + // Use named references if requested & possible. + if (useNamedReferences && has(encodeMap, symbol)) { + return '&' + encodeMap[symbol] + ';'; + } + return hexEscape(symbol); + }); + // Shorten a few escapes that represent two symbols, of which at least one + // is within the ASCII range. + if (useNamedReferences) { + string = string + .replace(/>\u20D2/g, '>⃒') + .replace(/<\u20D2/g, '<⃒') + .replace(/fj/g, 'fj'); + } + // Encode non-ASCII symbols. + if (useNamedReferences) { + // Encode non-ASCII symbols that can be replaced with a named reference. + string = string.replace(regexEncodeNonAscii, function(string) { + // Note: there is no need to check `has(encodeMap, string)` here. + return '&' + encodeMap[string] + ';'; + }); + } + // Note: any remaining non-ASCII symbols are handled outside of the `if`. + } else if (useNamedReferences) { + // Apply named character references. + // Encode `<>"'&` using named character references. if (!allowUnsafeSymbols) { string = string.replace(regexEscape, function(string) { return '&' + encodeMap[string] + ';'; // no need to check `has()` here @@ -5540,7 +7048,7 @@ module.exports = function(src) { }(this)); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],11:[function(require,module,exports){ +},{}],16:[function(require,module,exports){ 'use strict'; /** @@ -5593,7 +7101,7 @@ function longestStreak(value, character) { module.exports = longestStreak; -},{}],12:[function(require,module,exports){ +},{}],17:[function(require,module,exports){ 'use strict'; /* @@ -5879,7 +7387,7 @@ function markdownTable(table, options) { module.exports = markdownTable; -},{}],13:[function(require,module,exports){ +},{}],18:[function(require,module,exports){ /*! * repeat-string * @@ -5947,7 +7455,7 @@ function repeat(str, num) { var res = ''; var cache; -},{}],14:[function(require,module,exports){ +},{}],19:[function(require,module,exports){ 'use strict'; /* @@ -5985,7 +7493,7 @@ function trimTrailingLines(value) { module.exports = trimTrailingLines; -},{}],15:[function(require,module,exports){ +},{}],20:[function(require,module,exports){ exports = module.exports = trim; @@ -6001,1038 +7509,1622 @@ exports.right = function(str){ return str.replace(/\s*$/, ''); }; -},{}],16:[function(require,module,exports){ +},{}],21:[function(require,module,exports){ /** * @author Titus Wormer * @copyright 2015 Titus Wormer * @license MIT - * @module vfile - * @fileoverview Virtual file format to attach additional - * information related to processed input. Similar to - * `wearefractal/vinyl`. Additionally, `VFile` can be - * passed directly to ESLint formatters to visualise - * warnings and errors relating to a file. - * @example - * var VFile = require('vfile'); - * - * var file = new VFile({ - * 'directory': '~', - * 'filename': 'example', - * 'extension': 'txt', - * 'contents': 'Foo *bar* baz' - * }); - * - * file.toString(); // 'Foo *bar* baz' - * file.filePath(); // '~/example.txt' - * - * file.move({'extension': 'md'}); - * file.filePath(); // '~/example.md' - * - * file.warn('Something went wrong', {'line': 2, 'column': 3}); - * // { [~/example.md:2:3: Something went wrong] - * // name: '~/example.md:2:3', - * // file: '~/example.md', - * // reason: 'Something went wrong', - * // line: 2, - * // column: 3, - * // fatal: false } + * @module unified + * @fileoverview Parse / Transform / Compile / Repeat. */ 'use strict'; -var SEPARATOR = '/'; +/* + * Dependencies. + */ -try { - SEPARATOR = require('pa' + 'th').sep; -} catch (e) { /* empty */ } +var bail = require('bail'); +var ware = require('ware'); +var AttachWare = require('attach-ware')(ware); +var VFile = require('vfile'); +var unherit = require('unherit'); -/** - * File-related message with location information. - * - * @typedef {Error} VFileMessage - * @property {string} name - (Starting) location of the - * message, preceded by its file-path when available, - * and joined by `:`. Used internally by the native - * `Error#toString()`. - * @property {string} file - File-path. - * @property {string} reason - Reason for message. - * @property {number?} line - Line of message, when - * available. - * @property {number?} column - Column of message, when - * available. - * @property {string?} stack - Stack of message, when - * available. - * @property {boolean?} fatal - Whether the associated file - * is still processable. - */ +/* + * Processing pipeline. + */ + +var pipeline = ware() + .use(function (ctx) { + ctx.tree = ctx.context.parse(ctx.file, ctx.settings); + }) + .use(function (ctx, next) { + ctx.context.run(ctx.tree, ctx.file, next); + }) + .use(function (ctx) { + ctx.result = ctx.context.stringify(ctx.tree, ctx.file, ctx.settings); + }); /** - * Stringify a position. - * - * @example - * stringify({'line': 1, 'column': 3}) // '1:3' - * stringify({'line': 1}) // '1:1' - * stringify({'column': 3}) // '1:3' - * stringify() // '1:1' + * Construct a new Processor class based on the + * given options. * - * @private - * @param {Object?} [position] - Single position, like - * those available at `node.position.start`. - * @return {string} + * @param {Object} options - Configuration. + * @param {string} options.name - Private storage. + * @param {string} options.type - Type of syntax tree. + * @param {Function} options.Parser - Class to turn a + * virtual file into a syntax tree. + * @param {Function} options.Compiler - Class to turn a + * syntax tree into a string. + * @return {Processor} - A new constructor. */ -function stringify(position) { - if (!position) { - position = {}; +function unified(options) { + var name = options.name; + var type = options.type; + var Parser = options.Parser; + var Compiler = options.Compiler; + + /** + * Construct a Processor instance. + * + * @constructor + * @class {Processor} + */ + function Processor(processor) { + var self = this; + + if (!(self instanceof Processor)) { + return new Processor(processor); + } + + self.ware = new AttachWare(processor && processor.ware); + self.ware.context = self; + + self.Parser = unherit(Parser); + self.Compiler = unherit(Compiler); } - return (position.line || 1) + ':' + (position.column || 1); + /** + * Either return `context` if its an instance + * of `Processor` or construct a new `Processor` + * instance. + * + * @private + * @param {Processor?} [context] - Context object. + * @return {Processor} - Either `context` or a new + * Processor instance. + */ + function instance(context) { + return context instanceof Processor ? context : new Processor(); + } + + /** + * Attach a plugin. + * + * @this {Processor?} - Either a Processor instance or + * the Processor constructor. + * @return {Processor} + */ + function use() { + var self = instance(this); + + self.ware.use.apply(self.ware, arguments); + + return self; + } + + /** + * Transform. + * + * @this {Processor?} - Either a Processor instance or + * the Processor constructor. + * @param {Node} [node] - Syntax tree. + * @param {VFile?} [file] - Virtual file. + * @param {Function?} [done] - Callback. + * @return {Node} - `node`. + */ + function run(node, file, done) { + var self = this; + var space; + + if (typeof file === 'function') { + done = file; + file = null; + } + + if (!file && node && !node.type) { + file = node; + node = null; + } + + file = new VFile(file); + space = file.namespace(name); + + if (!node) { + node = space[type] || node; + } else if (!space[type]) { + space[type] = node; + } + + if (!node) { + throw new Error('Expected node, got ' + node); + } + + done = typeof done === 'function' ? done : bail; + + /* + * Only run when this is an instance of Processor, + * and when there are transformers. + */ + + if (self.ware && self.ware.fns) { + self.ware.run(node, file, done); + } else { + done(null, node, file); + } + + return node; + } + + /** + * Parse a file. + * + * Patches the parsed node onto the `name` + * namespace on the `type` property. + * + * @this {Processor?} - Either a Processor instance or + * the Processor constructor. + * @param {string|VFile} value - Input to parse. + * @param {Object?} [settings] - Configuration. + * @return {Node} - `node`. + */ + function parse(value, settings) { + var file = new VFile(value); + var CustomParser = (this && this.Parser) || Parser; + var node = new CustomParser(file, settings).parse(); + + file.namespace(name)[type] = node; + + return node; + } + + /** + * Compile a file. + * + * Used the parsed node at the `name` + * namespace at `type` when no node was given. + * + * @this {Processor?} - Either a Processor instance or + * the Processor constructor. + * @param {Object} [node] - Syntax tree. + * @param {VFile} [file] - File with syntax tree. + * @param {Object?} [settings] - Configuration. + * @return {string} - Compiled `file`. + */ + function stringify(node, file, settings) { + var CustomCompiler = (this && this.Compiler) || Compiler; + var space; + + if (settings === null || settings === undefined) { + settings = file; + file = null; + } + + if (!file && node && !node.type) { + file = node; + node = null; + } + + file = new VFile(file); + space = file.namespace(name); + + if (!node) { + node = space[type] || node; + } else if (!space[type]) { + space[type] = node; + } + + if (!node) { + throw new Error('Expected node, got ' + node); + } + + return new CustomCompiler(file, settings).compile(); + } + + /** + * Parse / Transform / Compile. + * + * @this {Processor?} - Either a Processor instance or + * the Processor constructor. + * @param {string|VFile} value - Input to process. + * @param {Object?} [settings] - Configuration. + * @param {Function?} [done] - Callback. + * @return {string?} - Parsed document, when + * transformation was async. + */ + function process(value, settings, done) { + var self = instance(this); + var file = new VFile(value); + var result = null; + + if (typeof settings === 'function') { + done = settings; + settings = null; + } + + pipeline.run({ + 'context': self, + 'file': file, + 'settings': settings || {} + }, function (err, res) { + result = res && res.result; + + if (done) { + done(err, file, result); + } else if (err) { + bail(err); + } + }); + + return result; + } + + /* + * Methods / functions. + */ + + var proto = Processor.prototype; + + Processor.use = proto.use = use; + Processor.parse = proto.parse = parse; + Processor.run = proto.run = run; + Processor.stringify = proto.stringify = stringify; + Processor.process = proto.process = process; + + return Processor; } +/* + * Expose. + */ + +module.exports = unified; + +},{"attach-ware":22,"bail":23,"unherit":24,"vfile":29,"ware":26}],22:[function(require,module,exports){ /** - * ESLint's formatter API expects `filePath` to be a - * string. This hack supports invocation as well as - * implicit coercion. - * + * @author Titus Wormer + * @copyright 2015 Titus Wormer + * @license MIT + * @module attach-ware + * @fileoverview Middleware with configuration. * @example - * var file = new VFile({ - * 'filename': 'example', - * 'extension': 'txt' + * var ware = require('attach-ware')(require('ware')); + * + * var middleware = ware() + * .use(function (context, options) { + * if (!options.condition) return; + * + * return function (req, res, next) { + * res.x = 'hello'; + * next(); + * }; + * }, { + * 'condition': true + * }) + * .use(function (context, options) { + * if (!options.condition) return; + * + * return function (req, res, next) { + * res.y = 'world'; + * next(); + * }; + * }, { + * 'condition': false + * }); + * + * middleware.run({}, {}, function (err, req, res) { + * res.x; // "hello" + * res.y; // undefined * }); + */ + +'use strict'; + +var slice = [].slice; +var unherit = require('unherit'); + +/** + * Clone `Ware` without affecting the super-class and + * turn it into configurable middleware. * - * filePath = filePathFactory(file); - * - * String(filePath); // 'example.txt' - * filePath(); // 'example.txt' - * - * @private - * @param {VFile} file - * @return {Function} + * @param {Function} Ware - Ware-like constructor. + * @return {Function} AttachWare - Configurable middleware. */ -function filePathFactory(file) { +function patch(Ware) { + /* + * Methods. + */ + + var useFn = Ware.prototype.use; + /** - * Get the filename, with extension and directory, if applicable. - * - * @example - * var file = new VFile({ - * 'directory': '~', - * 'filename': 'example', - * 'extension': 'txt' - * }); - * - * String(file.filePath); // ~/example.txt - * file.filePath() // ~/example.txt + * @constructor + * @class {AttachWare} + */ + var AttachWare = unherit(Ware); + + AttachWare.prototype.foo = true; + + /** + * Attach configurable middleware. * - * @memberof {VFile} - * @property {Function} toString - Itself. ESLint's - * formatter API expects `filePath` to be `string`. - * This hack supports invocation as well as implicit - * coercion. - * @return {string} - If the `vFile` has a `filename`, - * it will be prefixed with the directory (slashed), - * if applicable, and suffixed with the (dotted) - * extension (if applicable). Otherwise, an empty - * string is returned. + * @memberof {AttachWare} + * @this {AttachWare} + * @param {Function} attach + * @return {AttachWare} - `this`. */ - function filePath() { - var directory = file.directory; - var separator; + function use(attach) { + var self = this; + var params = slice.call(arguments, 1); + var index; + var length; + var fn; + + /* + * Accept other `AttachWare`. + */ + + if (attach instanceof AttachWare) { + if (attach.attachers) { + return self.use(attach.attachers); + } + + return self; + } + + /* + * Accept normal ware. + */ + + if (attach instanceof Ware) { + self.fns = self.fns.concat(attach.fns); + return self; + } - if (file.filename || file.extension) { - separator = directory.charAt(directory.length - 1); + /* + * Multiple attachers. + */ - if (separator === '/' || separator === '\\') { - directory = directory.slice(0, -1); - } + if ('length' in attach && typeof attach !== 'function') { + index = -1; + length = attach.length; - if (directory === '.') { - directory = ''; + while (++index < length) { + self.use.apply(self, [attach[index]].concat(params)); } - return (directory ? directory + SEPARATOR : '') + - file.filename + - (file.extension ? '.' + file.extension : ''); + return self; } - return ''; - } + /* + * Single attacher. + */ - filePath.toString = filePath; + fn = attach.apply(null, [self.context || self].concat(params)); - return filePath; -} + /* + * Store the attacher to not break `new Ware(otherWare)` + * functionality. + */ -/** - * Construct a new file. - * - * @example - * var file = new VFile({ - * 'directory': '~', - * 'filename': 'example', - * 'extension': 'txt', - * 'contents': 'Foo *bar* baz' - * }); - * - * file === VFile(file) // true - * file === new VFile(file) // true - * VFile('foo') instanceof VFile // true - * - * @constructor - * @class {VFile} - * @param {Object|VFile|string} [options] - either an - * options object, or the value of `contents` (both - * optional). When a `file` is passed in, it's - * immediately returned. - * @property {string} [contents=''] - Content of file. - * @property {string} [directory=''] - Path to parent - * directory. - * @property {string} [filename=''] - Filename. - * A file-path can still be generated when no filename - * exists. - * @property {string} [extension=''] - Extension. - * A file-path can still be generated when no extension - * exists. - * @property {boolean?} quiet - Whether an error created by - * `VFile#fail()` is returned (when truthy) or thrown - * (when falsey). Ensure all `messages` associated with - * a file are handled properly when setting this to - * `true`. - * @property {Array.} messages - List of associated - * messages. - */ -function VFile(options) { - var self = this; + if (!self.attachers) { + self.attachers = []; + } - /* - * No `new` operator. - */ + self.attachers.push(attach); - if (!(self instanceof VFile)) { - return new VFile(options); - } + /* + * Pass `fn` to the original `Ware#use()`. + */ - /* - * Given file. - */ + if (fn) { + useFn.call(self, fn); + } - if ( - options && - typeof options.message === 'function' && - typeof options.hasFailed === 'function' - ) { - return options; + return self; } - if (!options) { - options = {}; - } else if (typeof options === 'string') { - options = { - 'contents': options - }; - } + AttachWare.prototype.use = use; - self.contents = options.contents || ''; - self.filename = options.filename || ''; - self.directory = options.directory || ''; - self.extension = options.extension || ''; + return function (fn) { + return new AttachWare(fn); + }; +} - self.messages = []; +module.exports = patch; - /* - * Make sure eslint’s formatters stringify `filePath` - * properly. - */ +},{"unherit":24}],23:[function(require,module,exports){ +/** + * @author Titus Wormer + * @copyright 2015 Titus Wormer. All rights reserved. + * @module bail + * @fileoverview Throw a given error. + */ - self.filePath = filePathFactory(self); -} +'use strict'; /** - * Get the value of the file. + * Throw a given error. * * @example - * var vFile = new VFile('Foo'); - * String(vFile); // 'Foo' + * bail(); * - * @this {VFile} - * @memberof {VFile} - * @return {string} - value at the `contents` property - * in context. + * @example + * bail(new Error('failure')); + * // Error: failure + * // at repl:1:6 + * // at REPLServer.defaultEval (repl.js:154:27) + * // ... + * + * @param {Error?} [err] - Optional error. + * @throws {Error} - `err`, when given. */ -function toString() { - return this.contents; +function bail(err) { + if (err) { + throw err; + } } +/* + * Expose. + */ + +module.exports = bail; + +},{}],24:[function(require,module,exports){ /** - * Move a file by passing a new directory, filename, - * and extension. When these are not given, the default - * values are kept. - * + * @author Titus Wormer + * @copyright 2015 Titus Wormer + * @license MIT + * @module unherit + * @fileoverview Create a custom constructor which can be modified + * without affecting the original class. * @example - * var file = new VFile({ - * 'directory': '~', - * 'filename': 'example', - * 'extension': 'txt', - * 'contents': 'Foo *bar* baz' - * }); - * - * file.move({'directory': '/var/www'}); - * file.filePath(); // '/var/www/example.txt' + * var EventEmitter = require('events').EventEmitter; + * var Emitter = unherit(EventEmitter); + * // Create a private class which acts just like + * // `EventEmitter`. * - * file.move({'extension': 'md'}); - * file.filePath(); // '/var/www/example.md' - * - * @this {VFile} - * @memberof {VFile} - * @param {Object?} [options] - * @return {VFile} - Context object. + * Emitter.prototype.defaultMaxListeners = 0; + * // Now, all instances of `Emitter` have no maximum + * // listeners, without affecting other `EventEmitter`s. */ -function move(options) { - var self = this; - if (!options) { - options = {}; - } +'use strict'; - self.directory = options.directory || self.directory || ''; - self.filename = options.filename || self.filename || ''; - self.extension = options.extension || self.extension || ''; +/* + * Dependencies. + */ - return self; -} +var clone = require('clone'); +var inherits = require('inherits'); /** - * Create a message with `reason` at `position`. - * When an error is passed in as `reason`, copies the - * stack. This does not add a message to `messages`. - * - * @example - * var file = new VFile(); - * - * file.message('Something went wrong'); - * // { [1:1: Something went wrong] - * // name: '1:1', - * // file: '', - * // reason: 'Something went wrong', - * // line: null, - * // column: null } + * Create a custom constructor which can be modified + * without affecting the original class. * - * @this {VFile} - * @memberof {VFile} - * @param {string|Error} reason - Reason for message. - * @param {Node|Location|Position} [position] - Location - * of message in file. - * @return {VFileMessage} - File-related message with - * location information. + * @param {Function} Super - Super-class. + * @return {Function} - Constructor acting like `Super`, + * which can be modified without affecting the original + * class. */ -function message(reason, position) { - var filePath = this.filePath(); - var location; - var err; +function unherit(Super) { + var base = clone(Super.prototype); + var result; + var key; - /* - * Node / location / position. + /** + * Constructor accepting a single argument, + * which itself is an `arguments` object. */ - - if (position && position.position) { - position = position.position; + function From(parameters) { + return Super.apply(this, parameters); } - if (position && position.start) { - location = stringify(position.start) + '-' + stringify(position.end); - position = position.start; - } else { - location = stringify(position); + /** + * Constructor accepting variadic arguments. + */ + function Of() { + if (!(this instanceof Of)) { + return new From(arguments); + } + + return Super.apply(this, arguments); } - err = new Error(reason.message || reason); + inherits(Of, Super); + inherits(From, Of); - err.name = (filePath ? filePath + ':' : '') + location; - err.file = filePath; - err.reason = reason.message || reason; - err.line = position ? position.line : null; - err.column = position ? position.column : null; + /* + * Both do duplicate work. However, cloning the + * prototype ensures clonable things are cloned + * and thus used. The `inherits` call ensures + * `instanceof` still thinks an instance subclasses + * `Super`. + */ - if (reason.stack) { - err.stack = reason.stack; + result = Of.prototype; + + for (key in base) { + result[key] = base[key]; } - return err; + return Of; +} + +/* + * Expose. + */ + +module.exports = unherit; + +},{"clone":12,"inherits":25}],25:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + +},{}],26:[function(require,module,exports){ +/** + * Module Dependencies + */ + +var slice = [].slice; +var wrap = require('wrap-fn'); + +/** + * Expose `Ware`. + */ + +module.exports = Ware; + +/** + * Throw an error. + * + * @param {Error} error + */ + +function fail (err) { + throw err; +} + +/** + * Initialize a new `Ware` manager, with optional `fns`. + * + * @param {Function or Array or Ware} fn (optional) + */ + +function Ware (fn) { + if (!(this instanceof Ware)) return new Ware(fn); + this.fns = []; + if (fn) this.use(fn); } /** - * Warn. Creates a non-fatal message (see `VFile#message()`), - * and adds it to the file's `messages` list. - * - * @example - * var file = new VFile(); - * - * file.warn('Something went wrong'); - * // { [1:1: Something went wrong] - * // name: '1:1', - * // file: '', - * // reason: 'Something went wrong', - * // line: null, - * // column: null, - * // fatal: false } + * Use a middleware `fn`. * - * @see VFile#message - * @this {VFile} - * @memberof {VFile} + * @param {Function or Array or Ware} fn + * @return {Ware} */ -function warn() { - var err = this.message.apply(this, arguments); - err.fatal = false; +Ware.prototype.use = function (fn) { + if (fn instanceof Ware) { + return this.use(fn.fns); + } - this.messages.push(err); + if (fn instanceof Array) { + for (var i = 0, f; f = fn[i++];) this.use(f); + return this; + } - return err; -} + this.fns.push(fn); + return this; +}; /** - * Fail. Creates a fatal message (see `VFile#message()`), - * sets `fatal: true`, adds it to the file's - * `messages` list. - * - * If `quiet` is not `true`, throws the error. - * - * @example - * var file = new VFile(); - * - * file.fail('Something went wrong'); - * // 1:1: Something went wrong - * // at VFile.exception (vfile/index.js:296:11) - * // at VFile.fail (vfile/index.js:360:20) - * // at repl:1:6 - * - * file.quiet = true; - * file.fail('Something went wrong'); - * // { [1:1: Something went wrong] - * // name: '1:1', - * // file: '', - * // reason: 'Something went wrong', - * // line: null, - * // column: null, - * // fatal: true } + * Run through the middleware with the given `args` and optional `callback`. * - * @this {VFile} - * @memberof {VFile} - * @throws {VFileMessage} - When not `quiet: true`. - * @param {string|Error} reason - Reason for failure. - * @param {Node|Location|Position} [position] - Place - * of failure in file. - * @return {VFileMessage} - Unless thrown, of course. + * @param {Mixed} args... + * @param {Function} callback (optional) + * @return {Ware} */ -function fail(reason, position) { - var err = this.message(reason, position); - err.fatal = true; +Ware.prototype.run = function () { + var fns = this.fns; + var ctx = this; + var i = 0; + var last = arguments[arguments.length - 1]; + var done = 'function' == typeof last && last; + var args = done + ? slice.call(arguments, 0, arguments.length - 1) + : slice.call(arguments); - this.messages.push(err); + // next step + function next (err) { + if (err) return (done || fail)(err); + var fn = fns[i++]; + var arr = slice.call(args); - if (!this.quiet) { - throw err; + if (!fn) { + return done && done.apply(null, [null].concat(args)); } - return err; -} + wrap(fn, next).apply(ctx, arr); + } + + next(); + return this; +}; + +},{"wrap-fn":27}],27:[function(require,module,exports){ /** - * Check if a fatal message occurred making the file no - * longer processable. - * - * @example - * var file = new VFile(); - * file.quiet = true; - * - * file.hasFailed(); // false - * - * file.fail('Something went wrong'); - * file.hasFailed(); // true - * - * @this {VFile} - * @memberof {VFile} - * @return {boolean} - `true` if at least one of file's - * `messages` has a `fatal` property set to `true` + * Module Dependencies */ -function hasFailed() { - var messages = this.messages; - var index = -1; - var length = messages.length; - while (++index < length) { - if (messages[index].fatal) { - return true; - } - } +var noop = function(){}; +var co = require('co'); - return false; -} +/** + * Export `wrap-fn` + */ + +module.exports = wrap; /** - * Access private information relating to a file. - * - * @example - * var file = new VFile('Foo'); - * - * file.namespace('foo').bar = 'baz'; - * - * console.log(file.namespace('foo').bar) // 'baz'; + * Wrap a function to support + * sync, async, and gen functions. * - * @this {VFile} - * @memberof {VFile} - * @param {string} key - Namespace key. - * @return {Object} - Private space. + * @param {Function} fn + * @param {Function} done + * @return {Function} + * @api public */ -function namespace(key) { - var self = this; - var space = self.data; - if (!space) { - space = self.data = {}; +function wrap(fn, done) { + done = once(done || noop); + + return function() { + // prevents arguments leakage + // see https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments + var i = arguments.length; + var args = new Array(i); + while (i--) args[i] = arguments[i]; + + var ctx = this; + + // done + if (!fn) { + return done.apply(ctx, [null].concat(args)); } - if (!space[key]) { - space[key] = {}; + // async + if (fn.length > args.length) { + // NOTE: this only handles uncaught synchronous errors + try { + return fn.apply(ctx, args.concat(done)); + } catch (e) { + return done(e); + } } - return space[key]; + // generator + if (generator(fn)) { + return co(fn).apply(ctx, args.concat(done)); + } + + // sync + return sync(fn, done).apply(ctx, args); + } } -/* - * Methods. +/** + * Wrap a synchronous function execution. + * + * @param {Function} fn + * @param {Function} done + * @return {Function} + * @api private */ -var vFilePrototype = VFile.prototype; - -vFilePrototype.move = move; -vFilePrototype.toString = toString; -vFilePrototype.message = message; -vFilePrototype.warn = warn; -vFilePrototype.fail = fail; -vFilePrototype.hasFailed = hasFailed; -vFilePrototype.namespace = namespace; +function sync(fn, done) { + return function () { + var ret; -/* - * Expose. - */ + try { + ret = fn.apply(this, arguments); + } catch (err) { + return done(err); + } -module.exports = VFile; + if (promise(ret)) { + ret.then(function (value) { done(null, value); }, done); + } else { + ret instanceof Error ? done(ret) : done(null, ret); + } + } +} -},{}],17:[function(require,module,exports){ /** - * Module Dependencies + * Is `value` a generator? + * + * @param {Mixed} value + * @return {Boolean} + * @api private */ -var slice = [].slice; -var wrap = require('wrap-fn'); - -/** - * Expose `Ware`. - */ +function generator(value) { + return value + && value.constructor + && 'GeneratorFunction' == value.constructor.name; +} -module.exports = Ware; /** - * Throw an error. + * Is `value` a promise? * - * @param {Error} error + * @param {Mixed} value + * @return {Boolean} + * @api private */ -function fail (err) { - throw err; +function promise(value) { + return value && 'function' == typeof value.then; } /** - * Initialize a new `Ware` manager, with optional `fns`. - * - * @param {Function or Array or Ware} fn (optional) + * Once */ -function Ware (fn) { - if (!(this instanceof Ware)) return new Ware(fn); - this.fns = []; - if (fn) this.use(fn); +function once(fn) { + return function() { + var ret = fn.apply(this, arguments); + fn = noop; + return ret; + }; } +},{"co":28}],28:[function(require,module,exports){ + /** - * Use a middleware `fn`. - * - * @param {Function or Array or Ware} fn - * @return {Ware} + * slice() reference. */ -Ware.prototype.use = function (fn) { - if (fn instanceof Ware) { - return this.use(fn.fns); - } +var slice = Array.prototype.slice; - if (fn instanceof Array) { - for (var i = 0, f; f = fn[i++];) this.use(f); - return this; - } +/** + * Expose `co`. + */ - this.fns.push(fn); - return this; -}; +module.exports = co; /** - * Run through the middleware with the given `args` and optional `callback`. + * Wrap the given generator `fn` and + * return a thunk. * - * @param {Mixed} args... - * @param {Function} callback (optional) - * @return {Ware} + * @param {Function} fn + * @return {Function} + * @api public */ -Ware.prototype.run = function () { - var fns = this.fns; - var ctx = this; - var i = 0; - var last = arguments[arguments.length - 1]; - var done = 'function' == typeof last && last; - var args = done - ? slice.call(arguments, 0, arguments.length - 1) - : slice.call(arguments); +function co(fn) { + var isGenFun = isGeneratorFunction(fn); - // next step - function next (err) { - if (err) return (done || fail)(err); - var fn = fns[i++]; - var arr = slice.call(args); + return function (done) { + var ctx = this; - if (!fn) { - return done && done.apply(null, [null].concat(args)); + // in toThunk() below we invoke co() + // with a generator, so optimize for + // this case + var gen = fn; + + // we only need to parse the arguments + // if gen is a generator function. + if (isGenFun) { + var args = slice.call(arguments), len = args.length; + var hasCallback = len && 'function' == typeof args[len - 1]; + done = hasCallback ? args.pop() : error; + gen = fn.apply(this, args); + } else { + done = done || error; } - wrap(fn, next).apply(ctx, arr); - } + next(); - next(); + // #92 + // wrap the callback in a setImmediate + // so that any of its errors aren't caught by `co` + function exit(err, res) { + setImmediate(function(){ + done.call(ctx, err, res); + }); + } - return this; -}; + function next(err, res) { + var ret; -},{"wrap-fn":18}],18:[function(require,module,exports){ -/** - * Module Dependencies - */ + // multiple args + if (arguments.length > 2) res = slice.call(arguments, 1); -var noop = function(){}; -var co = require('co'); + // error + if (err) { + try { + ret = gen.throw(err); + } catch (e) { + return exit(e); + } + } + + // ok + if (!err) { + try { + ret = gen.next(res); + } catch (e) { + return exit(e); + } + } + + // done + if (ret.done) return exit(null, ret.value); + + // normalize + ret.value = toThunk(ret.value, ctx); + + // run + if ('function' == typeof ret.value) { + var called = false; + try { + ret.value.call(ctx, function(){ + if (called) return; + called = true; + next.apply(ctx, arguments); + }); + } catch (e) { + setImmediate(function(){ + if (called) return; + called = true; + next(e); + }); + } + return; + } + + // invalid + next(new TypeError('You may only yield a function, promise, generator, array, or object, ' + + 'but the following was passed: "' + String(ret.value) + '"')); + } + } +} /** - * Export `wrap-fn` + * Convert `obj` into a normalized thunk. + * + * @param {Mixed} obj + * @param {Mixed} ctx + * @return {Function} + * @api private */ -module.exports = wrap; +function toThunk(obj, ctx) { + + if (isGeneratorFunction(obj)) { + return co(obj.call(ctx)); + } + + if (isGenerator(obj)) { + return co(obj); + } + + if (isPromise(obj)) { + return promiseToThunk(obj); + } + + if ('function' == typeof obj) { + return obj; + } + + if (isObject(obj) || Array.isArray(obj)) { + return objectToThunk.call(ctx, obj); + } + + return obj; +} /** - * Wrap a function to support - * sync, async, and gen functions. + * Convert an object of yieldables to a thunk. * - * @param {Function} fn - * @param {Function} done + * @param {Object} obj * @return {Function} - * @api public + * @api private */ -function wrap(fn, done) { - done = once(done || noop); +function objectToThunk(obj){ + var ctx = this; + var isArray = Array.isArray(obj); - return function() { - // prevents arguments leakage - // see https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var i = arguments.length; - var args = new Array(i); - while (i--) args[i] = arguments[i]; + return function(done){ + var keys = Object.keys(obj); + var pending = keys.length; + var results = isArray + ? new Array(pending) // predefine the array length + : new obj.constructor(); + var finished; - var ctx = this; + if (!pending) { + setImmediate(function(){ + done(null, results) + }); + return; + } - // done - if (!fn) { - return done.apply(ctx, [null].concat(args)); + // prepopulate object keys to preserve key ordering + if (!isArray) { + for (var i = 0; i < pending; i++) { + results[keys[i]] = undefined; + } + } + + for (var i = 0; i < keys.length; i++) { + run(obj[keys[i]], keys[i]); } - // async - if (fn.length > args.length) { - // NOTE: this only handles uncaught synchronous errors - try { - return fn.apply(ctx, args.concat(done)); - } catch (e) { - return done(e); + function run(fn, key) { + if (finished) return; + try { + fn = toThunk(fn, ctx); + + if ('function' != typeof fn) { + results[key] = fn; + return --pending || done(null, results); + } + + fn.call(ctx, function(err, res){ + if (finished) return; + + if (err) { + finished = true; + return done(err); + } + + results[key] = res; + --pending || done(null, results); + }); + } catch (err) { + finished = true; + done(err); } } - - // generator - if (generator(fn)) { - return co(fn).apply(ctx, args.concat(done)); - } - - // sync - return sync(fn, done).apply(ctx, args); } } /** - * Wrap a synchronous function execution. + * Convert `promise` to a thunk. * - * @param {Function} fn - * @param {Function} done + * @param {Object} promise * @return {Function} * @api private */ -function sync(fn, done) { - return function () { - var ret; +function promiseToThunk(promise) { + return function(fn){ + promise.then(function(res) { + fn(null, res); + }, fn); + } +} - try { - ret = fn.apply(this, arguments); - } catch (err) { - return done(err); - } +/** + * Check if `obj` is a promise. + * + * @param {Object} obj + * @return {Boolean} + * @api private + */ - if (promise(ret)) { - ret.then(function (value) { done(null, value); }, done); - } else { - ret instanceof Error ? done(ret) : done(null, ret); - } - } +function isPromise(obj) { + return obj && 'function' == typeof obj.then; } /** - * Is `value` a generator? + * Check if `obj` is a generator. * - * @param {Mixed} value + * @param {Mixed} obj * @return {Boolean} * @api private */ -function generator(value) { - return value - && value.constructor - && 'GeneratorFunction' == value.constructor.name; +function isGenerator(obj) { + return obj && 'function' == typeof obj.next && 'function' == typeof obj.throw; } +/** + * Check if `obj` is a generator function. + * + * @param {Mixed} obj + * @return {Boolean} + * @api private + */ + +function isGeneratorFunction(obj) { + return obj && obj.constructor && 'GeneratorFunction' == obj.constructor.name; +} /** - * Is `value` a promise? + * Check for plain object. * - * @param {Mixed} value + * @param {Mixed} val * @return {Boolean} * @api private */ -function promise(value) { - return value && 'function' == typeof value.then; +function isObject(val) { + return val && Object == val.constructor; } /** - * Once + * Throw `err` in a new stack. + * + * This is used when co() is invoked + * without supplying a callback, which + * should only be for demonstrational + * purposes. + * + * @param {Error} err + * @api private */ -function once(fn) { - return function() { - var ret = fn.apply(this, arguments); - fn = noop; - return ret; - }; +function error(err) { + if (!err) return; + setImmediate(function(){ + throw err; + }); } -},{"co":19}],19:[function(require,module,exports){ +},{}],29:[function(require,module,exports){ +/** + * @author Titus Wormer + * @copyright 2015 Titus Wormer + * @license MIT + * @module vfile + * @fileoverview Virtual file format to attach additional + * information related to processed input. Similar to + * `wearefractal/vinyl`. Additionally, `VFile` can be + * passed directly to ESLint formatters to visualise + * warnings and errors relating to a file. + * @example + * var VFile = require('vfile'); + * + * var file = new VFile({ + * 'directory': '~', + * 'filename': 'example', + * 'extension': 'txt', + * 'contents': 'Foo *bar* baz' + * }); + * + * file.toString(); // 'Foo *bar* baz' + * file.filePath(); // '~/example.txt' + * + * file.move({'extension': 'md'}); + * file.filePath(); // '~/example.md' + * + * file.warn('Something went wrong', {'line': 2, 'column': 3}); + * // { [~/example.md:2:3: Something went wrong] + * // name: '~/example.md:2:3', + * // file: '~/example.md', + * // reason: 'Something went wrong', + * // line: 2, + * // column: 3, + * // fatal: false } + */ + +'use strict'; + +var SEPARATOR = '/'; + +try { + SEPARATOR = require('pa' + 'th').sep; +} catch (e) { /* empty */ } /** - * slice() reference. + * File-related message with location information. + * + * @typedef {Error} VFileMessage + * @property {string} name - (Starting) location of the + * message, preceded by its file-path when available, + * and joined by `:`. Used internally by the native + * `Error#toString()`. + * @property {string} file - File-path. + * @property {string} reason - Reason for message. + * @property {number?} line - Line of message, when + * available. + * @property {number?} column - Column of message, when + * available. + * @property {string?} stack - Stack of message, when + * available. + * @property {boolean?} fatal - Whether the associated file + * is still processable. + */ + +/** + * Stringify a position. + * + * @example + * stringify({'line': 1, 'column': 3}) // '1:3' + * stringify({'line': 1}) // '1:1' + * stringify({'column': 3}) // '1:3' + * stringify() // '1:1' + * + * @private + * @param {Object?} [position] - Single position, like + * those available at `node.position.start`. + * @return {string} + */ +function stringify(position) { + if (!position) { + position = {}; + } + + return (position.line || 1) + ':' + (position.column || 1); +} + +/** + * ESLint's formatter API expects `filePath` to be a + * string. This hack supports invocation as well as + * implicit coercion. + * + * @example + * var file = new VFile({ + * 'filename': 'example', + * 'extension': 'txt' + * }); + * + * filePath = filePathFactory(file); + * + * String(filePath); // 'example.txt' + * filePath(); // 'example.txt' + * + * @private + * @param {VFile} file + * @return {Function} */ +function filePathFactory(file) { + /** + * Get the filename, with extension and directory, if applicable. + * + * @example + * var file = new VFile({ + * 'directory': '~', + * 'filename': 'example', + * 'extension': 'txt' + * }); + * + * String(file.filePath); // ~/example.txt + * file.filePath() // ~/example.txt + * + * @memberof {VFile} + * @property {Function} toString - Itself. ESLint's + * formatter API expects `filePath` to be `string`. + * This hack supports invocation as well as implicit + * coercion. + * @return {string} - If the `vFile` has a `filename`, + * it will be prefixed with the directory (slashed), + * if applicable, and suffixed with the (dotted) + * extension (if applicable). Otherwise, an empty + * string is returned. + */ + function filePath() { + var directory = file.directory; + var separator; + + if (file.filename || file.extension) { + separator = directory.charAt(directory.length - 1); + + if (separator === '/' || separator === '\\') { + directory = directory.slice(0, -1); + } + + if (directory === '.') { + directory = ''; + } + + return (directory ? directory + SEPARATOR : '') + + file.filename + + (file.extension ? '.' + file.extension : ''); + } -var slice = Array.prototype.slice; + return ''; + } -/** - * Expose `co`. - */ + filePath.toString = filePath; -module.exports = co; + return filePath; +} /** - * Wrap the given generator `fn` and - * return a thunk. + * Construct a new file. * - * @param {Function} fn - * @return {Function} - * @api public + * @example + * var file = new VFile({ + * 'directory': '~', + * 'filename': 'example', + * 'extension': 'txt', + * 'contents': 'Foo *bar* baz' + * }); + * + * file === VFile(file) // true + * file === new VFile(file) // true + * VFile('foo') instanceof VFile // true + * + * @constructor + * @class {VFile} + * @param {Object|VFile|string} [options] - either an + * options object, or the value of `contents` (both + * optional). When a `file` is passed in, it's + * immediately returned. + * @property {string} [contents=''] - Content of file. + * @property {string} [directory=''] - Path to parent + * directory. + * @property {string} [filename=''] - Filename. + * A file-path can still be generated when no filename + * exists. + * @property {string} [extension=''] - Extension. + * A file-path can still be generated when no extension + * exists. + * @property {boolean?} quiet - Whether an error created by + * `VFile#fail()` is returned (when truthy) or thrown + * (when falsey). Ensure all `messages` associated with + * a file are handled properly when setting this to + * `true`. + * @property {Array.} messages - List of associated + * messages. */ +function VFile(options) { + var self = this; -function co(fn) { - var isGenFun = isGeneratorFunction(fn); - - return function (done) { - var ctx = this; - - // in toThunk() below we invoke co() - // with a generator, so optimize for - // this case - var gen = fn; + /* + * No `new` operator. + */ - // we only need to parse the arguments - // if gen is a generator function. - if (isGenFun) { - var args = slice.call(arguments), len = args.length; - var hasCallback = len && 'function' == typeof args[len - 1]; - done = hasCallback ? args.pop() : error; - gen = fn.apply(this, args); - } else { - done = done || error; + if (!(self instanceof VFile)) { + return new VFile(options); } - next(); + /* + * Given file. + */ - // #92 - // wrap the callback in a setImmediate - // so that any of its errors aren't caught by `co` - function exit(err, res) { - setImmediate(function(){ - done.call(ctx, err, res); - }); + if ( + options && + typeof options.message === 'function' && + typeof options.hasFailed === 'function' + ) { + return options; } - function next(err, res) { - var ret; - - // multiple args - if (arguments.length > 2) res = slice.call(arguments, 1); - - // error - if (err) { - try { - ret = gen.throw(err); - } catch (e) { - return exit(e); - } - } - - // ok - if (!err) { - try { - ret = gen.next(res); - } catch (e) { - return exit(e); - } - } + if (!options) { + options = {}; + } else if (typeof options === 'string') { + options = { + 'contents': options + }; + } - // done - if (ret.done) return exit(null, ret.value); + self.contents = options.contents || ''; + self.filename = options.filename || ''; + self.directory = options.directory || ''; + self.extension = options.extension || ''; - // normalize - ret.value = toThunk(ret.value, ctx); + self.messages = []; - // run - if ('function' == typeof ret.value) { - var called = false; - try { - ret.value.call(ctx, function(){ - if (called) return; - called = true; - next.apply(ctx, arguments); - }); - } catch (e) { - setImmediate(function(){ - if (called) return; - called = true; - next(e); - }); - } - return; - } + /* + * Make sure eslint’s formatters stringify `filePath` + * properly. + */ - // invalid - next(new TypeError('You may only yield a function, promise, generator, array, or object, ' - + 'but the following was passed: "' + String(ret.value) + '"')); - } - } + self.filePath = filePathFactory(self); } /** - * Convert `obj` into a normalized thunk. + * Get the value of the file. * - * @param {Mixed} obj - * @param {Mixed} ctx - * @return {Function} - * @api private + * @example + * var vFile = new VFile('Foo'); + * String(vFile); // 'Foo' + * + * @this {VFile} + * @memberof {VFile} + * @return {string} - value at the `contents` property + * in context. */ +function toString() { + return this.contents; +} -function toThunk(obj, ctx) { - - if (isGeneratorFunction(obj)) { - return co(obj.call(ctx)); - } - - if (isGenerator(obj)) { - return co(obj); - } - - if (isPromise(obj)) { - return promiseToThunk(obj); - } +/** + * Move a file by passing a new directory, filename, + * and extension. When these are not given, the default + * values are kept. + * + * @example + * var file = new VFile({ + * 'directory': '~', + * 'filename': 'example', + * 'extension': 'txt', + * 'contents': 'Foo *bar* baz' + * }); + * + * file.move({'directory': '/var/www'}); + * file.filePath(); // '/var/www/example.txt' + * + * file.move({'extension': 'md'}); + * file.filePath(); // '/var/www/example.md' + * + * @this {VFile} + * @memberof {VFile} + * @param {Object?} [options] + * @return {VFile} - Context object. + */ +function move(options) { + var self = this; - if ('function' == typeof obj) { - return obj; - } + if (!options) { + options = {}; + } - if (isObject(obj) || Array.isArray(obj)) { - return objectToThunk.call(ctx, obj); - } + self.directory = options.directory || self.directory || ''; + self.filename = options.filename || self.filename || ''; + self.extension = options.extension || self.extension || ''; - return obj; + return self; } /** - * Convert an object of yieldables to a thunk. + * Create a message with `reason` at `position`. + * When an error is passed in as `reason`, copies the + * stack. This does not add a message to `messages`. * - * @param {Object} obj - * @return {Function} - * @api private + * @example + * var file = new VFile(); + * + * file.message('Something went wrong'); + * // { [1:1: Something went wrong] + * // name: '1:1', + * // file: '', + * // reason: 'Something went wrong', + * // line: null, + * // column: null } + * + * @this {VFile} + * @memberof {VFile} + * @param {string|Error} reason - Reason for message. + * @param {Node|Location|Position} [position] - Location + * of message in file. + * @return {VFileMessage} - File-related message with + * location information. */ +function message(reason, position) { + var filePath = this.filePath(); + var location; + var err; -function objectToThunk(obj){ - var ctx = this; - var isArray = Array.isArray(obj); - - return function(done){ - var keys = Object.keys(obj); - var pending = keys.length; - var results = isArray - ? new Array(pending) // predefine the array length - : new obj.constructor(); - var finished; - - if (!pending) { - setImmediate(function(){ - done(null, results) - }); - return; - } + /* + * Node / location / position. + */ - // prepopulate object keys to preserve key ordering - if (!isArray) { - for (var i = 0; i < pending; i++) { - results[keys[i]] = undefined; - } + if (position && position.position) { + position = position.position; } - for (var i = 0; i < keys.length; i++) { - run(obj[keys[i]], keys[i]); + if (position && position.start) { + location = stringify(position.start) + '-' + stringify(position.end); + position = position.start; + } else { + location = stringify(position); } - function run(fn, key) { - if (finished) return; - try { - fn = toThunk(fn, ctx); - - if ('function' != typeof fn) { - results[key] = fn; - return --pending || done(null, results); - } - - fn.call(ctx, function(err, res){ - if (finished) return; + err = new Error(reason.message || reason); - if (err) { - finished = true; - return done(err); - } + err.name = (filePath ? filePath + ':' : '') + location; + err.file = filePath; + err.reason = reason.message || reason; + err.line = position ? position.line : null; + err.column = position ? position.column : null; - results[key] = res; - --pending || done(null, results); - }); - } catch (err) { - finished = true; - done(err); - } + if (reason.stack) { + err.stack = reason.stack; } - } + + return err; } /** - * Convert `promise` to a thunk. + * Warn. Creates a non-fatal message (see `VFile#message()`), + * and adds it to the file's `messages` list. * - * @param {Object} promise - * @return {Function} - * @api private + * @example + * var file = new VFile(); + * + * file.warn('Something went wrong'); + * // { [1:1: Something went wrong] + * // name: '1:1', + * // file: '', + * // reason: 'Something went wrong', + * // line: null, + * // column: null, + * // fatal: false } + * + * @see VFile#message + * @this {VFile} + * @memberof {VFile} */ +function warn() { + var err = this.message.apply(this, arguments); -function promiseToThunk(promise) { - return function(fn){ - promise.then(function(res) { - fn(null, res); - }, fn); - } + err.fatal = false; + + this.messages.push(err); + + return err; } /** - * Check if `obj` is a promise. + * Fail. Creates a fatal message (see `VFile#message()`), + * sets `fatal: true`, adds it to the file's + * `messages` list. * - * @param {Object} obj - * @return {Boolean} - * @api private + * If `quiet` is not `true`, throws the error. + * + * @example + * var file = new VFile(); + * + * file.fail('Something went wrong'); + * // 1:1: Something went wrong + * // at VFile.exception (vfile/index.js:296:11) + * // at VFile.fail (vfile/index.js:360:20) + * // at repl:1:6 + * + * file.quiet = true; + * file.fail('Something went wrong'); + * // { [1:1: Something went wrong] + * // name: '1:1', + * // file: '', + * // reason: 'Something went wrong', + * // line: null, + * // column: null, + * // fatal: true } + * + * @this {VFile} + * @memberof {VFile} + * @throws {VFileMessage} - When not `quiet: true`. + * @param {string|Error} reason - Reason for failure. + * @param {Node|Location|Position} [position] - Place + * of failure in file. + * @return {VFileMessage} - Unless thrown, of course. */ +function fail(reason, position) { + var err = this.message(reason, position); -function isPromise(obj) { - return obj && 'function' == typeof obj.then; + err.fatal = true; + + this.messages.push(err); + + if (!this.quiet) { + throw err; + } + + return err; } /** - * Check if `obj` is a generator. + * Check if a fatal message occurred making the file no + * longer processable. * - * @param {Mixed} obj - * @return {Boolean} - * @api private + * @example + * var file = new VFile(); + * file.quiet = true; + * + * file.hasFailed(); // false + * + * file.fail('Something went wrong'); + * file.hasFailed(); // true + * + * @this {VFile} + * @memberof {VFile} + * @return {boolean} - `true` if at least one of file's + * `messages` has a `fatal` property set to `true` */ +function hasFailed() { + var messages = this.messages; + var index = -1; + var length = messages.length; -function isGenerator(obj) { - return obj && 'function' == typeof obj.next && 'function' == typeof obj.throw; + while (++index < length) { + if (messages[index].fatal) { + return true; + } + } + + return false; } /** - * Check if `obj` is a generator function. + * Access private information relating to a file. * - * @param {Mixed} obj - * @return {Boolean} - * @api private + * @example + * var file = new VFile('Foo'); + * + * file.namespace('foo').bar = 'baz'; + * + * console.log(file.namespace('foo').bar) // 'baz'; + * + * @this {VFile} + * @memberof {VFile} + * @param {string} key - Namespace key. + * @return {Object} - Private space. */ +function namespace(key) { + var self = this; + var space = self.data; -function isGeneratorFunction(obj) { - return obj && obj.constructor && 'GeneratorFunction' == obj.constructor.name; + if (!space) { + space = self.data = {}; + } + + if (!space[key]) { + space[key] = {}; + } + + return space[key]; } -/** - * Check for plain object. - * - * @param {Mixed} val - * @return {Boolean} - * @api private +/* + * Methods. */ -function isObject(val) { - return val && Object == val.constructor; -} +var vFilePrototype = VFile.prototype; -/** - * Throw `err` in a new stack. - * - * This is used when co() is invoked - * without supplying a callback, which - * should only be for demonstrational - * purposes. - * - * @param {Error} err - * @api private +vFilePrototype.move = move; +vFilePrototype.toString = toString; +vFilePrototype.message = message; +vFilePrototype.warn = warn; +vFilePrototype.fail = fail; +vFilePrototype.hasFailed = hasFailed; +vFilePrototype.namespace = namespace; + +/* + * Expose. */ -function error(err) { - if (!err) return; - setImmediate(function(){ - throw err; - }); -} +module.exports = VFile; },{}]},{},[1])(1) }); \ No newline at end of file diff --git a/mdast.min.js b/mdast.min.js index 841be42c6..3459425c5 100644 --- a/mdast.min.js +++ b/mdast.min.js @@ -1 +1 @@ -!function(b,a){typeof exports==='object'&&typeof module!=='undefined'?module.exports=b():typeof define==='function'&&define.amd?define([],b):(typeof window!=='undefined'?a=window:typeof global!=='undefined'?a=global:typeof self!=='undefined'?a=self:a=this,a.mdast=b())}(function(){var a;return function a(b,c,e){function f(d,k){if(!c[d]){if(!b[d]){var i=typeof require=='function'&&require;if(!k&&i)return i(d,!0);if(g)return g(d,!0);var j=new Error("Cannot find module '"+d+"'");throw j.code='MODULE_NOT_FOUND',j}var h=c[d]={exports:{}};b[d][0].call(h.exports,function(c){var a=b[d][1][c];return f(a?a:c)},h,h.exports,a,b,c,e)}return c[d].exports}var g=typeof require=='function'&&require;for(var d=0;d\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$)/,bullet:/(?:[*+-]|\d+\.)/,indent:/^([ \t]*)((?:[*+-]|\d+\.))( {1,4}(?! )| |\t)/,item:/([ \t]*)((?:[*+-]|\d+\.))( {1,4}(?! )| |\t)[^\n]*(?:\n(?!\1(?:[*+-]|\d+\.)[ \t])[^\n]*)*/gm,list:/^([ \t]*)((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\1?(?:[-*_][ \t]*){3,}(?:\n|$))|(?=\n+[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\1(?:[*+-]|\d+\.)[ \t])|$)/,blockquote:/^(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?/,html:/^(?:[ \t]*(?:(?:(?:<(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>?)|(?:<\/(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:\s+)?>))||(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))[\s\S]*?[ \t]*?(?:\n{2,}|\s*$))/i,paragraph:/^(?:(?:[^\n]+\n?(?![ \t]*([-*_])( *\1){2,} *(?=\n|$)|([ \t]*)(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?[ \t]*(?=\n|$)|(\ {0,3})([^\n]+?)[ \t]*\n\ {0,3}(=|-){1,}[ \t]*(?=\n|$)|[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$)|(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/,escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autoLink:/^<([^ >]+(@|:\/)[^ >]+)>/,tag:/^(?:(?:<(?:[a-zA-Z][a-zA-Z0-9]*)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>)|(?:<\/(?:[a-zA-Z][a-zA-Z0-9]*)(?:\s+)?>)||(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))/,strong:/^(_)_((?:\\[\s\S]|[^\\])+?)__(?!_)|^(\*)\*((?:\\[\s\S]|[^\\])+?)\*\*(?!\*)/,emphasis:/^\b(_)((?:__|\\[\s\S]|[^\\])+?)_\b|^(\*)((?:\*\*|\\[\s\S]|[^\\])+?)\*(?!\*)/,inlineCode:/^(`+)((?!`)[\s\S]*?(?:`\s+|[^`]))?(\1)(?!`)/,'break':/^ {2,}\n(?!\s*$)/,inlineText:/^[\s\S]+?(?=[\\)(?:\s+['"]([\s\S]*?)['"])?\s*\)/,shortcutReference:/^(!?\[)((?:\\[\s\S]|[^\[\]])+?)\]/,reference:/^(!?\[)((?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*)\]\s*\[((?:\\[\s\S]|[^\[\]])*)\]/},gfm:{fences:/^( *)(([`~])\3{2,})[ \t]*([^\n`~]+)?[ \t]*(?:\n([\s\S]*?))??(?:\n\ {0,3}\2\3*[ \t]*(?=\n|$)|$)/,paragraph:/^(?:(?:[^\n]+\n?(?![ \t]*([-*_])( *\1){2,} *(?=\n|$)|( *)(([`~])\5{2,})[ \t]*([^\n`~]+)?[ \t]*(?:\n([\s\S]*?))??(?:\n\ {0,3}\4\5*[ \t]*(?=\n|$)|$)|([ \t]*)((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\8?(?:[-*_][ \t]*){3,}(?:\n|$))|(?=\n+[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\8(?:[*+-]|\d+\.)[ \t])|$)|([ \t]*)(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?[ \t]*(?=\n|$)|(\ {0,3})([^\n]+?)[ \t]*\n\ {0,3}(=|-){1,}[ \t]*(?=\n|$)|[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$)|(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/,table:/^( *\|(.+))\n( *\|( *[-:]+[-| :]*)\n)((?: *\|.*(?:\n|$))*)/,looseTable:/^( *(\S.*\|.*))\n( *([-:]+ *\|[-| :]*)\n)((?:.*\|.*(?:\n|$))*)/,escape:/^\\([\\`*{}\[\]()#+\-.!_>~|])/,url:/^https?:\/\/[^\s<]+[^<.,:;"')\]\s]/,deletion:/^~~(?=\S)([\s\S]*?\S)~~/,inlineText:/^[\s\S]+?(?=[\\\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\1(?:[*+-]|\d+[\.\)])[ \t])|$)/,item:/([ \t]*)((?:[*+-]|\d+[\.\)]))( {1,4}(?! )| |\t)[^\n]*(?:\n(?!\1(?:[*+-]|\d+[\.\)])[ \t])[^\n]*)*/gm,bullet:/(?:[*+-]|\d+[\.\)])/,indent:/^([ \t]*)((?:[*+-]|\d+[\.\)]))( {1,4}(?! )| |\t)/,html:/^(?:[ \t]*(?:(?:(?:<(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>?)|(?:<\/(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:\s+)?>))|(?:)|(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))[\s\S]*?[ \t]*?(?:\n{2,}|\s*$))/i,tag:/^(?:(?:<(?:[a-zA-Z][a-zA-Z0-9]*)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>)|(?:<\/(?:[a-zA-Z][a-zA-Z0-9]*)(?:\s+)?>)|(?:)|(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))/,link:/^(!?\[)((?:(?:\[(?:\[(?:\\[\s\S]|[^\[\]])*?\]|\\[\s\S]|[^\[\]])*?\])|\\[\s\S]|[^\[\]])*?)\]\(\s*(?:(?!<)((?:\((?:\\[\s\S]|[^\(\)\s])*?\)|\\[\s\S]|[^\(\)\s])*?)|<([^\n]*?)>)(?:\s+(?:\'((?:\\[\s\S]|[^\'])*?)\'|"((?:\\[\s\S]|[^"])*?)"|\(((?:\\[\s\S]|[^\)])*?)\)))?\s*\)/,reference:/^(!?\[)((?:(?:\[(?:\[(?:\\[\s\S]|[^\[\]])*?\]|\\[\s\S]|[^\[\]])*?\])|\\[\s\S]|[^\[\]])*?)\]\s*\[((?:\\[\s\S]|[^\[\]])*)\]/,paragraph:/^(?:(?:[^\n]+\n?(?!\ {0,3}([-*_])( *\1){2,} *(?=\n|$)|(\ {0,3})(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?\ {0,3}(?=\n|$)|(?=\ {0,3}>)(?:(?:(?:\ {0,3}>[^\n]*\n)*(?:\ {0,3}>[^\n]+(?=\n|$))|(?!\ {0,3}>)(?!\ {0,3}\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?\ {0,3}(?=\n|$))[^\n]+)(?:\n|$))*(?:\ {0,3}>\ {0,3}(?:\n\ {0,3}>\ {0,3})*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/,blockquote:/^(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*([-*_])( *\1){2,} *(?=\n|$)|([ \t]*)((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\3?(?:[-*_][ \t]*){3,}(?:\n|$))|(?=\n+[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\3(?:[*+-]|\d+\.)[ \t])|$)|( *)(([`~])\10{2,})[ \t]*([^\n`~]+)?[ \t]*(?:\n([\s\S]*?))??(?:\n\ {0,3}\9\10*[ \t]*(?=\n|$)|$)|((?: {4}|\t)[^\n]*\n?([ \t]*\n)*)+|[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?/,escape:/^\\(\n|[\\`*{}\[\]()#+\-.!_>"$%&',\/:;<=?@^~|])/},commonmarkGFM:{paragraph:/^(?:(?:[^\n]+\n?(?!\ {0,3}([-*_])( *\1){2,} *(?=\n|$)|( *)(([`~])\5{2,})\ {0,3}([^\n`~]+)?\ {0,3}(?:\n([\s\S]*?))??(?:\n\ {0,3}\4\5*\ {0,3}(?=\n|$)|$)|(\ {0,3})((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\8?(?:[-*_]\ {0,3}){3,}(?:\n|$))|(?=\n+\ {0,3}\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?\ {0,3}(?=\n|$))|\n{2,}(?![ \t])(?!\8(?:[*+-]|\d+\.)[ \t])|$)|(\ {0,3})(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?\ {0,3}(?=\n|$)|(?=\ {0,3}>)(?:(?:(?:\ {0,3}>[^\n]*\n)*(?:\ {0,3}>[^\n]+(?=\n|$))|(?!\ {0,3}>)(?!\ {0,3}\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?\ {0,3}(?=\n|$))[^\n]+)(?:\n|$))*(?:\ {0,3}>\ {0,3}(?:\n\ {0,3}>\ {0,3})*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/},breaks:{'break':/^ *\n(?!\s*$)/,inlineText:/^[\s\S]+?(?=[\\1&&(a=Math.floor(a/b)*b),e[a]=c,d=f.charAt(++c);return{indent:a,stops:e}}function B(m,o){var a=m.split(b),d=a.length+1,g=Infinity,k=[],h,i,j,l;a.unshift(n(e,o)+ai);while(d--){if(i=p(a[d]),k[d]=i.stops,f(a[d]).length===0)continue;if(!i.indent){g=Infinity;break}i.indent>0&&i.indent1&&(this.currentBullet=null,this.previousBullet=null),b(a)}function b1(b,a){return a=d(a),b(a)(this.renderCodeBlock(B(a,v),null,b))}function b0(e,a,b,g,h,f,c){return a=d(a),b&&(c=B(b5(c,b.length),b.length)),e(a)(this.renderCodeBlock(c,f,e))}function a$(b,d,e,c,f,g){var a=b.now();return a.column+=(e+c+(f||'')).length,b(d)(this.renderHeading(g,c.length,a))}function a_(b,c,d,e,f){var a=b.now();return a.column+=d.length,b(c)(this.renderHeading(e,f===ah?1:2,a))}function aZ(a,b){return a(b)(this.renderVoid(at))}function aY(c,g){var b=c.now(),e=this.indent(b.line),a=d(g),f=c(a);return a=a.replace(a5,function(a){return e(a.length),''}),f(this.renderBlockquote(a,b))}function aX(o,y,z,x){var f=this,j=x,t=d(y),a=t.match(f.rules.item),h=a.length,c=0,q=!1,r,l,g,u,v,m,i,w,k,s;if(!f.options.pedantic)while(++c1,start:a,loose:null,children:c}}function ax(a,e){function f(a){return d(a.length),c}var b=this,d=b.indent(e.line);return a=a.replace(a3,f),d=b.indent(e.line),a.replace(a0,f)}function aQ(d,m){var k=this,g=k.indent(m.line),h,f,j,c,a,l,i;d=d.replace(a4,function(g,b,a,c,d){return h=b+a+c,f=d,Number(a)<10&&h.length%2===1&&(a=e+a),i=b+n(e,a.length)+c,i+f}),j=d.split(b),c=B(d,p(i).indent).split(b),c[0]=f,g(h.length),a=0,l=j.length;while(++a[ \t]?/gm,a4=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t)([^\n]*)/,a3=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/,a0=/^( {1,4}|\t)?/gm,$=/^( {4}|\t)?/gm,W=/^/i,aj=/\n\n(?!\s*$)/,ad=/^\[([\ \t]|x|X)\][\ \t]/,l={};l[e]=e.length,l[A]=v;var j={};j.text=function(a,b){return a.value+=b.value,a},j.blockquote=function(a,b){return this.options.commonmark?b:(a.children=a.children.concat(b.children),a)},j.list=function(a,b){return!this.currentBullet||this.currentBullet!==this.previousBullet||this.currentBullet.length!==1?b:(a.children=a.children.concat(b.children),a)},z.onlyAtTop=!0,z.notInBlockquote=!0,ag.onlyAtStart=!0,s.onlyAtTop=!0,s.notInBlockquote=!0,x.onlyAtTop=!0;var q={};q[!0]=ax,q[!1]=aQ,R.notInLink=!0,S.notInLink=!0,a.prototype.setOptions=function(a){var b=this,d=b.expressions,e=b.rules,f=b.options,c;a===null||a===undefined?a={}:typeof a==='object'?a=i({},a):aq(a,'options'),b.options=a;for(c in y)ac.boolean(a,c,f[c]),a[c]&&i(e,d[c]);return a.gfm&&a.breaks&&i(e,d.breaksGFM),a.gfm&&a.commonmark&&i(e,d.commonmarkGFM),a.commonmark&&(b.enterBlockquote=b3()),b},a.prototype.options=y,a.prototype.expressions=a8,a.prototype.indent=function(c){function d(c){b.offset[a]=(b.offset[a]||0)+c,a++}var b=this,a=c;return d},a.prototype.parse=function(c){var a=this,d=ab(String(c)),b;return a.file=c,a.offset={},b=a.renderBlock(as,d),a.options.position&&(b.position={start:{line:1,column:1}},b.position.end=a.eof||b.position.start),b},a.prototype.enterLink=r('inLink',!1),a.prototype.exitTop=r('atTop',!0),a.prototype.exitStart=r('atStart',!0),a.prototype.enterBlockquote=r('inBlockquote',!1),a.prototype.renderRaw=aJ,a.prototype.renderVoid=aL,a.prototype.renderParent=aK,a.prototype.renderInline=aG,a.prototype.renderBlock=aF,a.prototype.renderLink=aI,a.prototype.renderCodeBlock=aT,a.prototype.renderBlockquote=aM,a.prototype.renderList=aS,a.prototype.renderListItem=aP,a.prototype.renderFootnoteDefinition=aO,a.prototype.renderHeading=aN,a.prototype.renderFootnote=aH,a.prototype.blockTokenizers={yamlFrontMatter:ag,newline:b2,code:b1,fences:b0,heading:a$,lineHeading:a_,horizontalRule:aZ,blockquote:aY,list:aX,html:aW,definition:z,footnoteDefinition:s,looseTable:x,table:x,paragraph:aV},a.prototype.blockMethods=['yamlFrontMatter','newline','code','fences','blockquote','heading','horizontalRule','list','lineHeading','html','definition','footnoteDefinition','looseTable','table','paragraph','blockText'],a.prototype.tokenizeBlock=t(ar),a.prototype.inlineTokenizers={escape:aE,autoLink:R,url:S,tag:aD,link:aC,reference:V,shortcutReference:V,strong:aB,emphasis:aA,deletion:az,inlineCode:aR,'break':ay,inlineText:aU},a.prototype.inlineMethods=['escape','autoLink','url','tag','link','reference','shortcutReference','strong','emphasis','deletion','inlineCode','break','inlineText'],a.prototype.tokenizeInline=t(D),a1.Parser=a,a.prototype.tokenizeFactory=t,b7.exports=a1},{'./defaults.js':2,'./expressions.js':3,'./utilities.js':6,'extend.js':9,he:10,'repeat-string':13,trim:15,'trim-trailing-lines':14}],5:[function(h,ac,ad){'use strict';function ab(a){return a}function aa(a,d){function e(a,e){try{return _[c](a,b)}catch(a){d.fail(a,e.position)}}var b={},c;return a==='false'?ab:(a==='true'&&(b.useNamedReferences=!0),c=a==='escape'?'escape':'encode',e)}function x(a,b){return b||!a.length||V.test(a)||D(a,y)!==D(a,z)?Y+a+P:a}function K(b){var a=T;return b.indexOf(a)!==-1&&(a=U),a+b+a}function a0(a,f){var c,e;a=a.split(d),c=a.length,e=g(b,f*l);while(c--)a[c].length!==0&&(a[c]=e+a[c]);return a.join(d)}function H(b,c){var a=this;a.file=b,a.options=Q({},a.options),a.setOptions(c)}function X(d){var a=c,b=d.referenceType;return b==='full'&&(a=d.identifier),b!=='shortcut'&&(a=f+a+e),a}function Z(b,c,d){var a=this.Compiler||H;return new a(c,d).visit(b)}var _=h('he'),$=h('markdown-table'),g=h('repeat-string'),Q=h('extend.js'),D=h('ccount'),J=h('longest-streak'),C=h('./utilities.js'),F=h('./defaults.js').stringify,L=C.raise,a2=C.validate,l=4,a6=3,a7=3,a8=3,R='mailto:',V=/\s/,W=/^[a-z][a-z+.-]+:\/?/i,P='>',Y='<',u='*',t='^',E=':',p='-',a1='.',c='',a3='=',O='!',a5='#',d='\n',y='(',z=')',n='|',S='+',T='"',U="'",b=' ',f='[',e=']',j='`',A='~',G='_',k=d+d,I=k+d,B=A+A,m={};m[!0]=!0,m[!1]=!0,m.numbers=!0,m.escape=!0;var o={};o[u]=!0,o[p]=!0,o[S]=!0;var r={};r[u]=!0,r[p]=!0,r[G]=!0;var q={};q[G]=!0,q[u]=!0;var w={};w[j]=!0,w[A]=!0;var v={};v[!0]='visitOrderedItems',v[!1]='visitUnorderedItems';var s={},a9='tab',M='1',N='mixed';s[M]=!0,s[a9]=!0,s[N]=!0;var i={};i.null=c,i[void 0]=c,i[!0]=f+'x'+e+b,i[!1]=f+b+e+b;var a=H.prototype;a.options=F;var a4={entities:m,bullet:o,rule:r,listItemIndent:s,emphasis:q,strong:q,fence:w};a.setOptions=function(a){var b=this,e=b.options,d,c;a===null||a===undefined?a={}:typeof a==='object'?a=Q({},a):L(a,'options');for(c in F)a2[typeof e[c]](a,c,e[c],a4[c]);return d=a.ruleRepetition,d&&d\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={Á:'Aacute',á:'aacute',Ă:'Abreve',ă:'abreve','∾':'ac','∿':'acd','∾̳':'acE',Â:'Acirc',â:'acirc','´':'acute',А:'Acy',а:'acy',Æ:'AElig',æ:'aelig','⁡':'af','𝔄':'Afr','𝔞':'afr',À:'Agrave',à:'agrave',ℵ:'aleph',Α:'Alpha',α:'alpha',Ā:'Amacr',ā:'amacr','⨿':'amalg','&':'amp','⩕':'andand','⩓':'And','∧':'and','⩜':'andd','⩘':'andslope','⩚':'andv','∠':'ang','⦤':'ange','⦨':'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',å:'aring','𝒜':'Ascr','𝒶':'ascr','≔':'colone','*':'ast','≍':'CupCap',Ã:'Atilde',ã:'atilde',Ä:'Auml',ä:'auml','∳':'awconint','⨑':'awint','≌':'bcong','϶':'bepsi','‵':'bprime','∽':'bsim','⋍':'bsime','∖':'setmn','⫧':'Barv','⊽':'barvee','⌅':'barwed','⌆':'Barwed','⎵':'bbrk','⎶':'bbrktbrk',Б:'Bcy',б:'bcy','„':'bdquo','∵':'becaus','⦰':'bemptyv',ℬ:'Bscr',Β:'Beta',β:'beta',ℶ:'beth','≬':'twixt','𝔅':'Bfr','𝔟':'bfr','⋂':'xcap','◯':'xcirc','⋃':'xcup','⨀':'xodot','⨁':'xoplus','⨂':'xotime','⨆':'xsqcup','★':'starf','▽':'xdtri','△':'xutri','⨄':'xuplus','⋁':'Vee','⋀':'Wedge','⤍':'rbarr','⧫':'lozf','▪':'squf','▴':'utrif','▾':'dtrif','◂':'ltrif','▸':'rtrif','␣':'blank','▒':'blk12','░':'blk14','▓':'blk34','█':'block','=⃥':'bne','≡⃥':'bnequiv','⫭':'bNot','⌐':'bnot','𝔹':'Bopf','𝕓':'bopf','⊥':'bot','⋈':'bowtie','⧉':'boxbox','┐':'boxdl','╕':'boxdL','╖':'boxDl','╗':'boxDL','┌':'boxdr','╒':'boxdR','╓':'boxDr','╔':'boxDR','─':'boxh','═':'boxH','┬':'boxhd','╤':'boxHd','╥':'boxhD','╦':'boxHD','┴':'boxhu','╧':'boxHu','╨':'boxhU','╩':'boxHU','⊟':'minusb','⊞':'plusb','⊠':'timesb','┘':'boxul','╛':'boxuL','╜':'boxUl','╝':'boxUL','└':'boxur','╘':'boxuR','╙':'boxUr','╚':'boxUR','│':'boxv','║':'boxV','┼':'boxvh','╪':'boxvH','╫':'boxVh','╬':'boxVH','┤':'boxvl','╡':'boxvL','╢':'boxVl','╣':'boxVL','├':'boxvr','╞':'boxvR','╟':'boxVr','╠':'boxVR','˘':'breve','¦':'brvbar','𝒷':'bscr','⁏':'bsemi','⧅':'bsolb','\\':'bsol','⟈':'bsolhsub','•':'bull','≎':'bump','⪮':'bumpE','≏':'bumpe',Ć:'Cacute',ć:'cacute','⩄':'capand','⩉':'capbrcup','⩋':'capcap','∩':'cap','⋒':'Cap','⩇':'capcup','⩀':'capdot',ⅅ:'DD','∩︀':'caps','⁁':'caret',ˇ:'caron',ℭ:'Cfr','⩍':'ccaps',Č:'Ccaron',č:'ccaron',Ç:'Ccedil',ç:'ccedil',Ĉ:'Ccirc',ĉ:'ccirc','∰':'Cconint','⩌':'ccups','⩐':'ccupssm',Ċ:'Cdot',ċ:'cdot','¸':'cedil','⦲':'cemptyv','¢':'cent','·':'middot','𝔠':'cfr',Ч:'CHcy',ч:'chcy','✓':'check',Χ:'Chi',χ:'chi',ˆ:'circ','≗':'cire','↺':'olarr','↻':'orarr','⊛':'oast','⊚':'ocir','⊝':'odash','⊙':'odot','®':'reg','Ⓢ':'oS','⊖':'ominus','⊕':'oplus','⊗':'otimes','○':'cir','⧃':'cirE','⨐':'cirfnint','⫯':'cirmid','⧂':'cirscir','∲':'cwconint','”':'rdquo','’':'rsquo','♣':'clubs',':':'colon','∷':'Colon','⩴':'Colone',',':'comma','@':'commat','∁':'comp','∘':'compfn',ℂ:'Copf','≅':'cong','⩭':'congdot','≡':'equiv','∮':'oint','∯':'Conint','𝕔':'copf','∐':'coprod','©':'copy','℗':'copysr','↵':'crarr','✗':'cross','⨯':'Cross','𝒞':'Cscr','𝒸':'cscr','⫏':'csub','⫑':'csube','⫐':'csup','⫒':'csupe','⋯':'ctdot','⤸':'cudarrl','⤵':'cudarrr','⋞':'cuepr','⋟':'cuesc','↶':'cularr','⤽':'cularrp','⩈':'cupbrcap','⩆':'cupcap','∪':'cup','⋓':'Cup','⩊':'cupcup','⊍':'cupdot','⩅':'cupor','∪︀':'cups','↷':'curarr','⤼':'curarrm','⋎':'cuvee','⋏':'cuwed','¤':'curren','∱':'cwint','⌭':'cylcty','†':'dagger','‡':'Dagger',ℸ:'daleth','↓':'darr','↡':'Darr','⇓':'dArr','‐':'dash','⫤':'Dashv','⊣':'dashv','⤏':'rBarr','˝':'dblac',Ď:'Dcaron',ď:'dcaron',Д:'Dcy',д:'dcy','⇊':'ddarr',ⅆ:'dd','⤑':'DDotrahd','⩷':'eDDot','°':'deg','∇':'Del',Δ:'Delta',δ:'delta','⦱':'demptyv','⥿':'dfisht','𝔇':'Dfr','𝔡':'dfr','⥥':'dHar','⇃':'dharl','⇂':'dharr','˙':'dot','`':'grave','˜':'tilde','⋄':'diam','♦':'diams','¨':'die',ϝ:'gammad','⋲':'disin','÷':'div','⋇':'divonx',Ђ:'DJcy',ђ:'djcy','⌞':'dlcorn','⌍':'dlcrop',$:'dollar','𝔻':'Dopf','𝕕':'dopf','⃜':'DotDot','≐':'doteq','≑':'eDot','∸':'minusd','∔':'plusdo','⊡':'sdotb','⇐':'lArr','⇔':'iff','⟸':'xlArr','⟺':'xhArr','⟹':'xrArr','⇒':'rArr','⊨':'vDash','⇑':'uArr','⇕':'vArr','∥':'par','⤓':'DownArrowBar','⇵':'duarr','̑':'DownBreve','⥐':'DownLeftRightVector','⥞':'DownLeftTeeVector','⥖':'DownLeftVectorBar','↽':'lhard','⥟':'DownRightTeeVector','⥗':'DownRightVectorBar','⇁':'rhard','↧':'mapstodown','⊤':'top','⤐':'RBarr','⌟':'drcorn','⌌':'drcrop','𝒟':'Dscr','𝒹':'dscr',Ѕ:'DScy',ѕ:'dscy','⧶':'dsol',Đ:'Dstrok',đ:'dstrok','⋱':'dtdot','▿':'dtri','⥯':'duhar','⦦':'dwangle',Џ:'DZcy',џ:'dzcy','⟿':'dzigrarr',É:'Eacute',é:'eacute','⩮':'easter',Ě:'Ecaron',ě:'ecaron',Ê:'Ecirc',ê:'ecirc','≖':'ecir','≕':'ecolon',Э:'Ecy',э:'ecy',Ė:'Edot',ė:'edot',ⅇ:'ee','≒':'efDot','𝔈':'Efr','𝔢':'efr','⪚':'eg',È:'Egrave',è:'egrave','⪖':'egs','⪘':'egsdot','⪙':'el','∈':'in','⏧':'elinters',ℓ:'ell','⪕':'els','⪗':'elsdot',Ē:'Emacr',ē:'emacr','∅':'empty','◻':'EmptySmallSquare','▫':'EmptyVerySmallSquare',' ':'emsp13',' ':'emsp14',' ':'emsp',Ŋ:'ENG',ŋ:'eng',' ':'ensp',Ę:'Eogon',ę:'eogon','𝔼':'Eopf','𝕖':'eopf','⋕':'epar','⧣':'eparsl','⩱':'eplus',ε:'epsi',Ε:'Epsilon',ϵ:'epsiv','≂':'esim','⩵':'Equal','=':'equals','≟':'equest','⇌':'rlhar','⩸':'equivDD','⧥':'eqvparsl','⥱':'erarr','≓':'erDot',ℯ:'escr',ℰ:'Escr','⩳':'Esim',Η:'Eta',η:'eta',Ð:'ETH',ð:'eth',Ë:'Euml',ë:'euml','€':'euro','!':'excl','∃':'exist',Ф:'Fcy',ф:'fcy','♀':'female',ffi:'ffilig',ff:'fflig',ffl:'ffllig','𝔉':'Ffr','𝔣':'ffr',fi:'filig','◼':'FilledSmallSquare',fj:'fjlig','♭':'flat',fl:'fllig','▱':'fltns',ƒ:'fnof','𝔽':'Fopf','𝕗':'fopf','∀':'forall','⋔':'fork','⫙':'forkv',ℱ:'Fscr','⨍':'fpartint','½':'half','⅓':'frac13','¼':'frac14','⅕':'frac15','⅙':'frac16','⅛':'frac18','⅔':'frac23','⅖':'frac25','¾':'frac34','⅗':'frac35','⅜':'frac38','⅘':'frac45','⅚':'frac56','⅝':'frac58','⅞':'frac78','⁄':'frasl','⌢':'frown','𝒻':'fscr',ǵ:'gacute',Γ:'Gamma',γ:'gamma',Ϝ:'Gammad','⪆':'gap',Ğ:'Gbreve',ğ:'gbreve',Ģ:'Gcedil',Ĝ:'Gcirc',ĝ:'gcirc',Г:'Gcy',г:'gcy',Ġ:'Gdot',ġ:'gdot','≥':'ge','≧':'gE','⪌':'gEl','⋛':'gel','⩾':'ges','⪩':'gescc','⪀':'gesdot','⪂':'gesdoto','⪄':'gesdotol','⋛︀':'gesl','⪔':'gesles','𝔊':'Gfr','𝔤':'gfr','≫':'gg','⋙':'Gg',ℷ:'gimel',Ѓ:'GJcy',ѓ:'gjcy','⪥':'gla','≷':'gl','⪒':'glE','⪤':'glj','⪊':'gnap','⪈':'gne','≩':'gnE','⋧':'gnsim','𝔾':'Gopf','𝕘':'gopf','⪢':'GreaterGreater','≳':'gsim','𝒢':'Gscr',ℊ:'gscr','⪎':'gsime','⪐':'gsiml','⪧':'gtcc','⩺':'gtcir','>':'gt','⋗':'gtdot','⦕':'gtlPar','⩼':'gtquest','⥸':'gtrarr','≩︀':'gvnE',' ':'hairsp',ℋ:'Hscr',Ъ:'HARDcy',ъ:'hardcy','⥈':'harrcir','↔':'harr','↭':'harrw','^':'Hat',ℏ:'hbar',Ĥ:'Hcirc',ĥ:'hcirc','♥':'hearts','…':'mldr','⊹':'hercon','𝔥':'hfr',ℌ:'Hfr','⤥':'searhk','⤦':'swarhk','⇿':'hoarr','∻':'homtht','↩':'larrhk','↪':'rarrhk','𝕙':'hopf',ℍ:'Hopf','―':'horbar','𝒽':'hscr',Ħ:'Hstrok',ħ:'hstrok','⁃':'hybull',Í:'Iacute',í:'iacute','⁣':'ic',Î:'Icirc',î:'icirc',И:'Icy',и:'icy',İ:'Idot',Е:'IEcy',е:'iecy','¡':'iexcl','𝔦':'ifr',ℑ:'Im',Ì:'Igrave',ì:'igrave',ⅈ:'ii','⨌':'qint','∭':'tint','⧜':'iinfin','℩':'iiota',IJ:'IJlig',ij:'ijlig',Ī:'Imacr',ī:'imacr',ℐ:'Iscr',ı:'imath','⊷':'imof',Ƶ:'imped','℅':'incare','∞':'infin','⧝':'infintie','⊺':'intcal','∫':'int','∬':'Int',ℤ:'Zopf','⨗':'intlarhk','⨼':'iprod','⁢':'it',Ё:'IOcy',ё:'iocy',Į:'Iogon',į:'iogon','𝕀':'Iopf','𝕚':'iopf',Ι:'Iota',ι:'iota','¿':'iquest','𝒾':'iscr','⋵':'isindot','⋹':'isinE','⋴':'isins','⋳':'isinsv',Ĩ:'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',ℒ:'Lscr',Λ:'Lambda',λ:'lambda','⟨':'lang','⟪':'Lang','⦑':'langd','⪅':'lap','«':'laquo','⇤':'larrb','⤟':'larrbfs','←':'larr','↞':'Larr','⤝':'larrfs','↫':'larrlp','⤹':'larrpl','⥳':'larrsim','↢':'larrtl','⤙':'latail','⤛':'lAtail','⪫':'lat','⪭':'late','⪭︀':'lates','⤌':'lbarr','⤎':'lBarr','❲':'lbbrk','{':'lcub','[':'lsqb','⦋':'lbrke','⦏':'lbrksld','⦍':'lbrkslu',Ľ:'Lcaron',ľ:'lcaron',Ļ:'Lcedil',ļ:'lcedil','⌈':'lceil',Л:'Lcy',л:'lcy','⤶':'ldca','“':'ldquo','⥧':'ldrdhar','⥋':'ldrushar','↲':'ldsh','≤':'le','≦':'lE','⇆':'lrarr','⟦':'lobrk','⥡':'LeftDownTeeVector','⥙':'LeftDownVectorBar','⌊':'lfloor','↼':'lharu','⇇':'llarr','⇋':'lrhar','⥎':'LeftRightVector','↤':'mapstoleft','⥚':'LeftTeeVector','⋋':'lthree','⧏':'LeftTriangleBar','⊲':'vltri','⊴':'ltrie','⥑':'LeftUpDownVector','⥠':'LeftUpTeeVector','⥘':'LeftUpVectorBar','↿':'uharl','⥒':'LeftVectorBar','⪋':'lEg','⋚':'leg','⩽':'les','⪨':'lescc','⩿':'lesdot','⪁':'lesdoto','⪃':'lesdotor','⋚︀':'lesg','⪓':'lesges','⋖':'ltdot','≶':'lg','⪡':'LessLess','≲':'lsim','⥼':'lfisht','𝔏':'Lfr','𝔩':'lfr','⪑':'lgE','⥢':'lHar','⥪':'lharul','▄':'lhblk',Љ:'LJcy',љ:'ljcy','≪':'ll','⋘':'Ll','⥫':'llhard','◺':'lltri',Ŀ:'Lmidot',ŀ:'lmidot','⎰':'lmoust','⪉':'lnap','⪇':'lne','≨':'lnE','⋦':'lnsim','⟬':'loang','⇽':'loarr','⟵':'xlarr','⟷':'xharr','⟼':'xmap','⟶':'xrarr','↬':'rarrlp','⦅':'lopar','𝕃':'Lopf','𝕝':'lopf','⨭':'loplus','⨴':'lotimes','∗':'lowast',_:'lowbar','↙':'swarr','↘':'searr','◊':'loz','(':'lpar','⦓':'lparlt','⥭':'lrhard','‎':'lrm','⊿':'lrtri','‹':'lsaquo','𝓁':'lscr','↰':'lsh','⪍':'lsime','⪏':'lsimg','‘':'lsquo','‚':'sbquo',Ł:'Lstrok',ł:'lstrok','⪦':'ltcc','⩹':'ltcir','<':'lt','⋉':'ltimes','⥶':'ltlarr','⩻':'ltquest','◃':'ltri','⦖':'ltrPar','⥊':'lurdshar','⥦':'luruhar','≨︀':'lvnE','¯':'macr','♂':'male','✠':'malt','⤅':'Map','↦':'map','↥':'mapstoup','▮':'marker','⨩':'mcomma',М:'Mcy',м:'mcy','—':'mdash','∺':'mDDot',' ':'MediumSpace',ℳ:'Mscr','𝔐':'Mfr','𝔪':'mfr','℧':'mho',µ:'micro','⫰':'midcir','∣':'mid','−':'minus','⨪':'minusdu','∓':'mp','⫛':'mlcp','⊧':'models','𝕄':'Mopf','𝕞':'mopf','𝓂':'mscr',Μ:'Mu',μ:'mu','⊸':'mumap',Ń:'Nacute',ń:'nacute','∠⃒':'nang','≉':'nap','⩰̸':'napE','≋̸':'napid',ʼn:'napos','♮':'natur',ℕ:'Nopf',' ':'nbsp','≎̸':'nbump','≏̸':'nbumpe','⩃':'ncap',Ň:'Ncaron',ň:'ncaron',Ņ:'Ncedil',ņ:'ncedil','≇':'ncong','⩭̸':'ncongdot','⩂':'ncup',Н:'Ncy',н:'ncy','–':'ndash','⤤':'nearhk','↗':'nearr','⇗':'neArr','≠':'ne','≐̸':'nedot','​':'ZeroWidthSpace','≢':'nequiv','⤨':'toea','≂̸':'nesim','\n':'NewLine','∄':'nexist','𝔑':'Nfr','𝔫':'nfr','≧̸':'ngE','≱':'nge','⩾̸':'nges','⋙̸':'nGg','≵':'ngsim','≫⃒':'nGt','≯':'ngt','≫̸':'nGtv','↮':'nharr','⇎':'nhArr','⫲':'nhpar','∋':'ni','⋼':'nis','⋺':'nisd',Њ:'NJcy',њ:'njcy','↚':'nlarr','⇍':'nlArr','‥':'nldr','≦̸':'nlE','≰':'nle','⩽̸':'nles','≮':'nlt','⋘̸':'nLl','≴':'nlsim','≪⃒':'nLt','⋪':'nltri','⋬':'nltrie','≪̸':'nLtv','∤':'nmid','⁠':'NoBreak','𝕟':'nopf','⫬':'Not','¬':'not','≭':'NotCupCap','∦':'npar','∉':'notin','≹':'ntgl','⋵̸':'notindot','⋹̸':'notinE','⋷':'notinvb','⋶':'notinvc','⧏̸':'NotLeftTriangleBar','≸':'ntlg','⪢̸':'NotNestedGreaterGreater','⪡̸':'NotNestedLessLess','∌':'notni','⋾':'notnivb','⋽':'notnivc','⊀':'npr','⪯̸':'npre','⋠':'nprcue','⧐̸':'NotRightTriangleBar','⋫':'nrtri','⋭':'nrtrie','⊏̸':'NotSquareSubset','⋢':'nsqsube','⊐̸':'NotSquareSuperset','⋣':'nsqsupe','⊂⃒':'vnsub','⊈':'nsube','⊁':'nsc','⪰̸':'nsce','⋡':'nsccue','≿̸':'NotSucceedsTilde','⊃⃒':'vnsup','⊉':'nsupe','≁':'nsim','≄':'nsime','⫽⃥':'nparsl','∂̸':'npart','⨔':'npolint','⤳̸':'nrarrc','↛':'nrarr','⇏':'nrArr','↝̸':'nrarrw','𝒩':'Nscr','𝓃':'nscr','⊄':'nsub','⫅̸':'nsubE','⊅':'nsup','⫆̸':'nsupE',Ñ:'Ntilde',ñ:'ntilde',Ν:'Nu',ν:'nu','#':'num','№':'numero',' ':'numsp','≍⃒':'nvap','⊬':'nvdash','⊭':'nvDash','⊮':'nVdash','⊯':'nVDash','≥⃒':'nvge','>⃒':'nvgt','⤄':'nvHarr','⧞':'nvinfin','⤂':'nvlArr','≤⃒':'nvle','<⃒':'nvlt','⊴⃒':'nvltrie','⤃':'nvrArr','⊵⃒':'nvrtrie','∼⃒':'nvsim','⤣':'nwarhk','↖':'nwarr','⇖':'nwArr','⤧':'nwnear',Ó:'Oacute',ó:'oacute',Ô:'Ocirc',ô:'ocirc',О:'Ocy',о:'ocy',Ő:'Odblac',ő:'odblac','⨸':'odiv','⦼':'odsold',Œ:'OElig',œ:'oelig','⦿':'ofcir','𝔒':'Ofr','𝔬':'ofr','˛':'ogon',Ò:'Ograve',ò:'ograve','⧁':'ogt','⦵':'ohbar',Ω:'ohm','⦾':'olcir','⦻':'olcross','‾':'oline','⧀':'olt',Ō:'Omacr',ō:'omacr',ω:'omega',Ο:'Omicron',ο:'omicron','⦶':'omid','𝕆':'Oopf','𝕠':'oopf','⦷':'opar','⦹':'operp','⩔':'Or','∨':'or','⩝':'ord',ℴ:'oscr',ª:'ordf',º:'ordm','⊶':'origof','⩖':'oror','⩗':'orslope','⩛':'orv','𝒪':'Oscr',Ø:'Oslash',ø:'oslash','⊘':'osol',Õ:'Otilde',õ:'otilde','⨶':'otimesas','⨷':'Otimes',Ö:'Ouml',ö:'ouml','⌽':'ovbar','⏞':'OverBrace','⎴':'tbrk','⏜':'OverParenthesis','¶':'para','⫳':'parsim','⫽':'parsl','∂':'part',П:'Pcy',п:'pcy','%':'percnt','.':'period','‰':'permil','‱':'pertenk','𝔓':'Pfr','𝔭':'pfr',Φ:'Phi',φ:'phi',ϕ:'phiv','☎':'phone',Π:'Pi',π:'pi',ϖ:'piv',ℎ:'planckh','⨣':'plusacir','⨢':'pluscir','+':'plus','⨥':'plusdu','⩲':'pluse','±':'pm','⨦':'plussim','⨧':'plustwo','⨕':'pointint','𝕡':'popf',ℙ:'Popf','£':'pound','⪷':'prap','⪻':'Pr','≺':'pr','≼':'prcue','⪯':'pre','≾':'prsim','⪹':'prnap','⪵':'prnE','⋨':'prnsim','⪳':'prE','′':'prime','″':'Prime','∏':'prod','⌮':'profalar','⌒':'profline','⌓':'profsurf','∝':'prop','⊰':'prurel','𝒫':'Pscr','𝓅':'pscr',Ψ:'Psi',ψ:'psi',' ':'puncsp','𝔔':'Qfr','𝔮':'qfr','𝕢':'qopf',ℚ:'Qopf','⁗':'qprime','𝒬':'Qscr','𝓆':'qscr','⨖':'quatint','?':'quest','"':'quot','⇛':'rAarr','∽̱':'race',Ŕ:'Racute',ŕ:'racute','√':'Sqrt','⦳':'raemptyv','⟩':'rang','⟫':'Rang','⦒':'rangd','⦥':'range','»':'raquo','⥵':'rarrap','⇥':'rarrb','⤠':'rarrbfs','⤳':'rarrc','→':'rarr','↠':'Rarr','⤞':'rarrfs','⥅':'rarrpl','⥴':'rarrsim','⤖':'Rarrtl','↣':'rarrtl','↝':'rarrw','⤚':'ratail','⤜':'rAtail','∶':'ratio','❳':'rbbrk','}':'rcub',']':'rsqb','⦌':'rbrke','⦎':'rbrksld','⦐':'rbrkslu',Ř:'Rcaron',ř:'rcaron',Ŗ:'Rcedil',ŗ:'rcedil','⌉':'rceil',Р:'Rcy',р:'rcy','⤷':'rdca','⥩':'rdldhar','↳':'rdsh',ℜ:'Re',ℛ:'Rscr',ℝ:'Ropf','▭':'rect','⥽':'rfisht','⌋':'rfloor','𝔯':'rfr','⥤':'rHar','⇀':'rharu','⥬':'rharul',Ρ:'Rho',ρ:'rho',ϱ:'rhov','⇄':'rlarr','⟧':'robrk','⥝':'RightDownTeeVector','⥕':'RightDownVectorBar','⇉':'rrarr','⊢':'vdash','⥛':'RightTeeVector','⋌':'rthree','⧐':'RightTriangleBar','⊳':'vrtri','⊵':'rtrie','⥏':'RightUpDownVector','⥜':'RightUpTeeVector','⥔':'RightUpVectorBar','↾':'uharr','⥓':'RightVectorBar','˚':'ring','‏':'rlm','⎱':'rmoust','⫮':'rnmid','⟭':'roang','⇾':'roarr','⦆':'ropar','𝕣':'ropf','⨮':'roplus','⨵':'rotimes','⥰':'RoundImplies',')':'rpar','⦔':'rpargt','⨒':'rppolint','›':'rsaquo','𝓇':'rscr','↱':'rsh','⋊':'rtimes','▹':'rtri','⧎':'rtriltri','⧴':'RuleDelayed','⥨':'ruluhar','℞':'rx',Ś:'Sacute',ś:'sacute','⪸':'scap',Š:'Scaron',š:'scaron','⪼':'Sc','≻':'sc','≽':'sccue','⪰':'sce','⪴':'scE',Ş:'Scedil',ş:'scedil',Ŝ:'Scirc',ŝ:'scirc','⪺':'scnap','⪶':'scnE','⋩':'scnsim','⨓':'scpolint','≿':'scsim',С:'Scy',с:'scy','⋅':'sdot','⩦':'sdote','⇘':'seArr','§':'sect',';':'semi','⤩':'tosa','✶':'sext','𝔖':'Sfr','𝔰':'sfr','♯':'sharp',Щ:'SHCHcy',щ:'shchcy',Ш:'SHcy',ш:'shcy','↑':'uarr','­':'shy',Σ:'Sigma',σ:'sigma',ς:'sigmaf','∼':'sim','⩪':'simdot','≃':'sime','⪞':'simg','⪠':'simgE','⪝':'siml','⪟':'simlE','≆':'simne','⨤':'simplus','⥲':'simrarr','⨳':'smashp','⧤':'smeparsl','⌣':'smile','⪪':'smt','⪬':'smte','⪬︀':'smtes',Ь:'SOFTcy',ь:'softcy','⌿':'solbar','⧄':'solb','/':'sol','𝕊':'Sopf','𝕤':'sopf','♠':'spades','⊓':'sqcap','⊓︀':'sqcaps','⊔':'sqcup','⊔︀':'sqcups','⊏':'sqsub','⊑':'sqsube','⊐':'sqsup','⊒':'sqsupe','□':'squ','𝒮':'Sscr','𝓈':'sscr','⋆':'Star','☆':'star','⊂':'sub','⋐':'Sub','⪽':'subdot','⫅':'subE','⊆':'sube','⫃':'subedot','⫁':'submult','⫋':'subnE','⊊':'subne','⪿':'subplus','⥹':'subrarr','⫇':'subsim','⫕':'subsub','⫓':'subsup','∑':'sum','♪':'sung','¹':'sup1','²':'sup2','³':'sup3','⊃':'sup','⋑':'Sup','⪾':'supdot','⫘':'supdsub','⫆':'supE','⊇':'supe','⫄':'supedot','⟉':'suphsol','⫗':'suphsub','⥻':'suplarr','⫂':'supmult','⫌':'supnE','⊋':'supne','⫀':'supplus','⫈':'supsim','⫔':'supsub','⫖':'supsup','⇙':'swArr','⤪':'swnwar',ß:'szlig',' ':'Tab','⌖':'target',Τ:'Tau',τ:'tau',Ť:'Tcaron',ť:'tcaron',Ţ:'Tcedil',ţ:'tcedil',Т:'Tcy',т:'tcy','⃛':'tdot','⌕':'telrec','𝔗':'Tfr','𝔱':'tfr','∴':'there4',Θ:'Theta',θ:'theta',ϑ:'thetav','  ':'ThickSpace',' ':'thinsp',Þ:'THORN',þ:'thorn','⨱':'timesbar','×':'times','⨰':'timesd','⌶':'topbot','⫱':'topcir','𝕋':'Topf','𝕥':'topf','⫚':'topfork','‴':'tprime','™':'trade','▵':'utri','≜':'trie','◬':'tridot','⨺':'triminus','⨹':'triplus','⧍':'trisb','⨻':'tritime','⏢':'trpezium','𝒯':'Tscr','𝓉':'tscr',Ц:'TScy',ц:'tscy',Ћ:'TSHcy',ћ:'tshcy',Ŧ:'Tstrok',ŧ:'tstrok',Ú:'Uacute',ú:'uacute','↟':'Uarr','⥉':'Uarrocir',Ў:'Ubrcy',ў:'ubrcy',Ŭ:'Ubreve',ŭ:'ubreve',Û:'Ucirc',û:'ucirc',У:'Ucy',у:'ucy','⇅':'udarr',Ű:'Udblac',ű:'udblac','⥮':'udhar','⥾':'ufisht','𝔘':'Ufr','𝔲':'ufr',Ù:'Ugrave',ù:'ugrave','⥣':'uHar','▀':'uhblk','⌜':'ulcorn','⌏':'ulcrop','◸':'ultri',Ū:'Umacr',ū:'umacr','⏟':'UnderBrace','⏝':'UnderParenthesis','⊎':'uplus',Ų:'Uogon',ų:'uogon','𝕌':'Uopf','𝕦':'uopf','⤒':'UpArrowBar','↕':'varr',υ:'upsi',ϒ:'Upsi',Υ:'Upsilon','⇈':'uuarr','⌝':'urcorn','⌎':'urcrop',Ů:'Uring',ů:'uring','◹':'urtri','𝒰':'Uscr','𝓊':'uscr','⋰':'utdot',Ũ:'Utilde',ũ:'utilde',Ü:'Uuml',ü:'uuml','⦧':'uwangle','⦜':'vangrt','⊊︀':'vsubne','⫋︀':'vsubnE','⊋︀':'vsupne','⫌︀':'vsupnE','⫨':'vBar','⫫':'Vbar','⫩':'vBarv',В:'Vcy',в:'vcy','⊩':'Vdash','⊫':'VDash','⫦':'Vdashl','⊻':'veebar','≚':'veeeq','⋮':'vellip','|':'vert','‖':'Vert','❘':'VerticalSeparator','≀':'wr','𝔙':'Vfr','𝔳':'vfr','𝕍':'Vopf','𝕧':'vopf','𝒱':'Vscr','𝓋':'vscr','⊪':'Vvdash','⦚':'vzigzag',Ŵ:'Wcirc',ŵ:'wcirc','⩟':'wedbar','≙':'wedgeq','℘':'wp','𝔚':'Wfr','𝔴':'wfr','𝕎':'Wopf','𝕨':'wopf','𝒲':'Wscr','𝓌':'wscr','𝔛':'Xfr','𝔵':'xfr',Ξ:'Xi',ξ:'xi','⋻':'xnis','𝕏':'Xopf','𝕩':'xopf','𝒳':'Xscr','𝓍':'xscr',Ý:'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',ℨ:'Zfr',Ζ:'Zeta',ζ:'zeta','𝔷':'zfr',Ж:'ZHcy',ж:'zhcy','⇝':'zigrarr','𝕫':'zopf','𝒵':'Zscr','𝓏':'zscr','‍':'zwj','‌':'zwnj'},o=/["&'<>`]/g,C={'"':'"','&':'&',"'":''','<':'<','>':'>','`':'`'},D=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,E=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,F=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,s={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:'‌'},J={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:'ÿ'},r={0:'�',128:'€',130:'‚',131:'ƒ',132:'„',133:'…',134:'†',135:'‡',136:'ˆ',137:'‰',138:'Š',139:'‹',140:'Œ',142:'Ž',145:'‘',146:'’',147:'“',148:'”',149:'•',150:'–',151:'—',152:'˜',153:'™',154:'š',155:'›',156:'œ',158:'ž',159:'Ÿ'},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],v=String.fromCharCode,y={},z=y.hasOwnProperty,i=function(a,b){return z.call(a,b)},B=function(b,d){var a=-1,c=b.length;while(++a=55296&&a<=57343||a>1114111?(c&&e('character reference outside the permissible Unicode range'),'�'):i(r,a)?(c&&e('disallowed character reference'),r[a]):(c&&B(w,a)&&e('disallowed character reference'),a>65535&&(a-=65536,b+=v(a>>>10&1023|55296),a=56320|a&1023),b+=v(a),b)},m=function(a){return'&#x'+a.charCodeAt(0).toString(16).toUpperCase()+';'},e=function(a){throw Error('Parse error: '+a)},l=function(a,b){b=p(b,l.options);var f=b.strict;f&&E.test(a)&&e('forbidden code point');var g=b.encodeEverything,c=b.useNamedReferences,d=b.allowUnsafeSymbols;return g?(a=a.replace(A,function(a){return c&&i(h,a)?'&'+h[a]+';':m(a)}),c&&(a=a.replace(/>\u20D2/g,'>⃒').replace(/<\u20D2/g,'<⃒').replace(/fj/g,'fj')),c&&(a=a.replace(t,function(a){return'&'+h[a]+';'}))):c?(d||(a=a.replace(o,function(a){return'&'+h[a]+';'})),a=a.replace(/>\u20D2/g,'>⃒').replace(/<\u20D2/g,'<⃒'),a=a.replace(t,function(a){return'&'+h[a]+';'})):d||(a=a.replace(o,m)),a.replace(x,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1),d=(b-55296)*1024+c-56320+65536;return'&#x'+d.toString(16).toUpperCase()+';'}).replace(G,m)},l.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1},j=function(c,b){b=p(b,j.options);var a=b.strict;return a&&D.test(c)&&e('malformed character reference'),c.replace(F,function(l,h,o,j,n,k,p,r){var f,g,m,c,d;return h?(f=h,g=o,a&&!g&&e('character reference was not terminated by a semicolon'),q(f,a)):j?(m=j,g=n,a&&!g&&e('character reference was not terminated by a semicolon'),f=parseInt(m,16),q(f,a)):k?(c=k,i(s,c)?s[c]:(a&&e('named character reference was not terminated by a semicolon'),l)):(c=p,d=r,d&&b.isAttributeValue?(a&&d=='='&&e('`&` did not start a character reference'),l):(a&&e('named character reference was not terminated by a semicolon'),J[c]+(d||'')))})},j.options={isAttributeValue:!1,strict:!1},I=function(a){return a.replace(o,function(a){return C[a]})},f={version:'0.5.0',encode:l,decode:j,escape:I,unescape:j},typeof a=='function'&&typeof a.amd=='object'&&a.amd)a(function(){return f});else if(k&&!k.nodeType)if(u)u.exports=f;else for(n in f)i(f,n)&&(k[n]=f[n]);else H.he=f}(this)}.call(this,typeof global!=='undefined'?global:typeof self!=='undefined'?self:typeof window!=='undefined'?window:{}))},{}],11:[function(c,a,d){'use strict';function b(b,d){var a=0,c=0,e=-1,f;if(b=String(b),f=b.length,typeof d!=='string'||d.length!==1)throw new Error('Expected character');while(++ec&&(c=a)):a=0;return c}a.exports=b},{}],12:[function(s,r,t){'use strict';function q(a){return String(a).length}function b(b,c){return Array(b+1).join(c||a)}function l(b){var a=o.exec(b);return a?a.index+1:b.length}function p(J,M){var z=M||{},D=z.delimiter,C=z.start,B=z.end,s=z.align,G=z.stringLength||q,w=0,r=-1,E=J.length,u=[],v,H,A,y,x,o,t,F,p,L,K,I;s=s?s.concat():[],(D===null||D===undefined)&&(D=a+d+a),(C===null||C===undefined)&&(C=d+a),(B===null||B===undefined)&&(B=a+d);while(++rw&&(w=y.length);while(++ou[o]&&(u[o]=t)}typeof s==='string'&&(s=b(w,s).split('')),o=-1;while(++ou[o]&&(u[o]=F)}r=-1;while(++ra.length&&d>0){if(d&1&&(a+=c),d>>=1,!d)break;c+=c}return a.substr(0,e)}c.exports=d;var a='',b},{}],14:[function(d,b,e){'use strict';function c(b){var c;b=String(b),c=b.length;while(b.charAt(--c)===a);return b.slice(0,c+1)}var a='\n';b.exports=c},{}],15:[function(d,b,a){function c(a){return a.replace(/^\s*|\s*$/g,'')}a=b.exports=c,a.left=function(a){return a.replace(/^\s*/,'')},a.right=function(a){return a.replace(/\s*$/,'')}},{}],16:[function(i,e,o){'use strict';function d(a){return a||(a={}),(a.line||1)+':'+(a.column||1)}function f(a){function b(){var b=a.directory,d;return a.filename||a.extension?(d=b.charAt(b.length-1),(d==='/'||d==='\\')&&(b=b.slice(0,-1)),b==='.'&&(b=''),(b?b+c:'')+a.filename+(a.extension?'.'+a.extension:'')):''}return b.toString=b,b}function b(a){var c=this;if(!(c instanceof b))return new b(a);if(a&&typeof a.message==='function'&&typeof a.hasFailed==='function')return a;a?typeof a==='string'&&(a={contents:a}):a={},c.contents=a.contents||'',c.filename=a.filename||'',c.directory=a.directory||'',c.extension=a.extension||'',c.messages=[],c.filePath=f(c)}function h(){return this.contents}function g(b){var a=this;return b||(b={}),a.directory=b.directory||a.directory||'',a.filename=b.filename||a.filename||'',a.extension=b.extension||a.extension||'',a}function j(c,a){var e=this.filePath(),f,b;return a&&a.position&&(a=a.position),a&&a.start?(f=d(a.start)+'-'+d(a.end),a=a.start):f=d(a),b=new Error(c.message||c),b.name=(e?e+':':'')+f,b.file=e,b.reason=c.message||c,b.line=a?a.line:null,b.column=a?a.column:null,c.stack&&(b.stack=c.stack),b}function k(){var a=this.message.apply(this,arguments);return a.fatal=!1,this.messages.push(a),a}function l(b,c){var a=this.message(b,c);if(a.fatal=!0,this.messages.push(a),!this.quiet)throw a;return a}function m(){var a=this.messages,b=-1,c=a.length;while(++ba.length)try{return e.apply(h,a.concat(c))}catch(a){return c(a)}return g(e)?b(e).apply(h,a.concat(c)):d(e,c).apply(h,a)}}function d(b,a){return function(){var c;try{c=b.apply(this,arguments)}catch(b){return a(b)}h(c)?c.then(function(b){a(null,b)},a):c instanceof Error?a(c):a(null,c)}}function g(a){return a&&a.constructor&&'GeneratorFunction'==a.constructor.name}function h(a){return a&&'function'==typeof a.then}function i(b){return function(){var c=b.apply(this,arguments);return b=a,c}}var a=function(){},b=f('co');c.exports=e},{co:19}],19:[function(l,k,m){function b(b){var f=e(b);return function(h){function k(a,b){setImmediate(function(){h.call(e,a,b)})}function i(f,g){var b;if(arguments.length>2&&(g=a.call(arguments,1)),f)try{b=j.throw(f)}catch(a){return k(a)}if(!f)try{b=j.next(g)}catch(a){return k(a)}if(b.done)return k(null,b.value);if(b.value=d(b.value,e),'function'==typeof b.value){var c=!1;try{b.value.call(e,function(){if(c)return;c=!0,i.apply(e,arguments)})}catch(a){setImmediate(function(){if(c)return;c=!0,i(a)})}return}i(new TypeError('You may only yield a function, promise, generator, array, or object, but the following was passed: "'+String(b.value)+'"'))}var e=this,j=b;if(f){var g=a.call(arguments),l=g.length,m=l&&'function'==typeof g[l-1];h=m?g.pop():c,j=b.apply(this,g)}else h=h||c;i()}}function d(a,c){return e(a)?b(a.call(c)):j(a)?b(a):i(a)?f(a):'function'==typeof a?a:h(a)||Array.isArray(a)?g.call(c,a):a}function g(a){var b=this,c=Array.isArray(a);return function(i){function k(a,c){if(j)return;try{if(a=d(a,b),'function'!=typeof a)return f[c]=a,--h||i(null,f);a.call(b,function(a,b){if(j)return;if(a)return j=!0,i(a);f[c]=b,--h||i(null,f)})}catch(a){j=!0,i(a)}}var g=Object.keys(a),h=g.length,f=c?new Array(h):new a.constructor,j;if(!h){setImmediate(function(){i(null,f)});return}if(!c)for(var e=0;e\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$)/,bullet:/(?:[*+-]|\d+\.)/,indent:/^([ \t]*)((?:[*+-]|\d+\.))( {1,4}(?! )| |\t)/,item:/([ \t]*)((?:[*+-]|\d+\.))( {1,4}(?! )| |\t)[^\n]*(?:\n(?!\1(?:[*+-]|\d+\.)[ \t])[^\n]*)*/gm,list:/^([ \t]*)((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\1?(?:[-*_][ \t]*){3,}(?:\n|$))|(?=\n+[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\1(?:[*+-]|\d+\.)[ \t])|$)/,blockquote:/^(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?/,html:/^(?:[ \t]*(?:(?:(?:<(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>?)|(?:<\/(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:\s+)?>))||(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))[\s\S]*?[ \t]*?(?:\n{2,}|\s*$))/i,paragraph:/^(?:(?:[^\n]+\n?(?![ \t]*([-*_])( *\1){2,} *(?=\n|$)|([ \t]*)(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?[ \t]*(?=\n|$)|(\ {0,3})([^\n]+?)[ \t]*\n\ {0,3}(=|-){1,}[ \t]*(?=\n|$)|[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$)|(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/,escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autoLink:/^<([^ >]+(@|:\/)[^ >]+)>/,tag:/^(?:(?:<(?:[a-zA-Z][a-zA-Z0-9]*)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>)|(?:<\/(?:[a-zA-Z][a-zA-Z0-9]*)(?:\s+)?>)||(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))/,strong:/^(_)_((?:\\[\s\S]|[^\\])+?)__(?!_)|^(\*)\*((?:\\[\s\S]|[^\\])+?)\*\*(?!\*)/,emphasis:/^\b(_)((?:__|\\[\s\S]|[^\\])+?)_\b|^(\*)((?:\*\*|\\[\s\S]|[^\\])+?)\*(?!\*)/,inlineCode:/^(`+)((?!`)[\s\S]*?(?:`\s+|[^`]))?(\1)(?!`)/,'break':/^ {2,}\n(?!\s*$)/,inlineText:/^[\s\S]+?(?=[\\)(?:\s+['"]([\s\S]*?)['"])?\s*\)/,shortcutReference:/^(!?\[)((?:\\[\s\S]|[^\[\]])+?)\]/,reference:/^(!?\[)((?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*)\]\s*\[((?:\\[\s\S]|[^\[\]])*)\]/},gfm:{fences:/^( *)(([`~])\3{2,})[ \t]*([^\n`~]+)?[ \t]*(?:\n([\s\S]*?))??(?:\n\ {0,3}\2\3*[ \t]*(?=\n|$)|$)/,paragraph:/^(?:(?:[^\n]+\n?(?![ \t]*([-*_])( *\1){2,} *(?=\n|$)|( *)(([`~])\5{2,})[ \t]*([^\n`~]+)?[ \t]*(?:\n([\s\S]*?))??(?:\n\ {0,3}\4\5*[ \t]*(?=\n|$)|$)|([ \t]*)((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\8?(?:[-*_][ \t]*){3,}(?:\n|$))|(?=\n+[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\8(?:[*+-]|\d+\.)[ \t])|$)|([ \t]*)(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?[ \t]*(?=\n|$)|(\ {0,3})([^\n]+?)[ \t]*\n\ {0,3}(=|-){1,}[ \t]*(?=\n|$)|[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$)|(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/,table:/^( *\|(.+))\n( *\|( *[-:]+[-| :]*)\n)((?: *\|.*(?:\n|$))*)/,looseTable:/^( *(\S.*\|.*))\n( *([-:]+ *\|[-| :]*)\n)((?:.*\|.*(?:\n|$))*)/,escape:/^\\([\\`*{}\[\]()#+\-.!_>~|])/,url:/^https?:\/\/[^\s<]+[^<.,:;"')\]\s]/,deletion:/^~~(?=\S)([\s\S]*?\S)~~/,inlineText:/^[\s\S]+?(?=[\\\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\1(?:[*+-]|\d+[\.\)])[ \t])|$)/,item:/([ \t]*)((?:[*+-]|\d+[\.\)]))( {1,4}(?! )| |\t)[^\n]*(?:\n(?!\1(?:[*+-]|\d+[\.\)])[ \t])[^\n]*)*/gm,bullet:/(?:[*+-]|\d+[\.\)])/,indent:/^([ \t]*)((?:[*+-]|\d+[\.\)]))( {1,4}(?! )| |\t)/,html:/^(?:[ \t]*(?:(?:(?:<(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>?)|(?:<\/(?:article|header|aside|hgroup|blockquote|hr|iframe|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|tr|form|ul|h1|h2|h3|h4|h5|h6|video|script|style)(?:\s+)?>))|(?:)|(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))[\s\S]*?[ \t]*?(?:\n{2,}|\s*$))/i,tag:/^(?:(?:<(?:[a-zA-Z][a-zA-Z0-9]*)(?:(?:\s+)(?:[a-zA-Z_:][a-zA-Z0-9_.:-]*)(?:(?:\s+)?=(?:\s+)?(?:[^"'=<>`]+|'[^']*'|"[^"]*"))?)*(?:\s+)?\/?>)|(?:<\/(?:[a-zA-Z][a-zA-Z0-9]*)(?:\s+)?>)|(?:)|(?:<\?(?:[^\?]|\?(?!>))+\?>)|(?:)|(?:))/,link:/^(!?\[)((?:(?:\[(?:\[(?:\\[\s\S]|[^\[\]])*?\]|\\[\s\S]|[^\[\]])*?\])|\\[\s\S]|[^\[\]])*?)\]\(\s*(?:(?!<)((?:\((?:\\[\s\S]|[^\(\)\s])*?\)|\\[\s\S]|[^\(\)\s])*?)|<([^\n]*?)>)(?:\s+(?:\'((?:\\[\s\S]|[^\'])*?)\'|"((?:\\[\s\S]|[^"])*?)"|\(((?:\\[\s\S]|[^\)])*?)\)))?\s*\)/,reference:/^(!?\[)((?:(?:\[(?:\[(?:\\[\s\S]|[^\[\]])*?\]|\\[\s\S]|[^\[\]])*?\])|\\[\s\S]|[^\[\]])*?)\]\s*\[((?:\\[\s\S]|[^\[\]])*)\]/,paragraph:/^(?:(?:[^\n]+\n?(?!\ {0,3}([-*_])( *\1){2,} *(?=\n|$)|(\ {0,3})(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?\ {0,3}(?=\n|$)|(?=\ {0,3}>)(?:(?:(?:\ {0,3}>[^\n]*\n)*(?:\ {0,3}>[^\n]+(?=\n|$))|(?!\ {0,3}>)(?!\ {0,3}\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?\ {0,3}(?=\n|$))[^\n]+)(?:\n|$))*(?:\ {0,3}>\ {0,3}(?:\n\ {0,3}>\ {0,3})*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/,blockquote:/^(?=[ \t]*>)(?:(?:(?:[ \t]*>[^\n]*\n)*(?:[ \t]*>[^\n]+(?=\n|$))|(?![ \t]*>)(?![ \t]*([-*_])( *\1){2,} *(?=\n|$)|([ \t]*)((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\3?(?:[-*_][ \t]*){3,}(?:\n|$))|(?=\n+[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))|\n{2,}(?![ \t])(?!\3(?:[*+-]|\d+\.)[ \t])|$)|( *)(([`~])\10{2,})[ \t]*([^\n`~]+)?[ \t]*(?:\n([\s\S]*?))??(?:\n\ {0,3}\9\10*[ \t]*(?=\n|$)|$)|((?: {4}|\t)[^\n]*\n?([ \t]*\n)*)+|[ \t]*\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?[ \t]*(?=\n|$))[^\n]+)(?:\n|$))*(?:[ \t]*>[ \t]*(?:\n[ \t]*>[ \t]*)*)?/,escape:/^\\(\n|[\\`*{}\[\]()#+\-.!_>"$%&',\/:;<=?@^~|])/},commonmarkGFM:{paragraph:/^(?:(?:[^\n]+\n?(?!\ {0,3}([-*_])( *\1){2,} *(?=\n|$)|( *)(([`~])\5{2,})\ {0,3}([^\n`~]+)?\ {0,3}(?:\n([\s\S]*?))??(?:\n\ {0,3}\4\5*\ {0,3}(?=\n|$)|$)|(\ {0,3})((?:[*+-]|\d+\.))[ \t][\s\S]+?(?:(?=\n+\8?(?:[-*_]\ {0,3}){3,}(?:\n|$))|(?=\n+\ {0,3}\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?\ {0,3}(?=\n|$))|\n{2,}(?![ \t])(?!\8(?:[*+-]|\d+\.)[ \t])|$)|(\ {0,3})(#{1,6})(?:([ \t]+)([^\n]+?))??(?:[ \t]+#+)?\ {0,3}(?=\n|$)|(?=\ {0,3}>)(?:(?:(?:\ {0,3}>[^\n]*\n)*(?:\ {0,3}>[^\n]+(?=\n|$))|(?!\ {0,3}>)(?!\ {0,3}\[((?:[^\\](?:\\|\\(?:\\{2})+)\]|[^\]])+)\]:[ \t\n]*(<[^>\[\]]+>|[^\s\[\]]+)(?:[ \t\n]+['"(]((?:[^\n]|\n(?!\n))*?)['")])?\ {0,3}(?=\n|$))[^\n]+)(?:\n|$))*(?:\ {0,3}>\ {0,3}(?:\n\ {0,3}>\ {0,3})*)?|<(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\b)(?!mailto:)\w+(?!:\/|[^\w\s@]*@)\b))+)/},breaks:{'break':/^ *\n(?!\s*$)/,inlineText:/^[\s\S]+?(?=[\\1&&(a=Math.floor(a/b)*b),e[a]=c,d=f.charAt(++c);return{indent:a,stops:e}}function B(m,o){var a=m.split(b),d=a.length+1,g=Infinity,k=[],h,i,j,l;a.unshift(n(e,o)+ah);while(d--){if(i=p(a[d]),k[d]=i.stops,f(a[d]).length===0)continue;if(!i.indent){g=Infinity;break}i.indent>0&&i.indent1&&(this.currentBullet=null,this.previousBullet=null),b(a)}function b0(b,a){return a=d(a),b(a)(this.renderCodeBlock(B(a,v),null,b))}function a$(e,a,b,g,h,f,c){return a=d(a),b&&(c=B(b4(c,b.length),b.length)),e(a)(this.renderCodeBlock(c,f,e))}function a_(b,d,e,c,f,g){var a=b.now();return a.column+=(e+c+(f||'')).length,b(d)(this.renderHeading(g,c.length,a))}function aZ(b,c,d,e,f){var a=b.now();return a.column+=d.length,b(c)(this.renderHeading(e,f===ag?1:2,a))}function aY(a,b){return a(b)(this.renderVoid(as))}function aX(c,g){var b=c.now(),e=this.indent(b.line),a=d(g),f=c(a);return a=a.replace(a4,function(a){return e(a.length),''}),f(this.renderBlockquote(a,b))}function aW(o,y,z,x){var f=this,j=x,t=d(y),a=t.match(f.rules.item),h=a.length,c=0,q=!1,r,l,g,u,v,m,i,w,k,s;if(!f.options.pedantic)while(++c1,start:a,loose:null,children:c}}function aw(a,e){function f(a){return d(a.length),c}var b=this,d=b.indent(e.line);return a=a.replace(a2,f),d=b.indent(e.line),a.replace(a0,f)}function aP(d,m){var k=this,g=k.indent(m.line),h,f,j,c,a,l,i;d=d.replace(a3,function(g,b,a,c,d){return h=b+a+c,f=d,Number(a)<10&&h.length%2===1&&(a=e+a),i=b+n(e,a.length)+c,i+f}),j=d.split(b),c=B(d,p(i).indent).split(b),c[0]=f,g(h.length),a=0,l=j.length;while(++a[ \t]?/gm,a3=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t)([^\n]*)/,a2=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/,a0=/^( {1,4}|\t)?/gm,$=/^( {4}|\t)?/gm,W=/^/i,ai=/\n\n(?!\s*$)/,ac=/^\[([\ \t]|x|X)\][\ \t]/,l={};l[e]=e.length,l[A]=v;var j={};j.text=function(a,b){return a.value+=b.value,a},j.blockquote=function(a,b){return this.options.commonmark?b:(a.children=a.children.concat(b.children),a)},j.list=function(a,b){return!this.currentBullet||this.currentBullet!==this.previousBullet||this.currentBullet.length!==1?b:(a.children=a.children.concat(b.children),a)},z.onlyAtTop=!0,z.notInBlockquote=!0,af.onlyAtStart=!0,s.onlyAtTop=!0,s.notInBlockquote=!0,x.onlyAtTop=!0;var q={};q[!0]=aw,q[!1]=aP,R.notInLink=!0,S.notInLink=!0,a.prototype.setOptions=function(a){var b=this,d=b.expressions,e=b.rules,f=b.options,c;a===null||a===undefined?a={}:typeof a==='object'?a=i({},a):ap(a,'options'),b.options=a;for(c in y)ab.boolean(a,c,f[c]),a[c]&&i(e,d[c]);return a.gfm&&a.breaks&&i(e,d.breaksGFM),a.gfm&&a.commonmark&&i(e,d.commonmarkGFM),a.commonmark&&(b.enterBlockquote=b2()),b},a.prototype.options=y,a.prototype.expressions=a7,a.prototype.indent=function(c){function d(c){b.offset[a]=(b.offset[a]||0)+c,a++}var b=this,a=c;return d},a.prototype.parse=function(){var a=this,c=aa(String(a.file)),b;return a.offset={},b=a.renderBlock(ar,c),a.options.position&&(b.position={start:{line:1,column:1}},b.position.end=a.eof||b.position.start),b},a.prototype.enterLink=r('inLink',!1),a.prototype.exitTop=r('atTop',!0),a.prototype.exitStart=r('atStart',!0),a.prototype.enterBlockquote=r('inBlockquote',!1),a.prototype.renderRaw=aI,a.prototype.renderVoid=aK,a.prototype.renderParent=aJ,a.prototype.renderInline=aF,a.prototype.renderBlock=aE,a.prototype.renderLink=aH,a.prototype.renderCodeBlock=aS,a.prototype.renderBlockquote=aL,a.prototype.renderList=aR,a.prototype.renderListItem=aO,a.prototype.renderFootnoteDefinition=aN,a.prototype.renderHeading=aM,a.prototype.renderFootnote=aG,a.prototype.blockTokenizers={yamlFrontMatter:af,newline:b1,code:b0,fences:a$,heading:a_,lineHeading:aZ,horizontalRule:aY,blockquote:aX,list:aW,html:aV,definition:z,footnoteDefinition:s,looseTable:x,table:x,paragraph:aU},a.prototype.blockMethods=['yamlFrontMatter','newline','code','fences','blockquote','heading','horizontalRule','list','lineHeading','html','definition','footnoteDefinition','looseTable','table','paragraph','blockText'],a.prototype.tokenizeBlock=t(aq),a.prototype.inlineTokenizers={escape:aD,autoLink:R,url:S,tag:aC,link:aB,reference:V,shortcutReference:V,strong:aA,emphasis:az,deletion:ay,inlineCode:aQ,'break':ax,inlineText:aT},a.prototype.inlineMethods=['escape','autoLink','url','tag','link','reference','shortcutReference','strong','emphasis','deletion','inlineCode','break','inlineText'],a.prototype.tokenizeInline=t(D),a.prototype.tokenizeFactory=t,b6.exports=a},{'./defaults.js':2,'./expressions.js':3,'./utilities.js':6,'extend.js':14,he:15,'repeat-string':18,trim:20,'trim-trailing-lines':19}],5:[function(h,ab,ac){'use strict';function aa(a){return a}function a9(a,d){function e(a,e){try{return Y[c](a,b)}catch(a){d.fail(a,e.position)}}var b={},c;return a==='false'?aa:(a==='true'&&(b.useNamedReferences=!0),c=a==='escape'?'escape':'encode',e)}function y(a,b){return b||!a.length||a7.test(a)||E(a,v)!==E(a,w)?W+a+F:a}function K(b){var a=S;return b.indexOf(a)!==-1&&(a=T),a+b+a}function a0(a,f){var c,e;a=a.split(d),c=a.length,e=g(b,f*l);while(c--)a[c].length!==0&&(a[c]=e+a[c]);return a.join(d)}function V(b,c){var a=this;a.file=b,a.options=H({},a.options),a.setOptions(c)}function X(d){var a=c,b=d.referenceType;return b==='full'&&(a=d.identifier),b!=='shortcut'&&(a=f+a+e),a}var Y=h('he'),Z=h('markdown-table'),g=h('repeat-string'),H=h('extend.js'),E=h('ccount'),D=h('longest-streak'),C=h('./utilities.js'),B=h('./defaults.js').stringify,P=C.raise,$=C.validate,l=4,a2=3,a4=3,a5=3,a6='mailto:',a7=/\s/,U=/^[a-z][a-z+.-]+:\/?/i,F='>',W='<',u='*',x='^',L=':',s='-',Q='.',c='',a1='=',O='!',a3='#',d='\n',v='(',w=')',n='|',R='+',S='"',T="'",b=' ',f='[',e=']',j='`',t='~',G='_',k=d+d,I=k+d,J=t+t,m={};m[!0]=!0,m[!1]=!0,m.numbers=!0,m.escape=!0;var o={};o[u]=!0,o[s]=!0,o[R]=!0;var r={};r[u]=!0,r[s]=!0,r[G]=!0;var q={};q[G]=!0,q[u]=!0;var z={};z[j]=!0,z[t]=!0;var A={};A[!0]='visitOrderedItems',A[!1]='visitUnorderedItems';var p={},a8='tab',M='1',N='mixed';p[M]=!0,p[a8]=!0,p[N]=!0;var i={};i.null=c,i[void 0]=c,i[!0]=f+'x'+e+b,i[!1]=f+b+e+b;var a=V.prototype;a.options=B;var _={entities:m,bullet:o,rule:r,listItemIndent:p,emphasis:q,strong:q,fence:z};a.setOptions=function(a){var b=this,e=b.options,d,c;a===null||a===undefined?a={}:typeof a==='object'?a=H({},a):P(a,'options');for(c in B)$[typeof e[c]](a,c,e[c],_[c]);return d=a.ruleRepetition,d&&d1?arguments[1]:'utf8'):W(this,b)):arguments.length>1?new a(b,arguments[1]):new a(b)}function Y(b,d){if(b=e(b,d<0?0:g(d)|0),!a.TYPED_ARRAY_SUPPORT)for(var c=0;c>>1;return d&&(b.parent=y),b}function g(a){if(a>=A())throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x'+A().toString(16)+' bytes');return a|0}function p(c,d){if(!(this instanceof p))return new p(c,d);var b=new a(c,d);return delete b.parent,b}function r(a,c){typeof a!=='string'&&(a=''+a);var b=a.length;if(b===0)return 0;var d=!1;for(;;)switch(c){case'ascii':case'binary':case'raw':case'raws':return b;case'utf8':case'utf-8':return n(a).length;case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return b*2;case'hex':return b>>>1;case'base64':return w(a).length;default:if(d)return n(a).length;c=(''+c).toLowerCase();d=!0}}function L(c,b,a){var d=!1;if(b|=0,a=a===undefined||a===Infinity?this.length:a|0,c||(c='utf8'),b<0&&(b=0),a>this.length&&(a=this.length),a<=b)return'';while(!0)switch(c){case'hex':return D(this,b,a);case'utf8':case'utf-8':return q(this,b,a);case'ascii':return C(this,b,a);case'binary':return O(this,b,a);case'base64':return F(this,b,a);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return E(this,b,a);default:if(d)throw new TypeError('Unknown encoding: '+c);c=(c+'').toLowerCase();d=!0}}function K(g,h,c,a){c=Number(c)||0;var d=g.length-c;a?(a=Number(a),a>d&&(a=d)):a=d;var e=h.length;if(e%2!==0)throw new Error('Invalid hex string');a>e/2&&(a=e/2);for(var b=0;bd)&&(a=d);var e='';for(var c=b;cc)throw new RangeError('Trying to access beyond buffer length')}function d(b,c,d,e,f,g){if(!a.isBuffer(b))throw new TypeError('buffer must be a Buffer instance');if(c>f||cb.length)throw new RangeError('index out of range')}function l(c,b,d,e){b<0&&(b=65535+b+1);for(var a=0,f=Math.min(c.length-d,2);a>>(e?a:1-a)*8}function k(c,b,d,f){b<0&&(b=4294967295+b+1);for(var a=0,e=Math.min(c.length-d,4);a>>(f?a:3-a)*8&255}function u(c,a,b,d,e,f){if(a>e||ac.length)throw new RangeError('index out of range');if(b<0)throw new RangeError('index out of range')}function t(b,c,a,d,e){return e||u(b,c,a,4,3.4028234663852886e38,-3.4028234663852886e38),f.write(b,c,a,d,23,4),a+4}function s(b,c,a,d,e){return e||u(b,c,a,8,1.7976931348623157e308,-1.7976931348623157e308),f.write(b,c,a,d,52,8),a+8}function M(a){if(a=N(a).replace(x,''),a.length<2)return'';while(a.length%4!==0)a+='=';return a}function N(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,'')}function B(a){return a<16?'0'+a.toString(16):a.toString(16)}function n(g,b){b=b||Infinity;var a,f=g.length,d=null,c=[],e=0;for(;e55295&&a<57344)if(d)if(a<56320){(b-=3)>-1&&c.push(239,191,189),d=a;continue}else a=d-55296<<10|a-56320|65536,d=null;else if(a>56319){(b-=3)>-1&&c.push(239,191,189);continue}else if(e+1===f){(b-=3)>-1&&c.push(239,191,189);continue}else{d=a;continue}else d&&((b-=3)>-1&&c.push(239,191,189),d=null);if(a<128){if((b-=1)<0)break;c.push(a)}else if(a<2048){if((b-=2)<0)break;c.push(a>>6|192,a&63|128)}else if(a<65536){if((b-=3)<0)break;c.push(a>>12|224,a>>6&63|128,a&63|128)}else if(a<2097152){if((b-=4)<0)break;c.push(a>>18|240,a>>12&63|128,a>>6&63|128,a&63|128)}else throw new Error('Invalid code point')}return c}function Q(c){var b=[];for(var a=0;a>8,f=c%256,a.push(f),a.push(e)}return a}function w(a){return j.toByteArray(M(a))}function m(b,c,d,e){for(var a=0;a=c.length||a>=b.length)break;c[a+d]=b[a]}return a}function z(a){try{return decodeURIComponent(a)}catch(a){return String.fromCharCode(65533)}}var j=o('base64-js'),f=o('ieee754'),i=o('is-array');h.Buffer=a,h.SlowBuffer=p,h.INSPECT_MAX_BYTES=50,a.poolSize=8192;var y={};a.TYPED_ARRAY_SUPPORT=function(b,a){function c(){}try{return b=new ArrayBuffer(0),a=new Uint8Array(b),a.foo=function(){return 42},a.constructor=c,a.foo()===42&&a.constructor===c&&typeof a.subarray==='function'&&new Uint8Array(1).subarray(1,1).byteLength===0}catch(a){return!1}}(),a.isBuffer=function a(b){return!!(b!=null&&b._isBuffer)},a.compare=function b(d,e){if(!(a.isBuffer(d)&&a.isBuffer(e)))throw new TypeError('Arguments must be Buffers');if(d===e)return 0;var f=d.length,g=e.length,c=0,h=Math.min(f,g);while(c0&&(b=this.toString('hex',0,c).match(/.{2}/g).join(' '),this.length>c&&(b+=' ... ')),''},a.prototype.compare=function b(c){if(!a.isBuffer(c))throw new TypeError('Argument must be a Buffer');return this===c?0:a.compare(this,c)},a.prototype.indexOf=function b(d,c){function e(d,e,c){var a=-1;for(var b=0;c+b2147483647?c=2147483647:c<-2147483648&&(c=-2147483648),c>>=0,this.length===0)return-1;if(c>=this.length)return-1;if(c<0&&(c=Math.max(this.length+c,0)),typeof d==='string')return d.length===0?-1:String.prototype.indexOf.call(this,d,c);if(a.isBuffer(d))return e(this,d,c);if(typeof d==='number')return a.TYPED_ARRAY_SUPPORT&&Uint8Array.prototype.indexOf==='function'?Uint8Array.prototype.indexOf.call(this,d,c):e(this,[d],c);throw new TypeError('val must be string, number or Buffer')},a.prototype.get=function a(b){return console.log('.get() is deprecated. Access using array indexes instead.'),this.readUInt8(b)},a.prototype.set=function a(b,c){return console.log('.set() is deprecated. Access using array indexes instead.'),this.writeUInt8(b,c)},a.prototype.write=function a(e,c,b,d){if(c===undefined)d='utf8',b=this.length,c=0;else if(b===undefined&&typeof c==='string')d=c,b=this.length,c=0;else if(isFinite(c))c|=0,isFinite(b)?(b|=0,d===undefined&&(d='utf8')):(d=b,b=undefined);else{var h=d;d=c,c=b|0,b=h}var f=this.length-c;if((b===undefined||b>f)&&(b=f),e.length>0&&(b<0||c<0)||c>this.length)throw new RangeError('attempt to write outside buffer bounds');d||(d='utf8');var g=!1;for(;;)switch(d){case'hex':return K(this,e,c,b);case'utf8':case'utf-8':return J(this,e,c,b);case'ascii':return v(this,e,c,b);case'binary':return I(this,e,c,b);case'base64':return H(this,e,c,b);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return G(this,e,c,b);default:if(g)throw new TypeError('Unknown encoding: '+d);d=(''+d).toLowerCase();g=!0}},a.prototype.toJSON=function a(){return{type:'Buffer',data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function b(c,d){var e=this.length;c=~~c,d=d===undefined?e:~~d,c<0?(c+=e,c<0&&(c=0)):c>e&&(c=e),d<0?(d+=e,d<0&&(d=0)):d>e&&(d=e),d0&&(f*=256))e+=this[d+--b]*f;return e},a.prototype.readUInt8=function a(b,d){return d||c(b,1,this.length),this[b]},a.prototype.readUInt16LE=function a(b,d){return d||c(b,2,this.length),this[b]|this[b+1]<<8},a.prototype.readUInt16BE=function a(b,d){return d||c(b,2,this.length),this[b]<<8|this[b+1]},a.prototype.readUInt32LE=function a(b,d){return d||c(b,4,this.length),(this[b]|this[b+1]<<8|this[b+2]<<16)+this[b+3]*16777216},a.prototype.readUInt32BE=function a(b,d){return d||c(b,4,this.length),this[b]*16777216+(this[b+1]<<16|this[b+2]<<8|this[b+3])},a.prototype.readIntLE=function a(e,f,h){e|=0,f|=0,h||c(e,f,this.length);var b=this[e],d=1,g=0;while(++g=d&&(b-=Math.pow(2,8*f)),b},a.prototype.readIntBE=function a(e,f,h){e|=0,f|=0,h||c(e,f,this.length);var g=f,b=1,d=this[e+--g];while(g>0&&(b*=256))d+=this[e+--g]*b;return b*=128,d>=b&&(d-=Math.pow(2,8*f)),d},a.prototype.readInt8=function a(b,d){return d||c(b,1,this.length),this[b]&128?(255-this[b]+1)*-1:this[b]},a.prototype.readInt16LE=function a(d,e){e||c(d,2,this.length);var b=this[d]|this[d+1]<<8;return b&32768?b|4294901760:b},a.prototype.readInt16BE=function a(d,e){e||c(d,2,this.length);var b=this[d+1]|this[d]<<8;return b&32768?b|4294901760:b},a.prototype.readInt32LE=function a(b,d){return d||c(b,4,this.length),this[b]|this[b+1]<<8|this[b+2]<<16|this[b+3]<<24},a.prototype.readInt32BE=function a(b,d){return d||c(b,4,this.length),this[b]<<24|this[b+1]<<16|this[b+2]<<8|this[b+3]},a.prototype.readFloatLE=function a(b,d){return d||c(b,4,this.length),f.read(this,b,!0,23,4)},a.prototype.readFloatBE=function a(b,d){return d||c(b,4,this.length),f.read(this,b,!1,23,4)},a.prototype.readDoubleLE=function a(b,d){return d||c(b,8,this.length),f.read(this,b,!0,52,8)},a.prototype.readDoubleBE=function a(b,d){return d||c(b,8,this.length),f.read(this,b,!1,52,8)},a.prototype.writeUIntLE=function a(b,c,e,h){b=+b,c|=0,e|=0,h||d(this,b,c,e,Math.pow(2,8*e),0);var f=1,g=0;this[c]=b&255;while(++g=0&&(g*=256))this[c+f]=b/g&255;return c+e},a.prototype.writeUInt8=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,1,255,0),a.TYPED_ARRAY_SUPPORT||(c=Math.floor(c)),this[e]=c,e+1},a.prototype.writeUInt16LE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=c,this[e+1]=c>>>8):l(this,c,e,!0),e+2},a.prototype.writeUInt16BE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=c>>>8,this[e+1]=c):l(this,c,e,!1),e+2},a.prototype.writeUInt32LE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e+3]=c>>>24,this[e+2]=c>>>16,this[e+1]=c>>>8,this[e]=c):k(this,c,e,!0),e+4},a.prototype.writeUInt32BE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e]=c>>>24,this[e+1]=c>>>16,this[e+2]=c>>>8,this[e+3]=c):k(this,c,e,!1),e+4},a.prototype.writeIntLE=function a(b,c,e,j){if(b=+b,c|=0,!j){var f=Math.pow(2,8*e-1);d(this,b,c,e,f-1,-f)}var g=0,h=1,i=b<0?1:0;this[c]=b&255;while(++g>0)-i&255;return c+e},a.prototype.writeIntBE=function a(b,c,e,j){if(b=+b,c|=0,!j){var g=Math.pow(2,8*e-1);d(this,b,c,e,g-1,-g)}var f=e-1,h=1,i=b<0?1:0;this[c+f]=b&255;while(--f>=0&&(h*=256))this[c+f]=(b/h>>0)-i&255;return c+e},a.prototype.writeInt8=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,1,127,-128),a.TYPED_ARRAY_SUPPORT||(c=Math.floor(c)),c<0&&(c=255+c+1),this[e]=c,e+1},a.prototype.writeInt16LE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=c,this[e+1]=c>>>8):l(this,c,e,!0),e+2},a.prototype.writeInt16BE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=c>>>8,this[e+1]=c):l(this,c,e,!1),e+2},a.prototype.writeInt32LE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[e]=c,this[e+1]=c>>>8,this[e+2]=c>>>16,this[e+3]=c>>>24):k(this,c,e,!0),e+4},a.prototype.writeInt32BE=function b(c,e,f){return c=+c,e|=0,f||d(this,c,e,4,2147483647,-2147483648),c<0&&(c=4294967295+c+1),a.TYPED_ARRAY_SUPPORT?(this[e]=c>>>24,this[e+1]=c>>>16,this[e+2]=c>>>8,this[e+3]=c):k(this,c,e,!1),e+4},a.prototype.writeFloatLE=function a(b,c,d){return t(this,b,c,!0,d)},a.prototype.writeFloatBE=function a(b,c,d){return t(this,b,c,!1,d)},a.prototype.writeDoubleLE=function a(b,c,d){return s(this,b,c,!0,d)},a.prototype.writeDoubleBE=function a(b,c,d){return s(this,b,c,!1,d)},a.prototype.copy=function b(f,e,c,d){if(c||(c=0),!d&&d!==0&&(d=this.length),e>=f.length&&(e=f.length),e||(e=0),d>0&&d=this.length)throw new RangeError('sourceStart out of bounds');if(d<0)throw new RangeError('sourceEnd out of bounds');d>this.length&&(d=this.length),f.length-e=this.length)throw new RangeError('start out of bounds');if(d<0||d>this.length)throw new RangeError('end out of bounds');var b;if(typeof e==='number')for(b=c;b0)throw new Error('Invalid string. Length must be a multiple of 4');var i=b.length;g='='===b.charAt(i-2)?2:'='===b.charAt(i-1)?1:0,h=new f(b.length*3/4-g),j=g>0?b.length-4:b.length;var l=0;for(c=0,k=0;c>16),e((d&65280)>>8),e(d&255);return g===2?(d=a(b.charAt(c))<<2|a(b.charAt(c+1))>>4,e(d&255)):g===1&&(d=a(b.charAt(c))<<10|a(b.charAt(c+1))<<4|a(b.charAt(c+2))>>2,e(d>>8&255),e(d&255)),h}function l(a){function d(a){return b.charAt(a)}function i(a){return d(a>>18&63)+d(a>>12&63)+d(a>>6&63)+d(a&63)}var f,g=a.length%3,c='',e,h;for(f=0,h=a.length-g;f>2);c+=d(e<<4&63);c+='==';break;case 2:e=(a[a.length-2]<<8)+a[a.length-1];c+=d(e>>10);c+=d(e>>4&63);c+=d(e<<2&63);c+='=';break}return c}f=typeof Uint8Array!=='undefined'?Uint8Array:Array,g='+'.charCodeAt(0),h='/'.charCodeAt(0),c='0'.charCodeAt(0),d='a'.charCodeAt(0),e='A'.charCodeAt(0),j='-'.charCodeAt(0),k='_'.charCodeAt(0),i.toByteArray=m,i.fromByteArray=l}(a===void 0?this.base64js={}:a)},{}],9:[function(b,c,a){a.read=function(h,l,n,f,m){var b,d,i=m*8-f-1,j=(1<>1,a=-7,c=n?m-1:0,g=n?-1:1,e=h[l+c];for(c+=g,b=e&(1<<-a)-1,e>>=-a,a+=i;a>0;b=b*256+h[l+c],c+=g,a-=8);for(d=b&(1<<-a)-1,b>>=-a,a+=f;a>0;d=d*256+h[l+c],c+=g,a-=8);if(b===0)b=1-k;else if(b===j)return d?NaN:(e?-1:1)*Infinity;else d+=Math.pow(2,f),b-=k;return(e?-1:1)*d*Math.pow(2,b-f)},a.write=function(k,b,m,n,c,p){var a,d,f,h=p*8-c-1,i=(1<>1,l=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:p-1,j=n?1:-1,o=b<0||b===0&&1/b<0?1:0;for(b=Math.abs(b),isNaN(b)||b===Infinity?(d=isNaN(b)?1:0,a=i):(a=Math.floor(Math.log(b)/Math.LN2),b*(f=Math.pow(2,-a))<1&&(a--,f*=2),a+e>=1?b+=l/f:b+=l*Math.pow(2,1-e),b*f>=2&&(a++,f/=2),a+e>=i?(d=0,a=i):a+e>=1?(d=(b*f-1)*Math.pow(2,c),a+=e):(d=b*Math.pow(2,e-1)*Math.pow(2,c),a=0));c>=8;k[m+g]=d&255,g+=j,d/=256,c-=8);for(a=a<0;k[m+g]=a&255,g+=j,a/=256,h-=8);k[m+g-j]|=o*128}},{}],10:[function(d,c,e){var a=Array.isArray,b=Object.prototype.toString;c.exports=a||function(a){return!!a&&'[object Array]'==b.call(a)}},{}],11:[function(c,a,d){'use strict';function b(a,b){var c=-1,d=0,e;if(a=String(a),e=a.length,typeof b!=='string'||b.length!==1)throw new Error('Expected character');while(++c\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,h={Á:'Aacute',á:'aacute',Ă:'Abreve',ă:'abreve','∾':'ac','∿':'acd','∾̳':'acE',Â:'Acirc',â:'acirc','´':'acute',А:'Acy',а:'acy',Æ:'AElig',æ:'aelig','⁡':'af','𝔄':'Afr','𝔞':'afr',À:'Agrave',à:'agrave',ℵ:'aleph',Α:'Alpha',α:'alpha',Ā:'Amacr',ā:'amacr','⨿':'amalg','&':'amp','⩕':'andand','⩓':'And','∧':'and','⩜':'andd','⩘':'andslope','⩚':'andv','∠':'ang','⦤':'ange','⦨':'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',å:'aring','𝒜':'Ascr','𝒶':'ascr','≔':'colone','*':'ast','≍':'CupCap',Ã:'Atilde',ã:'atilde',Ä:'Auml',ä:'auml','∳':'awconint','⨑':'awint','≌':'bcong','϶':'bepsi','‵':'bprime','∽':'bsim','⋍':'bsime','∖':'setmn','⫧':'Barv','⊽':'barvee','⌅':'barwed','⌆':'Barwed','⎵':'bbrk','⎶':'bbrktbrk',Б:'Bcy',б:'bcy','„':'bdquo','∵':'becaus','⦰':'bemptyv',ℬ:'Bscr',Β:'Beta',β:'beta',ℶ:'beth','≬':'twixt','𝔅':'Bfr','𝔟':'bfr','⋂':'xcap','◯':'xcirc','⋃':'xcup','⨀':'xodot','⨁':'xoplus','⨂':'xotime','⨆':'xsqcup','★':'starf','▽':'xdtri','△':'xutri','⨄':'xuplus','⋁':'Vee','⋀':'Wedge','⤍':'rbarr','⧫':'lozf','▪':'squf','▴':'utrif','▾':'dtrif','◂':'ltrif','▸':'rtrif','␣':'blank','▒':'blk12','░':'blk14','▓':'blk34','█':'block','=⃥':'bne','≡⃥':'bnequiv','⫭':'bNot','⌐':'bnot','𝔹':'Bopf','𝕓':'bopf','⊥':'bot','⋈':'bowtie','⧉':'boxbox','┐':'boxdl','╕':'boxdL','╖':'boxDl','╗':'boxDL','┌':'boxdr','╒':'boxdR','╓':'boxDr','╔':'boxDR','─':'boxh','═':'boxH','┬':'boxhd','╤':'boxHd','╥':'boxhD','╦':'boxHD','┴':'boxhu','╧':'boxHu','╨':'boxhU','╩':'boxHU','⊟':'minusb','⊞':'plusb','⊠':'timesb','┘':'boxul','╛':'boxuL','╜':'boxUl','╝':'boxUL','└':'boxur','╘':'boxuR','╙':'boxUr','╚':'boxUR','│':'boxv','║':'boxV','┼':'boxvh','╪':'boxvH','╫':'boxVh','╬':'boxVH','┤':'boxvl','╡':'boxvL','╢':'boxVl','╣':'boxVL','├':'boxvr','╞':'boxvR','╟':'boxVr','╠':'boxVR','˘':'breve','¦':'brvbar','𝒷':'bscr','⁏':'bsemi','⧅':'bsolb','\\':'bsol','⟈':'bsolhsub','•':'bull','≎':'bump','⪮':'bumpE','≏':'bumpe',Ć:'Cacute',ć:'cacute','⩄':'capand','⩉':'capbrcup','⩋':'capcap','∩':'cap','⋒':'Cap','⩇':'capcup','⩀':'capdot',ⅅ:'DD','∩︀':'caps','⁁':'caret',ˇ:'caron',ℭ:'Cfr','⩍':'ccaps',Č:'Ccaron',č:'ccaron',Ç:'Ccedil',ç:'ccedil',Ĉ:'Ccirc',ĉ:'ccirc','∰':'Cconint','⩌':'ccups','⩐':'ccupssm',Ċ:'Cdot',ċ:'cdot','¸':'cedil','⦲':'cemptyv','¢':'cent','·':'middot','𝔠':'cfr',Ч:'CHcy',ч:'chcy','✓':'check',Χ:'Chi',χ:'chi',ˆ:'circ','≗':'cire','↺':'olarr','↻':'orarr','⊛':'oast','⊚':'ocir','⊝':'odash','⊙':'odot','®':'reg','Ⓢ':'oS','⊖':'ominus','⊕':'oplus','⊗':'otimes','○':'cir','⧃':'cirE','⨐':'cirfnint','⫯':'cirmid','⧂':'cirscir','∲':'cwconint','”':'rdquo','’':'rsquo','♣':'clubs',':':'colon','∷':'Colon','⩴':'Colone',',':'comma','@':'commat','∁':'comp','∘':'compfn',ℂ:'Copf','≅':'cong','⩭':'congdot','≡':'equiv','∮':'oint','∯':'Conint','𝕔':'copf','∐':'coprod','©':'copy','℗':'copysr','↵':'crarr','✗':'cross','⨯':'Cross','𝒞':'Cscr','𝒸':'cscr','⫏':'csub','⫑':'csube','⫐':'csup','⫒':'csupe','⋯':'ctdot','⤸':'cudarrl','⤵':'cudarrr','⋞':'cuepr','⋟':'cuesc','↶':'cularr','⤽':'cularrp','⩈':'cupbrcap','⩆':'cupcap','∪':'cup','⋓':'Cup','⩊':'cupcup','⊍':'cupdot','⩅':'cupor','∪︀':'cups','↷':'curarr','⤼':'curarrm','⋎':'cuvee','⋏':'cuwed','¤':'curren','∱':'cwint','⌭':'cylcty','†':'dagger','‡':'Dagger',ℸ:'daleth','↓':'darr','↡':'Darr','⇓':'dArr','‐':'dash','⫤':'Dashv','⊣':'dashv','⤏':'rBarr','˝':'dblac',Ď:'Dcaron',ď:'dcaron',Д:'Dcy',д:'dcy','⇊':'ddarr',ⅆ:'dd','⤑':'DDotrahd','⩷':'eDDot','°':'deg','∇':'Del',Δ:'Delta',δ:'delta','⦱':'demptyv','⥿':'dfisht','𝔇':'Dfr','𝔡':'dfr','⥥':'dHar','⇃':'dharl','⇂':'dharr','˙':'dot','`':'grave','˜':'tilde','⋄':'diam','♦':'diams','¨':'die',ϝ:'gammad','⋲':'disin','÷':'div','⋇':'divonx',Ђ:'DJcy',ђ:'djcy','⌞':'dlcorn','⌍':'dlcrop',$:'dollar','𝔻':'Dopf','𝕕':'dopf','⃜':'DotDot','≐':'doteq','≑':'eDot','∸':'minusd','∔':'plusdo','⊡':'sdotb','⇐':'lArr','⇔':'iff','⟸':'xlArr','⟺':'xhArr','⟹':'xrArr','⇒':'rArr','⊨':'vDash','⇑':'uArr','⇕':'vArr','∥':'par','⤓':'DownArrowBar','⇵':'duarr','̑':'DownBreve','⥐':'DownLeftRightVector','⥞':'DownLeftTeeVector','⥖':'DownLeftVectorBar','↽':'lhard','⥟':'DownRightTeeVector','⥗':'DownRightVectorBar','⇁':'rhard','↧':'mapstodown','⊤':'top','⤐':'RBarr','⌟':'drcorn','⌌':'drcrop','𝒟':'Dscr','𝒹':'dscr',Ѕ:'DScy',ѕ:'dscy','⧶':'dsol',Đ:'Dstrok',đ:'dstrok','⋱':'dtdot','▿':'dtri','⥯':'duhar','⦦':'dwangle',Џ:'DZcy',џ:'dzcy','⟿':'dzigrarr',É:'Eacute',é:'eacute','⩮':'easter',Ě:'Ecaron',ě:'ecaron',Ê:'Ecirc',ê:'ecirc','≖':'ecir','≕':'ecolon',Э:'Ecy',э:'ecy',Ė:'Edot',ė:'edot',ⅇ:'ee','≒':'efDot','𝔈':'Efr','𝔢':'efr','⪚':'eg',È:'Egrave',è:'egrave','⪖':'egs','⪘':'egsdot','⪙':'el','∈':'in','⏧':'elinters',ℓ:'ell','⪕':'els','⪗':'elsdot',Ē:'Emacr',ē:'emacr','∅':'empty','◻':'EmptySmallSquare','▫':'EmptyVerySmallSquare',' ':'emsp13',' ':'emsp14',' ':'emsp',Ŋ:'ENG',ŋ:'eng',' ':'ensp',Ę:'Eogon',ę:'eogon','𝔼':'Eopf','𝕖':'eopf','⋕':'epar','⧣':'eparsl','⩱':'eplus',ε:'epsi',Ε:'Epsilon',ϵ:'epsiv','≂':'esim','⩵':'Equal','=':'equals','≟':'equest','⇌':'rlhar','⩸':'equivDD','⧥':'eqvparsl','⥱':'erarr','≓':'erDot',ℯ:'escr',ℰ:'Escr','⩳':'Esim',Η:'Eta',η:'eta',Ð:'ETH',ð:'eth',Ë:'Euml',ë:'euml','€':'euro','!':'excl','∃':'exist',Ф:'Fcy',ф:'fcy','♀':'female',ffi:'ffilig',ff:'fflig',ffl:'ffllig','𝔉':'Ffr','𝔣':'ffr',fi:'filig','◼':'FilledSmallSquare',fj:'fjlig','♭':'flat',fl:'fllig','▱':'fltns',ƒ:'fnof','𝔽':'Fopf','𝕗':'fopf','∀':'forall','⋔':'fork','⫙':'forkv',ℱ:'Fscr','⨍':'fpartint','½':'half','⅓':'frac13','¼':'frac14','⅕':'frac15','⅙':'frac16','⅛':'frac18','⅔':'frac23','⅖':'frac25','¾':'frac34','⅗':'frac35','⅜':'frac38','⅘':'frac45','⅚':'frac56','⅝':'frac58','⅞':'frac78','⁄':'frasl','⌢':'frown','𝒻':'fscr',ǵ:'gacute',Γ:'Gamma',γ:'gamma',Ϝ:'Gammad','⪆':'gap',Ğ:'Gbreve',ğ:'gbreve',Ģ:'Gcedil',Ĝ:'Gcirc',ĝ:'gcirc',Г:'Gcy',г:'gcy',Ġ:'Gdot',ġ:'gdot','≥':'ge','≧':'gE','⪌':'gEl','⋛':'gel','⩾':'ges','⪩':'gescc','⪀':'gesdot','⪂':'gesdoto','⪄':'gesdotol','⋛︀':'gesl','⪔':'gesles','𝔊':'Gfr','𝔤':'gfr','≫':'gg','⋙':'Gg',ℷ:'gimel',Ѓ:'GJcy',ѓ:'gjcy','⪥':'gla','≷':'gl','⪒':'glE','⪤':'glj','⪊':'gnap','⪈':'gne','≩':'gnE','⋧':'gnsim','𝔾':'Gopf','𝕘':'gopf','⪢':'GreaterGreater','≳':'gsim','𝒢':'Gscr',ℊ:'gscr','⪎':'gsime','⪐':'gsiml','⪧':'gtcc','⩺':'gtcir','>':'gt','⋗':'gtdot','⦕':'gtlPar','⩼':'gtquest','⥸':'gtrarr','≩︀':'gvnE',' ':'hairsp',ℋ:'Hscr',Ъ:'HARDcy',ъ:'hardcy','⥈':'harrcir','↔':'harr','↭':'harrw','^':'Hat',ℏ:'hbar',Ĥ:'Hcirc',ĥ:'hcirc','♥':'hearts','…':'mldr','⊹':'hercon','𝔥':'hfr',ℌ:'Hfr','⤥':'searhk','⤦':'swarhk','⇿':'hoarr','∻':'homtht','↩':'larrhk','↪':'rarrhk','𝕙':'hopf',ℍ:'Hopf','―':'horbar','𝒽':'hscr',Ħ:'Hstrok',ħ:'hstrok','⁃':'hybull',Í:'Iacute',í:'iacute','⁣':'ic',Î:'Icirc',î:'icirc',И:'Icy',и:'icy',İ:'Idot',Е:'IEcy',е:'iecy','¡':'iexcl','𝔦':'ifr',ℑ:'Im',Ì:'Igrave',ì:'igrave',ⅈ:'ii','⨌':'qint','∭':'tint','⧜':'iinfin','℩':'iiota',IJ:'IJlig',ij:'ijlig',Ī:'Imacr',ī:'imacr',ℐ:'Iscr',ı:'imath','⊷':'imof',Ƶ:'imped','℅':'incare','∞':'infin','⧝':'infintie','⊺':'intcal','∫':'int','∬':'Int',ℤ:'Zopf','⨗':'intlarhk','⨼':'iprod','⁢':'it',Ё:'IOcy',ё:'iocy',Į:'Iogon',į:'iogon','𝕀':'Iopf','𝕚':'iopf',Ι:'Iota',ι:'iota','¿':'iquest','𝒾':'iscr','⋵':'isindot','⋹':'isinE','⋴':'isins','⋳':'isinsv',Ĩ:'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',ℒ:'Lscr',Λ:'Lambda',λ:'lambda','⟨':'lang','⟪':'Lang','⦑':'langd','⪅':'lap','«':'laquo','⇤':'larrb','⤟':'larrbfs','←':'larr','↞':'Larr','⤝':'larrfs','↫':'larrlp','⤹':'larrpl','⥳':'larrsim','↢':'larrtl','⤙':'latail','⤛':'lAtail','⪫':'lat','⪭':'late','⪭︀':'lates','⤌':'lbarr','⤎':'lBarr','❲':'lbbrk','{':'lcub','[':'lsqb','⦋':'lbrke','⦏':'lbrksld','⦍':'lbrkslu',Ľ:'Lcaron',ľ:'lcaron',Ļ:'Lcedil',ļ:'lcedil','⌈':'lceil',Л:'Lcy',л:'lcy','⤶':'ldca','“':'ldquo','⥧':'ldrdhar','⥋':'ldrushar','↲':'ldsh','≤':'le','≦':'lE','⇆':'lrarr','⟦':'lobrk','⥡':'LeftDownTeeVector','⥙':'LeftDownVectorBar','⌊':'lfloor','↼':'lharu','⇇':'llarr','⇋':'lrhar','⥎':'LeftRightVector','↤':'mapstoleft','⥚':'LeftTeeVector','⋋':'lthree','⧏':'LeftTriangleBar','⊲':'vltri','⊴':'ltrie','⥑':'LeftUpDownVector','⥠':'LeftUpTeeVector','⥘':'LeftUpVectorBar','↿':'uharl','⥒':'LeftVectorBar','⪋':'lEg','⋚':'leg','⩽':'les','⪨':'lescc','⩿':'lesdot','⪁':'lesdoto','⪃':'lesdotor','⋚︀':'lesg','⪓':'lesges','⋖':'ltdot','≶':'lg','⪡':'LessLess','≲':'lsim','⥼':'lfisht','𝔏':'Lfr','𝔩':'lfr','⪑':'lgE','⥢':'lHar','⥪':'lharul','▄':'lhblk',Љ:'LJcy',љ:'ljcy','≪':'ll','⋘':'Ll','⥫':'llhard','◺':'lltri',Ŀ:'Lmidot',ŀ:'lmidot','⎰':'lmoust','⪉':'lnap','⪇':'lne','≨':'lnE','⋦':'lnsim','⟬':'loang','⇽':'loarr','⟵':'xlarr','⟷':'xharr','⟼':'xmap','⟶':'xrarr','↬':'rarrlp','⦅':'lopar','𝕃':'Lopf','𝕝':'lopf','⨭':'loplus','⨴':'lotimes','∗':'lowast',_:'lowbar','↙':'swarr','↘':'searr','◊':'loz','(':'lpar','⦓':'lparlt','⥭':'lrhard','‎':'lrm','⊿':'lrtri','‹':'lsaquo','𝓁':'lscr','↰':'lsh','⪍':'lsime','⪏':'lsimg','‘':'lsquo','‚':'sbquo',Ł:'Lstrok',ł:'lstrok','⪦':'ltcc','⩹':'ltcir','<':'lt','⋉':'ltimes','⥶':'ltlarr','⩻':'ltquest','◃':'ltri','⦖':'ltrPar','⥊':'lurdshar','⥦':'luruhar','≨︀':'lvnE','¯':'macr','♂':'male','✠':'malt','⤅':'Map','↦':'map','↥':'mapstoup','▮':'marker','⨩':'mcomma',М:'Mcy',м:'mcy','—':'mdash','∺':'mDDot',' ':'MediumSpace',ℳ:'Mscr','𝔐':'Mfr','𝔪':'mfr','℧':'mho',µ:'micro','⫰':'midcir','∣':'mid','−':'minus','⨪':'minusdu','∓':'mp','⫛':'mlcp','⊧':'models','𝕄':'Mopf','𝕞':'mopf','𝓂':'mscr',Μ:'Mu',μ:'mu','⊸':'mumap',Ń:'Nacute',ń:'nacute','∠⃒':'nang','≉':'nap','⩰̸':'napE','≋̸':'napid',ʼn:'napos','♮':'natur',ℕ:'Nopf',' ':'nbsp','≎̸':'nbump','≏̸':'nbumpe','⩃':'ncap',Ň:'Ncaron',ň:'ncaron',Ņ:'Ncedil',ņ:'ncedil','≇':'ncong','⩭̸':'ncongdot','⩂':'ncup',Н:'Ncy',н:'ncy','–':'ndash','⤤':'nearhk','↗':'nearr','⇗':'neArr','≠':'ne','≐̸':'nedot','​':'ZeroWidthSpace','≢':'nequiv','⤨':'toea','≂̸':'nesim','\n':'NewLine','∄':'nexist','𝔑':'Nfr','𝔫':'nfr','≧̸':'ngE','≱':'nge','⩾̸':'nges','⋙̸':'nGg','≵':'ngsim','≫⃒':'nGt','≯':'ngt','≫̸':'nGtv','↮':'nharr','⇎':'nhArr','⫲':'nhpar','∋':'ni','⋼':'nis','⋺':'nisd',Њ:'NJcy',њ:'njcy','↚':'nlarr','⇍':'nlArr','‥':'nldr','≦̸':'nlE','≰':'nle','⩽̸':'nles','≮':'nlt','⋘̸':'nLl','≴':'nlsim','≪⃒':'nLt','⋪':'nltri','⋬':'nltrie','≪̸':'nLtv','∤':'nmid','⁠':'NoBreak','𝕟':'nopf','⫬':'Not','¬':'not','≭':'NotCupCap','∦':'npar','∉':'notin','≹':'ntgl','⋵̸':'notindot','⋹̸':'notinE','⋷':'notinvb','⋶':'notinvc','⧏̸':'NotLeftTriangleBar','≸':'ntlg','⪢̸':'NotNestedGreaterGreater','⪡̸':'NotNestedLessLess','∌':'notni','⋾':'notnivb','⋽':'notnivc','⊀':'npr','⪯̸':'npre','⋠':'nprcue','⧐̸':'NotRightTriangleBar','⋫':'nrtri','⋭':'nrtrie','⊏̸':'NotSquareSubset','⋢':'nsqsube','⊐̸':'NotSquareSuperset','⋣':'nsqsupe','⊂⃒':'vnsub','⊈':'nsube','⊁':'nsc','⪰̸':'nsce','⋡':'nsccue','≿̸':'NotSucceedsTilde','⊃⃒':'vnsup','⊉':'nsupe','≁':'nsim','≄':'nsime','⫽⃥':'nparsl','∂̸':'npart','⨔':'npolint','⤳̸':'nrarrc','↛':'nrarr','⇏':'nrArr','↝̸':'nrarrw','𝒩':'Nscr','𝓃':'nscr','⊄':'nsub','⫅̸':'nsubE','⊅':'nsup','⫆̸':'nsupE',Ñ:'Ntilde',ñ:'ntilde',Ν:'Nu',ν:'nu','#':'num','№':'numero',' ':'numsp','≍⃒':'nvap','⊬':'nvdash','⊭':'nvDash','⊮':'nVdash','⊯':'nVDash','≥⃒':'nvge','>⃒':'nvgt','⤄':'nvHarr','⧞':'nvinfin','⤂':'nvlArr','≤⃒':'nvle','<⃒':'nvlt','⊴⃒':'nvltrie','⤃':'nvrArr','⊵⃒':'nvrtrie','∼⃒':'nvsim','⤣':'nwarhk','↖':'nwarr','⇖':'nwArr','⤧':'nwnear',Ó:'Oacute',ó:'oacute',Ô:'Ocirc',ô:'ocirc',О:'Ocy',о:'ocy',Ő:'Odblac',ő:'odblac','⨸':'odiv','⦼':'odsold',Œ:'OElig',œ:'oelig','⦿':'ofcir','𝔒':'Ofr','𝔬':'ofr','˛':'ogon',Ò:'Ograve',ò:'ograve','⧁':'ogt','⦵':'ohbar',Ω:'ohm','⦾':'olcir','⦻':'olcross','‾':'oline','⧀':'olt',Ō:'Omacr',ō:'omacr',ω:'omega',Ο:'Omicron',ο:'omicron','⦶':'omid','𝕆':'Oopf','𝕠':'oopf','⦷':'opar','⦹':'operp','⩔':'Or','∨':'or','⩝':'ord',ℴ:'oscr',ª:'ordf',º:'ordm','⊶':'origof','⩖':'oror','⩗':'orslope','⩛':'orv','𝒪':'Oscr',Ø:'Oslash',ø:'oslash','⊘':'osol',Õ:'Otilde',õ:'otilde','⨶':'otimesas','⨷':'Otimes',Ö:'Ouml',ö:'ouml','⌽':'ovbar','⏞':'OverBrace','⎴':'tbrk','⏜':'OverParenthesis','¶':'para','⫳':'parsim','⫽':'parsl','∂':'part',П:'Pcy',п:'pcy','%':'percnt','.':'period','‰':'permil','‱':'pertenk','𝔓':'Pfr','𝔭':'pfr',Φ:'Phi',φ:'phi',ϕ:'phiv','☎':'phone',Π:'Pi',π:'pi',ϖ:'piv',ℎ:'planckh','⨣':'plusacir','⨢':'pluscir','+':'plus','⨥':'plusdu','⩲':'pluse','±':'pm','⨦':'plussim','⨧':'plustwo','⨕':'pointint','𝕡':'popf',ℙ:'Popf','£':'pound','⪷':'prap','⪻':'Pr','≺':'pr','≼':'prcue','⪯':'pre','≾':'prsim','⪹':'prnap','⪵':'prnE','⋨':'prnsim','⪳':'prE','′':'prime','″':'Prime','∏':'prod','⌮':'profalar','⌒':'profline','⌓':'profsurf','∝':'prop','⊰':'prurel','𝒫':'Pscr','𝓅':'pscr',Ψ:'Psi',ψ:'psi',' ':'puncsp','𝔔':'Qfr','𝔮':'qfr','𝕢':'qopf',ℚ:'Qopf','⁗':'qprime','𝒬':'Qscr','𝓆':'qscr','⨖':'quatint','?':'quest','"':'quot','⇛':'rAarr','∽̱':'race',Ŕ:'Racute',ŕ:'racute','√':'Sqrt','⦳':'raemptyv','⟩':'rang','⟫':'Rang','⦒':'rangd','⦥':'range','»':'raquo','⥵':'rarrap','⇥':'rarrb','⤠':'rarrbfs','⤳':'rarrc','→':'rarr','↠':'Rarr','⤞':'rarrfs','⥅':'rarrpl','⥴':'rarrsim','⤖':'Rarrtl','↣':'rarrtl','↝':'rarrw','⤚':'ratail','⤜':'rAtail','∶':'ratio','❳':'rbbrk','}':'rcub',']':'rsqb','⦌':'rbrke','⦎':'rbrksld','⦐':'rbrkslu',Ř:'Rcaron',ř:'rcaron',Ŗ:'Rcedil',ŗ:'rcedil','⌉':'rceil',Р:'Rcy',р:'rcy','⤷':'rdca','⥩':'rdldhar','↳':'rdsh',ℜ:'Re',ℛ:'Rscr',ℝ:'Ropf','▭':'rect','⥽':'rfisht','⌋':'rfloor','𝔯':'rfr','⥤':'rHar','⇀':'rharu','⥬':'rharul',Ρ:'Rho',ρ:'rho',ϱ:'rhov','⇄':'rlarr','⟧':'robrk','⥝':'RightDownTeeVector','⥕':'RightDownVectorBar','⇉':'rrarr','⊢':'vdash','⥛':'RightTeeVector','⋌':'rthree','⧐':'RightTriangleBar','⊳':'vrtri','⊵':'rtrie','⥏':'RightUpDownVector','⥜':'RightUpTeeVector','⥔':'RightUpVectorBar','↾':'uharr','⥓':'RightVectorBar','˚':'ring','‏':'rlm','⎱':'rmoust','⫮':'rnmid','⟭':'roang','⇾':'roarr','⦆':'ropar','𝕣':'ropf','⨮':'roplus','⨵':'rotimes','⥰':'RoundImplies',')':'rpar','⦔':'rpargt','⨒':'rppolint','›':'rsaquo','𝓇':'rscr','↱':'rsh','⋊':'rtimes','▹':'rtri','⧎':'rtriltri','⧴':'RuleDelayed','⥨':'ruluhar','℞':'rx',Ś:'Sacute',ś:'sacute','⪸':'scap',Š:'Scaron',š:'scaron','⪼':'Sc','≻':'sc','≽':'sccue','⪰':'sce','⪴':'scE',Ş:'Scedil',ş:'scedil',Ŝ:'Scirc',ŝ:'scirc','⪺':'scnap','⪶':'scnE','⋩':'scnsim','⨓':'scpolint','≿':'scsim',С:'Scy',с:'scy','⋅':'sdot','⩦':'sdote','⇘':'seArr','§':'sect',';':'semi','⤩':'tosa','✶':'sext','𝔖':'Sfr','𝔰':'sfr','♯':'sharp',Щ:'SHCHcy',щ:'shchcy',Ш:'SHcy',ш:'shcy','↑':'uarr','­':'shy',Σ:'Sigma',σ:'sigma',ς:'sigmaf','∼':'sim','⩪':'simdot','≃':'sime','⪞':'simg','⪠':'simgE','⪝':'siml','⪟':'simlE','≆':'simne','⨤':'simplus','⥲':'simrarr','⨳':'smashp','⧤':'smeparsl','⌣':'smile','⪪':'smt','⪬':'smte','⪬︀':'smtes',Ь:'SOFTcy',ь:'softcy','⌿':'solbar','⧄':'solb','/':'sol','𝕊':'Sopf','𝕤':'sopf','♠':'spades','⊓':'sqcap','⊓︀':'sqcaps','⊔':'sqcup','⊔︀':'sqcups','⊏':'sqsub','⊑':'sqsube','⊐':'sqsup','⊒':'sqsupe','□':'squ','𝒮':'Sscr','𝓈':'sscr','⋆':'Star','☆':'star','⊂':'sub','⋐':'Sub','⪽':'subdot','⫅':'subE','⊆':'sube','⫃':'subedot','⫁':'submult','⫋':'subnE','⊊':'subne','⪿':'subplus','⥹':'subrarr','⫇':'subsim','⫕':'subsub','⫓':'subsup','∑':'sum','♪':'sung','¹':'sup1','²':'sup2','³':'sup3','⊃':'sup','⋑':'Sup','⪾':'supdot','⫘':'supdsub','⫆':'supE','⊇':'supe','⫄':'supedot','⟉':'suphsol','⫗':'suphsub','⥻':'suplarr','⫂':'supmult','⫌':'supnE','⊋':'supne','⫀':'supplus','⫈':'supsim','⫔':'supsub','⫖':'supsup','⇙':'swArr','⤪':'swnwar',ß:'szlig',' ':'Tab','⌖':'target',Τ:'Tau',τ:'tau',Ť:'Tcaron',ť:'tcaron',Ţ:'Tcedil',ţ:'tcedil',Т:'Tcy',т:'tcy','⃛':'tdot','⌕':'telrec','𝔗':'Tfr','𝔱':'tfr','∴':'there4',Θ:'Theta',θ:'theta',ϑ:'thetav','  ':'ThickSpace',' ':'thinsp',Þ:'THORN',þ:'thorn','⨱':'timesbar','×':'times','⨰':'timesd','⌶':'topbot','⫱':'topcir','𝕋':'Topf','𝕥':'topf','⫚':'topfork','‴':'tprime','™':'trade','▵':'utri','≜':'trie','◬':'tridot','⨺':'triminus','⨹':'triplus','⧍':'trisb','⨻':'tritime','⏢':'trpezium','𝒯':'Tscr','𝓉':'tscr',Ц:'TScy',ц:'tscy',Ћ:'TSHcy',ћ:'tshcy',Ŧ:'Tstrok',ŧ:'tstrok',Ú:'Uacute',ú:'uacute','↟':'Uarr','⥉':'Uarrocir',Ў:'Ubrcy',ў:'ubrcy',Ŭ:'Ubreve',ŭ:'ubreve',Û:'Ucirc',û:'ucirc',У:'Ucy',у:'ucy','⇅':'udarr',Ű:'Udblac',ű:'udblac','⥮':'udhar','⥾':'ufisht','𝔘':'Ufr','𝔲':'ufr',Ù:'Ugrave',ù:'ugrave','⥣':'uHar','▀':'uhblk','⌜':'ulcorn','⌏':'ulcrop','◸':'ultri',Ū:'Umacr',ū:'umacr','⏟':'UnderBrace','⏝':'UnderParenthesis','⊎':'uplus',Ų:'Uogon',ų:'uogon','𝕌':'Uopf','𝕦':'uopf','⤒':'UpArrowBar','↕':'varr',υ:'upsi',ϒ:'Upsi',Υ:'Upsilon','⇈':'uuarr','⌝':'urcorn','⌎':'urcrop',Ů:'Uring',ů:'uring','◹':'urtri','𝒰':'Uscr','𝓊':'uscr','⋰':'utdot',Ũ:'Utilde',ũ:'utilde',Ü:'Uuml',ü:'uuml','⦧':'uwangle','⦜':'vangrt','⊊︀':'vsubne','⫋︀':'vsubnE','⊋︀':'vsupne','⫌︀':'vsupnE','⫨':'vBar','⫫':'Vbar','⫩':'vBarv',В:'Vcy',в:'vcy','⊩':'Vdash','⊫':'VDash','⫦':'Vdashl','⊻':'veebar','≚':'veeeq','⋮':'vellip','|':'vert','‖':'Vert','❘':'VerticalSeparator','≀':'wr','𝔙':'Vfr','𝔳':'vfr','𝕍':'Vopf','𝕧':'vopf','𝒱':'Vscr','𝓋':'vscr','⊪':'Vvdash','⦚':'vzigzag',Ŵ:'Wcirc',ŵ:'wcirc','⩟':'wedbar','≙':'wedgeq','℘':'wp','𝔚':'Wfr','𝔴':'wfr','𝕎':'Wopf','𝕨':'wopf','𝒲':'Wscr','𝓌':'wscr','𝔛':'Xfr','𝔵':'xfr',Ξ:'Xi',ξ:'xi','⋻':'xnis','𝕏':'Xopf','𝕩':'xopf','𝒳':'Xscr','𝓍':'xscr',Ý:'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',ℨ:'Zfr',Ζ:'Zeta',ζ:'zeta','𝔷':'zfr',Ж:'ZHcy',ж:'zhcy','⇝':'zigrarr','𝕫':'zopf','𝒵':'Zscr','𝓏':'zscr','‍':'zwj','‌':'zwnj'},o=/["&'<>`]/g,C={'"':'"','&':'&',"'":''','<':'<','>':'>','`':'`'},D=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,E=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,F=/&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+);|&(Aacute|iacute|Uacute|plusmn|otilde|Otilde|Agrave|agrave|yacute|Yacute|oslash|Oslash|Atilde|atilde|brvbar|Ccedil|ccedil|ograve|curren|divide|Eacute|eacute|Ograve|oacute|Egrave|egrave|ugrave|frac12|frac14|frac34|Ugrave|Oacute|Iacute|ntilde|Ntilde|uacute|middot|Igrave|igrave|iquest|aacute|laquo|THORN|micro|iexcl|icirc|Icirc|Acirc|ucirc|ecirc|Ocirc|ocirc|Ecirc|Ucirc|aring|Aring|aelig|AElig|acute|pound|raquo|acirc|times|thorn|szlig|cedil|COPY|Auml|ordf|ordm|uuml|macr|Uuml|auml|Ouml|ouml|para|nbsp|Euml|quot|QUOT|euml|yuml|cent|sect|copy|sup1|sup2|sup3|Iuml|iuml|shy|eth|reg|not|yen|amp|AMP|REG|uml|ETH|deg|gt|GT|LT|lt)([=a-zA-Z0-9])?/g,s={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:'‌'},J={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:'ÿ'},r={0:'�',128:'€',130:'‚',131:'ƒ',132:'„',133:'…',134:'†',135:'‡',136:'ˆ',137:'‰',138:'Š',139:'‹',140:'Œ',142:'Ž',145:'‘',146:'’',147:'“',148:'”',149:'•',150:'–',151:'—',152:'˜',153:'™',154:'š',155:'›',156:'œ',158:'ž',159:'Ÿ'},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],v=String.fromCharCode,y={},z=y.hasOwnProperty,i=function(a,b){return z.call(a,b)},B=function(b,d){var a=-1,c=b.length;while(++a=55296&&a<=57343||a>1114111?(c&&e('character reference outside the permissible Unicode range'),'�'):i(r,a)?(c&&e('disallowed character reference'),r[a]):(c&&B(w,a)&&e('disallowed character reference'),a>65535&&(a-=65536,b+=v(a>>>10&1023|55296),a=56320|a&1023),b+=v(a),b)},m=function(a){return'&#x'+a.charCodeAt(0).toString(16).toUpperCase()+';'},e=function(a){throw Error('Parse error: '+a)},l=function(a,b){b=p(b,l.options);var f=b.strict;f&&E.test(a)&&e('forbidden code point');var g=b.encodeEverything,c=b.useNamedReferences,d=b.allowUnsafeSymbols;return g?(a=a.replace(A,function(a){return c&&i(h,a)?'&'+h[a]+';':m(a)}),c&&(a=a.replace(/>\u20D2/g,'>⃒').replace(/<\u20D2/g,'<⃒').replace(/fj/g,'fj')),c&&(a=a.replace(t,function(a){return'&'+h[a]+';'}))):c?(d||(a=a.replace(o,function(a){return'&'+h[a]+';'})),a=a.replace(/>\u20D2/g,'>⃒').replace(/<\u20D2/g,'<⃒'),a=a.replace(t,function(a){return'&'+h[a]+';'})):d||(a=a.replace(o,m)),a.replace(x,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1),d=(b-55296)*1024+c-56320+65536;return'&#x'+d.toString(16).toUpperCase()+';'}).replace(G,m)},l.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1},j=function(c,b){b=p(b,j.options);var a=b.strict;return a&&D.test(c)&&e('malformed character reference'),c.replace(F,function(l,h,o,j,n,k,p,r){var f,g,m,c,d;return h?(f=h,g=o,a&&!g&&e('character reference was not terminated by a semicolon'),q(f,a)):j?(m=j,g=n,a&&!g&&e('character reference was not terminated by a semicolon'),f=parseInt(m,16),q(f,a)):k?(c=k,i(s,c)?s[c]:(a&&e('named character reference was not terminated by a semicolon'),l)):(c=p,d=r,d&&b.isAttributeValue?(a&&d=='='&&e('`&` did not start a character reference'),l):(a&&e('named character reference was not terminated by a semicolon'),J[c]+(d||'')))})},j.options={isAttributeValue:!1,strict:!1},I=function(a){return a.replace(o,function(a){return C[a]})},f={version:'0.5.0',encode:l,decode:j,escape:I,unescape:j},typeof a=='function'&&typeof a.amd=='object'&&a.amd)a(function(){return f});else if(k&&!k.nodeType)if(u)u.exports=f;else for(n in f)i(f,n)&&(k[n]=f[n]);else H.he=f}(this)}.call(this,typeof global!=='undefined'?global:typeof self!=='undefined'?self:typeof window!=='undefined'?window:{}))},{}],16:[function(c,a,d){'use strict';function b(b,d){var a=0,c=0,e=-1,f;if(b=String(b),f=b.length,typeof d!=='string'||d.length!==1)throw new Error('Expected character');while(++ec&&(c=a)):a=0;return c}a.exports=b},{}],17:[function(s,r,t){'use strict';function q(a){return String(a).length}function b(b,c){return Array(b+1).join(c||a)}function l(b){var a=o.exec(b);return a?a.index+1:b.length}function p(J,M){var z=M||{},D=z.delimiter,C=z.start,B=z.end,s=z.align,G=z.stringLength||q,w=0,r=-1,E=J.length,u=[],v,H,A,y,x,o,t,F,p,L,K,I;s=s?s.concat():[],(D===null||D===undefined)&&(D=a+d+a),(C===null||C===undefined)&&(C=d+a),(B===null||B===undefined)&&(B=a+d);while(++rw&&(w=y.length);while(++ou[o]&&(u[o]=t)}typeof s==='string'&&(s=b(w,s).split('')),o=-1;while(++ou[o]&&(u[o]=F)}r=-1;while(++ra.length&&d>0){if(d&1&&(a+=c),d>>=1,!d)break;c+=c}return a.substr(0,e)}c.exports=d;var a='',b},{}],19:[function(d,b,e){'use strict';function c(b){var c;b=String(b),c=b.length;while(b.charAt(--c)===a);return b.slice(0,c+1)}var a='\n';b.exports=c},{}],20:[function(d,b,a){function c(a){return a.replace(/^\s*|\s*$/g,'')}a=b.exports=c,a.left=function(a){return a.replace(/^\s*/,'')},a.right=function(a){return a.replace(/\s*$/,'')}},{}],21:[function(b,i,j){'use strict';function h(i){function b(c){var a=this;if(!(a instanceof b))return new b(c);a.ware=new g(c&&c.ware),a.ware.context=a,a.Parser=d(k),a.Compiler=d(l)}function m(a){return a instanceof b?a:new b}function o(){var a=m(this);return a.ware.use.apply(a.ware,arguments),a}function p(b,d,f){var g=this,h;if(typeof d==='function'&&(f=d,d=null),!d&&b&&!b.type&&(d=b,b=null),d=new a(d),h=d.namespace(j),b?h[e]||(h[e]=b):b=h[e]||b,!b)throw new Error('Expected node, got '+b);return f=typeof f==='function'?f:c,g.ware&&g.ware.fns?g.ware.run(b,d,f):f(null,b,d),b}function q(f,g){var b=new a(f),d=this&&this.Parser||k,c=new d(b,g).parse();return b.namespace(j)[e]=c,c}function r(b,c,d){var g=this&&this.Compiler||l,f;if((d===null||d===undefined)&&(d=c,c=null),!c&&b&&!b.type&&(c=b,b=null),c=new a(c),f=c.namespace(j),b?f[e]||(f[e]=b):b=f[e]||b,!b)throw new Error('Expected node, got '+b);return new g(c,d).compile()}function n(i,b,e){var h=m(this),g=new a(i),d=null;return typeof b==='function'&&(e=b,b=null),f.run({context:h,file:g,settings:b||{}},function(a,b){d=b&&b.result,e?e(a,g,d):a&&c(a)}),d}var j=i.name,e=i.type,k=i.Parser,l=i.Compiler,h=b.prototype;return b.use=h.use=o,b.parse=h.parse=q,b.run=h.run=p,b.stringify=h.stringify=r,b.process=h.process=n,b}var c=b('bail'),e=b('ware'),g=b('attach-ware')(e),a=b('vfile'),d=b('unherit'),f=e().use(function(a){a.tree=a.context.parse(a.file,a.settings)}).use(function(a,b){a.context.run(a.tree,a.file,b)}).use(function(a){a.result=a.context.stringify(a.tree,a.file,a.settings)});i.exports=h},{'attach-ware':22,bail:23,unherit:24,vfile:29,ware:26}],22:[function(c,d,f){'use strict';function e(d){function f(f){var b=this,g=a.call(arguments,1),h,j,i;if(f instanceof c)return f.attachers?b.use(f.attachers):b;if(f instanceof d)return b.fns=b.fns.concat(f.fns),b;if('length'in f&&typeof f!=='function'){h=-1,j=f.length;while(++ha.length)try{return e.apply(h,a.concat(c))}catch(a){return c(a)}return g(e)?b(e).apply(h,a.concat(c)):d(e,c).apply(h,a)}}function d(b,a){return function(){var c;try{c=b.apply(this,arguments)}catch(b){return a(b)}h(c)?c.then(function(b){a(null,b)},a):c instanceof Error?a(c):a(null,c)}}function g(a){return a&&a.constructor&&'GeneratorFunction'==a.constructor.name}function h(a){return a&&'function'==typeof a.then}function i(b){return function(){var c=b.apply(this,arguments);return b=a,c}}var a=function(){},b=f('co');c.exports=e},{co:28}],28:[function(l,k,m){function b(b){var f=e(b);return function(h){function k(a,b){setImmediate(function(){h.call(e,a,b)})}function i(f,g){var b;if(arguments.length>2&&(g=a.call(arguments,1)),f)try{b=j.throw(f)}catch(a){return k(a)}if(!f)try{b=j.next(g)}catch(a){return k(a)}if(b.done)return k(null,b.value);if(b.value=d(b.value,e),'function'==typeof b.value){var c=!1;try{b.value.call(e,function(){if(c)return;c=!0,i.apply(e,arguments)})}catch(a){setImmediate(function(){if(c)return;c=!0,i(a)})}return}i(new TypeError('You may only yield a function, promise, generator, array, or object, but the following was passed: "'+String(b.value)+'"'))}var e=this,j=b;if(f){var g=a.call(arguments),l=g.length,m=l&&'function'==typeof g[l-1];h=m?g.pop():c,j=b.apply(this,g)}else h=h||c;i()}}function d(a,c){return e(a)?b(a.call(c)):j(a)?b(a):i(a)?f(a):'function'==typeof a?a:h(a)||Array.isArray(a)?g.call(c,a):a}function g(a){var b=this,c=Array.isArray(a);return function(i){function k(a,c){if(j)return;try{if(a=d(a,b),'function'!=typeof a)return f[c]=a,--h||i(null,f);a.call(b,function(a,b){if(j)return;if(a)return j=!0,i(a);f[c]=b,--h||i(null,f)})}catch(a){j=!0,i(a)}}var g=Object.keys(a),h=g.length,f=c?new Array(h):new a.constructor,j;if(!h){setImmediate(function(){i(null,f)});return}if(!c)for(var e=0;e