Module: RedQuilt::Inline
- Defined in:
- lib/red_quilt/inline.rb,
lib/red_quilt/inline/lexer.rb,
lib/red_quilt/inline/tokens.rb,
lib/red_quilt/inline/builder.rb,
lib/red_quilt/inline/flanking.rb,
lib/red_quilt/inline/token_kind.rb,
lib/red_quilt/inline/link_scanner.rb,
lib/red_quilt/inline/html_entities.rb
Overview
Home of the inline-parsing namespace. Sub-components (Lexer, Builder, Tokens, Flanking, …) live under lib/red_quilt/inline/. Module-level shared primitives that several of them need live here.
Defined Under Namespace
Modules: Flanking, TokenKind Classes: Builder, Lexer, LinkScanner, Tokens
Constant Summary collapse
- ASCII_PUNCT =
CommonMark ASCII punctuation: the four byte ranges 0x21-0x2F, 0x3A-0x40, 0x5B-0x60, 0x7B-0x7E. Used for backslash-escape recognition (lexer, builder) and flanking-run boundary detection (flanking). A frozen 256-entry lookup table keeps the hot-path check to a single array index.
begin a = Array.new(256, false) (0x21..0x2F).each { |b| a[b] = true } (0x3A..0x40).each { |b| a[b] = true } (0x5B..0x60).each { |b| a[b] = true } (0x7B..0x7E).each { |b| a[b] = true } a.freeze end
- BYTE_CHR =
Frozen single-byte strings indexed by byte value, so hot paths that need the 1-char string for a byte (flanking classification, delimiter run chars) can reuse a shared object instead of allocating via Integer#chr on every call. Semantics match ‘byte.chr` exactly.
Array.new(256) { |b| b.chr.freeze }.freeze
- HTML_ENTITIES =
HTML5 named character references (terminated form, i.e. ‘&name;`). Auto-generated from html.spec.whatwg.org/entities.json.
{ "AElig" => "\xC3\x86".b.freeze, "AMP" => "\x26".b.freeze, "Aacute" => "\xC3\x81".b.freeze, "Abreve" => "\xC4\x82".b.freeze, "Acirc" => "\xC3\x82".b.freeze, "Acy" => "\xD0\x90".b.freeze, "Afr" => "\xF0\x9D\x94\x84".b.freeze, "Agrave" => "\xC3\x80".b.freeze, "Alpha" => "\xCE\x91".b.freeze, "Amacr" => "\xC4\x80".b.freeze, "And" => "\xE2\xA9\x93".b.freeze, "Aogon" => "\xC4\x84".b.freeze, "Aopf" => "\xF0\x9D\x94\xB8".b.freeze, "ApplyFunction" => "\xE2\x81\xA1".b.freeze, "Aring" => "\xC3\x85".b.freeze, "Ascr" => "\xF0\x9D\x92\x9C".b.freeze, "Assign" => "\xE2\x89\x94".b.freeze, "Atilde" => "\xC3\x83".b.freeze, "Auml" => "\xC3\x84".b.freeze, "Backslash" => "\xE2\x88\x96".b.freeze, "Barv" => "\xE2\xAB\xA7".b.freeze, "Barwed" => "\xE2\x8C\x86".b.freeze, "Bcy" => "\xD0\x91".b.freeze, "Because" => "\xE2\x88\xB5".b.freeze, "Bernoullis" => "\xE2\x84\xAC".b.freeze, "Beta" => "\xCE\x92".b.freeze, "Bfr" => "\xF0\x9D\x94\x85".b.freeze, "Bopf" => "\xF0\x9D\x94\xB9".b.freeze, "Breve" => "\xCB\x98".b.freeze, "Bscr" => "\xE2\x84\xAC".b.freeze, "Bumpeq" => "\xE2\x89\x8E".b.freeze, "CHcy" => "\xD0\xA7".b.freeze, "COPY" => "\xC2\xA9".b.freeze, "Cacute" => "\xC4\x86".b.freeze, "Cap" => "\xE2\x8B\x92".b.freeze, "CapitalDifferentialD" => "\xE2\x85\x85".b.freeze, "Cayleys" => "\xE2\x84\xAD".b.freeze, "Ccaron" => "\xC4\x8C".b.freeze, "Ccedil" => "\xC3\x87".b.freeze, "Ccirc" => "\xC4\x88".b.freeze, "Cconint" => "\xE2\x88\xB0".b.freeze, "Cdot" => "\xC4\x8A".b.freeze, "Cedilla" => "\xC2\xB8".b.freeze, "CenterDot" => "\xC2\xB7".b.freeze, "Cfr" => "\xE2\x84\xAD".b.freeze, "Chi" => "\xCE\xA7".b.freeze, "CircleDot" => "\xE2\x8A\x99".b.freeze, "CircleMinus" => "\xE2\x8A\x96".b.freeze, "CirclePlus" => "\xE2\x8A\x95".b.freeze, "CircleTimes" => "\xE2\x8A\x97".b.freeze, "ClockwiseContourIntegral" => "\xE2\x88\xB2".b.freeze, "CloseCurlyDoubleQuote" => "\xE2\x80\x9D".b.freeze, "CloseCurlyQuote" => "\xE2\x80\x99".b.freeze, "Colon" => "\xE2\x88\xB7".b.freeze, "Colone" => "\xE2\xA9\xB4".b.freeze, "Congruent" => "\xE2\x89\xA1".b.freeze, "Conint" => "\xE2\x88\xAF".b.freeze, "ContourIntegral" => "\xE2\x88\xAE".b.freeze, "Copf" => "\xE2\x84\x82".b.freeze, "Coproduct" => "\xE2\x88\x90".b.freeze, "CounterClockwiseContourIntegral" => "\xE2\x88\xB3".b.freeze, "Cross" => "\xE2\xA8\xAF".b.freeze, "Cscr" => "\xF0\x9D\x92\x9E".b.freeze, "Cup" => "\xE2\x8B\x93".b.freeze, "CupCap" => "\xE2\x89\x8D".b.freeze, "DD" => "\xE2\x85\x85".b.freeze, "DDotrahd" => "\xE2\xA4\x91".b.freeze, "DJcy" => "\xD0\x82".b.freeze, "DScy" => "\xD0\x85".b.freeze, "DZcy" => "\xD0\x8F".b.freeze, "Dagger" => "\xE2\x80\xA1".b.freeze, "Darr" => "\xE2\x86\xA1".b.freeze, "Dashv" => "\xE2\xAB\xA4".b.freeze, "Dcaron" => "\xC4\x8E".b.freeze, "Dcy" => "\xD0\x94".b.freeze, "Del" => "\xE2\x88\x87".b.freeze, "Delta" => "\xCE\x94".b.freeze, "Dfr" => "\xF0\x9D\x94\x87".b.freeze, "DiacriticalAcute" => "\xC2\xB4".b.freeze, "DiacriticalDot" => "\xCB\x99".b.freeze, "DiacriticalDoubleAcute" => "\xCB\x9D".b.freeze, "DiacriticalGrave" => "\x60".b.freeze, "DiacriticalTilde" => "\xCB\x9C".b.freeze, "Diamond" => "\xE2\x8B\x84".b.freeze, "DifferentialD" => "\xE2\x85\x86".b.freeze, "Dopf" => "\xF0\x9D\x94\xBB".b.freeze, "Dot" => "\xC2\xA8".b.freeze, "DotDot" => "\xE2\x83\x9C".b.freeze, "DotEqual" => "\xE2\x89\x90".b.freeze, "DoubleContourIntegral" => "\xE2\x88\xAF".b.freeze, "DoubleDot" => "\xC2\xA8".b.freeze, "DoubleDownArrow" => "\xE2\x87\x93".b.freeze, "DoubleLeftArrow" => "\xE2\x87\x90".b.freeze, "DoubleLeftRightArrow" => "\xE2\x87\x94".b.freeze, "DoubleLeftTee" => "\xE2\xAB\xA4".b.freeze, "DoubleLongLeftArrow" => "\xE2\x9F\xB8".b.freeze, "DoubleLongLeftRightArrow" => "\xE2\x9F\xBA".b.freeze, "DoubleLongRightArrow" => "\xE2\x9F\xB9".b.freeze, "DoubleRightArrow" => "\xE2\x87\x92".b.freeze, "DoubleRightTee" => "\xE2\x8A\xA8".b.freeze, "DoubleUpArrow" => "\xE2\x87\x91".b.freeze, "DoubleUpDownArrow" => "\xE2\x87\x95".b.freeze, "DoubleVerticalBar" => "\xE2\x88\xA5".b.freeze, "DownArrow" => "\xE2\x86\x93".b.freeze, "DownArrowBar" => "\xE2\xA4\x93".b.freeze, "DownArrowUpArrow" => "\xE2\x87\xB5".b.freeze, "DownBreve" => "\xCC\x91".b.freeze, "DownLeftRightVector" => "\xE2\xA5\x90".b.freeze, "DownLeftTeeVector" => "\xE2\xA5\x9E".b.freeze, "DownLeftVector" => "\xE2\x86\xBD".b.freeze, "DownLeftVectorBar" => "\xE2\xA5\x96".b.freeze, "DownRightTeeVector" => "\xE2\xA5\x9F".b.freeze, "DownRightVector" => "\xE2\x87\x81".b.freeze, "DownRightVectorBar" => "\xE2\xA5\x97".b.freeze, "DownTee" => "\xE2\x8A\xA4".b.freeze, "DownTeeArrow" => "\xE2\x86\xA7".b.freeze, "Downarrow" => "\xE2\x87\x93".b.freeze, "Dscr" => "\xF0\x9D\x92\x9F".b.freeze, "Dstrok" => "\xC4\x90".b.freeze, "ENG" => "\xC5\x8A".b.freeze, "ETH" => "\xC3\x90".b.freeze, "Eacute" => "\xC3\x89".b.freeze, "Ecaron" => "\xC4\x9A".b.freeze, "Ecirc" => "\xC3\x8A".b.freeze, "Ecy" => "\xD0\xAD".b.freeze, "Edot" => "\xC4\x96".b.freeze, "Efr" => "\xF0\x9D\x94\x88".b.freeze, "Egrave" => "\xC3\x88".b.freeze, "Element" => "\xE2\x88\x88".b.freeze, "Emacr" => "\xC4\x92".b.freeze, "EmptySmallSquare" => "\xE2\x97\xBB".b.freeze, "EmptyVerySmallSquare" => "\xE2\x96\xAB".b.freeze, "Eogon" => "\xC4\x98".b.freeze, "Eopf" => "\xF0\x9D\x94\xBC".b.freeze, "Epsilon" => "\xCE\x95".b.freeze, "Equal" => "\xE2\xA9\xB5".b.freeze, "EqualTilde" => "\xE2\x89\x82".b.freeze, "Equilibrium" => "\xE2\x87\x8C".b.freeze, "Escr" => "\xE2\x84\xB0".b.freeze, "Esim" => "\xE2\xA9\xB3".b.freeze, "Eta" => "\xCE\x97".b.freeze, "Euml" => "\xC3\x8B".b.freeze, "Exists" => "\xE2\x88\x83".b.freeze, "ExponentialE" => "\xE2\x85\x87".b.freeze, "Fcy" => "\xD0\xA4".b.freeze, "Ffr" => "\xF0\x9D\x94\x89".b.freeze, "FilledSmallSquare" => "\xE2\x97\xBC".b.freeze, "FilledVerySmallSquare" => "\xE2\x96\xAA".b.freeze, "Fopf" => "\xF0\x9D\x94\xBD".b.freeze, "ForAll" => "\xE2\x88\x80".b.freeze, "Fouriertrf" => "\xE2\x84\xB1".b.freeze, "Fscr" => "\xE2\x84\xB1".b.freeze, "GJcy" => "\xD0\x83".b.freeze, "GT" => "\x3E".b.freeze, "Gamma" => "\xCE\x93".b.freeze, "Gammad" => "\xCF\x9C".b.freeze, "Gbreve" => "\xC4\x9E".b.freeze, "Gcedil" => "\xC4\xA2".b.freeze, "Gcirc" => "\xC4\x9C".b.freeze, "Gcy" => "\xD0\x93".b.freeze, "Gdot" => "\xC4\xA0".b.freeze, "Gfr" => "\xF0\x9D\x94\x8A".b.freeze, "Gg" => "\xE2\x8B\x99".b.freeze, "Gopf" => "\xF0\x9D\x94\xBE".b.freeze, "GreaterEqual" => "\xE2\x89\xA5".b.freeze, "GreaterEqualLess" => "\xE2\x8B\x9B".b.freeze, "GreaterFullEqual" => "\xE2\x89\xA7".b.freeze, "GreaterGreater" => "\xE2\xAA\xA2".b.freeze, "GreaterLess" => "\xE2\x89\xB7".b.freeze, "GreaterSlantEqual" => "\xE2\xA9\xBE".b.freeze, "GreaterTilde" => "\xE2\x89\xB3".b.freeze, "Gscr" => "\xF0\x9D\x92\xA2".b.freeze, "Gt" => "\xE2\x89\xAB".b.freeze, "HARDcy" => "\xD0\xAA".b.freeze, "Hacek" => "\xCB\x87".b.freeze, "Hat" => "\x5E".b.freeze, "Hcirc" => "\xC4\xA4".b.freeze, "Hfr" => "\xE2\x84\x8C".b.freeze, "HilbertSpace" => "\xE2\x84\x8B".b.freeze, "Hopf" => "\xE2\x84\x8D".b.freeze, "HorizontalLine" => "\xE2\x94\x80".b.freeze, "Hscr" => "\xE2\x84\x8B".b.freeze, "Hstrok" => "\xC4\xA6".b.freeze, "HumpDownHump" => "\xE2\x89\x8E".b.freeze, "HumpEqual" => "\xE2\x89\x8F".b.freeze, "IEcy" => "\xD0\x95".b.freeze, "IJlig" => "\xC4\xB2".b.freeze, "IOcy" => "\xD0\x81".b.freeze, "Iacute" => "\xC3\x8D".b.freeze, "Icirc" => "\xC3\x8E".b.freeze, "Icy" => "\xD0\x98".b.freeze, "Idot" => "\xC4\xB0".b.freeze, "Ifr" => "\xE2\x84\x91".b.freeze, "Igrave" => "\xC3\x8C".b.freeze, "Im" => "\xE2\x84\x91".b.freeze, "Imacr" => "\xC4\xAA".b.freeze, "ImaginaryI" => "\xE2\x85\x88".b.freeze, "Implies" => "\xE2\x87\x92".b.freeze, "Int" => "\xE2\x88\xAC".b.freeze, "Integral" => "\xE2\x88\xAB".b.freeze, "Intersection" => "\xE2\x8B\x82".b.freeze, "InvisibleComma" => "\xE2\x81\xA3".b.freeze, "InvisibleTimes" => "\xE2\x81\xA2".b.freeze, "Iogon" => "\xC4\xAE".b.freeze, "Iopf" => "\xF0\x9D\x95\x80".b.freeze, "Iota" => "\xCE\x99".b.freeze, "Iscr" => "\xE2\x84\x90".b.freeze, "Itilde" => "\xC4\xA8".b.freeze, "Iukcy" => "\xD0\x86".b.freeze, "Iuml" => "\xC3\x8F".b.freeze, "Jcirc" => "\xC4\xB4".b.freeze, "Jcy" => "\xD0\x99".b.freeze, "Jfr" => "\xF0\x9D\x94\x8D".b.freeze, "Jopf" => "\xF0\x9D\x95\x81".b.freeze, "Jscr" => "\xF0\x9D\x92\xA5".b.freeze, "Jsercy" => "\xD0\x88".b.freeze, "Jukcy" => "\xD0\x84".b.freeze, "KHcy" => "\xD0\xA5".b.freeze, "KJcy" => "\xD0\x8C".b.freeze, "Kappa" => "\xCE\x9A".b.freeze, "Kcedil" => "\xC4\xB6".b.freeze, "Kcy" => "\xD0\x9A".b.freeze, "Kfr" => "\xF0\x9D\x94\x8E".b.freeze, "Kopf" => "\xF0\x9D\x95\x82".b.freeze, "Kscr" => "\xF0\x9D\x92\xA6".b.freeze, "LJcy" => "\xD0\x89".b.freeze, "LT" => "\x3C".b.freeze, "Lacute" => "\xC4\xB9".b.freeze, "Lambda" => "\xCE\x9B".b.freeze, "Lang" => "\xE2\x9F\xAA".b.freeze, "Laplacetrf" => "\xE2\x84\x92".b.freeze, "Larr" => "\xE2\x86\x9E".b.freeze, "Lcaron" => "\xC4\xBD".b.freeze, "Lcedil" => "\xC4\xBB".b.freeze, "Lcy" => "\xD0\x9B".b.freeze, "LeftAngleBracket" => "\xE2\x9F\xA8".b.freeze, "LeftArrow" => "\xE2\x86\x90".b.freeze, "LeftArrowBar" => "\xE2\x87\xA4".b.freeze, "LeftArrowRightArrow" => "\xE2\x87\x86".b.freeze, "LeftCeiling" => "\xE2\x8C\x88".b.freeze, "LeftDoubleBracket" => "\xE2\x9F\xA6".b.freeze, "LeftDownTeeVector" => "\xE2\xA5\xA1".b.freeze, "LeftDownVector" => "\xE2\x87\x83".b.freeze, "LeftDownVectorBar" => "\xE2\xA5\x99".b.freeze, "LeftFloor" => "\xE2\x8C\x8A".b.freeze, "LeftRightArrow" => "\xE2\x86\x94".b.freeze, "LeftRightVector" => "\xE2\xA5\x8E".b.freeze, "LeftTee" => "\xE2\x8A\xA3".b.freeze, "LeftTeeArrow" => "\xE2\x86\xA4".b.freeze, "LeftTeeVector" => "\xE2\xA5\x9A".b.freeze, "LeftTriangle" => "\xE2\x8A\xB2".b.freeze, "LeftTriangleBar" => "\xE2\xA7\x8F".b.freeze, "LeftTriangleEqual" => "\xE2\x8A\xB4".b.freeze, "LeftUpDownVector" => "\xE2\xA5\x91".b.freeze, "LeftUpTeeVector" => "\xE2\xA5\xA0".b.freeze, "LeftUpVector" => "\xE2\x86\xBF".b.freeze, "LeftUpVectorBar" => "\xE2\xA5\x98".b.freeze, "LeftVector" => "\xE2\x86\xBC".b.freeze, "LeftVectorBar" => "\xE2\xA5\x92".b.freeze, "Leftarrow" => "\xE2\x87\x90".b.freeze, "Leftrightarrow" => "\xE2\x87\x94".b.freeze, "LessEqualGreater" => "\xE2\x8B\x9A".b.freeze, "LessFullEqual" => "\xE2\x89\xA6".b.freeze, "LessGreater" => "\xE2\x89\xB6".b.freeze, "LessLess" => "\xE2\xAA\xA1".b.freeze, "LessSlantEqual" => "\xE2\xA9\xBD".b.freeze, "LessTilde" => "\xE2\x89\xB2".b.freeze, "Lfr" => "\xF0\x9D\x94\x8F".b.freeze, "Ll" => "\xE2\x8B\x98".b.freeze, "Lleftarrow" => "\xE2\x87\x9A".b.freeze, "Lmidot" => "\xC4\xBF".b.freeze, "LongLeftArrow" => "\xE2\x9F\xB5".b.freeze, "LongLeftRightArrow" => "\xE2\x9F\xB7".b.freeze, "LongRightArrow" => "\xE2\x9F\xB6".b.freeze, "Longleftarrow" => "\xE2\x9F\xB8".b.freeze, "Longleftrightarrow" => "\xE2\x9F\xBA".b.freeze, "Longrightarrow" => "\xE2\x9F\xB9".b.freeze, "Lopf" => "\xF0\x9D\x95\x83".b.freeze, "LowerLeftArrow" => "\xE2\x86\x99".b.freeze, "LowerRightArrow" => "\xE2\x86\x98".b.freeze, "Lscr" => "\xE2\x84\x92".b.freeze, "Lsh" => "\xE2\x86\xB0".b.freeze, "Lstrok" => "\xC5\x81".b.freeze, "Lt" => "\xE2\x89\xAA".b.freeze, "Map" => "\xE2\xA4\x85".b.freeze, "Mcy" => "\xD0\x9C".b.freeze, "MediumSpace" => "\xE2\x81\x9F".b.freeze, "Mellintrf" => "\xE2\x84\xB3".b.freeze, "Mfr" => "\xF0\x9D\x94\x90".b.freeze, "MinusPlus" => "\xE2\x88\x93".b.freeze, "Mopf" => "\xF0\x9D\x95\x84".b.freeze, "Mscr" => "\xE2\x84\xB3".b.freeze, "Mu" => "\xCE\x9C".b.freeze, "NJcy" => "\xD0\x8A".b.freeze, "Nacute" => "\xC5\x83".b.freeze, "Ncaron" => "\xC5\x87".b.freeze, "Ncedil" => "\xC5\x85".b.freeze, "Ncy" => "\xD0\x9D".b.freeze, "NegativeMediumSpace" => "\xE2\x80\x8B".b.freeze, "NegativeThickSpace" => "\xE2\x80\x8B".b.freeze, "NegativeThinSpace" => "\xE2\x80\x8B".b.freeze, "NegativeVeryThinSpace" => "\xE2\x80\x8B".b.freeze, "NestedGreaterGreater" => "\xE2\x89\xAB".b.freeze, "NestedLessLess" => "\xE2\x89\xAA".b.freeze, "NewLine" => "\x0A".b.freeze, "Nfr" => "\xF0\x9D\x94\x91".b.freeze, "NoBreak" => "\xE2\x81\xA0".b.freeze, "NonBreakingSpace" => "\xC2\xA0".b.freeze, "Nopf" => "\xE2\x84\x95".b.freeze, "Not" => "\xE2\xAB\xAC".b.freeze, "NotCongruent" => "\xE2\x89\xA2".b.freeze, "NotCupCap" => "\xE2\x89\xAD".b.freeze, "NotDoubleVerticalBar" => "\xE2\x88\xA6".b.freeze, "NotElement" => "\xE2\x88\x89".b.freeze, "NotEqual" => "\xE2\x89\xA0".b.freeze, "NotEqualTilde" => "\xE2\x89\x82\xCC\xB8".b.freeze, "NotExists" => "\xE2\x88\x84".b.freeze, "NotGreater" => "\xE2\x89\xAF".b.freeze, "NotGreaterEqual" => "\xE2\x89\xB1".b.freeze, "NotGreaterFullEqual" => "\xE2\x89\xA7\xCC\xB8".b.freeze, "NotGreaterGreater" => "\xE2\x89\xAB\xCC\xB8".b.freeze, "NotGreaterLess" => "\xE2\x89\xB9".b.freeze, "NotGreaterSlantEqual" => "\xE2\xA9\xBE\xCC\xB8".b.freeze, "NotGreaterTilde" => "\xE2\x89\xB5".b.freeze, "NotHumpDownHump" => "\xE2\x89\x8E\xCC\xB8".b.freeze, "NotHumpEqual" => "\xE2\x89\x8F\xCC\xB8".b.freeze, "NotLeftTriangle" => "\xE2\x8B\xAA".b.freeze, "NotLeftTriangleBar" => "\xE2\xA7\x8F\xCC\xB8".b.freeze, "NotLeftTriangleEqual" => "\xE2\x8B\xAC".b.freeze, "NotLess" => "\xE2\x89\xAE".b.freeze, "NotLessEqual" => "\xE2\x89\xB0".b.freeze, "NotLessGreater" => "\xE2\x89\xB8".b.freeze, "NotLessLess" => "\xE2\x89\xAA\xCC\xB8".b.freeze, "NotLessSlantEqual" => "\xE2\xA9\xBD\xCC\xB8".b.freeze, "NotLessTilde" => "\xE2\x89\xB4".b.freeze, "NotNestedGreaterGreater" => "\xE2\xAA\xA2\xCC\xB8".b.freeze, "NotNestedLessLess" => "\xE2\xAA\xA1\xCC\xB8".b.freeze, "NotPrecedes" => "\xE2\x8A\x80".b.freeze, "NotPrecedesEqual" => "\xE2\xAA\xAF\xCC\xB8".b.freeze, "NotPrecedesSlantEqual" => "\xE2\x8B\xA0".b.freeze, "NotReverseElement" => "\xE2\x88\x8C".b.freeze, "NotRightTriangle" => "\xE2\x8B\xAB".b.freeze, "NotRightTriangleBar" => "\xE2\xA7\x90\xCC\xB8".b.freeze, "NotRightTriangleEqual" => "\xE2\x8B\xAD".b.freeze, "NotSquareSubset" => "\xE2\x8A\x8F\xCC\xB8".b.freeze, "NotSquareSubsetEqual" => "\xE2\x8B\xA2".b.freeze, "NotSquareSuperset" => "\xE2\x8A\x90\xCC\xB8".b.freeze, "NotSquareSupersetEqual" => "\xE2\x8B\xA3".b.freeze, "NotSubset" => "\xE2\x8A\x82\xE2\x83\x92".b.freeze, "NotSubsetEqual" => "\xE2\x8A\x88".b.freeze, "NotSucceeds" => "\xE2\x8A\x81".b.freeze, "NotSucceedsEqual" => "\xE2\xAA\xB0\xCC\xB8".b.freeze, "NotSucceedsSlantEqual" => "\xE2\x8B\xA1".b.freeze, "NotSucceedsTilde" => "\xE2\x89\xBF\xCC\xB8".b.freeze, "NotSuperset" => "\xE2\x8A\x83\xE2\x83\x92".b.freeze, "NotSupersetEqual" => "\xE2\x8A\x89".b.freeze, "NotTilde" => "\xE2\x89\x81".b.freeze, "NotTildeEqual" => "\xE2\x89\x84".b.freeze, "NotTildeFullEqual" => "\xE2\x89\x87".b.freeze, "NotTildeTilde" => "\xE2\x89\x89".b.freeze, "NotVerticalBar" => "\xE2\x88\xA4".b.freeze, "Nscr" => "\xF0\x9D\x92\xA9".b.freeze, "Ntilde" => "\xC3\x91".b.freeze, "Nu" => "\xCE\x9D".b.freeze, "OElig" => "\xC5\x92".b.freeze, "Oacute" => "\xC3\x93".b.freeze, "Ocirc" => "\xC3\x94".b.freeze, "Ocy" => "\xD0\x9E".b.freeze, "Odblac" => "\xC5\x90".b.freeze, "Ofr" => "\xF0\x9D\x94\x92".b.freeze, "Ograve" => "\xC3\x92".b.freeze, "Omacr" => "\xC5\x8C".b.freeze, "Omega" => "\xCE\xA9".b.freeze, "Omicron" => "\xCE\x9F".b.freeze, "Oopf" => "\xF0\x9D\x95\x86".b.freeze, "OpenCurlyDoubleQuote" => "\xE2\x80\x9C".b.freeze, "OpenCurlyQuote" => "\xE2\x80\x98".b.freeze, "Or" => "\xE2\xA9\x94".b.freeze, "Oscr" => "\xF0\x9D\x92\xAA".b.freeze, "Oslash" => "\xC3\x98".b.freeze, "Otilde" => "\xC3\x95".b.freeze, "Otimes" => "\xE2\xA8\xB7".b.freeze, "Ouml" => "\xC3\x96".b.freeze, "OverBar" => "\xE2\x80\xBE".b.freeze, "OverBrace" => "\xE2\x8F\x9E".b.freeze, "OverBracket" => "\xE2\x8E\xB4".b.freeze, "OverParenthesis" => "\xE2\x8F\x9C".b.freeze, "PartialD" => "\xE2\x88\x82".b.freeze, "Pcy" => "\xD0\x9F".b.freeze, "Pfr" => "\xF0\x9D\x94\x93".b.freeze, "Phi" => "\xCE\xA6".b.freeze, "Pi" => "\xCE\xA0".b.freeze, "PlusMinus" => "\xC2\xB1".b.freeze, "Poincareplane" => "\xE2\x84\x8C".b.freeze, "Popf" => "\xE2\x84\x99".b.freeze, "Pr" => "\xE2\xAA\xBB".b.freeze, "Precedes" => "\xE2\x89\xBA".b.freeze, "PrecedesEqual" => "\xE2\xAA\xAF".b.freeze, "PrecedesSlantEqual" => "\xE2\x89\xBC".b.freeze, "PrecedesTilde" => "\xE2\x89\xBE".b.freeze, "Prime" => "\xE2\x80\xB3".b.freeze, "Product" => "\xE2\x88\x8F".b.freeze, "Proportion" => "\xE2\x88\xB7".b.freeze, "Proportional" => "\xE2\x88\x9D".b.freeze, "Pscr" => "\xF0\x9D\x92\xAB".b.freeze, "Psi" => "\xCE\xA8".b.freeze, "QUOT" => "\x22".b.freeze, "Qfr" => "\xF0\x9D\x94\x94".b.freeze, "Qopf" => "\xE2\x84\x9A".b.freeze, "Qscr" => "\xF0\x9D\x92\xAC".b.freeze, "RBarr" => "\xE2\xA4\x90".b.freeze, "REG" => "\xC2\xAE".b.freeze, "Racute" => "\xC5\x94".b.freeze, "Rang" => "\xE2\x9F\xAB".b.freeze, "Rarr" => "\xE2\x86\xA0".b.freeze, "Rarrtl" => "\xE2\xA4\x96".b.freeze, "Rcaron" => "\xC5\x98".b.freeze, "Rcedil" => "\xC5\x96".b.freeze, "Rcy" => "\xD0\xA0".b.freeze, "Re" => "\xE2\x84\x9C".b.freeze, "ReverseElement" => "\xE2\x88\x8B".b.freeze, "ReverseEquilibrium" => "\xE2\x87\x8B".b.freeze, "ReverseUpEquilibrium" => "\xE2\xA5\xAF".b.freeze, "Rfr" => "\xE2\x84\x9C".b.freeze, "Rho" => "\xCE\xA1".b.freeze, "RightAngleBracket" => "\xE2\x9F\xA9".b.freeze, "RightArrow" => "\xE2\x86\x92".b.freeze, "RightArrowBar" => "\xE2\x87\xA5".b.freeze, "RightArrowLeftArrow" => "\xE2\x87\x84".b.freeze, "RightCeiling" => "\xE2\x8C\x89".b.freeze, "RightDoubleBracket" => "\xE2\x9F\xA7".b.freeze, "RightDownTeeVector" => "\xE2\xA5\x9D".b.freeze, "RightDownVector" => "\xE2\x87\x82".b.freeze, "RightDownVectorBar" => "\xE2\xA5\x95".b.freeze, "RightFloor" => "\xE2\x8C\x8B".b.freeze, "RightTee" => "\xE2\x8A\xA2".b.freeze, "RightTeeArrow" => "\xE2\x86\xA6".b.freeze, "RightTeeVector" => "\xE2\xA5\x9B".b.freeze, "RightTriangle" => "\xE2\x8A\xB3".b.freeze, "RightTriangleBar" => "\xE2\xA7\x90".b.freeze, "RightTriangleEqual" => "\xE2\x8A\xB5".b.freeze, "RightUpDownVector" => "\xE2\xA5\x8F".b.freeze, "RightUpTeeVector" => "\xE2\xA5\x9C".b.freeze, "RightUpVector" => "\xE2\x86\xBE".b.freeze, "RightUpVectorBar" => "\xE2\xA5\x94".b.freeze, "RightVector" => "\xE2\x87\x80".b.freeze, "RightVectorBar" => "\xE2\xA5\x93".b.freeze, "Rightarrow" => "\xE2\x87\x92".b.freeze, "Ropf" => "\xE2\x84\x9D".b.freeze, "RoundImplies" => "\xE2\xA5\xB0".b.freeze, "Rrightarrow" => "\xE2\x87\x9B".b.freeze, "Rscr" => "\xE2\x84\x9B".b.freeze, "Rsh" => "\xE2\x86\xB1".b.freeze, "RuleDelayed" => "\xE2\xA7\xB4".b.freeze, "SHCHcy" => "\xD0\xA9".b.freeze, "SHcy" => "\xD0\xA8".b.freeze, "SOFTcy" => "\xD0\xAC".b.freeze, "Sacute" => "\xC5\x9A".b.freeze, "Sc" => "\xE2\xAA\xBC".b.freeze, "Scaron" => "\xC5\xA0".b.freeze, "Scedil" => "\xC5\x9E".b.freeze, "Scirc" => "\xC5\x9C".b.freeze, "Scy" => "\xD0\xA1".b.freeze, "Sfr" => "\xF0\x9D\x94\x96".b.freeze, "ShortDownArrow" => "\xE2\x86\x93".b.freeze, "ShortLeftArrow" => "\xE2\x86\x90".b.freeze, "ShortRightArrow" => "\xE2\x86\x92".b.freeze, "ShortUpArrow" => "\xE2\x86\x91".b.freeze, "Sigma" => "\xCE\xA3".b.freeze, "SmallCircle" => "\xE2\x88\x98".b.freeze, "Sopf" => "\xF0\x9D\x95\x8A".b.freeze, "Sqrt" => "\xE2\x88\x9A".b.freeze, "Square" => "\xE2\x96\xA1".b.freeze, "SquareIntersection" => "\xE2\x8A\x93".b.freeze, "SquareSubset" => "\xE2\x8A\x8F".b.freeze, "SquareSubsetEqual" => "\xE2\x8A\x91".b.freeze, "SquareSuperset" => "\xE2\x8A\x90".b.freeze, "SquareSupersetEqual" => "\xE2\x8A\x92".b.freeze, "SquareUnion" => "\xE2\x8A\x94".b.freeze, "Sscr" => "\xF0\x9D\x92\xAE".b.freeze, "Star" => "\xE2\x8B\x86".b.freeze, "Sub" => "\xE2\x8B\x90".b.freeze, "Subset" => "\xE2\x8B\x90".b.freeze, "SubsetEqual" => "\xE2\x8A\x86".b.freeze, "Succeeds" => "\xE2\x89\xBB".b.freeze, "SucceedsEqual" => "\xE2\xAA\xB0".b.freeze, "SucceedsSlantEqual" => "\xE2\x89\xBD".b.freeze, "SucceedsTilde" => "\xE2\x89\xBF".b.freeze, "SuchThat" => "\xE2\x88\x8B".b.freeze, "Sum" => "\xE2\x88\x91".b.freeze, "Sup" => "\xE2\x8B\x91".b.freeze, "Superset" => "\xE2\x8A\x83".b.freeze, "SupersetEqual" => "\xE2\x8A\x87".b.freeze, "Supset" => "\xE2\x8B\x91".b.freeze, "THORN" => "\xC3\x9E".b.freeze, "TRADE" => "\xE2\x84\xA2".b.freeze, "TSHcy" => "\xD0\x8B".b.freeze, "TScy" => "\xD0\xA6".b.freeze, "Tab" => "\x09".b.freeze, "Tau" => "\xCE\xA4".b.freeze, "Tcaron" => "\xC5\xA4".b.freeze, "Tcedil" => "\xC5\xA2".b.freeze, "Tcy" => "\xD0\xA2".b.freeze, "Tfr" => "\xF0\x9D\x94\x97".b.freeze, "Therefore" => "\xE2\x88\xB4".b.freeze, "Theta" => "\xCE\x98".b.freeze, "ThickSpace" => "\xE2\x81\x9F\xE2\x80\x8A".b.freeze, "ThinSpace" => "\xE2\x80\x89".b.freeze, "Tilde" => "\xE2\x88\xBC".b.freeze, "TildeEqual" => "\xE2\x89\x83".b.freeze, "TildeFullEqual" => "\xE2\x89\x85".b.freeze, "TildeTilde" => "\xE2\x89\x88".b.freeze, "Topf" => "\xF0\x9D\x95\x8B".b.freeze, "TripleDot" => "\xE2\x83\x9B".b.freeze, "Tscr" => "\xF0\x9D\x92\xAF".b.freeze, "Tstrok" => "\xC5\xA6".b.freeze, "Uacute" => "\xC3\x9A".b.freeze, "Uarr" => "\xE2\x86\x9F".b.freeze, "Uarrocir" => "\xE2\xA5\x89".b.freeze, "Ubrcy" => "\xD0\x8E".b.freeze, "Ubreve" => "\xC5\xAC".b.freeze, "Ucirc" => "\xC3\x9B".b.freeze, "Ucy" => "\xD0\xA3".b.freeze, "Udblac" => "\xC5\xB0".b.freeze, "Ufr" => "\xF0\x9D\x94\x98".b.freeze, "Ugrave" => "\xC3\x99".b.freeze, "Umacr" => "\xC5\xAA".b.freeze, "UnderBar" => "\x5F".b.freeze, "UnderBrace" => "\xE2\x8F\x9F".b.freeze, "UnderBracket" => "\xE2\x8E\xB5".b.freeze, "UnderParenthesis" => "\xE2\x8F\x9D".b.freeze, "Union" => "\xE2\x8B\x83".b.freeze, "UnionPlus" => "\xE2\x8A\x8E".b.freeze, "Uogon" => "\xC5\xB2".b.freeze, "Uopf" => "\xF0\x9D\x95\x8C".b.freeze, "UpArrow" => "\xE2\x86\x91".b.freeze, "UpArrowBar" => "\xE2\xA4\x92".b.freeze, "UpArrowDownArrow" => "\xE2\x87\x85".b.freeze, "UpDownArrow" => "\xE2\x86\x95".b.freeze, "UpEquilibrium" => "\xE2\xA5\xAE".b.freeze, "UpTee" => "\xE2\x8A\xA5".b.freeze, "UpTeeArrow" => "\xE2\x86\xA5".b.freeze, "Uparrow" => "\xE2\x87\x91".b.freeze, "Updownarrow" => "\xE2\x87\x95".b.freeze, "UpperLeftArrow" => "\xE2\x86\x96".b.freeze, "UpperRightArrow" => "\xE2\x86\x97".b.freeze, "Upsi" => "\xCF\x92".b.freeze, "Upsilon" => "\xCE\xA5".b.freeze, "Uring" => "\xC5\xAE".b.freeze, "Uscr" => "\xF0\x9D\x92\xB0".b.freeze, "Utilde" => "\xC5\xA8".b.freeze, "Uuml" => "\xC3\x9C".b.freeze, "VDash" => "\xE2\x8A\xAB".b.freeze, "Vbar" => "\xE2\xAB\xAB".b.freeze, "Vcy" => "\xD0\x92".b.freeze, "Vdash" => "\xE2\x8A\xA9".b.freeze, "Vdashl" => "\xE2\xAB\xA6".b.freeze, "Vee" => "\xE2\x8B\x81".b.freeze, "Verbar" => "\xE2\x80\x96".b.freeze, "Vert" => "\xE2\x80\x96".b.freeze, "VerticalBar" => "\xE2\x88\xA3".b.freeze, "VerticalLine" => "\x7C".b.freeze, "VerticalSeparator" => "\xE2\x9D\x98".b.freeze, "VerticalTilde" => "\xE2\x89\x80".b.freeze, "VeryThinSpace" => "\xE2\x80\x8A".b.freeze, "Vfr" => "\xF0\x9D\x94\x99".b.freeze, "Vopf" => "\xF0\x9D\x95\x8D".b.freeze, "Vscr" => "\xF0\x9D\x92\xB1".b.freeze, "Vvdash" => "\xE2\x8A\xAA".b.freeze, "Wcirc" => "\xC5\xB4".b.freeze, "Wedge" => "\xE2\x8B\x80".b.freeze, "Wfr" => "\xF0\x9D\x94\x9A".b.freeze, "Wopf" => "\xF0\x9D\x95\x8E".b.freeze, "Wscr" => "\xF0\x9D\x92\xB2".b.freeze, "Xfr" => "\xF0\x9D\x94\x9B".b.freeze, "Xi" => "\xCE\x9E".b.freeze, "Xopf" => "\xF0\x9D\x95\x8F".b.freeze, "Xscr" => "\xF0\x9D\x92\xB3".b.freeze, "YAcy" => "\xD0\xAF".b.freeze, "YIcy" => "\xD0\x87".b.freeze, "YUcy" => "\xD0\xAE".b.freeze, "Yacute" => "\xC3\x9D".b.freeze, "Ycirc" => "\xC5\xB6".b.freeze, "Ycy" => "\xD0\xAB".b.freeze, "Yfr" => "\xF0\x9D\x94\x9C".b.freeze, "Yopf" => "\xF0\x9D\x95\x90".b.freeze, "Yscr" => "\xF0\x9D\x92\xB4".b.freeze, "Yuml" => "\xC5\xB8".b.freeze, "ZHcy" => "\xD0\x96".b.freeze, "Zacute" => "\xC5\xB9".b.freeze, "Zcaron" => "\xC5\xBD".b.freeze, "Zcy" => "\xD0\x97".b.freeze, "Zdot" => "\xC5\xBB".b.freeze, "ZeroWidthSpace" => "\xE2\x80\x8B".b.freeze, "Zeta" => "\xCE\x96".b.freeze, "Zfr" => "\xE2\x84\xA8".b.freeze, "Zopf" => "\xE2\x84\xA4".b.freeze, "Zscr" => "\xF0\x9D\x92\xB5".b.freeze, "aacute" => "\xC3\xA1".b.freeze, "abreve" => "\xC4\x83".b.freeze, "ac" => "\xE2\x88\xBE".b.freeze, "acE" => "\xE2\x88\xBE\xCC\xB3".b.freeze, "acd" => "\xE2\x88\xBF".b.freeze, "acirc" => "\xC3\xA2".b.freeze, "acute" => "\xC2\xB4".b.freeze, "acy" => "\xD0\xB0".b.freeze, "aelig" => "\xC3\xA6".b.freeze, "af" => "\xE2\x81\xA1".b.freeze, "afr" => "\xF0\x9D\x94\x9E".b.freeze, "agrave" => "\xC3\xA0".b.freeze, "alefsym" => "\xE2\x84\xB5".b.freeze, "aleph" => "\xE2\x84\xB5".b.freeze, "alpha" => "\xCE\xB1".b.freeze, "amacr" => "\xC4\x81".b.freeze, "amalg" => "\xE2\xA8\xBF".b.freeze, "amp" => "\x26".b.freeze, "and" => "\xE2\x88\xA7".b.freeze, "andand" => "\xE2\xA9\x95".b.freeze, "andd" => "\xE2\xA9\x9C".b.freeze, "andslope" => "\xE2\xA9\x98".b.freeze, "andv" => "\xE2\xA9\x9A".b.freeze, "ang" => "\xE2\x88\xA0".b.freeze, "ange" => "\xE2\xA6\xA4".b.freeze, "angle" => "\xE2\x88\xA0".b.freeze, "angmsd" => "\xE2\x88\xA1".b.freeze, "angmsdaa" => "\xE2\xA6\xA8".b.freeze, "angmsdab" => "\xE2\xA6\xA9".b.freeze, "angmsdac" => "\xE2\xA6\xAA".b.freeze, "angmsdad" => "\xE2\xA6\xAB".b.freeze, "angmsdae" => "\xE2\xA6\xAC".b.freeze, "angmsdaf" => "\xE2\xA6\xAD".b.freeze, "angmsdag" => "\xE2\xA6\xAE".b.freeze, "angmsdah" => "\xE2\xA6\xAF".b.freeze, "angrt" => "\xE2\x88\x9F".b.freeze, "angrtvb" => "\xE2\x8A\xBE".b.freeze, "angrtvbd" => "\xE2\xA6\x9D".b.freeze, "angsph" => "\xE2\x88\xA2".b.freeze, "angst" => "\xC3\x85".b.freeze, "angzarr" => "\xE2\x8D\xBC".b.freeze, "aogon" => "\xC4\x85".b.freeze, "aopf" => "\xF0\x9D\x95\x92".b.freeze, "ap" => "\xE2\x89\x88".b.freeze, "apE" => "\xE2\xA9\xB0".b.freeze, "apacir" => "\xE2\xA9\xAF".b.freeze, "ape" => "\xE2\x89\x8A".b.freeze, "apid" => "\xE2\x89\x8B".b.freeze, "apos" => "\x27".b.freeze, "approx" => "\xE2\x89\x88".b.freeze, "approxeq" => "\xE2\x89\x8A".b.freeze, "aring" => "\xC3\xA5".b.freeze, "ascr" => "\xF0\x9D\x92\xB6".b.freeze, "ast" => "\x2A".b.freeze, "asymp" => "\xE2\x89\x88".b.freeze, "asympeq" => "\xE2\x89\x8D".b.freeze, "atilde" => "\xC3\xA3".b.freeze, "auml" => "\xC3\xA4".b.freeze, "awconint" => "\xE2\x88\xB3".b.freeze, "awint" => "\xE2\xA8\x91".b.freeze, "bNot" => "\xE2\xAB\xAD".b.freeze, "backcong" => "\xE2\x89\x8C".b.freeze, "backepsilon" => "\xCF\xB6".b.freeze, "backprime" => "\xE2\x80\xB5".b.freeze, "backsim" => "\xE2\x88\xBD".b.freeze, "backsimeq" => "\xE2\x8B\x8D".b.freeze, "barvee" => "\xE2\x8A\xBD".b.freeze, "barwed" => "\xE2\x8C\x85".b.freeze, "barwedge" => "\xE2\x8C\x85".b.freeze, "bbrk" => "\xE2\x8E\xB5".b.freeze, "bbrktbrk" => "\xE2\x8E\xB6".b.freeze, "bcong" => "\xE2\x89\x8C".b.freeze, "bcy" => "\xD0\xB1".b.freeze, "bdquo" => "\xE2\x80\x9E".b.freeze, "becaus" => "\xE2\x88\xB5".b.freeze, "because" => "\xE2\x88\xB5".b.freeze, "bemptyv" => "\xE2\xA6\xB0".b.freeze, "bepsi" => "\xCF\xB6".b.freeze, "bernou" => "\xE2\x84\xAC".b.freeze, "beta" => "\xCE\xB2".b.freeze, "beth" => "\xE2\x84\xB6".b.freeze, "between" => "\xE2\x89\xAC".b.freeze, "bfr" => "\xF0\x9D\x94\x9F".b.freeze, "bigcap" => "\xE2\x8B\x82".b.freeze, "bigcirc" => "\xE2\x97\xAF".b.freeze, "bigcup" => "\xE2\x8B\x83".b.freeze, "bigodot" => "\xE2\xA8\x80".b.freeze, "bigoplus" => "\xE2\xA8\x81".b.freeze, "bigotimes" => "\xE2\xA8\x82".b.freeze, "bigsqcup" => "\xE2\xA8\x86".b.freeze, "bigstar" => "\xE2\x98\x85".b.freeze, "bigtriangledown" => "\xE2\x96\xBD".b.freeze, "bigtriangleup" => "\xE2\x96\xB3".b.freeze, "biguplus" => "\xE2\xA8\x84".b.freeze, "bigvee" => "\xE2\x8B\x81".b.freeze, "bigwedge" => "\xE2\x8B\x80".b.freeze, "bkarow" => "\xE2\xA4\x8D".b.freeze, "blacklozenge" => "\xE2\xA7\xAB".b.freeze, "blacksquare" => "\xE2\x96\xAA".b.freeze, "blacktriangle" => "\xE2\x96\xB4".b.freeze, "blacktriangledown" => "\xE2\x96\xBE".b.freeze, "blacktriangleleft" => "\xE2\x97\x82".b.freeze, "blacktriangleright" => "\xE2\x96\xB8".b.freeze, "blank" => "\xE2\x90\xA3".b.freeze, "blk12" => "\xE2\x96\x92".b.freeze, "blk14" => "\xE2\x96\x91".b.freeze, "blk34" => "\xE2\x96\x93".b.freeze, "block" => "\xE2\x96\x88".b.freeze, "bne" => "\x3D\xE2\x83\xA5".b.freeze, "bnequiv" => "\xE2\x89\xA1\xE2\x83\xA5".b.freeze, "bnot" => "\xE2\x8C\x90".b.freeze, "bopf" => "\xF0\x9D\x95\x93".b.freeze, "bot" => "\xE2\x8A\xA5".b.freeze, "bottom" => "\xE2\x8A\xA5".b.freeze, "bowtie" => "\xE2\x8B\x88".b.freeze, "boxDL" => "\xE2\x95\x97".b.freeze, "boxDR" => "\xE2\x95\x94".b.freeze, "boxDl" => "\xE2\x95\x96".b.freeze, "boxDr" => "\xE2\x95\x93".b.freeze, "boxH" => "\xE2\x95\x90".b.freeze, "boxHD" => "\xE2\x95\xA6".b.freeze, "boxHU" => "\xE2\x95\xA9".b.freeze, "boxHd" => "\xE2\x95\xA4".b.freeze, "boxHu" => "\xE2\x95\xA7".b.freeze, "boxUL" => "\xE2\x95\x9D".b.freeze, "boxUR" => "\xE2\x95\x9A".b.freeze, "boxUl" => "\xE2\x95\x9C".b.freeze, "boxUr" => "\xE2\x95\x99".b.freeze, "boxV" => "\xE2\x95\x91".b.freeze, "boxVH" => "\xE2\x95\xAC".b.freeze, "boxVL" => "\xE2\x95\xA3".b.freeze, "boxVR" => "\xE2\x95\xA0".b.freeze, "boxVh" => "\xE2\x95\xAB".b.freeze, "boxVl" => "\xE2\x95\xA2".b.freeze, "boxVr" => "\xE2\x95\x9F".b.freeze, "boxbox" => "\xE2\xA7\x89".b.freeze, "boxdL" => "\xE2\x95\x95".b.freeze, "boxdR" => "\xE2\x95\x92".b.freeze, "boxdl" => "\xE2\x94\x90".b.freeze, "boxdr" => "\xE2\x94\x8C".b.freeze, "boxh" => "\xE2\x94\x80".b.freeze, "boxhD" => "\xE2\x95\xA5".b.freeze, "boxhU" => "\xE2\x95\xA8".b.freeze, "boxhd" => "\xE2\x94\xAC".b.freeze, "boxhu" => "\xE2\x94\xB4".b.freeze, "boxminus" => "\xE2\x8A\x9F".b.freeze, "boxplus" => "\xE2\x8A\x9E".b.freeze, "boxtimes" => "\xE2\x8A\xA0".b.freeze, "boxuL" => "\xE2\x95\x9B".b.freeze, "boxuR" => "\xE2\x95\x98".b.freeze, "boxul" => "\xE2\x94\x98".b.freeze, "boxur" => "\xE2\x94\x94".b.freeze, "boxv" => "\xE2\x94\x82".b.freeze, "boxvH" => "\xE2\x95\xAA".b.freeze, "boxvL" => "\xE2\x95\xA1".b.freeze, "boxvR" => "\xE2\x95\x9E".b.freeze, "boxvh" => "\xE2\x94\xBC".b.freeze, "boxvl" => "\xE2\x94\xA4".b.freeze, "boxvr" => "\xE2\x94\x9C".b.freeze, "bprime" => "\xE2\x80\xB5".b.freeze, "breve" => "\xCB\x98".b.freeze, "brvbar" => "\xC2\xA6".b.freeze, "bscr" => "\xF0\x9D\x92\xB7".b.freeze, "bsemi" => "\xE2\x81\x8F".b.freeze, "bsim" => "\xE2\x88\xBD".b.freeze, "bsime" => "\xE2\x8B\x8D".b.freeze, "bsol" => "\x5C".b.freeze, "bsolb" => "\xE2\xA7\x85".b.freeze, "bsolhsub" => "\xE2\x9F\x88".b.freeze, "bull" => "\xE2\x80\xA2".b.freeze, "bullet" => "\xE2\x80\xA2".b.freeze, "bump" => "\xE2\x89\x8E".b.freeze, "bumpE" => "\xE2\xAA\xAE".b.freeze, "bumpe" => "\xE2\x89\x8F".b.freeze, "bumpeq" => "\xE2\x89\x8F".b.freeze, "cacute" => "\xC4\x87".b.freeze, "cap" => "\xE2\x88\xA9".b.freeze, "capand" => "\xE2\xA9\x84".b.freeze, "capbrcup" => "\xE2\xA9\x89".b.freeze, "capcap" => "\xE2\xA9\x8B".b.freeze, "capcup" => "\xE2\xA9\x87".b.freeze, "capdot" => "\xE2\xA9\x80".b.freeze, "caps" => "\xE2\x88\xA9\xEF\xB8\x80".b.freeze, "caret" => "\xE2\x81\x81".b.freeze, "caron" => "\xCB\x87".b.freeze, "ccaps" => "\xE2\xA9\x8D".b.freeze, "ccaron" => "\xC4\x8D".b.freeze, "ccedil" => "\xC3\xA7".b.freeze, "ccirc" => "\xC4\x89".b.freeze, "ccups" => "\xE2\xA9\x8C".b.freeze, "ccupssm" => "\xE2\xA9\x90".b.freeze, "cdot" => "\xC4\x8B".b.freeze, "cedil" => "\xC2\xB8".b.freeze, "cemptyv" => "\xE2\xA6\xB2".b.freeze, "cent" => "\xC2\xA2".b.freeze, "centerdot" => "\xC2\xB7".b.freeze, "cfr" => "\xF0\x9D\x94\xA0".b.freeze, "chcy" => "\xD1\x87".b.freeze, "check" => "\xE2\x9C\x93".b.freeze, "checkmark" => "\xE2\x9C\x93".b.freeze, "chi" => "\xCF\x87".b.freeze, "cir" => "\xE2\x97\x8B".b.freeze, "cirE" => "\xE2\xA7\x83".b.freeze, "circ" => "\xCB\x86".b.freeze, "circeq" => "\xE2\x89\x97".b.freeze, "circlearrowleft" => "\xE2\x86\xBA".b.freeze, "circlearrowright" => "\xE2\x86\xBB".b.freeze, "circledR" => "\xC2\xAE".b.freeze, "circledS" => "\xE2\x93\x88".b.freeze, "circledast" => "\xE2\x8A\x9B".b.freeze, "circledcirc" => "\xE2\x8A\x9A".b.freeze, "circleddash" => "\xE2\x8A\x9D".b.freeze, "cire" => "\xE2\x89\x97".b.freeze, "cirfnint" => "\xE2\xA8\x90".b.freeze, "cirmid" => "\xE2\xAB\xAF".b.freeze, "cirscir" => "\xE2\xA7\x82".b.freeze, "clubs" => "\xE2\x99\xA3".b.freeze, "clubsuit" => "\xE2\x99\xA3".b.freeze, "colon" => "\x3A".b.freeze, "colone" => "\xE2\x89\x94".b.freeze, "coloneq" => "\xE2\x89\x94".b.freeze, "comma" => "\x2C".b.freeze, "commat" => "\x40".b.freeze, "comp" => "\xE2\x88\x81".b.freeze, "compfn" => "\xE2\x88\x98".b.freeze, "complement" => "\xE2\x88\x81".b.freeze, "complexes" => "\xE2\x84\x82".b.freeze, "cong" => "\xE2\x89\x85".b.freeze, "congdot" => "\xE2\xA9\xAD".b.freeze, "conint" => "\xE2\x88\xAE".b.freeze, "copf" => "\xF0\x9D\x95\x94".b.freeze, "coprod" => "\xE2\x88\x90".b.freeze, "copy" => "\xC2\xA9".b.freeze, "copysr" => "\xE2\x84\x97".b.freeze, "crarr" => "\xE2\x86\xB5".b.freeze, "cross" => "\xE2\x9C\x97".b.freeze, "cscr" => "\xF0\x9D\x92\xB8".b.freeze, "csub" => "\xE2\xAB\x8F".b.freeze, "csube" => "\xE2\xAB\x91".b.freeze, "csup" => "\xE2\xAB\x90".b.freeze, "csupe" => "\xE2\xAB\x92".b.freeze, "ctdot" => "\xE2\x8B\xAF".b.freeze, "cudarrl" => "\xE2\xA4\xB8".b.freeze, "cudarrr" => "\xE2\xA4\xB5".b.freeze, "cuepr" => "\xE2\x8B\x9E".b.freeze, "cuesc" => "\xE2\x8B\x9F".b.freeze, "cularr" => "\xE2\x86\xB6".b.freeze, "cularrp" => "\xE2\xA4\xBD".b.freeze, "cup" => "\xE2\x88\xAA".b.freeze, "cupbrcap" => "\xE2\xA9\x88".b.freeze, "cupcap" => "\xE2\xA9\x86".b.freeze, "cupcup" => "\xE2\xA9\x8A".b.freeze, "cupdot" => "\xE2\x8A\x8D".b.freeze, "cupor" => "\xE2\xA9\x85".b.freeze, "cups" => "\xE2\x88\xAA\xEF\xB8\x80".b.freeze, "curarr" => "\xE2\x86\xB7".b.freeze, "curarrm" => "\xE2\xA4\xBC".b.freeze, "curlyeqprec" => "\xE2\x8B\x9E".b.freeze, "curlyeqsucc" => "\xE2\x8B\x9F".b.freeze, "curlyvee" => "\xE2\x8B\x8E".b.freeze, "curlywedge" => "\xE2\x8B\x8F".b.freeze, "curren" => "\xC2\xA4".b.freeze, "curvearrowleft" => "\xE2\x86\xB6".b.freeze, "curvearrowright" => "\xE2\x86\xB7".b.freeze, "cuvee" => "\xE2\x8B\x8E".b.freeze, "cuwed" => "\xE2\x8B\x8F".b.freeze, "cwconint" => "\xE2\x88\xB2".b.freeze, "cwint" => "\xE2\x88\xB1".b.freeze, "cylcty" => "\xE2\x8C\xAD".b.freeze, "dArr" => "\xE2\x87\x93".b.freeze, "dHar" => "\xE2\xA5\xA5".b.freeze, "dagger" => "\xE2\x80\xA0".b.freeze, "daleth" => "\xE2\x84\xB8".b.freeze, "darr" => "\xE2\x86\x93".b.freeze, "dash" => "\xE2\x80\x90".b.freeze, "dashv" => "\xE2\x8A\xA3".b.freeze, "dbkarow" => "\xE2\xA4\x8F".b.freeze, "dblac" => "\xCB\x9D".b.freeze, "dcaron" => "\xC4\x8F".b.freeze, "dcy" => "\xD0\xB4".b.freeze, "dd" => "\xE2\x85\x86".b.freeze, "ddagger" => "\xE2\x80\xA1".b.freeze, "ddarr" => "\xE2\x87\x8A".b.freeze, "ddotseq" => "\xE2\xA9\xB7".b.freeze, "deg" => "\xC2\xB0".b.freeze, "delta" => "\xCE\xB4".b.freeze, "demptyv" => "\xE2\xA6\xB1".b.freeze, "dfisht" => "\xE2\xA5\xBF".b.freeze, "dfr" => "\xF0\x9D\x94\xA1".b.freeze, "dharl" => "\xE2\x87\x83".b.freeze, "dharr" => "\xE2\x87\x82".b.freeze, "diam" => "\xE2\x8B\x84".b.freeze, "diamond" => "\xE2\x8B\x84".b.freeze, "diamondsuit" => "\xE2\x99\xA6".b.freeze, "diams" => "\xE2\x99\xA6".b.freeze, "die" => "\xC2\xA8".b.freeze, "digamma" => "\xCF\x9D".b.freeze, "disin" => "\xE2\x8B\xB2".b.freeze, "div" => "\xC3\xB7".b.freeze, "divide" => "\xC3\xB7".b.freeze, "divideontimes" => "\xE2\x8B\x87".b.freeze, "divonx" => "\xE2\x8B\x87".b.freeze, "djcy" => "\xD1\x92".b.freeze, "dlcorn" => "\xE2\x8C\x9E".b.freeze, "dlcrop" => "\xE2\x8C\x8D".b.freeze, "dollar" => "\x24".b.freeze, "dopf" => "\xF0\x9D\x95\x95".b.freeze, "dot" => "\xCB\x99".b.freeze, "doteq" => "\xE2\x89\x90".b.freeze, "doteqdot" => "\xE2\x89\x91".b.freeze, "dotminus" => "\xE2\x88\xB8".b.freeze, "dotplus" => "\xE2\x88\x94".b.freeze, "dotsquare" => "\xE2\x8A\xA1".b.freeze, "doublebarwedge" => "\xE2\x8C\x86".b.freeze, "downarrow" => "\xE2\x86\x93".b.freeze, "downdownarrows" => "\xE2\x87\x8A".b.freeze, "downharpoonleft" => "\xE2\x87\x83".b.freeze, "downharpoonright" => "\xE2\x87\x82".b.freeze, "drbkarow" => "\xE2\xA4\x90".b.freeze, "drcorn" => "\xE2\x8C\x9F".b.freeze, "drcrop" => "\xE2\x8C\x8C".b.freeze, "dscr" => "\xF0\x9D\x92\xB9".b.freeze, "dscy" => "\xD1\x95".b.freeze, "dsol" => "\xE2\xA7\xB6".b.freeze, "dstrok" => "\xC4\x91".b.freeze, "dtdot" => "\xE2\x8B\xB1".b.freeze, "dtri" => "\xE2\x96\xBF".b.freeze, "dtrif" => "\xE2\x96\xBE".b.freeze, "duarr" => "\xE2\x87\xB5".b.freeze, "duhar" => "\xE2\xA5\xAF".b.freeze, "dwangle" => "\xE2\xA6\xA6".b.freeze, "dzcy" => "\xD1\x9F".b.freeze, "dzigrarr" => "\xE2\x9F\xBF".b.freeze, "eDDot" => "\xE2\xA9\xB7".b.freeze, "eDot" => "\xE2\x89\x91".b.freeze, "eacute" => "\xC3\xA9".b.freeze, "easter" => "\xE2\xA9\xAE".b.freeze, "ecaron" => "\xC4\x9B".b.freeze, "ecir" => "\xE2\x89\x96".b.freeze, "ecirc" => "\xC3\xAA".b.freeze, "ecolon" => "\xE2\x89\x95".b.freeze, "ecy" => "\xD1\x8D".b.freeze, "edot" => "\xC4\x97".b.freeze, "ee" => "\xE2\x85\x87".b.freeze, "efDot" => "\xE2\x89\x92".b.freeze, "efr" => "\xF0\x9D\x94\xA2".b.freeze, "eg" => "\xE2\xAA\x9A".b.freeze, "egrave" => "\xC3\xA8".b.freeze, "egs" => "\xE2\xAA\x96".b.freeze, "egsdot" => "\xE2\xAA\x98".b.freeze, "el" => "\xE2\xAA\x99".b.freeze, "elinters" => "\xE2\x8F\xA7".b.freeze, "ell" => "\xE2\x84\x93".b.freeze, "els" => "\xE2\xAA\x95".b.freeze, "elsdot" => "\xE2\xAA\x97".b.freeze, "emacr" => "\xC4\x93".b.freeze, "empty" => "\xE2\x88\x85".b.freeze, "emptyset" => "\xE2\x88\x85".b.freeze, "emptyv" => "\xE2\x88\x85".b.freeze, "emsp" => "\xE2\x80\x83".b.freeze, "emsp13" => "\xE2\x80\x84".b.freeze, "emsp14" => "\xE2\x80\x85".b.freeze, "eng" => "\xC5\x8B".b.freeze, "ensp" => "\xE2\x80\x82".b.freeze, "eogon" => "\xC4\x99".b.freeze, "eopf" => "\xF0\x9D\x95\x96".b.freeze, "epar" => "\xE2\x8B\x95".b.freeze, "eparsl" => "\xE2\xA7\xA3".b.freeze, "eplus" => "\xE2\xA9\xB1".b.freeze, "epsi" => "\xCE\xB5".b.freeze, "epsilon" => "\xCE\xB5".b.freeze, "epsiv" => "\xCF\xB5".b.freeze, "eqcirc" => "\xE2\x89\x96".b.freeze, "eqcolon" => "\xE2\x89\x95".b.freeze, "eqsim" => "\xE2\x89\x82".b.freeze, "eqslantgtr" => "\xE2\xAA\x96".b.freeze, "eqslantless" => "\xE2\xAA\x95".b.freeze, "equals" => "\x3D".b.freeze, "equest" => "\xE2\x89\x9F".b.freeze, "equiv" => "\xE2\x89\xA1".b.freeze, "equivDD" => "\xE2\xA9\xB8".b.freeze, "eqvparsl" => "\xE2\xA7\xA5".b.freeze, "erDot" => "\xE2\x89\x93".b.freeze, "erarr" => "\xE2\xA5\xB1".b.freeze, "escr" => "\xE2\x84\xAF".b.freeze, "esdot" => "\xE2\x89\x90".b.freeze, "esim" => "\xE2\x89\x82".b.freeze, "eta" => "\xCE\xB7".b.freeze, "eth" => "\xC3\xB0".b.freeze, "euml" => "\xC3\xAB".b.freeze, "euro" => "\xE2\x82\xAC".b.freeze, "excl" => "\x21".b.freeze, "exist" => "\xE2\x88\x83".b.freeze, "expectation" => "\xE2\x84\xB0".b.freeze, "exponentiale" => "\xE2\x85\x87".b.freeze, "fallingdotseq" => "\xE2\x89\x92".b.freeze, "fcy" => "\xD1\x84".b.freeze, "female" => "\xE2\x99\x80".b.freeze, "ffilig" => "\xEF\xAC\x83".b.freeze, "fflig" => "\xEF\xAC\x80".b.freeze, "ffllig" => "\xEF\xAC\x84".b.freeze, "ffr" => "\xF0\x9D\x94\xA3".b.freeze, "filig" => "\xEF\xAC\x81".b.freeze, "fjlig" => "\x66\x6A".b.freeze, "flat" => "\xE2\x99\xAD".b.freeze, "fllig" => "\xEF\xAC\x82".b.freeze, "fltns" => "\xE2\x96\xB1".b.freeze, "fnof" => "\xC6\x92".b.freeze, "fopf" => "\xF0\x9D\x95\x97".b.freeze, "forall" => "\xE2\x88\x80".b.freeze, "fork" => "\xE2\x8B\x94".b.freeze, "forkv" => "\xE2\xAB\x99".b.freeze, "fpartint" => "\xE2\xA8\x8D".b.freeze, "frac12" => "\xC2\xBD".b.freeze, "frac13" => "\xE2\x85\x93".b.freeze, "frac14" => "\xC2\xBC".b.freeze, "frac15" => "\xE2\x85\x95".b.freeze, "frac16" => "\xE2\x85\x99".b.freeze, "frac18" => "\xE2\x85\x9B".b.freeze, "frac23" => "\xE2\x85\x94".b.freeze, "frac25" => "\xE2\x85\x96".b.freeze, "frac34" => "\xC2\xBE".b.freeze, "frac35" => "\xE2\x85\x97".b.freeze, "frac38" => "\xE2\x85\x9C".b.freeze, "frac45" => "\xE2\x85\x98".b.freeze, "frac56" => "\xE2\x85\x9A".b.freeze, "frac58" => "\xE2\x85\x9D".b.freeze, "frac78" => "\xE2\x85\x9E".b.freeze, "frasl" => "\xE2\x81\x84".b.freeze, "frown" => "\xE2\x8C\xA2".b.freeze, "fscr" => "\xF0\x9D\x92\xBB".b.freeze, "gE" => "\xE2\x89\xA7".b.freeze, "gEl" => "\xE2\xAA\x8C".b.freeze, "gacute" => "\xC7\xB5".b.freeze, "gamma" => "\xCE\xB3".b.freeze, "gammad" => "\xCF\x9D".b.freeze, "gap" => "\xE2\xAA\x86".b.freeze, "gbreve" => "\xC4\x9F".b.freeze, "gcirc" => "\xC4\x9D".b.freeze, "gcy" => "\xD0\xB3".b.freeze, "gdot" => "\xC4\xA1".b.freeze, "ge" => "\xE2\x89\xA5".b.freeze, "gel" => "\xE2\x8B\x9B".b.freeze, "geq" => "\xE2\x89\xA5".b.freeze, "geqq" => "\xE2\x89\xA7".b.freeze, "geqslant" => "\xE2\xA9\xBE".b.freeze, "ges" => "\xE2\xA9\xBE".b.freeze, "gescc" => "\xE2\xAA\xA9".b.freeze, "gesdot" => "\xE2\xAA\x80".b.freeze, "gesdoto" => "\xE2\xAA\x82".b.freeze, "gesdotol" => "\xE2\xAA\x84".b.freeze, "gesl" => "\xE2\x8B\x9B\xEF\xB8\x80".b.freeze, "gesles" => "\xE2\xAA\x94".b.freeze, "gfr" => "\xF0\x9D\x94\xA4".b.freeze, "gg" => "\xE2\x89\xAB".b.freeze, "ggg" => "\xE2\x8B\x99".b.freeze, "gimel" => "\xE2\x84\xB7".b.freeze, "gjcy" => "\xD1\x93".b.freeze, "gl" => "\xE2\x89\xB7".b.freeze, "glE" => "\xE2\xAA\x92".b.freeze, "gla" => "\xE2\xAA\xA5".b.freeze, "glj" => "\xE2\xAA\xA4".b.freeze, "gnE" => "\xE2\x89\xA9".b.freeze, "gnap" => "\xE2\xAA\x8A".b.freeze, "gnapprox" => "\xE2\xAA\x8A".b.freeze, "gne" => "\xE2\xAA\x88".b.freeze, "gneq" => "\xE2\xAA\x88".b.freeze, "gneqq" => "\xE2\x89\xA9".b.freeze, "gnsim" => "\xE2\x8B\xA7".b.freeze, "gopf" => "\xF0\x9D\x95\x98".b.freeze, "grave" => "\x60".b.freeze, "gscr" => "\xE2\x84\x8A".b.freeze, "gsim" => "\xE2\x89\xB3".b.freeze, "gsime" => "\xE2\xAA\x8E".b.freeze, "gsiml" => "\xE2\xAA\x90".b.freeze, "gt" => "\x3E".b.freeze, "gtcc" => "\xE2\xAA\xA7".b.freeze, "gtcir" => "\xE2\xA9\xBA".b.freeze, "gtdot" => "\xE2\x8B\x97".b.freeze, "gtlPar" => "\xE2\xA6\x95".b.freeze, "gtquest" => "\xE2\xA9\xBC".b.freeze, "gtrapprox" => "\xE2\xAA\x86".b.freeze, "gtrarr" => "\xE2\xA5\xB8".b.freeze, "gtrdot" => "\xE2\x8B\x97".b.freeze, "gtreqless" => "\xE2\x8B\x9B".b.freeze, "gtreqqless" => "\xE2\xAA\x8C".b.freeze, "gtrless" => "\xE2\x89\xB7".b.freeze, "gtrsim" => "\xE2\x89\xB3".b.freeze, "gvertneqq" => "\xE2\x89\xA9\xEF\xB8\x80".b.freeze, "gvnE" => "\xE2\x89\xA9\xEF\xB8\x80".b.freeze, "hArr" => "\xE2\x87\x94".b.freeze, "hairsp" => "\xE2\x80\x8A".b.freeze, "half" => "\xC2\xBD".b.freeze, "hamilt" => "\xE2\x84\x8B".b.freeze, "hardcy" => "\xD1\x8A".b.freeze, "harr" => "\xE2\x86\x94".b.freeze, "harrcir" => "\xE2\xA5\x88".b.freeze, "harrw" => "\xE2\x86\xAD".b.freeze, "hbar" => "\xE2\x84\x8F".b.freeze, "hcirc" => "\xC4\xA5".b.freeze, "hearts" => "\xE2\x99\xA5".b.freeze, "heartsuit" => "\xE2\x99\xA5".b.freeze, "hellip" => "\xE2\x80\xA6".b.freeze, "hercon" => "\xE2\x8A\xB9".b.freeze, "hfr" => "\xF0\x9D\x94\xA5".b.freeze, "hksearow" => "\xE2\xA4\xA5".b.freeze, "hkswarow" => "\xE2\xA4\xA6".b.freeze, "hoarr" => "\xE2\x87\xBF".b.freeze, "homtht" => "\xE2\x88\xBB".b.freeze, "hookleftarrow" => "\xE2\x86\xA9".b.freeze, "hookrightarrow" => "\xE2\x86\xAA".b.freeze, "hopf" => "\xF0\x9D\x95\x99".b.freeze, "horbar" => "\xE2\x80\x95".b.freeze, "hscr" => "\xF0\x9D\x92\xBD".b.freeze, "hslash" => "\xE2\x84\x8F".b.freeze, "hstrok" => "\xC4\xA7".b.freeze, "hybull" => "\xE2\x81\x83".b.freeze, "hyphen" => "\xE2\x80\x90".b.freeze, "iacute" => "\xC3\xAD".b.freeze, "ic" => "\xE2\x81\xA3".b.freeze, "icirc" => "\xC3\xAE".b.freeze, "icy" => "\xD0\xB8".b.freeze, "iecy" => "\xD0\xB5".b.freeze, "iexcl" => "\xC2\xA1".b.freeze, "iff" => "\xE2\x87\x94".b.freeze, "ifr" => "\xF0\x9D\x94\xA6".b.freeze, "igrave" => "\xC3\xAC".b.freeze, "ii" => "\xE2\x85\x88".b.freeze, "iiiint" => "\xE2\xA8\x8C".b.freeze, "iiint" => "\xE2\x88\xAD".b.freeze, "iinfin" => "\xE2\xA7\x9C".b.freeze, "iiota" => "\xE2\x84\xA9".b.freeze, "ijlig" => "\xC4\xB3".b.freeze, "imacr" => "\xC4\xAB".b.freeze, "image" => "\xE2\x84\x91".b.freeze, "imagline" => "\xE2\x84\x90".b.freeze, "imagpart" => "\xE2\x84\x91".b.freeze, "imath" => "\xC4\xB1".b.freeze, "imof" => "\xE2\x8A\xB7".b.freeze, "imped" => "\xC6\xB5".b.freeze, "in" => "\xE2\x88\x88".b.freeze, "incare" => "\xE2\x84\x85".b.freeze, "infin" => "\xE2\x88\x9E".b.freeze, "infintie" => "\xE2\xA7\x9D".b.freeze, "inodot" => "\xC4\xB1".b.freeze, "int" => "\xE2\x88\xAB".b.freeze, "intcal" => "\xE2\x8A\xBA".b.freeze, "integers" => "\xE2\x84\xA4".b.freeze, "intercal" => "\xE2\x8A\xBA".b.freeze, "intlarhk" => "\xE2\xA8\x97".b.freeze, "intprod" => "\xE2\xA8\xBC".b.freeze, "iocy" => "\xD1\x91".b.freeze, "iogon" => "\xC4\xAF".b.freeze, "iopf" => "\xF0\x9D\x95\x9A".b.freeze, "iota" => "\xCE\xB9".b.freeze, "iprod" => "\xE2\xA8\xBC".b.freeze, "iquest" => "\xC2\xBF".b.freeze, "iscr" => "\xF0\x9D\x92\xBE".b.freeze, "isin" => "\xE2\x88\x88".b.freeze, "isinE" => "\xE2\x8B\xB9".b.freeze, "isindot" => "\xE2\x8B\xB5".b.freeze, "isins" => "\xE2\x8B\xB4".b.freeze, "isinsv" => "\xE2\x8B\xB3".b.freeze, "isinv" => "\xE2\x88\x88".b.freeze, "it" => "\xE2\x81\xA2".b.freeze, "itilde" => "\xC4\xA9".b.freeze, "iukcy" => "\xD1\x96".b.freeze, "iuml" => "\xC3\xAF".b.freeze, "jcirc" => "\xC4\xB5".b.freeze, "jcy" => "\xD0\xB9".b.freeze, "jfr" => "\xF0\x9D\x94\xA7".b.freeze, "jmath" => "\xC8\xB7".b.freeze, "jopf" => "\xF0\x9D\x95\x9B".b.freeze, "jscr" => "\xF0\x9D\x92\xBF".b.freeze, "jsercy" => "\xD1\x98".b.freeze, "jukcy" => "\xD1\x94".b.freeze, "kappa" => "\xCE\xBA".b.freeze, "kappav" => "\xCF\xB0".b.freeze, "kcedil" => "\xC4\xB7".b.freeze, "kcy" => "\xD0\xBA".b.freeze, "kfr" => "\xF0\x9D\x94\xA8".b.freeze, "kgreen" => "\xC4\xB8".b.freeze, "khcy" => "\xD1\x85".b.freeze, "kjcy" => "\xD1\x9C".b.freeze, "kopf" => "\xF0\x9D\x95\x9C".b.freeze, "kscr" => "\xF0\x9D\x93\x80".b.freeze, "lAarr" => "\xE2\x87\x9A".b.freeze, "lArr" => "\xE2\x87\x90".b.freeze, "lAtail" => "\xE2\xA4\x9B".b.freeze, "lBarr" => "\xE2\xA4\x8E".b.freeze, "lE" => "\xE2\x89\xA6".b.freeze, "lEg" => "\xE2\xAA\x8B".b.freeze, "lHar" => "\xE2\xA5\xA2".b.freeze, "lacute" => "\xC4\xBA".b.freeze, "laemptyv" => "\xE2\xA6\xB4".b.freeze, "lagran" => "\xE2\x84\x92".b.freeze, "lambda" => "\xCE\xBB".b.freeze, "lang" => "\xE2\x9F\xA8".b.freeze, "langd" => "\xE2\xA6\x91".b.freeze, "langle" => "\xE2\x9F\xA8".b.freeze, "lap" => "\xE2\xAA\x85".b.freeze, "laquo" => "\xC2\xAB".b.freeze, "larr" => "\xE2\x86\x90".b.freeze, "larrb" => "\xE2\x87\xA4".b.freeze, "larrbfs" => "\xE2\xA4\x9F".b.freeze, "larrfs" => "\xE2\xA4\x9D".b.freeze, "larrhk" => "\xE2\x86\xA9".b.freeze, "larrlp" => "\xE2\x86\xAB".b.freeze, "larrpl" => "\xE2\xA4\xB9".b.freeze, "larrsim" => "\xE2\xA5\xB3".b.freeze, "larrtl" => "\xE2\x86\xA2".b.freeze, "lat" => "\xE2\xAA\xAB".b.freeze, "latail" => "\xE2\xA4\x99".b.freeze, "late" => "\xE2\xAA\xAD".b.freeze, "lates" => "\xE2\xAA\xAD\xEF\xB8\x80".b.freeze, "lbarr" => "\xE2\xA4\x8C".b.freeze, "lbbrk" => "\xE2\x9D\xB2".b.freeze, "lbrace" => "\x7B".b.freeze, "lbrack" => "\x5B".b.freeze, "lbrke" => "\xE2\xA6\x8B".b.freeze, "lbrksld" => "\xE2\xA6\x8F".b.freeze, "lbrkslu" => "\xE2\xA6\x8D".b.freeze, "lcaron" => "\xC4\xBE".b.freeze, "lcedil" => "\xC4\xBC".b.freeze, "lceil" => "\xE2\x8C\x88".b.freeze, "lcub" => "\x7B".b.freeze, "lcy" => "\xD0\xBB".b.freeze, "ldca" => "\xE2\xA4\xB6".b.freeze, "ldquo" => "\xE2\x80\x9C".b.freeze, "ldquor" => "\xE2\x80\x9E".b.freeze, "ldrdhar" => "\xE2\xA5\xA7".b.freeze, "ldrushar" => "\xE2\xA5\x8B".b.freeze, "ldsh" => "\xE2\x86\xB2".b.freeze, "le" => "\xE2\x89\xA4".b.freeze, "leftarrow" => "\xE2\x86\x90".b.freeze, "leftarrowtail" => "\xE2\x86\xA2".b.freeze, "leftharpoondown" => "\xE2\x86\xBD".b.freeze, "leftharpoonup" => "\xE2\x86\xBC".b.freeze, "leftleftarrows" => "\xE2\x87\x87".b.freeze, "leftrightarrow" => "\xE2\x86\x94".b.freeze, "leftrightarrows" => "\xE2\x87\x86".b.freeze, "leftrightharpoons" => "\xE2\x87\x8B".b.freeze, "leftrightsquigarrow" => "\xE2\x86\xAD".b.freeze, "leftthreetimes" => "\xE2\x8B\x8B".b.freeze, "leg" => "\xE2\x8B\x9A".b.freeze, "leq" => "\xE2\x89\xA4".b.freeze, "leqq" => "\xE2\x89\xA6".b.freeze, "leqslant" => "\xE2\xA9\xBD".b.freeze, "les" => "\xE2\xA9\xBD".b.freeze, "lescc" => "\xE2\xAA\xA8".b.freeze, "lesdot" => "\xE2\xA9\xBF".b.freeze, "lesdoto" => "\xE2\xAA\x81".b.freeze, "lesdotor" => "\xE2\xAA\x83".b.freeze, "lesg" => "\xE2\x8B\x9A\xEF\xB8\x80".b.freeze, "lesges" => "\xE2\xAA\x93".b.freeze, "lessapprox" => "\xE2\xAA\x85".b.freeze, "lessdot" => "\xE2\x8B\x96".b.freeze, "lesseqgtr" => "\xE2\x8B\x9A".b.freeze, "lesseqqgtr" => "\xE2\xAA\x8B".b.freeze, "lessgtr" => "\xE2\x89\xB6".b.freeze, "lesssim" => "\xE2\x89\xB2".b.freeze, "lfisht" => "\xE2\xA5\xBC".b.freeze, "lfloor" => "\xE2\x8C\x8A".b.freeze, "lfr" => "\xF0\x9D\x94\xA9".b.freeze, "lg" => "\xE2\x89\xB6".b.freeze, "lgE" => "\xE2\xAA\x91".b.freeze, "lhard" => "\xE2\x86\xBD".b.freeze, "lharu" => "\xE2\x86\xBC".b.freeze, "lharul" => "\xE2\xA5\xAA".b.freeze, "lhblk" => "\xE2\x96\x84".b.freeze, "ljcy" => "\xD1\x99".b.freeze, "ll" => "\xE2\x89\xAA".b.freeze, "llarr" => "\xE2\x87\x87".b.freeze, "llcorner" => "\xE2\x8C\x9E".b.freeze, "llhard" => "\xE2\xA5\xAB".b.freeze, "lltri" => "\xE2\x97\xBA".b.freeze, "lmidot" => "\xC5\x80".b.freeze, "lmoust" => "\xE2\x8E\xB0".b.freeze, "lmoustache" => "\xE2\x8E\xB0".b.freeze, "lnE" => "\xE2\x89\xA8".b.freeze, "lnap" => "\xE2\xAA\x89".b.freeze, "lnapprox" => "\xE2\xAA\x89".b.freeze, "lne" => "\xE2\xAA\x87".b.freeze, "lneq" => "\xE2\xAA\x87".b.freeze, "lneqq" => "\xE2\x89\xA8".b.freeze, "lnsim" => "\xE2\x8B\xA6".b.freeze, "loang" => "\xE2\x9F\xAC".b.freeze, "loarr" => "\xE2\x87\xBD".b.freeze, "lobrk" => "\xE2\x9F\xA6".b.freeze, "longleftarrow" => "\xE2\x9F\xB5".b.freeze, "longleftrightarrow" => "\xE2\x9F\xB7".b.freeze, "longmapsto" => "\xE2\x9F\xBC".b.freeze, "longrightarrow" => "\xE2\x9F\xB6".b.freeze, "looparrowleft" => "\xE2\x86\xAB".b.freeze, "looparrowright" => "\xE2\x86\xAC".b.freeze, "lopar" => "\xE2\xA6\x85".b.freeze, "lopf" => "\xF0\x9D\x95\x9D".b.freeze, "loplus" => "\xE2\xA8\xAD".b.freeze, "lotimes" => "\xE2\xA8\xB4".b.freeze, "lowast" => "\xE2\x88\x97".b.freeze, "lowbar" => "\x5F".b.freeze, "loz" => "\xE2\x97\x8A".b.freeze, "lozenge" => "\xE2\x97\x8A".b.freeze, "lozf" => "\xE2\xA7\xAB".b.freeze, "lpar" => "\x28".b.freeze, "lparlt" => "\xE2\xA6\x93".b.freeze, "lrarr" => "\xE2\x87\x86".b.freeze, "lrcorner" => "\xE2\x8C\x9F".b.freeze, "lrhar" => "\xE2\x87\x8B".b.freeze, "lrhard" => "\xE2\xA5\xAD".b.freeze, "lrm" => "\xE2\x80\x8E".b.freeze, "lrtri" => "\xE2\x8A\xBF".b.freeze, "lsaquo" => "\xE2\x80\xB9".b.freeze, "lscr" => "\xF0\x9D\x93\x81".b.freeze, "lsh" => "\xE2\x86\xB0".b.freeze, "lsim" => "\xE2\x89\xB2".b.freeze, "lsime" => "\xE2\xAA\x8D".b.freeze, "lsimg" => "\xE2\xAA\x8F".b.freeze, "lsqb" => "\x5B".b.freeze, "lsquo" => "\xE2\x80\x98".b.freeze, "lsquor" => "\xE2\x80\x9A".b.freeze, "lstrok" => "\xC5\x82".b.freeze, "lt" => "\x3C".b.freeze, "ltcc" => "\xE2\xAA\xA6".b.freeze, "ltcir" => "\xE2\xA9\xB9".b.freeze, "ltdot" => "\xE2\x8B\x96".b.freeze, "lthree" => "\xE2\x8B\x8B".b.freeze, "ltimes" => "\xE2\x8B\x89".b.freeze, "ltlarr" => "\xE2\xA5\xB6".b.freeze, "ltquest" => "\xE2\xA9\xBB".b.freeze, "ltrPar" => "\xE2\xA6\x96".b.freeze, "ltri" => "\xE2\x97\x83".b.freeze, "ltrie" => "\xE2\x8A\xB4".b.freeze, "ltrif" => "\xE2\x97\x82".b.freeze, "lurdshar" => "\xE2\xA5\x8A".b.freeze, "luruhar" => "\xE2\xA5\xA6".b.freeze, "lvertneqq" => "\xE2\x89\xA8\xEF\xB8\x80".b.freeze, "lvnE" => "\xE2\x89\xA8\xEF\xB8\x80".b.freeze, "mDDot" => "\xE2\x88\xBA".b.freeze, "macr" => "\xC2\xAF".b.freeze, "male" => "\xE2\x99\x82".b.freeze, "malt" => "\xE2\x9C\xA0".b.freeze, "maltese" => "\xE2\x9C\xA0".b.freeze, "map" => "\xE2\x86\xA6".b.freeze, "mapsto" => "\xE2\x86\xA6".b.freeze, "mapstodown" => "\xE2\x86\xA7".b.freeze, "mapstoleft" => "\xE2\x86\xA4".b.freeze, "mapstoup" => "\xE2\x86\xA5".b.freeze, "marker" => "\xE2\x96\xAE".b.freeze, "mcomma" => "\xE2\xA8\xA9".b.freeze, "mcy" => "\xD0\xBC".b.freeze, "mdash" => "\xE2\x80\x94".b.freeze, "measuredangle" => "\xE2\x88\xA1".b.freeze, "mfr" => "\xF0\x9D\x94\xAA".b.freeze, "mho" => "\xE2\x84\xA7".b.freeze, "micro" => "\xC2\xB5".b.freeze, "mid" => "\xE2\x88\xA3".b.freeze, "midast" => "\x2A".b.freeze, "midcir" => "\xE2\xAB\xB0".b.freeze, "middot" => "\xC2\xB7".b.freeze, "minus" => "\xE2\x88\x92".b.freeze, "minusb" => "\xE2\x8A\x9F".b.freeze, "minusd" => "\xE2\x88\xB8".b.freeze, "minusdu" => "\xE2\xA8\xAA".b.freeze, "mlcp" => "\xE2\xAB\x9B".b.freeze, "mldr" => "\xE2\x80\xA6".b.freeze, "mnplus" => "\xE2\x88\x93".b.freeze, "models" => "\xE2\x8A\xA7".b.freeze, "mopf" => "\xF0\x9D\x95\x9E".b.freeze, "mp" => "\xE2\x88\x93".b.freeze, "mscr" => "\xF0\x9D\x93\x82".b.freeze, "mstpos" => "\xE2\x88\xBE".b.freeze, "mu" => "\xCE\xBC".b.freeze, "multimap" => "\xE2\x8A\xB8".b.freeze, "mumap" => "\xE2\x8A\xB8".b.freeze, "nGg" => "\xE2\x8B\x99\xCC\xB8".b.freeze, "nGt" => "\xE2\x89\xAB\xE2\x83\x92".b.freeze, "nGtv" => "\xE2\x89\xAB\xCC\xB8".b.freeze, "nLeftarrow" => "\xE2\x87\x8D".b.freeze, "nLeftrightarrow" => "\xE2\x87\x8E".b.freeze, "nLl" => "\xE2\x8B\x98\xCC\xB8".b.freeze, "nLt" => "\xE2\x89\xAA\xE2\x83\x92".b.freeze, "nLtv" => "\xE2\x89\xAA\xCC\xB8".b.freeze, "nRightarrow" => "\xE2\x87\x8F".b.freeze, "nVDash" => "\xE2\x8A\xAF".b.freeze, "nVdash" => "\xE2\x8A\xAE".b.freeze, "nabla" => "\xE2\x88\x87".b.freeze, "nacute" => "\xC5\x84".b.freeze, "nang" => "\xE2\x88\xA0\xE2\x83\x92".b.freeze, "nap" => "\xE2\x89\x89".b.freeze, "napE" => "\xE2\xA9\xB0\xCC\xB8".b.freeze, "napid" => "\xE2\x89\x8B\xCC\xB8".b.freeze, "napos" => "\xC5\x89".b.freeze, "napprox" => "\xE2\x89\x89".b.freeze, "natur" => "\xE2\x99\xAE".b.freeze, "natural" => "\xE2\x99\xAE".b.freeze, "naturals" => "\xE2\x84\x95".b.freeze, "nbsp" => "\xC2\xA0".b.freeze, "nbump" => "\xE2\x89\x8E\xCC\xB8".b.freeze, "nbumpe" => "\xE2\x89\x8F\xCC\xB8".b.freeze, "ncap" => "\xE2\xA9\x83".b.freeze, "ncaron" => "\xC5\x88".b.freeze, "ncedil" => "\xC5\x86".b.freeze, "ncong" => "\xE2\x89\x87".b.freeze, "ncongdot" => "\xE2\xA9\xAD\xCC\xB8".b.freeze, "ncup" => "\xE2\xA9\x82".b.freeze, "ncy" => "\xD0\xBD".b.freeze, "ndash" => "\xE2\x80\x93".b.freeze, "ne" => "\xE2\x89\xA0".b.freeze, "neArr" => "\xE2\x87\x97".b.freeze, "nearhk" => "\xE2\xA4\xA4".b.freeze, "nearr" => "\xE2\x86\x97".b.freeze, "nearrow" => "\xE2\x86\x97".b.freeze, "nedot" => "\xE2\x89\x90\xCC\xB8".b.freeze, "nequiv" => "\xE2\x89\xA2".b.freeze, "nesear" => "\xE2\xA4\xA8".b.freeze, "nesim" => "\xE2\x89\x82\xCC\xB8".b.freeze, "nexist" => "\xE2\x88\x84".b.freeze, "nexists" => "\xE2\x88\x84".b.freeze, "nfr" => "\xF0\x9D\x94\xAB".b.freeze, "ngE" => "\xE2\x89\xA7\xCC\xB8".b.freeze, "nge" => "\xE2\x89\xB1".b.freeze, "ngeq" => "\xE2\x89\xB1".b.freeze, "ngeqq" => "\xE2\x89\xA7\xCC\xB8".b.freeze, "ngeqslant" => "\xE2\xA9\xBE\xCC\xB8".b.freeze, "nges" => "\xE2\xA9\xBE\xCC\xB8".b.freeze, "ngsim" => "\xE2\x89\xB5".b.freeze, "ngt" => "\xE2\x89\xAF".b.freeze, "ngtr" => "\xE2\x89\xAF".b.freeze, "nhArr" => "\xE2\x87\x8E".b.freeze, "nharr" => "\xE2\x86\xAE".b.freeze, "nhpar" => "\xE2\xAB\xB2".b.freeze, "ni" => "\xE2\x88\x8B".b.freeze, "nis" => "\xE2\x8B\xBC".b.freeze, "nisd" => "\xE2\x8B\xBA".b.freeze, "niv" => "\xE2\x88\x8B".b.freeze, "njcy" => "\xD1\x9A".b.freeze, "nlArr" => "\xE2\x87\x8D".b.freeze, "nlE" => "\xE2\x89\xA6\xCC\xB8".b.freeze, "nlarr" => "\xE2\x86\x9A".b.freeze, "nldr" => "\xE2\x80\xA5".b.freeze, "nle" => "\xE2\x89\xB0".b.freeze, "nleftarrow" => "\xE2\x86\x9A".b.freeze, "nleftrightarrow" => "\xE2\x86\xAE".b.freeze, "nleq" => "\xE2\x89\xB0".b.freeze, "nleqq" => "\xE2\x89\xA6\xCC\xB8".b.freeze, "nleqslant" => "\xE2\xA9\xBD\xCC\xB8".b.freeze, "nles" => "\xE2\xA9\xBD\xCC\xB8".b.freeze, "nless" => "\xE2\x89\xAE".b.freeze, "nlsim" => "\xE2\x89\xB4".b.freeze, "nlt" => "\xE2\x89\xAE".b.freeze, "nltri" => "\xE2\x8B\xAA".b.freeze, "nltrie" => "\xE2\x8B\xAC".b.freeze, "nmid" => "\xE2\x88\xA4".b.freeze, "nopf" => "\xF0\x9D\x95\x9F".b.freeze, "not" => "\xC2\xAC".b.freeze, "notin" => "\xE2\x88\x89".b.freeze, "notinE" => "\xE2\x8B\xB9\xCC\xB8".b.freeze, "notindot" => "\xE2\x8B\xB5\xCC\xB8".b.freeze, "notinva" => "\xE2\x88\x89".b.freeze, "notinvb" => "\xE2\x8B\xB7".b.freeze, "notinvc" => "\xE2\x8B\xB6".b.freeze, "notni" => "\xE2\x88\x8C".b.freeze, "notniva" => "\xE2\x88\x8C".b.freeze, "notnivb" => "\xE2\x8B\xBE".b.freeze, "notnivc" => "\xE2\x8B\xBD".b.freeze, "npar" => "\xE2\x88\xA6".b.freeze, "nparallel" => "\xE2\x88\xA6".b.freeze, "nparsl" => "\xE2\xAB\xBD\xE2\x83\xA5".b.freeze, "npart" => "\xE2\x88\x82\xCC\xB8".b.freeze, "npolint" => "\xE2\xA8\x94".b.freeze, "npr" => "\xE2\x8A\x80".b.freeze, "nprcue" => "\xE2\x8B\xA0".b.freeze, "npre" => "\xE2\xAA\xAF\xCC\xB8".b.freeze, "nprec" => "\xE2\x8A\x80".b.freeze, "npreceq" => "\xE2\xAA\xAF\xCC\xB8".b.freeze, "nrArr" => "\xE2\x87\x8F".b.freeze, "nrarr" => "\xE2\x86\x9B".b.freeze, "nrarrc" => "\xE2\xA4\xB3\xCC\xB8".b.freeze, "nrarrw" => "\xE2\x86\x9D\xCC\xB8".b.freeze, "nrightarrow" => "\xE2\x86\x9B".b.freeze, "nrtri" => "\xE2\x8B\xAB".b.freeze, "nrtrie" => "\xE2\x8B\xAD".b.freeze, "nsc" => "\xE2\x8A\x81".b.freeze, "nsccue" => "\xE2\x8B\xA1".b.freeze, "nsce" => "\xE2\xAA\xB0\xCC\xB8".b.freeze, "nscr" => "\xF0\x9D\x93\x83".b.freeze, "nshortmid" => "\xE2\x88\xA4".b.freeze, "nshortparallel" => "\xE2\x88\xA6".b.freeze, "nsim" => "\xE2\x89\x81".b.freeze, "nsime" => "\xE2\x89\x84".b.freeze, "nsimeq" => "\xE2\x89\x84".b.freeze, "nsmid" => "\xE2\x88\xA4".b.freeze, "nspar" => "\xE2\x88\xA6".b.freeze, "nsqsube" => "\xE2\x8B\xA2".b.freeze, "nsqsupe" => "\xE2\x8B\xA3".b.freeze, "nsub" => "\xE2\x8A\x84".b.freeze, "nsubE" => "\xE2\xAB\x85\xCC\xB8".b.freeze, "nsube" => "\xE2\x8A\x88".b.freeze, "nsubset" => "\xE2\x8A\x82\xE2\x83\x92".b.freeze, "nsubseteq" => "\xE2\x8A\x88".b.freeze, "nsubseteqq" => "\xE2\xAB\x85\xCC\xB8".b.freeze, "nsucc" => "\xE2\x8A\x81".b.freeze, "nsucceq" => "\xE2\xAA\xB0\xCC\xB8".b.freeze, "nsup" => "\xE2\x8A\x85".b.freeze, "nsupE" => "\xE2\xAB\x86\xCC\xB8".b.freeze, "nsupe" => "\xE2\x8A\x89".b.freeze, "nsupset" => "\xE2\x8A\x83\xE2\x83\x92".b.freeze, "nsupseteq" => "\xE2\x8A\x89".b.freeze, "nsupseteqq" => "\xE2\xAB\x86\xCC\xB8".b.freeze, "ntgl" => "\xE2\x89\xB9".b.freeze, "ntilde" => "\xC3\xB1".b.freeze, "ntlg" => "\xE2\x89\xB8".b.freeze, "ntriangleleft" => "\xE2\x8B\xAA".b.freeze, "ntrianglelefteq" => "\xE2\x8B\xAC".b.freeze, "ntriangleright" => "\xE2\x8B\xAB".b.freeze, "ntrianglerighteq" => "\xE2\x8B\xAD".b.freeze, "nu" => "\xCE\xBD".b.freeze, "num" => "\x23".b.freeze, "numero" => "\xE2\x84\x96".b.freeze, "numsp" => "\xE2\x80\x87".b.freeze, "nvDash" => "\xE2\x8A\xAD".b.freeze, "nvHarr" => "\xE2\xA4\x84".b.freeze, "nvap" => "\xE2\x89\x8D\xE2\x83\x92".b.freeze, "nvdash" => "\xE2\x8A\xAC".b.freeze, "nvge" => "\xE2\x89\xA5\xE2\x83\x92".b.freeze, "nvgt" => "\x3E\xE2\x83\x92".b.freeze, "nvinfin" => "\xE2\xA7\x9E".b.freeze, "nvlArr" => "\xE2\xA4\x82".b.freeze, "nvle" => "\xE2\x89\xA4\xE2\x83\x92".b.freeze, "nvlt" => "\x3C\xE2\x83\x92".b.freeze, "nvltrie" => "\xE2\x8A\xB4\xE2\x83\x92".b.freeze, "nvrArr" => "\xE2\xA4\x83".b.freeze, "nvrtrie" => "\xE2\x8A\xB5\xE2\x83\x92".b.freeze, "nvsim" => "\xE2\x88\xBC\xE2\x83\x92".b.freeze, "nwArr" => "\xE2\x87\x96".b.freeze, "nwarhk" => "\xE2\xA4\xA3".b.freeze, "nwarr" => "\xE2\x86\x96".b.freeze, "nwarrow" => "\xE2\x86\x96".b.freeze, "nwnear" => "\xE2\xA4\xA7".b.freeze, "oS" => "\xE2\x93\x88".b.freeze, "oacute" => "\xC3\xB3".b.freeze, "oast" => "\xE2\x8A\x9B".b.freeze, "ocir" => "\xE2\x8A\x9A".b.freeze, "ocirc" => "\xC3\xB4".b.freeze, "ocy" => "\xD0\xBE".b.freeze, "odash" => "\xE2\x8A\x9D".b.freeze, "odblac" => "\xC5\x91".b.freeze, "odiv" => "\xE2\xA8\xB8".b.freeze, "odot" => "\xE2\x8A\x99".b.freeze, "odsold" => "\xE2\xA6\xBC".b.freeze, "oelig" => "\xC5\x93".b.freeze, "ofcir" => "\xE2\xA6\xBF".b.freeze, "ofr" => "\xF0\x9D\x94\xAC".b.freeze, "ogon" => "\xCB\x9B".b.freeze, "ograve" => "\xC3\xB2".b.freeze, "ogt" => "\xE2\xA7\x81".b.freeze, "ohbar" => "\xE2\xA6\xB5".b.freeze, "ohm" => "\xCE\xA9".b.freeze, "oint" => "\xE2\x88\xAE".b.freeze, "olarr" => "\xE2\x86\xBA".b.freeze, "olcir" => "\xE2\xA6\xBE".b.freeze, "olcross" => "\xE2\xA6\xBB".b.freeze, "oline" => "\xE2\x80\xBE".b.freeze, "olt" => "\xE2\xA7\x80".b.freeze, "omacr" => "\xC5\x8D".b.freeze, "omega" => "\xCF\x89".b.freeze, "omicron" => "\xCE\xBF".b.freeze, "omid" => "\xE2\xA6\xB6".b.freeze, "ominus" => "\xE2\x8A\x96".b.freeze, "oopf" => "\xF0\x9D\x95\xA0".b.freeze, "opar" => "\xE2\xA6\xB7".b.freeze, "operp" => "\xE2\xA6\xB9".b.freeze, "oplus" => "\xE2\x8A\x95".b.freeze, "or" => "\xE2\x88\xA8".b.freeze, "orarr" => "\xE2\x86\xBB".b.freeze, "ord" => "\xE2\xA9\x9D".b.freeze, "order" => "\xE2\x84\xB4".b.freeze, "orderof" => "\xE2\x84\xB4".b.freeze, "ordf" => "\xC2\xAA".b.freeze, "ordm" => "\xC2\xBA".b.freeze, "origof" => "\xE2\x8A\xB6".b.freeze, "oror" => "\xE2\xA9\x96".b.freeze, "orslope" => "\xE2\xA9\x97".b.freeze, "orv" => "\xE2\xA9\x9B".b.freeze, "oscr" => "\xE2\x84\xB4".b.freeze, "oslash" => "\xC3\xB8".b.freeze, "osol" => "\xE2\x8A\x98".b.freeze, "otilde" => "\xC3\xB5".b.freeze, "otimes" => "\xE2\x8A\x97".b.freeze, "otimesas" => "\xE2\xA8\xB6".b.freeze, "ouml" => "\xC3\xB6".b.freeze, "ovbar" => "\xE2\x8C\xBD".b.freeze, "par" => "\xE2\x88\xA5".b.freeze, "para" => "\xC2\xB6".b.freeze, "parallel" => "\xE2\x88\xA5".b.freeze, "parsim" => "\xE2\xAB\xB3".b.freeze, "parsl" => "\xE2\xAB\xBD".b.freeze, "part" => "\xE2\x88\x82".b.freeze, "pcy" => "\xD0\xBF".b.freeze, "percnt" => "\x25".b.freeze, "period" => "\x2E".b.freeze, "permil" => "\xE2\x80\xB0".b.freeze, "perp" => "\xE2\x8A\xA5".b.freeze, "pertenk" => "\xE2\x80\xB1".b.freeze, "pfr" => "\xF0\x9D\x94\xAD".b.freeze, "phi" => "\xCF\x86".b.freeze, "phiv" => "\xCF\x95".b.freeze, "phmmat" => "\xE2\x84\xB3".b.freeze, "phone" => "\xE2\x98\x8E".b.freeze, "pi" => "\xCF\x80".b.freeze, "pitchfork" => "\xE2\x8B\x94".b.freeze, "piv" => "\xCF\x96".b.freeze, "planck" => "\xE2\x84\x8F".b.freeze, "planckh" => "\xE2\x84\x8E".b.freeze, "plankv" => "\xE2\x84\x8F".b.freeze, "plus" => "\x2B".b.freeze, "plusacir" => "\xE2\xA8\xA3".b.freeze, "plusb" => "\xE2\x8A\x9E".b.freeze, "pluscir" => "\xE2\xA8\xA2".b.freeze, "plusdo" => "\xE2\x88\x94".b.freeze, "plusdu" => "\xE2\xA8\xA5".b.freeze, "pluse" => "\xE2\xA9\xB2".b.freeze, "plusmn" => "\xC2\xB1".b.freeze, "plussim" => "\xE2\xA8\xA6".b.freeze, "plustwo" => "\xE2\xA8\xA7".b.freeze, "pm" => "\xC2\xB1".b.freeze, "pointint" => "\xE2\xA8\x95".b.freeze, "popf" => "\xF0\x9D\x95\xA1".b.freeze, "pound" => "\xC2\xA3".b.freeze, "pr" => "\xE2\x89\xBA".b.freeze, "prE" => "\xE2\xAA\xB3".b.freeze, "prap" => "\xE2\xAA\xB7".b.freeze, "prcue" => "\xE2\x89\xBC".b.freeze, "pre" => "\xE2\xAA\xAF".b.freeze, "prec" => "\xE2\x89\xBA".b.freeze, "precapprox" => "\xE2\xAA\xB7".b.freeze, "preccurlyeq" => "\xE2\x89\xBC".b.freeze, "preceq" => "\xE2\xAA\xAF".b.freeze, "precnapprox" => "\xE2\xAA\xB9".b.freeze, "precneqq" => "\xE2\xAA\xB5".b.freeze, "precnsim" => "\xE2\x8B\xA8".b.freeze, "precsim" => "\xE2\x89\xBE".b.freeze, "prime" => "\xE2\x80\xB2".b.freeze, "primes" => "\xE2\x84\x99".b.freeze, "prnE" => "\xE2\xAA\xB5".b.freeze, "prnap" => "\xE2\xAA\xB9".b.freeze, "prnsim" => "\xE2\x8B\xA8".b.freeze, "prod" => "\xE2\x88\x8F".b.freeze, "profalar" => "\xE2\x8C\xAE".b.freeze, "profline" => "\xE2\x8C\x92".b.freeze, "profsurf" => "\xE2\x8C\x93".b.freeze, "prop" => "\xE2\x88\x9D".b.freeze, "propto" => "\xE2\x88\x9D".b.freeze, "prsim" => "\xE2\x89\xBE".b.freeze, "prurel" => "\xE2\x8A\xB0".b.freeze, "pscr" => "\xF0\x9D\x93\x85".b.freeze, "psi" => "\xCF\x88".b.freeze, "puncsp" => "\xE2\x80\x88".b.freeze, "qfr" => "\xF0\x9D\x94\xAE".b.freeze, "qint" => "\xE2\xA8\x8C".b.freeze, "qopf" => "\xF0\x9D\x95\xA2".b.freeze, "qprime" => "\xE2\x81\x97".b.freeze, "qscr" => "\xF0\x9D\x93\x86".b.freeze, "quaternions" => "\xE2\x84\x8D".b.freeze, "quatint" => "\xE2\xA8\x96".b.freeze, "quest" => "\x3F".b.freeze, "questeq" => "\xE2\x89\x9F".b.freeze, "quot" => "\x22".b.freeze, "rAarr" => "\xE2\x87\x9B".b.freeze, "rArr" => "\xE2\x87\x92".b.freeze, "rAtail" => "\xE2\xA4\x9C".b.freeze, "rBarr" => "\xE2\xA4\x8F".b.freeze, "rHar" => "\xE2\xA5\xA4".b.freeze, "race" => "\xE2\x88\xBD\xCC\xB1".b.freeze, "racute" => "\xC5\x95".b.freeze, "radic" => "\xE2\x88\x9A".b.freeze, "raemptyv" => "\xE2\xA6\xB3".b.freeze, "rang" => "\xE2\x9F\xA9".b.freeze, "rangd" => "\xE2\xA6\x92".b.freeze, "range" => "\xE2\xA6\xA5".b.freeze, "rangle" => "\xE2\x9F\xA9".b.freeze, "raquo" => "\xC2\xBB".b.freeze, "rarr" => "\xE2\x86\x92".b.freeze, "rarrap" => "\xE2\xA5\xB5".b.freeze, "rarrb" => "\xE2\x87\xA5".b.freeze, "rarrbfs" => "\xE2\xA4\xA0".b.freeze, "rarrc" => "\xE2\xA4\xB3".b.freeze, "rarrfs" => "\xE2\xA4\x9E".b.freeze, "rarrhk" => "\xE2\x86\xAA".b.freeze, "rarrlp" => "\xE2\x86\xAC".b.freeze, "rarrpl" => "\xE2\xA5\x85".b.freeze, "rarrsim" => "\xE2\xA5\xB4".b.freeze, "rarrtl" => "\xE2\x86\xA3".b.freeze, "rarrw" => "\xE2\x86\x9D".b.freeze, "ratail" => "\xE2\xA4\x9A".b.freeze, "ratio" => "\xE2\x88\xB6".b.freeze, "rationals" => "\xE2\x84\x9A".b.freeze, "rbarr" => "\xE2\xA4\x8D".b.freeze, "rbbrk" => "\xE2\x9D\xB3".b.freeze, "rbrace" => "\x7D".b.freeze, "rbrack" => "\x5D".b.freeze, "rbrke" => "\xE2\xA6\x8C".b.freeze, "rbrksld" => "\xE2\xA6\x8E".b.freeze, "rbrkslu" => "\xE2\xA6\x90".b.freeze, "rcaron" => "\xC5\x99".b.freeze, "rcedil" => "\xC5\x97".b.freeze, "rceil" => "\xE2\x8C\x89".b.freeze, "rcub" => "\x7D".b.freeze, "rcy" => "\xD1\x80".b.freeze, "rdca" => "\xE2\xA4\xB7".b.freeze, "rdldhar" => "\xE2\xA5\xA9".b.freeze, "rdquo" => "\xE2\x80\x9D".b.freeze, "rdquor" => "\xE2\x80\x9D".b.freeze, "rdsh" => "\xE2\x86\xB3".b.freeze, "real" => "\xE2\x84\x9C".b.freeze, "realine" => "\xE2\x84\x9B".b.freeze, "realpart" => "\xE2\x84\x9C".b.freeze, "reals" => "\xE2\x84\x9D".b.freeze, "rect" => "\xE2\x96\xAD".b.freeze, "reg" => "\xC2\xAE".b.freeze, "rfisht" => "\xE2\xA5\xBD".b.freeze, "rfloor" => "\xE2\x8C\x8B".b.freeze, "rfr" => "\xF0\x9D\x94\xAF".b.freeze, "rhard" => "\xE2\x87\x81".b.freeze, "rharu" => "\xE2\x87\x80".b.freeze, "rharul" => "\xE2\xA5\xAC".b.freeze, "rho" => "\xCF\x81".b.freeze, "rhov" => "\xCF\xB1".b.freeze, "rightarrow" => "\xE2\x86\x92".b.freeze, "rightarrowtail" => "\xE2\x86\xA3".b.freeze, "rightharpoondown" => "\xE2\x87\x81".b.freeze, "rightharpoonup" => "\xE2\x87\x80".b.freeze, "rightleftarrows" => "\xE2\x87\x84".b.freeze, "rightleftharpoons" => "\xE2\x87\x8C".b.freeze, "rightrightarrows" => "\xE2\x87\x89".b.freeze, "rightsquigarrow" => "\xE2\x86\x9D".b.freeze, "rightthreetimes" => "\xE2\x8B\x8C".b.freeze, "ring" => "\xCB\x9A".b.freeze, "risingdotseq" => "\xE2\x89\x93".b.freeze, "rlarr" => "\xE2\x87\x84".b.freeze, "rlhar" => "\xE2\x87\x8C".b.freeze, "rlm" => "\xE2\x80\x8F".b.freeze, "rmoust" => "\xE2\x8E\xB1".b.freeze, "rmoustache" => "\xE2\x8E\xB1".b.freeze, "rnmid" => "\xE2\xAB\xAE".b.freeze, "roang" => "\xE2\x9F\xAD".b.freeze, "roarr" => "\xE2\x87\xBE".b.freeze, "robrk" => "\xE2\x9F\xA7".b.freeze, "ropar" => "\xE2\xA6\x86".b.freeze, "ropf" => "\xF0\x9D\x95\xA3".b.freeze, "roplus" => "\xE2\xA8\xAE".b.freeze, "rotimes" => "\xE2\xA8\xB5".b.freeze, "rpar" => "\x29".b.freeze, "rpargt" => "\xE2\xA6\x94".b.freeze, "rppolint" => "\xE2\xA8\x92".b.freeze, "rrarr" => "\xE2\x87\x89".b.freeze, "rsaquo" => "\xE2\x80\xBA".b.freeze, "rscr" => "\xF0\x9D\x93\x87".b.freeze, "rsh" => "\xE2\x86\xB1".b.freeze, "rsqb" => "\x5D".b.freeze, "rsquo" => "\xE2\x80\x99".b.freeze, "rsquor" => "\xE2\x80\x99".b.freeze, "rthree" => "\xE2\x8B\x8C".b.freeze, "rtimes" => "\xE2\x8B\x8A".b.freeze, "rtri" => "\xE2\x96\xB9".b.freeze, "rtrie" => "\xE2\x8A\xB5".b.freeze, "rtrif" => "\xE2\x96\xB8".b.freeze, "rtriltri" => "\xE2\xA7\x8E".b.freeze, "ruluhar" => "\xE2\xA5\xA8".b.freeze, "rx" => "\xE2\x84\x9E".b.freeze, "sacute" => "\xC5\x9B".b.freeze, "sbquo" => "\xE2\x80\x9A".b.freeze, "sc" => "\xE2\x89\xBB".b.freeze, "scE" => "\xE2\xAA\xB4".b.freeze, "scap" => "\xE2\xAA\xB8".b.freeze, "scaron" => "\xC5\xA1".b.freeze, "sccue" => "\xE2\x89\xBD".b.freeze, "sce" => "\xE2\xAA\xB0".b.freeze, "scedil" => "\xC5\x9F".b.freeze, "scirc" => "\xC5\x9D".b.freeze, "scnE" => "\xE2\xAA\xB6".b.freeze, "scnap" => "\xE2\xAA\xBA".b.freeze, "scnsim" => "\xE2\x8B\xA9".b.freeze, "scpolint" => "\xE2\xA8\x93".b.freeze, "scsim" => "\xE2\x89\xBF".b.freeze, "scy" => "\xD1\x81".b.freeze, "sdot" => "\xE2\x8B\x85".b.freeze, "sdotb" => "\xE2\x8A\xA1".b.freeze, "sdote" => "\xE2\xA9\xA6".b.freeze, "seArr" => "\xE2\x87\x98".b.freeze, "searhk" => "\xE2\xA4\xA5".b.freeze, "searr" => "\xE2\x86\x98".b.freeze, "searrow" => "\xE2\x86\x98".b.freeze, "sect" => "\xC2\xA7".b.freeze, "semi" => "\x3B".b.freeze, "seswar" => "\xE2\xA4\xA9".b.freeze, "setminus" => "\xE2\x88\x96".b.freeze, "setmn" => "\xE2\x88\x96".b.freeze, "sext" => "\xE2\x9C\xB6".b.freeze, "sfr" => "\xF0\x9D\x94\xB0".b.freeze, "sfrown" => "\xE2\x8C\xA2".b.freeze, "sharp" => "\xE2\x99\xAF".b.freeze, "shchcy" => "\xD1\x89".b.freeze, "shcy" => "\xD1\x88".b.freeze, "shortmid" => "\xE2\x88\xA3".b.freeze, "shortparallel" => "\xE2\x88\xA5".b.freeze, "shy" => "\xC2\xAD".b.freeze, "sigma" => "\xCF\x83".b.freeze, "sigmaf" => "\xCF\x82".b.freeze, "sigmav" => "\xCF\x82".b.freeze, "sim" => "\xE2\x88\xBC".b.freeze, "simdot" => "\xE2\xA9\xAA".b.freeze, "sime" => "\xE2\x89\x83".b.freeze, "simeq" => "\xE2\x89\x83".b.freeze, "simg" => "\xE2\xAA\x9E".b.freeze, "simgE" => "\xE2\xAA\xA0".b.freeze, "siml" => "\xE2\xAA\x9D".b.freeze, "simlE" => "\xE2\xAA\x9F".b.freeze, "simne" => "\xE2\x89\x86".b.freeze, "simplus" => "\xE2\xA8\xA4".b.freeze, "simrarr" => "\xE2\xA5\xB2".b.freeze, "slarr" => "\xE2\x86\x90".b.freeze, "smallsetminus" => "\xE2\x88\x96".b.freeze, "smashp" => "\xE2\xA8\xB3".b.freeze, "smeparsl" => "\xE2\xA7\xA4".b.freeze, "smid" => "\xE2\x88\xA3".b.freeze, "smile" => "\xE2\x8C\xA3".b.freeze, "smt" => "\xE2\xAA\xAA".b.freeze, "smte" => "\xE2\xAA\xAC".b.freeze, "smtes" => "\xE2\xAA\xAC\xEF\xB8\x80".b.freeze, "softcy" => "\xD1\x8C".b.freeze, "sol" => "\x2F".b.freeze, "solb" => "\xE2\xA7\x84".b.freeze, "solbar" => "\xE2\x8C\xBF".b.freeze, "sopf" => "\xF0\x9D\x95\xA4".b.freeze, "spades" => "\xE2\x99\xA0".b.freeze, "spadesuit" => "\xE2\x99\xA0".b.freeze, "spar" => "\xE2\x88\xA5".b.freeze, "sqcap" => "\xE2\x8A\x93".b.freeze, "sqcaps" => "\xE2\x8A\x93\xEF\xB8\x80".b.freeze, "sqcup" => "\xE2\x8A\x94".b.freeze, "sqcups" => "\xE2\x8A\x94\xEF\xB8\x80".b.freeze, "sqsub" => "\xE2\x8A\x8F".b.freeze, "sqsube" => "\xE2\x8A\x91".b.freeze, "sqsubset" => "\xE2\x8A\x8F".b.freeze, "sqsubseteq" => "\xE2\x8A\x91".b.freeze, "sqsup" => "\xE2\x8A\x90".b.freeze, "sqsupe" => "\xE2\x8A\x92".b.freeze, "sqsupset" => "\xE2\x8A\x90".b.freeze, "sqsupseteq" => "\xE2\x8A\x92".b.freeze, "squ" => "\xE2\x96\xA1".b.freeze, "square" => "\xE2\x96\xA1".b.freeze, "squarf" => "\xE2\x96\xAA".b.freeze, "squf" => "\xE2\x96\xAA".b.freeze, "srarr" => "\xE2\x86\x92".b.freeze, "sscr" => "\xF0\x9D\x93\x88".b.freeze, "ssetmn" => "\xE2\x88\x96".b.freeze, "ssmile" => "\xE2\x8C\xA3".b.freeze, "sstarf" => "\xE2\x8B\x86".b.freeze, "star" => "\xE2\x98\x86".b.freeze, "starf" => "\xE2\x98\x85".b.freeze, "straightepsilon" => "\xCF\xB5".b.freeze, "straightphi" => "\xCF\x95".b.freeze, "strns" => "\xC2\xAF".b.freeze, "sub" => "\xE2\x8A\x82".b.freeze, "subE" => "\xE2\xAB\x85".b.freeze, "subdot" => "\xE2\xAA\xBD".b.freeze, "sube" => "\xE2\x8A\x86".b.freeze, "subedot" => "\xE2\xAB\x83".b.freeze, "submult" => "\xE2\xAB\x81".b.freeze, "subnE" => "\xE2\xAB\x8B".b.freeze, "subne" => "\xE2\x8A\x8A".b.freeze, "subplus" => "\xE2\xAA\xBF".b.freeze, "subrarr" => "\xE2\xA5\xB9".b.freeze, "subset" => "\xE2\x8A\x82".b.freeze, "subseteq" => "\xE2\x8A\x86".b.freeze, "subseteqq" => "\xE2\xAB\x85".b.freeze, "subsetneq" => "\xE2\x8A\x8A".b.freeze, "subsetneqq" => "\xE2\xAB\x8B".b.freeze, "subsim" => "\xE2\xAB\x87".b.freeze, "subsub" => "\xE2\xAB\x95".b.freeze, "subsup" => "\xE2\xAB\x93".b.freeze, "succ" => "\xE2\x89\xBB".b.freeze, "succapprox" => "\xE2\xAA\xB8".b.freeze, "succcurlyeq" => "\xE2\x89\xBD".b.freeze, "succeq" => "\xE2\xAA\xB0".b.freeze, "succnapprox" => "\xE2\xAA\xBA".b.freeze, "succneqq" => "\xE2\xAA\xB6".b.freeze, "succnsim" => "\xE2\x8B\xA9".b.freeze, "succsim" => "\xE2\x89\xBF".b.freeze, "sum" => "\xE2\x88\x91".b.freeze, "sung" => "\xE2\x99\xAA".b.freeze, "sup" => "\xE2\x8A\x83".b.freeze, "sup1" => "\xC2\xB9".b.freeze, "sup2" => "\xC2\xB2".b.freeze, "sup3" => "\xC2\xB3".b.freeze, "supE" => "\xE2\xAB\x86".b.freeze, "supdot" => "\xE2\xAA\xBE".b.freeze, "supdsub" => "\xE2\xAB\x98".b.freeze, "supe" => "\xE2\x8A\x87".b.freeze, "supedot" => "\xE2\xAB\x84".b.freeze, "suphsol" => "\xE2\x9F\x89".b.freeze, "suphsub" => "\xE2\xAB\x97".b.freeze, "suplarr" => "\xE2\xA5\xBB".b.freeze, "supmult" => "\xE2\xAB\x82".b.freeze, "supnE" => "\xE2\xAB\x8C".b.freeze, "supne" => "\xE2\x8A\x8B".b.freeze, "supplus" => "\xE2\xAB\x80".b.freeze, "supset" => "\xE2\x8A\x83".b.freeze, "supseteq" => "\xE2\x8A\x87".b.freeze, "supseteqq" => "\xE2\xAB\x86".b.freeze, "supsetneq" => "\xE2\x8A\x8B".b.freeze, "supsetneqq" => "\xE2\xAB\x8C".b.freeze, "supsim" => "\xE2\xAB\x88".b.freeze, "supsub" => "\xE2\xAB\x94".b.freeze, "supsup" => "\xE2\xAB\x96".b.freeze, "swArr" => "\xE2\x87\x99".b.freeze, "swarhk" => "\xE2\xA4\xA6".b.freeze, "swarr" => "\xE2\x86\x99".b.freeze, "swarrow" => "\xE2\x86\x99".b.freeze, "swnwar" => "\xE2\xA4\xAA".b.freeze, "szlig" => "\xC3\x9F".b.freeze, "target" => "\xE2\x8C\x96".b.freeze, "tau" => "\xCF\x84".b.freeze, "tbrk" => "\xE2\x8E\xB4".b.freeze, "tcaron" => "\xC5\xA5".b.freeze, "tcedil" => "\xC5\xA3".b.freeze, "tcy" => "\xD1\x82".b.freeze, "tdot" => "\xE2\x83\x9B".b.freeze, "telrec" => "\xE2\x8C\x95".b.freeze, "tfr" => "\xF0\x9D\x94\xB1".b.freeze, "there4" => "\xE2\x88\xB4".b.freeze, "therefore" => "\xE2\x88\xB4".b.freeze, "theta" => "\xCE\xB8".b.freeze, "thetasym" => "\xCF\x91".b.freeze, "thetav" => "\xCF\x91".b.freeze, "thickapprox" => "\xE2\x89\x88".b.freeze, "thicksim" => "\xE2\x88\xBC".b.freeze, "thinsp" => "\xE2\x80\x89".b.freeze, "thkap" => "\xE2\x89\x88".b.freeze, "thksim" => "\xE2\x88\xBC".b.freeze, "thorn" => "\xC3\xBE".b.freeze, "tilde" => "\xCB\x9C".b.freeze, "times" => "\xC3\x97".b.freeze, "timesb" => "\xE2\x8A\xA0".b.freeze, "timesbar" => "\xE2\xA8\xB1".b.freeze, "timesd" => "\xE2\xA8\xB0".b.freeze, "tint" => "\xE2\x88\xAD".b.freeze, "toea" => "\xE2\xA4\xA8".b.freeze, "top" => "\xE2\x8A\xA4".b.freeze, "topbot" => "\xE2\x8C\xB6".b.freeze, "topcir" => "\xE2\xAB\xB1".b.freeze, "topf" => "\xF0\x9D\x95\xA5".b.freeze, "topfork" => "\xE2\xAB\x9A".b.freeze, "tosa" => "\xE2\xA4\xA9".b.freeze, "tprime" => "\xE2\x80\xB4".b.freeze, "trade" => "\xE2\x84\xA2".b.freeze, "triangle" => "\xE2\x96\xB5".b.freeze, "triangledown" => "\xE2\x96\xBF".b.freeze, "triangleleft" => "\xE2\x97\x83".b.freeze, "trianglelefteq" => "\xE2\x8A\xB4".b.freeze, "triangleq" => "\xE2\x89\x9C".b.freeze, "triangleright" => "\xE2\x96\xB9".b.freeze, "trianglerighteq" => "\xE2\x8A\xB5".b.freeze, "tridot" => "\xE2\x97\xAC".b.freeze, "trie" => "\xE2\x89\x9C".b.freeze, "triminus" => "\xE2\xA8\xBA".b.freeze, "triplus" => "\xE2\xA8\xB9".b.freeze, "trisb" => "\xE2\xA7\x8D".b.freeze, "tritime" => "\xE2\xA8\xBB".b.freeze, "trpezium" => "\xE2\x8F\xA2".b.freeze, "tscr" => "\xF0\x9D\x93\x89".b.freeze, "tscy" => "\xD1\x86".b.freeze, "tshcy" => "\xD1\x9B".b.freeze, "tstrok" => "\xC5\xA7".b.freeze, "twixt" => "\xE2\x89\xAC".b.freeze, "twoheadleftarrow" => "\xE2\x86\x9E".b.freeze, "twoheadrightarrow" => "\xE2\x86\xA0".b.freeze, "uArr" => "\xE2\x87\x91".b.freeze, "uHar" => "\xE2\xA5\xA3".b.freeze, "uacute" => "\xC3\xBA".b.freeze, "uarr" => "\xE2\x86\x91".b.freeze, "ubrcy" => "\xD1\x9E".b.freeze, "ubreve" => "\xC5\xAD".b.freeze, "ucirc" => "\xC3\xBB".b.freeze, "ucy" => "\xD1\x83".b.freeze, "udarr" => "\xE2\x87\x85".b.freeze, "udblac" => "\xC5\xB1".b.freeze, "udhar" => "\xE2\xA5\xAE".b.freeze, "ufisht" => "\xE2\xA5\xBE".b.freeze, "ufr" => "\xF0\x9D\x94\xB2".b.freeze, "ugrave" => "\xC3\xB9".b.freeze, "uharl" => "\xE2\x86\xBF".b.freeze, "uharr" => "\xE2\x86\xBE".b.freeze, "uhblk" => "\xE2\x96\x80".b.freeze, "ulcorn" => "\xE2\x8C\x9C".b.freeze, "ulcorner" => "\xE2\x8C\x9C".b.freeze, "ulcrop" => "\xE2\x8C\x8F".b.freeze, "ultri" => "\xE2\x97\xB8".b.freeze, "umacr" => "\xC5\xAB".b.freeze, "uml" => "\xC2\xA8".b.freeze, "uogon" => "\xC5\xB3".b.freeze, "uopf" => "\xF0\x9D\x95\xA6".b.freeze, "uparrow" => "\xE2\x86\x91".b.freeze, "updownarrow" => "\xE2\x86\x95".b.freeze, "upharpoonleft" => "\xE2\x86\xBF".b.freeze, "upharpoonright" => "\xE2\x86\xBE".b.freeze, "uplus" => "\xE2\x8A\x8E".b.freeze, "upsi" => "\xCF\x85".b.freeze, "upsih" => "\xCF\x92".b.freeze, "upsilon" => "\xCF\x85".b.freeze, "upuparrows" => "\xE2\x87\x88".b.freeze, "urcorn" => "\xE2\x8C\x9D".b.freeze, "urcorner" => "\xE2\x8C\x9D".b.freeze, "urcrop" => "\xE2\x8C\x8E".b.freeze, "uring" => "\xC5\xAF".b.freeze, "urtri" => "\xE2\x97\xB9".b.freeze, "uscr" => "\xF0\x9D\x93\x8A".b.freeze, "utdot" => "\xE2\x8B\xB0".b.freeze, "utilde" => "\xC5\xA9".b.freeze, "utri" => "\xE2\x96\xB5".b.freeze, "utrif" => "\xE2\x96\xB4".b.freeze, "uuarr" => "\xE2\x87\x88".b.freeze, "uuml" => "\xC3\xBC".b.freeze, "uwangle" => "\xE2\xA6\xA7".b.freeze, "vArr" => "\xE2\x87\x95".b.freeze, "vBar" => "\xE2\xAB\xA8".b.freeze, "vBarv" => "\xE2\xAB\xA9".b.freeze, "vDash" => "\xE2\x8A\xA8".b.freeze, "vangrt" => "\xE2\xA6\x9C".b.freeze, "varepsilon" => "\xCF\xB5".b.freeze, "varkappa" => "\xCF\xB0".b.freeze, "varnothing" => "\xE2\x88\x85".b.freeze, "varphi" => "\xCF\x95".b.freeze, "varpi" => "\xCF\x96".b.freeze, "varpropto" => "\xE2\x88\x9D".b.freeze, "varr" => "\xE2\x86\x95".b.freeze, "varrho" => "\xCF\xB1".b.freeze, "varsigma" => "\xCF\x82".b.freeze, "varsubsetneq" => "\xE2\x8A\x8A\xEF\xB8\x80".b.freeze, "varsubsetneqq" => "\xE2\xAB\x8B\xEF\xB8\x80".b.freeze, "varsupsetneq" => "\xE2\x8A\x8B\xEF\xB8\x80".b.freeze, "varsupsetneqq" => "\xE2\xAB\x8C\xEF\xB8\x80".b.freeze, "vartheta" => "\xCF\x91".b.freeze, "vartriangleleft" => "\xE2\x8A\xB2".b.freeze, "vartriangleright" => "\xE2\x8A\xB3".b.freeze, "vcy" => "\xD0\xB2".b.freeze, "vdash" => "\xE2\x8A\xA2".b.freeze, "vee" => "\xE2\x88\xA8".b.freeze, "veebar" => "\xE2\x8A\xBB".b.freeze, "veeeq" => "\xE2\x89\x9A".b.freeze, "vellip" => "\xE2\x8B\xAE".b.freeze, "verbar" => "\x7C".b.freeze, "vert" => "\x7C".b.freeze, "vfr" => "\xF0\x9D\x94\xB3".b.freeze, "vltri" => "\xE2\x8A\xB2".b.freeze, "vnsub" => "\xE2\x8A\x82\xE2\x83\x92".b.freeze, "vnsup" => "\xE2\x8A\x83\xE2\x83\x92".b.freeze, "vopf" => "\xF0\x9D\x95\xA7".b.freeze, "vprop" => "\xE2\x88\x9D".b.freeze, "vrtri" => "\xE2\x8A\xB3".b.freeze, "vscr" => "\xF0\x9D\x93\x8B".b.freeze, "vsubnE" => "\xE2\xAB\x8B\xEF\xB8\x80".b.freeze, "vsubne" => "\xE2\x8A\x8A\xEF\xB8\x80".b.freeze, "vsupnE" => "\xE2\xAB\x8C\xEF\xB8\x80".b.freeze, "vsupne" => "\xE2\x8A\x8B\xEF\xB8\x80".b.freeze, "vzigzag" => "\xE2\xA6\x9A".b.freeze, "wcirc" => "\xC5\xB5".b.freeze, "wedbar" => "\xE2\xA9\x9F".b.freeze, "wedge" => "\xE2\x88\xA7".b.freeze, "wedgeq" => "\xE2\x89\x99".b.freeze, "weierp" => "\xE2\x84\x98".b.freeze, "wfr" => "\xF0\x9D\x94\xB4".b.freeze, "wopf" => "\xF0\x9D\x95\xA8".b.freeze, "wp" => "\xE2\x84\x98".b.freeze, "wr" => "\xE2\x89\x80".b.freeze, "wreath" => "\xE2\x89\x80".b.freeze, "wscr" => "\xF0\x9D\x93\x8C".b.freeze, "xcap" => "\xE2\x8B\x82".b.freeze, "xcirc" => "\xE2\x97\xAF".b.freeze, "xcup" => "\xE2\x8B\x83".b.freeze, "xdtri" => "\xE2\x96\xBD".b.freeze, "xfr" => "\xF0\x9D\x94\xB5".b.freeze, "xhArr" => "\xE2\x9F\xBA".b.freeze, "xharr" => "\xE2\x9F\xB7".b.freeze, "xi" => "\xCE\xBE".b.freeze, "xlArr" => "\xE2\x9F\xB8".b.freeze, "xlarr" => "\xE2\x9F\xB5".b.freeze, "xmap" => "\xE2\x9F\xBC".b.freeze, "xnis" => "\xE2\x8B\xBB".b.freeze, "xodot" => "\xE2\xA8\x80".b.freeze, "xopf" => "\xF0\x9D\x95\xA9".b.freeze, "xoplus" => "\xE2\xA8\x81".b.freeze, "xotime" => "\xE2\xA8\x82".b.freeze, "xrArr" => "\xE2\x9F\xB9".b.freeze, "xrarr" => "\xE2\x9F\xB6".b.freeze, "xscr" => "\xF0\x9D\x93\x8D".b.freeze, "xsqcup" => "\xE2\xA8\x86".b.freeze, "xuplus" => "\xE2\xA8\x84".b.freeze, "xutri" => "\xE2\x96\xB3".b.freeze, "xvee" => "\xE2\x8B\x81".b.freeze, "xwedge" => "\xE2\x8B\x80".b.freeze, "yacute" => "\xC3\xBD".b.freeze, "yacy" => "\xD1\x8F".b.freeze, "ycirc" => "\xC5\xB7".b.freeze, "ycy" => "\xD1\x8B".b.freeze, "yen" => "\xC2\xA5".b.freeze, "yfr" => "\xF0\x9D\x94\xB6".b.freeze, "yicy" => "\xD1\x97".b.freeze, "yopf" => "\xF0\x9D\x95\xAA".b.freeze, "yscr" => "\xF0\x9D\x93\x8E".b.freeze, "yucy" => "\xD1\x8E".b.freeze, "yuml" => "\xC3\xBF".b.freeze, "zacute" => "\xC5\xBA".b.freeze, "zcaron" => "\xC5\xBE".b.freeze, "zcy" => "\xD0\xB7".b.freeze, "zdot" => "\xC5\xBC".b.freeze, "zeetrf" => "\xE2\x84\xA8".b.freeze, "zeta" => "\xCE\xB6".b.freeze, "zfr" => "\xF0\x9D\x94\xB7".b.freeze, "zhcy" => "\xD0\xB6".b.freeze, "zigrarr" => "\xE2\x87\x9D".b.freeze, "zopf" => "\xF0\x9D\x95\xAB".b.freeze, "zscr" => "\xF0\x9D\x93\x8F".b.freeze, "zwj" => "\xE2\x80\x8D".b.freeze, "zwnj" => "\xE2\x80\x8C".b.freeze, }.freeze
- ENTITY_RE =
CommonMark entity reference grammar (with spec-mandated digit caps):
- named: &name; one HTML5 named reference - decimal: &#NNNNNNN; 1 to 7 decimal digits - hex: &#xHHHHHH; 1 to 6 hex digitsThe digit counts cover every Unicode code point (0x10FFFF fits in 7 decimal / 6 hex digits) – longer sequences are not valid NCRs and must be treated as literal text.
/&(?:[A-Za-z][A-Za-z0-9]+|\#[0-9]{1,7}|\#[xX][0-9A-Fa-f]{1,6});/- REPLACEMENT_CHARACTER =
"\uFFFD"
Class Method Summary collapse
- .ascii_punct_byte?(byte) ⇒ Boolean
-
.decode_entity(raw) ⇒ Object
Decode one ‘&…;` entity match.
- .decode_numeric_codepoint(codepoint) ⇒ Object
Class Method Details
.ascii_punct_byte?(byte) ⇒ Boolean
30 31 32 |
# File 'lib/red_quilt/inline.rb', line 30 def ascii_punct_byte?(byte) ASCII_PUNCT[byte] end |
.decode_entity(raw) ⇒ Object
Decode one ‘&…;` entity match. Returns the decoded string or the original `raw` when no decoding applies. Numeric references that would produce U+0000, a surrogate, or a value outside the Unicode range are replaced with U+FFFD per CommonMark spec 6.4.
2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 |
# File 'lib/red_quilt/inline/html_entities.rb', line 2155 def decode_entity(raw) if raw.start_with?("&#") body = raw[2..-2] codepoint = if body.start_with?("x", "X") body[1..].to_i(16) else body.to_i(10) end decode_numeric_codepoint(codepoint) else encoded = HTML_ENTITIES[raw[1..-2]] return raw unless encoded encoded.dup.force_encoding(Encoding::UTF_8) end end |
.decode_numeric_codepoint(codepoint) ⇒ Object
2172 2173 2174 2175 2176 2177 2178 |
# File 'lib/red_quilt/inline/html_entities.rb', line 2172 def decode_numeric_codepoint(codepoint) return REPLACEMENT_CHARACTER if codepoint.zero? return REPLACEMENT_CHARACTER if codepoint > MAX_UNICODE_CODEPOINT return REPLACEMENT_CHARACTER if SURROGATE_RANGE.cover?(codepoint) codepoint.chr(Encoding::UTF_8) end |