// unescape_html in Rust: a QIP component that decodes every HTML character // reference in UTF-8 text and copies all other bytes unchanged. One // self-contained file with no dependencies. The table at the bottom is the // WHATWG list of 2,231 names (Python's html.entities.html5, digest-pinned), // stored as 2,125 names without `;`, each flagged if it is also a legacy name // that may omit it. // // Improvements over the 48-page version (a7f4b2e2): // - One 1,258,320-byte buffer instead of two: output is written from byte 0 and // input is read from byte GAP = 209,744. The output can outgrow the consumed // input by at most floor(1 MiB / 5) = 209,715 bytes (≫⃒, 5 -> 6), so // writes never reach unread input. 20 pages instead of 48. // - The record offsets are a static const array instead of a table built in // zeroed memory on the first render of every instance. // - The longest-prefix search tries at most 5 lengths: legacy names are at // most 6 bytes, and when `;` is present the first (with-`;`) attempt is // skipped since no table key contains `;`. // // Build: rustc --edition 2021 --target wasm32-unknown-unknown --crate-type cdylib // -C opt-level=3 -C panic=abort -C lto -C strip=symbols // -C link-arg=--initial-memory=1310720 -C link-arg=--max-memory=1310720 // -C link-arg=-zstack-size=16384 -o unescape.wasm unescape.rs #![no_std] use core::ptr::{addr_of_mut, copy}; const INPUT_CAP: usize = 1 << 20; // The largest growth is `≫⃒` (5 bytes) becoming 6 bytes. const OUTPUT_CAP: usize = INPUT_CAP / 5 * 6 + INPUT_CAP % 5; // 209,715 (max growth) + 29 (margin). const GAP: usize = 209_744; static mut BUFFER: [u8; GAP + INPUT_CAP] = [0; GAP + INPUT_CAP]; #[panic_handler] fn panic(_: &core::panic::PanicInfo) -> ! { core::arch::wasm32::unreachable() } #[no_mangle] pub extern "C" fn input_ptr() -> u32 { let p = unsafe { addr_of_mut!(BUFFER[GAP]) }; p as usize as u32 } #[no_mangle] pub extern "C" fn input_utf8_cap() -> u32 { INPUT_CAP as u32 } #[no_mangle] pub extern "C" fn output_ptr() -> u32 { let p = unsafe { addr_of_mut!(BUFFER[0]) }; p as usize as u32 } #[no_mangle] pub extern "C" fn output_utf8_cap() -> u32 { OUTPUT_CAP as u32 } // Writes through a raw pointer: the output region overlaps the input region, // so it cannot coexist as a &mut slice with the input's shared borrow. The // invariant that keeps this sound: after consuming `i` input bytes, the // output length is at most i + i / 5 < i + GAP, so writes never reach the // unread input at BUFFER[GAP + i..]. struct Out { ptr: *mut u8, len: usize, } impl Out { #[inline(always)] fn byte(&mut self, b: u8) { unsafe { *self.ptr.add(self.len) = b }; self.len += 1; } #[inline(always)] fn bytes(&mut self, bytes: &[u8]) { unsafe { copy(bytes.as_ptr(), self.ptr.add(self.len), bytes.len()) }; self.len += bytes.len(); } fn code_point(&mut self, c: u32) { if c < 0x80 { self.byte(c as u8); } else if c < 0x800 { self.bytes(&[0xC0 | (c >> 6) as u8, 0x80 | (c & 0x3F) as u8]); } else if c < 0x10000 { self.bytes(&[ 0xE0 | (c >> 12) as u8, 0x80 | ((c >> 6) & 0x3F) as u8, 0x80 | (c & 0x3F) as u8, ]); } else { self.bytes(&[ 0xF0 | (c >> 18) as u8, 0x80 | ((c >> 12) & 0x3F) as u8, 0x80 | ((c >> 6) & 0x3F) as u8, 0x80 | (c & 0x3F) as u8, ]); } } } #[no_mangle] pub extern "C" fn render(n: u32) -> u64 { let len = (n as usize).min(INPUT_CAP); let text = unsafe { &BUFFER[GAP..GAP + len] }; let out_ptr = unsafe { addr_of_mut!(BUFFER[0]) } as *mut u8; let mut out = Out { ptr: out_ptr, len: 0 }; let mut i = 0; while i < text.len() { // Copy the run up to the next `&` in one go. let run = text[i..].iter().position(|&b| b == b'&').unwrap_or(text.len() - i); out.bytes(&text[i..i + run]); i += run; if i == text.len() { break; } i = if i + 1 < text.len() && text[i + 1] == b'#' { numeric(text, i, &mut out) } else { named(text, i, &mut out) }; } ((output_ptr() as u64) << 32) | out.len as u64 } // Windows-1252 remapping for references to 0x80–0x9F; 0 keeps the code point. static C1: [u16; 32] = [ 0x20AC, 0, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, // 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0, 0x017D, 0, // 0, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, // 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0, 0x017E, 0x0178, ]; // `text[at]` is `&` and `text[at + 1]` is `#`. Returns the index after what was consumed. fn numeric(text: &[u8], at: usize, out: &mut Out) -> usize { let mut i = at + 2; let hex = i < text.len() && (text[i] | 0x20) == b'x'; if hex { i += 1; } let start = i; let mut value: u32 = 0; while i < text.len() { let c = text[i]; let d = match c { b'0'..=b'9' => (c - b'0') as u32, b'a'..=b'f' | b'A'..=b'F' if hex => ((c | 0x20) - b'a' + 10) as u32, _ => break, }; // Saturate: anything past U+10FFFF is replaced the same way. value = (value * if hex { 16 } else { 10 } + d).min(0x110000); i += 1; } if i == start { out.byte(b'&'); return at + 1; } if i < text.len() && text[i] == b';' { i += 1; } if (0x80..=0x9F).contains(&value) && C1[(value - 0x80) as usize] != 0 { out.code_point(C1[(value - 0x80) as usize] as u32); } else if value == 0 || (0xD800..=0xDFFF).contains(&value) || value > 0x10FFFF { out.code_point(0xFFFD); } else { out.code_point(value); } i } // `text[at]` is `&`. Names are ASCII letters and digits, at most 31 before the `;`. fn named(text: &[u8], at: usize, out: &mut Out) -> usize { let mut end = at + 1; while end < text.len() && end - at - 1 < 32 && text[end].is_ascii_alphanumeric() { end += 1; } let semi = end < text.len() && text[end] == b';'; let name_end = if semi { end + 1 } else { end }; if semi { if let Some(value) = lookup(&text[at + 1..end], false) { out.bytes(value); return name_end; } } // Without an exact match, only legacy names match, longest first. No table // key contains `;`, and no legacy name is longer than 6 bytes. let name_len = end - at - 1; let mut n = name_len.min(6); while n >= 2 { if let Some(value) = lookup(&text[at + 1..at + 1 + n], true) { out.bytes(value); return at + 1 + n; } n -= 1; } out.byte(b'&'); at + 1 } const LEGACY: u8 = 0x80; // `name` excludes any `;`. Without one, only legacy names match. fn lookup(name: &[u8], legacy_only: bool) -> Option<&'static [u8]> { let (mut lo, mut hi) = (0, ENTITY_COUNT); while lo < hi { let mid = (lo + hi) / 2; let start = ENTITY_OFFSETS[mid] as usize; let head = ENTITY_BLOB[start]; let name_end = start + 2 + (head & !LEGACY) as usize; match ENTITY_BLOB[start + 2..name_end].cmp(name) { core::cmp::Ordering::Less => lo = mid + 1, core::cmp::Ordering::Greater => hi = mid, core::cmp::Ordering::Equal => { if legacy_only && head & LEGACY == 0 { return None; } return Some(&ENTITY_BLOB[name_end..name_end + ENTITY_BLOB[start + 1] as usize]); } } } None } // BEGIN GENERATED TABLE const ENTITY_COUNT: usize = 2125; static ENTITY_BLOB: [u8; 24470] = *b"\ \x85\x02AElig\xc3\x86\x83\x01AMP&\x86\x02Aacute\xc3\x81\x06\x02Abreve\xc4\x82\x85\x02Acirc\xc3\x82\x03\x02Acy\xd0\x90\x03\x04Afr\xf0\x9d\x94\x84\x86\x02Agrave\xc3\x80\x05\x02Alpha\xce\x91\x05\ \x02Amacr\xc4\x80\x03\x03And\xe2\xa9\x93\x05\x02Aogon\xc4\x84\x04\x04Aopf\xf0\x9d\x94\xb8\x0d\x03ApplyFunction\xe2\x81\xa1\x85\x02Aring\xc3\x85\x04\x04Ascr\xf0\x9d\x92\x9c\x06\x03Assign\ \xe2\x89\x94\x86\x02Atilde\xc3\x83\x84\x02Auml\xc3\x84\x09\x03Backslash\xe2\x88\x96\x04\x03Barv\xe2\xab\xa7\x06\x03Barwed\xe2\x8c\x86\x03\x02Bcy\xd0\x91\x07\x03Because\xe2\x88\xb5\x0a\x03Bern\ oullis\xe2\x84\xac\x04\x02Beta\xce\x92\x03\x04Bfr\xf0\x9d\x94\x85\x04\x04Bopf\xf0\x9d\x94\xb9\x05\x02Breve\xcb\x98\x04\x03Bscr\xe2\x84\xac\x06\x03Bumpeq\xe2\x89\x8e\x04\x02CHcy\xd0\xa7\x84\x02COPY\xc2\ \xa9\x06\x02Cacute\xc4\x86\x03\x03Cap\xe2\x8b\x92\x14\x03CapitalDifferentialD\xe2\x85\x85\x07\x03Cayleys\xe2\x84\xad\x06\x02Ccaron\xc4\x8c\x86\x02Ccedil\xc3\x87\x05\x02Cc\ irc\xc4\x88\x07\x03Cconint\xe2\x88\xb0\x04\x02Cdot\xc4\x8a\x07\x02Cedilla\xc2\xb8\x09\x02CenterDot\xc2\xb7\x03\x03Cfr\xe2\x84\xad\x03\x02Chi\xce\xa7\x09\x03CircleDot\xe2\x8a\x99\x0b\x03\ CircleMinus\xe2\x8a\x96\x0a\x03CirclePlus\xe2\x8a\x95\x0b\x03CircleTimes\xe2\x8a\x97\x18\x03ClockwiseContourIntegral\xe2\x88\xb2\x15\x03Clos\ eCurlyDoubleQuote\xe2\x80\x9d\x0f\x03CloseCurlyQuote\xe2\x80\x99\x05\x03Colon\xe2\x88\xb7\x06\x03Colone\xe2\xa9\xb4\x09\x03Congruent\xe2\x89\xa1\x06\x03Con\ int\xe2\x88\xaf\x0f\x03ContourIntegral\xe2\x88\xae\x04\x03Copf\xe2\x84\x82\x09\x03Coproduct\xe2\x88\x90\x1f\x03CounterClockwiseContourIntegr\ al\xe2\x88\xb3\x05\x03Cross\xe2\xa8\xaf\x04\x04Cscr\xf0\x9d\x92\x9e\x03\x03Cup\xe2\x8b\x93\x06\x03CupCap\xe2\x89\x8d\x02\x03DD\xe2\x85\x85\x08\x03DDotrahd\xe2\xa4\x91\x04\x02DJcy\xd0\x82\x04\x02DScy\xd0\x85\ \x04\x02DZcy\xd0\x8f\x06\x03Dagger\xe2\x80\xa1\x04\x03Darr\xe2\x86\xa1\x05\x03Dashv\xe2\xab\xa4\x06\x02Dcaron\xc4\x8e\x03\x02Dcy\xd0\x94\x03\x03Del\xe2\x88\x87\x05\x02Delta\xce\x94\x03\x04Dfr\xf0\x9d\x94\ \x87\x10\x02DiacriticalAcute\xc2\xb4\x0e\x02DiacriticalDot\xcb\x99\x16\x02DiacriticalDoubleAcute\xcb\x9d\x10\x01DiacriticalGr\ ave`\x10\x02DiacriticalTilde\xcb\x9c\x07\x03Diamond\xe2\x8b\x84\x0d\x03DifferentialD\xe2\x85\x86\x04\x04Dopf\xf0\x9d\x94\xbb\x03\x02Dot\xc2\xa8\x06\x03DotDot\xe2\ \x83\x9c\x08\x03DotEqual\xe2\x89\x90\x15\x03DoubleContourIntegral\xe2\x88\xaf\x09\x02DoubleDot\xc2\xa8\x0f\x03DoubleDownArrow\xe2\x87\x93\x0f\x03Doub\ leLeftArrow\xe2\x87\x90\x14\x03DoubleLeftRightArrow\xe2\x87\x94\x0d\x03DoubleLeftTee\xe2\xab\xa4\x13\x03DoubleLongLeftArrow\xe2\x9f\ \xb8\x18\x03DoubleLongLeftRightArrow\xe2\x9f\xba\x14\x03DoubleLongRightArrow\xe2\x9f\xb9\x10\x03DoubleRightArrow\xe2\x87\x92\x0e\x03Do\ ubleRightTee\xe2\x8a\xa8\x0d\x03DoubleUpArrow\xe2\x87\x91\x11\x03DoubleUpDownArrow\xe2\x87\x95\x11\x03DoubleVerticalBar\xe2\x88\xa5\x09\x03D\ ownArrow\xe2\x86\x93\x0c\x03DownArrowBar\xe2\xa4\x93\x10\x03DownArrowUpArrow\xe2\x87\xb5\x09\x02DownBreve\xcc\x91\x13\x03DownLeftRightVec\ tor\xe2\xa5\x90\x11\x03DownLeftTeeVector\xe2\xa5\x9e\x0e\x03DownLeftVector\xe2\x86\xbd\x11\x03DownLeftVectorBar\xe2\xa5\x96\x12\x03DownRight\ TeeVector\xe2\xa5\x9f\x0f\x03DownRightVector\xe2\x87\x81\x12\x03DownRightVectorBar\xe2\xa5\x97\x07\x03DownTee\xe2\x8a\xa4\x0c\x03DownTeeArro\ w\xe2\x86\xa7\x09\x03Downarrow\xe2\x87\x93\x04\x04Dscr\xf0\x9d\x92\x9f\x06\x02Dstrok\xc4\x90\x03\x02ENG\xc5\x8a\x83\x02ETH\xc3\x90\x86\x02Eacute\xc3\x89\x06\x02Ecaron\xc4\x9a\x85\x02Ecirc\xc3\ \x8a\x03\x02Ecy\xd0\xad\x04\x02Edot\xc4\x96\x03\x04Efr\xf0\x9d\x94\x88\x86\x02Egrave\xc3\x88\x07\x03Element\xe2\x88\x88\x05\x02Emacr\xc4\x92\x10\x03EmptySmallSquare\xe2\x97\xbb\x14\x03E\ mptyVerySmallSquare\xe2\x96\xab\x05\x02Eogon\xc4\x98\x04\x04Eopf\xf0\x9d\x94\xbc\x07\x02Epsilon\xce\x95\x05\x03Equal\xe2\xa9\xb5\x0a\x03EqualTilde\xe2\x89\x82\x0b\x03E\ quilibrium\xe2\x87\x8c\x04\x03Escr\xe2\x84\xb0\x04\x03Esim\xe2\xa9\xb3\x03\x02Eta\xce\x97\x84\x02Euml\xc3\x8b\x06\x03Exists\xe2\x88\x83\x0c\x03ExponentialE\xe2\x85\x87\x03\x02Fcy\xd0\ \xa4\x03\x04Ffr\xf0\x9d\x94\x89\x11\x03FilledSmallSquare\xe2\x97\xbc\x15\x03FilledVerySmallSquare\xe2\x96\xaa\x04\x04Fopf\xf0\x9d\x94\xbd\x06\x03ForAll\xe2\x88\x80\x0a\ \x03Fouriertrf\xe2\x84\xb1\x04\x03Fscr\xe2\x84\xb1\x04\x02GJcy\xd0\x83\x82\x01GT>\x05\x02Gamma\xce\x93\x06\x02Gammad\xcf\x9c\x06\x02Gbreve\xc4\x9e\x06\x02Gcedil\xc4\xa2\x05\x02Gci\ rc\xc4\x9c\x03\x02Gcy\xd0\x93\x04\x02Gdot\xc4\xa0\x03\x04Gfr\xf0\x9d\x94\x8a\x02\x03Gg\xe2\x8b\x99\x04\x04Gopf\xf0\x9d\x94\xbe\x0c\x03GreaterEqual\xe2\x89\xa5\x10\x03GreaterEqualLess\ \xe2\x8b\x9b\x10\x03GreaterFullEqual\xe2\x89\xa7\x0e\x03GreaterGreater\xe2\xaa\xa2\x0b\x03GreaterLess\xe2\x89\xb7\x11\x03GreaterSlantEqual\xe2\xa9\ \xbe\x0c\x03GreaterTilde\xe2\x89\xb3\x04\x04Gscr\xf0\x9d\x92\xa2\x02\x03Gt\xe2\x89\xab\x06\x02HARDcy\xd0\xaa\x05\x02Hacek\xcb\x87\x03\x01Hat^\x05\x02Hcirc\xc4\xa4\x03\x03Hfr\xe2\x84\x8c\x0c\x03H\ ilbertSpace\xe2\x84\x8b\x04\x03Hopf\xe2\x84\x8d\x0e\x03HorizontalLine\xe2\x94\x80\x04\x03Hscr\xe2\x84\x8b\x06\x02Hstrok\xc4\xa6\x0c\x03HumpDownHump\xe2\x89\x8e\x09\x03\ HumpEqual\xe2\x89\x8f\x04\x02IEcy\xd0\x95\x05\x02IJlig\xc4\xb2\x04\x02IOcy\xd0\x81\x86\x02Iacute\xc3\x8d\x85\x02Icirc\xc3\x8e\x03\x02Icy\xd0\x98\x04\x02Idot\xc4\xb0\x03\x03Ifr\xe2\x84\x91\x86\ \x02Igrave\xc3\x8c\x02\x03Im\xe2\x84\x91\x05\x02Imacr\xc4\xaa\x0a\x03ImaginaryI\xe2\x85\x88\x07\x03Implies\xe2\x87\x92\x03\x03Int\xe2\x88\xac\x08\x03Integral\xe2\x88\xab\x0c\x03Inter\ section\xe2\x8b\x82\x0e\x03InvisibleComma\xe2\x81\xa3\x0e\x03InvisibleTimes\xe2\x81\xa2\x05\x02Iogon\xc4\xae\x04\x04Iopf\xf0\x9d\x95\x80\x04\x02Iota\xce\x99\x04\x03Isc\ r\xe2\x84\x90\x06\x02Itilde\xc4\xa8\x05\x02Iukcy\xd0\x86\x84\x02Iuml\xc3\x8f\x05\x02Jcirc\xc4\xb4\x03\x02Jcy\xd0\x99\x03\x04Jfr\xf0\x9d\x94\x8d\x04\x04Jopf\xf0\x9d\x95\x81\x04\x04Jscr\xf0\x9d\x92\xa5\x06\x02Js\ ercy\xd0\x88\x05\x02Jukcy\xd0\x84\x04\x02KHcy\xd0\xa5\x04\x02KJcy\xd0\x8c\x05\x02Kappa\xce\x9a\x06\x02Kcedil\xc4\xb6\x03\x02Kcy\xd0\x9a\x03\x04Kfr\xf0\x9d\x94\x8e\x04\x04Kopf\xf0\x9d\x95\x82\x04\x04Ks\ cr\xf0\x9d\x92\xa6\x04\x02LJcy\xd0\x89\x82\x01LT<\x06\x02Lacute\xc4\xb9\x06\x02Lambda\xce\x9b\x04\x03Lang\xe2\x9f\xaa\x0a\x03Laplacetrf\xe2\x84\x92\x04\x03Larr\xe2\x86\x9e\x06\x02Lcaron\ \xc4\xbd\x06\x02Lcedil\xc4\xbb\x03\x02Lcy\xd0\x9b\x10\x03LeftAngleBracket\xe2\x9f\xa8\x09\x03LeftArrow\xe2\x86\x90\x0c\x03LeftArrowBar\xe2\x87\xa4\x13\x03LeftArr\ owRightArrow\xe2\x87\x86\x0b\x03LeftCeiling\xe2\x8c\x88\x11\x03LeftDoubleBracket\xe2\x9f\xa6\x11\x03LeftDownTeeVector\xe2\xa5\xa1\x0e\x03Lef\ tDownVector\xe2\x87\x83\x11\x03LeftDownVectorBar\xe2\xa5\x99\x09\x03LeftFloor\xe2\x8c\x8a\x0e\x03LeftRightArrow\xe2\x86\x94\x0f\x03LeftRight\ Vector\xe2\xa5\x8e\x07\x03LeftTee\xe2\x8a\xa3\x0c\x03LeftTeeArrow\xe2\x86\xa4\x0d\x03LeftTeeVector\xe2\xa5\x9a\x0c\x03LeftTriangle\xe2\x8a\xb2\x0f\x03LeftT\ riangleBar\xe2\xa7\x8f\x11\x03LeftTriangleEqual\xe2\x8a\xb4\x10\x03LeftUpDownVector\xe2\xa5\x91\x0f\x03LeftUpTeeVector\xe2\xa5\xa0\x0c\x03Le\ ftUpVector\xe2\x86\xbf\x0f\x03LeftUpVectorBar\xe2\xa5\x98\x0a\x03LeftVector\xe2\x86\xbc\x0d\x03LeftVectorBar\xe2\xa5\x92\x09\x03Leftarrow\xe2\x87\x90\ \x0e\x03Leftrightarrow\xe2\x87\x94\x10\x03LessEqualGreater\xe2\x8b\x9a\x0d\x03LessFullEqual\xe2\x89\xa6\x0b\x03LessGreater\xe2\x89\xb6\x08\x03Less\ Less\xe2\xaa\xa1\x0e\x03LessSlantEqual\xe2\xa9\xbd\x09\x03LessTilde\xe2\x89\xb2\x03\x04Lfr\xf0\x9d\x94\x8f\x02\x03Ll\xe2\x8b\x98\x0a\x03Lleftarrow\xe2\x87\x9a\x06\x02Lmidot\xc4\ \xbf\x0d\x03LongLeftArrow\xe2\x9f\xb5\x12\x03LongLeftRightArrow\xe2\x9f\xb7\x0e\x03LongRightArrow\xe2\x9f\xb6\x0d\x03Longleftarrow\xe2\x9f\xb8\x12\ \x03Longleftrightarrow\xe2\x9f\xba\x0e\x03Longrightarrow\xe2\x9f\xb9\x04\x04Lopf\xf0\x9d\x95\x83\x0e\x03LowerLeftArrow\xe2\x86\x99\x0f\x03LowerRig\ htArrow\xe2\x86\x98\x04\x03Lscr\xe2\x84\x92\x03\x03Lsh\xe2\x86\xb0\x06\x02Lstrok\xc5\x81\x02\x03Lt\xe2\x89\xaa\x03\x03Map\xe2\xa4\x85\x03\x02Mcy\xd0\x9c\x0b\x03MediumSpace\xe2\x81\x9f\x09\x03Mel\ lintrf\xe2\x84\xb3\x03\x04Mfr\xf0\x9d\x94\x90\x09\x03MinusPlus\xe2\x88\x93\x04\x04Mopf\xf0\x9d\x95\x84\x04\x03Mscr\xe2\x84\xb3\x02\x02Mu\xce\x9c\x04\x02NJcy\xd0\x8a\x06\x02Nacute\xc5\x83\x06\x02Nca\ ron\xc5\x87\x06\x02Ncedil\xc5\x85\x03\x02Ncy\xd0\x9d\x13\x03NegativeMediumSpace\xe2\x80\x8b\x12\x03NegativeThickSpace\xe2\x80\x8b\x11\x03NegativeT\ hinSpace\xe2\x80\x8b\x15\x03NegativeVeryThinSpace\xe2\x80\x8b\x14\x03NestedGreaterGreater\xe2\x89\xab\x0e\x03NestedLessLess\xe2\x89\ \xaa\x07\x01NewLine\x0a\x03\x04Nfr\xf0\x9d\x94\x91\x07\x03NoBreak\xe2\x81\xa0\x10\x02NonBreakingSpace\xc2\xa0\x04\x03Nopf\xe2\x84\x95\x03\x03Not\xe2\xab\xac\x0c\x03NotCongru\ ent\xe2\x89\xa2\x09\x03NotCupCap\xe2\x89\xad\x14\x03NotDoubleVerticalBar\xe2\x88\xa6\x0a\x03NotElement\xe2\x88\x89\x08\x03NotEqual\xe2\x89\xa0\x0d\x05NotEq\ ualTilde\xe2\x89\x82\xcc\xb8\x09\x03NotExists\xe2\x88\x84\x0a\x03NotGreater\xe2\x89\xaf\x0f\x03NotGreaterEqual\xe2\x89\xb1\x13\x05NotGreaterFullEq\ ual\xe2\x89\xa7\xcc\xb8\x11\x05NotGreaterGreater\xe2\x89\xab\xcc\xb8\x0e\x03NotGreaterLess\xe2\x89\xb9\x14\x05NotGreaterSlantEqual\xe2\xa9\xbe\xcc\xb8\x0f\x03\ NotGreaterTilde\xe2\x89\xb5\x0f\x05NotHumpDownHump\xe2\x89\x8e\xcc\xb8\x0c\x05NotHumpEqual\xe2\x89\x8f\xcc\xb8\x0f\x03NotLeftTriangle\xe2\x8b\xaa\x12\ \x05NotLeftTriangleBar\xe2\xa7\x8f\xcc\xb8\x14\x03NotLeftTriangleEqual\xe2\x8b\xac\x07\x03NotLess\xe2\x89\xae\x0c\x03NotLessEqual\xe2\x89\xb0\x0e\x03\ NotLessGreater\xe2\x89\xb8\x0b\x05NotLessLess\xe2\x89\xaa\xcc\xb8\x11\x05NotLessSlantEqual\xe2\xa9\xbd\xcc\xb8\x0c\x03NotLessTilde\xe2\x89\xb4\x17\x05No\ tNestedGreaterGreater\xe2\xaa\xa2\xcc\xb8\x11\x05NotNestedLessLess\xe2\xaa\xa1\xcc\xb8\x0b\x03NotPrecedes\xe2\x8a\x80\x10\x05NotPrecedesE\ qual\xe2\xaa\xaf\xcc\xb8\x15\x03NotPrecedesSlantEqual\xe2\x8b\xa0\x11\x03NotReverseElement\xe2\x88\x8c\x10\x03NotRightTriangle\xe2\x8b\xab\x13\x05\ NotRightTriangleBar\xe2\xa7\x90\xcc\xb8\x15\x03NotRightTriangleEqual\xe2\x8b\xad\x0f\x05NotSquareSubset\xe2\x8a\x8f\xcc\xb8\x14\x03NotSqu\ areSubsetEqual\xe2\x8b\xa2\x11\x05NotSquareSuperset\xe2\x8a\x90\xcc\xb8\x16\x03NotSquareSupersetEqual\xe2\x8b\xa3\x09\x06NotSubset\xe2\ \x8a\x82\xe2\x83\x92\x0e\x03NotSubsetEqual\xe2\x8a\x88\x0b\x03NotSucceeds\xe2\x8a\x81\x10\x05NotSucceedsEqual\xe2\xaa\xb0\xcc\xb8\x15\x03NotSucceedsSlan\ tEqual\xe2\x8b\xa1\x10\x05NotSucceedsTilde\xe2\x89\xbf\xcc\xb8\x0b\x06NotSuperset\xe2\x8a\x83\xe2\x83\x92\x10\x03NotSupersetEqual\xe2\x8a\x89\x08\x03NotTil\ de\xe2\x89\x81\x0d\x03NotTildeEqual\xe2\x89\x84\x11\x03NotTildeFullEqual\xe2\x89\x87\x0d\x03NotTildeTilde\xe2\x89\x89\x0e\x03NotVerticalBar\xe2\ \x88\xa4\x04\x04Nscr\xf0\x9d\x92\xa9\x86\x02Ntilde\xc3\x91\x02\x02Nu\xce\x9d\x05\x02OElig\xc5\x92\x86\x02Oacute\xc3\x93\x85\x02Ocirc\xc3\x94\x03\x02Ocy\xd0\x9e\x06\x02Odblac\xc5\x90\x03\x04Ofr\xf0\x9d\ \x94\x92\x86\x02Ograve\xc3\x92\x05\x02Omacr\xc5\x8c\x05\x02Omega\xce\xa9\x07\x02Omicron\xce\x9f\x04\x04Oopf\xf0\x9d\x95\x86\x14\x03OpenCurlyDoubleQuote\xe2\x80\x9c\x0e\x03Op\ enCurlyQuote\xe2\x80\x98\x02\x03Or\xe2\xa9\x94\x04\x04Oscr\xf0\x9d\x92\xaa\x86\x02Oslash\xc3\x98\x86\x02Otilde\xc3\x95\x06\x03Otimes\xe2\xa8\xb7\x84\x02Ouml\xc3\x96\x07\x03OverBar\ \xe2\x80\xbe\x09\x03OverBrace\xe2\x8f\x9e\x0b\x03OverBracket\xe2\x8e\xb4\x0f\x03OverParenthesis\xe2\x8f\x9c\x08\x03PartialD\xe2\x88\x82\x03\x02Pcy\xd0\x9f\x03\x04Pfr\xf0\x9d\ \x94\x93\x03\x02Phi\xce\xa6\x02\x02Pi\xce\xa0\x09\x02PlusMinus\xc2\xb1\x0d\x03Poincareplane\xe2\x84\x8c\x04\x03Popf\xe2\x84\x99\x02\x03Pr\xe2\xaa\xbb\x08\x03Precedes\xe2\x89\xba\x0d\x03Pre\ cedesEqual\xe2\xaa\xaf\x12\x03PrecedesSlantEqual\xe2\x89\xbc\x0d\x03PrecedesTilde\xe2\x89\xbe\x05\x03Prime\xe2\x80\xb3\x07\x03Product\xe2\x88\x8f\x0a\x03Pr\ oportion\xe2\x88\xb7\x0c\x03Proportional\xe2\x88\x9d\x04\x04Pscr\xf0\x9d\x92\xab\x03\x02Psi\xce\xa8\x84\x01QUOT\x22\x03\x04Qfr\xf0\x9d\x94\x94\x04\x03Qopf\xe2\x84\x9a\x04\x04Qscr\xf0\x9d\x92\xac\ \x05\x03RBarr\xe2\xa4\x90\x83\x02REG\xc2\xae\x06\x02Racute\xc5\x94\x04\x03Rang\xe2\x9f\xab\x04\x03Rarr\xe2\x86\xa0\x06\x03Rarrtl\xe2\xa4\x96\x06\x02Rcaron\xc5\x98\x06\x02Rcedil\xc5\x96\x03\x02Rc\ y\xd0\xa0\x02\x03Re\xe2\x84\x9c\x0e\x03ReverseElement\xe2\x88\x8b\x12\x03ReverseEquilibrium\xe2\x87\x8b\x14\x03ReverseUpEquilibrium\xe2\xa5\xaf\x03\x03R\ fr\xe2\x84\x9c\x03\x02Rho\xce\xa1\x11\x03RightAngleBracket\xe2\x9f\xa9\x0a\x03RightArrow\xe2\x86\x92\x0d\x03RightArrowBar\xe2\x87\xa5\x13\x03RightArrowL\ eftArrow\xe2\x87\x84\x0c\x03RightCeiling\xe2\x8c\x89\x12\x03RightDoubleBracket\xe2\x9f\xa7\x12\x03RightDownTeeVector\xe2\xa5\x9d\x0f\x03Righ\ tDownVector\xe2\x87\x82\x12\x03RightDownVectorBar\xe2\xa5\x95\x0a\x03RightFloor\xe2\x8c\x8b\x08\x03RightTee\xe2\x8a\xa2\x0d\x03RightTeeArrow\ \xe2\x86\xa6\x0e\x03RightTeeVector\xe2\xa5\x9b\x0d\x03RightTriangle\xe2\x8a\xb3\x10\x03RightTriangleBar\xe2\xa7\x90\x12\x03RightTriangleEqua\ l\xe2\x8a\xb5\x11\x03RightUpDownVector\xe2\xa5\x8f\x10\x03RightUpTeeVector\xe2\xa5\x9c\x0d\x03RightUpVector\xe2\x86\xbe\x10\x03RightUpVector\ Bar\xe2\xa5\x94\x0b\x03RightVector\xe2\x87\x80\x0e\x03RightVectorBar\xe2\xa5\x93\x0a\x03Rightarrow\xe2\x87\x92\x04\x03Ropf\xe2\x84\x9d\x0c\x03RoundImplies\xe2\ \xa5\xb0\x0b\x03Rrightarrow\xe2\x87\x9b\x04\x03Rscr\xe2\x84\x9b\x03\x03Rsh\xe2\x86\xb1\x0b\x03RuleDelayed\xe2\xa7\xb4\x06\x02SHCHcy\xd0\xa9\x04\x02SHcy\xd0\xa8\x06\x02SOFTcy\xd0\xac\x06\ \x02Sacute\xc5\x9a\x02\x03Sc\xe2\xaa\xbc\x06\x02Scaron\xc5\xa0\x06\x02Scedil\xc5\x9e\x05\x02Scirc\xc5\x9c\x03\x02Scy\xd0\xa1\x03\x04Sfr\xf0\x9d\x94\x96\x0e\x03ShortDownArrow\xe2\x86\x93\ \x0e\x03ShortLeftArrow\xe2\x86\x90\x0f\x03ShortRightArrow\xe2\x86\x92\x0c\x03ShortUpArrow\xe2\x86\x91\x05\x02Sigma\xce\xa3\x0b\x03SmallCircle\xe2\x88\ \x98\x04\x04Sopf\xf0\x9d\x95\x8a\x04\x03Sqrt\xe2\x88\x9a\x06\x03Square\xe2\x96\xa1\x12\x03SquareIntersection\xe2\x8a\x93\x0c\x03SquareSubset\xe2\x8a\x8f\x11\x03SquareS\ ubsetEqual\xe2\x8a\x91\x0e\x03SquareSuperset\xe2\x8a\x90\x13\x03SquareSupersetEqual\xe2\x8a\x92\x0b\x03SquareUnion\xe2\x8a\x94\x04\x04Sscr\xf0\x9d\ \x92\xae\x04\x03Star\xe2\x8b\x86\x03\x03Sub\xe2\x8b\x90\x06\x03Subset\xe2\x8b\x90\x0b\x03SubsetEqual\xe2\x8a\x86\x08\x03Succeeds\xe2\x89\xbb\x0d\x03SucceedsEqual\xe2\xaa\xb0\x12\x03S\ ucceedsSlantEqual\xe2\x89\xbd\x0d\x03SucceedsTilde\xe2\x89\xbf\x08\x03SuchThat\xe2\x88\x8b\x03\x03Sum\xe2\x88\x91\x03\x03Sup\xe2\x8b\x91\x08\x03Superset\xe2\x8a\x83\ \x0d\x03SupersetEqual\xe2\x8a\x87\x06\x03Supset\xe2\x8b\x91\x85\x02THORN\xc3\x9e\x05\x03TRADE\xe2\x84\xa2\x05\x02TSHcy\xd0\x8b\x04\x02TScy\xd0\xa6\x03\x01Tab\x09\x03\x02Tau\xce\xa4\x06\x02\ Tcaron\xc5\xa4\x06\x02Tcedil\xc5\xa2\x03\x02Tcy\xd0\xa2\x03\x04Tfr\xf0\x9d\x94\x97\x09\x03Therefore\xe2\x88\xb4\x05\x02Theta\xce\x98\x0a\x06ThickSpace\xe2\x81\x9f\xe2\x80\x8a\x09\x03Thi\ nSpace\xe2\x80\x89\x05\x03Tilde\xe2\x88\xbc\x0a\x03TildeEqual\xe2\x89\x83\x0e\x03TildeFullEqual\xe2\x89\x85\x0a\x03TildeTilde\xe2\x89\x88\x04\x04Topf\xf0\x9d\x95\x8b\x09\x03\ TripleDot\xe2\x83\x9b\x04\x04Tscr\xf0\x9d\x92\xaf\x06\x02Tstrok\xc5\xa6\x86\x02Uacute\xc3\x9a\x04\x03Uarr\xe2\x86\x9f\x08\x03Uarrocir\xe2\xa5\x89\x05\x02Ubrcy\xd0\x8e\x06\x02Ubrev\ e\xc5\xac\x85\x02Ucirc\xc3\x9b\x03\x02Ucy\xd0\xa3\x06\x02Udblac\xc5\xb0\x03\x04Ufr\xf0\x9d\x94\x98\x86\x02Ugrave\xc3\x99\x05\x02Umacr\xc5\xaa\x08\x01UnderBar_\x0a\x03UnderBrace\ \xe2\x8f\x9f\x0c\x03UnderBracket\xe2\x8e\xb5\x10\x03UnderParenthesis\xe2\x8f\x9d\x05\x03Union\xe2\x8b\x83\x09\x03UnionPlus\xe2\x8a\x8e\x05\x02Uogon\xc5\xb2\x04\x04Uopf\ \xf0\x9d\x95\x8c\x07\x03UpArrow\xe2\x86\x91\x0a\x03UpArrowBar\xe2\xa4\x92\x10\x03UpArrowDownArrow\xe2\x87\x85\x0b\x03UpDownArrow\xe2\x86\x95\x0d\x03UpEquilibr\ ium\xe2\xa5\xae\x05\x03UpTee\xe2\x8a\xa5\x0a\x03UpTeeArrow\xe2\x86\xa5\x07\x03Uparrow\xe2\x87\x91\x0b\x03Updownarrow\xe2\x87\x95\x0e\x03UpperLeftArrow\xe2\x86\x96\x0f\x03\ UpperRightArrow\xe2\x86\x97\x04\x02Upsi\xcf\x92\x07\x02Upsilon\xce\xa5\x05\x02Uring\xc5\xae\x04\x04Uscr\xf0\x9d\x92\xb0\x06\x02Utilde\xc5\xa8\x84\x02Uuml\xc3\x9c\x05\x03VDas\ h\xe2\x8a\xab\x04\x03Vbar\xe2\xab\xab\x03\x02Vcy\xd0\x92\x05\x03Vdash\xe2\x8a\xa9\x06\x03Vdashl\xe2\xab\xa6\x03\x03Vee\xe2\x8b\x81\x06\x03Verbar\xe2\x80\x96\x04\x03Vert\xe2\x80\x96\x0b\x03VerticalB\ ar\xe2\x88\xa3\x0c\x01VerticalLine|\x11\x03VerticalSeparator\xe2\x9d\x98\x0d\x03VerticalTilde\xe2\x89\x80\x0d\x03VeryThinSpace\xe2\x80\x8a\x03\x04\ Vfr\xf0\x9d\x94\x99\x04\x04Vopf\xf0\x9d\x95\x8d\x04\x04Vscr\xf0\x9d\x92\xb1\x06\x03Vvdash\xe2\x8a\xaa\x05\x02Wcirc\xc5\xb4\x05\x03Wedge\xe2\x8b\x80\x03\x04Wfr\xf0\x9d\x94\x9a\x04\x04Wopf\xf0\x9d\x95\x8e\x04\x04Ws\ cr\xf0\x9d\x92\xb2\x03\x04Xfr\xf0\x9d\x94\x9b\x02\x02Xi\xce\x9e\x04\x04Xopf\xf0\x9d\x95\x8f\x04\x04Xscr\xf0\x9d\x92\xb3\x04\x02YAcy\xd0\xaf\x04\x02YIcy\xd0\x87\x04\x02YUcy\xd0\xae\x86\x02Yacute\xc3\x9d\x05\x02Yci\ rc\xc5\xb6\x03\x02Ycy\xd0\xab\x03\x04Yfr\xf0\x9d\x94\x9c\x04\x04Yopf\xf0\x9d\x95\x90\x04\x04Yscr\xf0\x9d\x92\xb4\x04\x02Yuml\xc5\xb8\x04\x02ZHcy\xd0\x96\x06\x02Zacute\xc5\xb9\x06\x02Zcaron\xc5\xbd\x03\x02Zc\ y\xd0\x97\x04\x02Zdot\xc5\xbb\x0e\x03ZeroWidthSpace\xe2\x80\x8b\x04\x02Zeta\xce\x96\x03\x03Zfr\xe2\x84\xa8\x04\x03Zopf\xe2\x84\xa4\x04\x04Zscr\xf0\x9d\x92\xb5\x86\x02aacute\xc3\xa1\x06\x02abr\ eve\xc4\x83\x02\x03ac\xe2\x88\xbe\x03\x05acE\xe2\x88\xbe\xcc\xb3\x03\x03acd\xe2\x88\xbf\x85\x02acirc\xc3\xa2\x85\x02acute\xc2\xb4\x03\x02acy\xd0\xb0\x85\x02aelig\xc3\xa6\x02\x03af\xe2\x81\xa1\x03\x04afr\xf0\x9d\x94\x9e\ \x86\x02agrave\xc3\xa0\x07\x03alefsym\xe2\x84\xb5\x05\x03aleph\xe2\x84\xb5\x05\x02alpha\xce\xb1\x05\x02amacr\xc4\x81\x05\x03amalg\xe2\xa8\xbf\x83\x01amp&\x03\x03and\xe2\x88\xa7\x06\x03anda\ nd\xe2\xa9\x95\x04\x03andd\xe2\xa9\x9c\x08\x03andslope\xe2\xa9\x98\x04\x03andv\xe2\xa9\x9a\x03\x03ang\xe2\x88\xa0\x04\x03ange\xe2\xa6\xa4\x05\x03angle\xe2\x88\xa0\x06\x03angmsd\xe2\x88\xa1\x08\x03angm\ sdaa\xe2\xa6\xa8\x08\x03angmsdab\xe2\xa6\xa9\x08\x03angmsdac\xe2\xa6\xaa\x08\x03angmsdad\xe2\xa6\xab\x08\x03angmsdae\xe2\xa6\xac\x08\x03angmsdaf\xe2\xa6\xad\x08\x03angmsd\ ag\xe2\xa6\xae\x08\x03angmsdah\xe2\xa6\xaf\x05\x03angrt\xe2\x88\x9f\x07\x03angrtvb\xe2\x8a\xbe\x08\x03angrtvbd\xe2\xa6\x9d\x06\x03angsph\xe2\x88\xa2\x05\x02angst\xc3\x85\x07\x03angza\ rr\xe2\x8d\xbc\x05\x02aogon\xc4\x85\x04\x04aopf\xf0\x9d\x95\x92\x02\x03ap\xe2\x89\x88\x03\x03apE\xe2\xa9\xb0\x06\x03apacir\xe2\xa9\xaf\x03\x03ape\xe2\x89\x8a\x04\x03apid\xe2\x89\x8b\x04\x01apos'\x06\x03appr\ ox\xe2\x89\x88\x08\x03approxeq\xe2\x89\x8a\x85\x02aring\xc3\xa5\x04\x04ascr\xf0\x9d\x92\xb6\x03\x01ast*\x05\x03asymp\xe2\x89\x88\x07\x03asympeq\xe2\x89\x8d\x86\x02atilde\xc3\xa3\x84\x02aum\ l\xc3\xa4\x08\x03awconint\xe2\x88\xb3\x05\x03awint\xe2\xa8\x91\x04\x03bNot\xe2\xab\xad\x08\x03backcong\xe2\x89\x8c\x0b\x02backepsilon\xcf\xb6\x09\x03backprime\xe2\x80\xb5\x07\x03b\ acksim\xe2\x88\xbd\x09\x03backsimeq\xe2\x8b\x8d\x06\x03barvee\xe2\x8a\xbd\x06\x03barwed\xe2\x8c\x85\x08\x03barwedge\xe2\x8c\x85\x04\x03bbrk\xe2\x8e\xb5\x08\x03bbrktbrk\xe2\x8e\xb6\ \x05\x03bcong\xe2\x89\x8c\x03\x02bcy\xd0\xb1\x05\x03bdquo\xe2\x80\x9e\x06\x03becaus\xe2\x88\xb5\x07\x03because\xe2\x88\xb5\x07\x03bemptyv\xe2\xa6\xb0\x05\x02bepsi\xcf\xb6\x06\x03bernou\xe2\ \x84\xac\x04\x02beta\xce\xb2\x04\x03beth\xe2\x84\xb6\x07\x03between\xe2\x89\xac\x03\x04bfr\xf0\x9d\x94\x9f\x06\x03bigcap\xe2\x8b\x82\x07\x03bigcirc\xe2\x97\xaf\x06\x03bigcup\xe2\x8b\x83\x07\x03bigo\ dot\xe2\xa8\x80\x08\x03bigoplus\xe2\xa8\x81\x09\x03bigotimes\xe2\xa8\x82\x08\x03bigsqcup\xe2\xa8\x86\x07\x03bigstar\xe2\x98\x85\x0f\x03bigtriangledown\xe2\x96\xbd\x0d\x03\ bigtriangleup\xe2\x96\xb3\x08\x03biguplus\xe2\xa8\x84\x06\x03bigvee\xe2\x8b\x81\x08\x03bigwedge\xe2\x8b\x80\x06\x03bkarow\xe2\xa4\x8d\x0c\x03blacklozenge\xe2\xa7\ \xab\x0b\x03blacksquare\xe2\x96\xaa\x0d\x03blacktriangle\xe2\x96\xb4\x11\x03blacktriangledown\xe2\x96\xbe\x11\x03blacktriangleleft\xe2\x97\x82\x12\ \x03blacktriangleright\xe2\x96\xb8\x05\x03blank\xe2\x90\xa3\x05\x03blk12\xe2\x96\x92\x05\x03blk14\xe2\x96\x91\x05\x03blk34\xe2\x96\x93\x05\x03block\xe2\x96\x88\x03\x04bne=\xe2\x83\ \xa5\x07\x06bnequiv\xe2\x89\xa1\xe2\x83\xa5\x04\x03bnot\xe2\x8c\x90\x04\x04bopf\xf0\x9d\x95\x93\x03\x03bot\xe2\x8a\xa5\x06\x03bottom\xe2\x8a\xa5\x06\x03bowtie\xe2\x8b\x88\x05\x03boxDL\xe2\x95\x97\x05\x03box\ DR\xe2\x95\x94\x05\x03boxDl\xe2\x95\x96\x05\x03boxDr\xe2\x95\x93\x04\x03boxH\xe2\x95\x90\x05\x03boxHD\xe2\x95\xa6\x05\x03boxHU\xe2\x95\xa9\x05\x03boxHd\xe2\x95\xa4\x05\x03boxHu\xe2\x95\xa7\x05\x03boxU\ L\xe2\x95\x9d\x05\x03boxUR\xe2\x95\x9a\x05\x03boxUl\xe2\x95\x9c\x05\x03boxUr\xe2\x95\x99\x04\x03boxV\xe2\x95\x91\x05\x03boxVH\xe2\x95\xac\x05\x03boxVL\xe2\x95\xa3\x05\x03boxVR\xe2\x95\xa0\x05\x03boxVh\ \xe2\x95\xab\x05\x03boxVl\xe2\x95\xa2\x05\x03boxVr\xe2\x95\x9f\x06\x03boxbox\xe2\xa7\x89\x05\x03boxdL\xe2\x95\x95\x05\x03boxdR\xe2\x95\x92\x05\x03boxdl\xe2\x94\x90\x05\x03boxdr\xe2\x94\x8c\x04\x03boxh\ \xe2\x94\x80\x05\x03boxhD\xe2\x95\xa5\x05\x03boxhU\xe2\x95\xa8\x05\x03boxhd\xe2\x94\xac\x05\x03boxhu\xe2\x94\xb4\x08\x03boxminus\xe2\x8a\x9f\x07\x03boxplus\xe2\x8a\x9e\x08\x03boxtimes\xe2\x8a\ \xa0\x05\x03boxuL\xe2\x95\x9b\x05\x03boxuR\xe2\x95\x98\x05\x03boxul\xe2\x94\x98\x05\x03boxur\xe2\x94\x94\x04\x03boxv\xe2\x94\x82\x05\x03boxvH\xe2\x95\xaa\x05\x03boxvL\xe2\x95\xa1\x05\x03boxvR\xe2\x95\x9e\ \x05\x03boxvh\xe2\x94\xbc\x05\x03boxvl\xe2\x94\xa4\x05\x03boxvr\xe2\x94\x9c\x06\x03bprime\xe2\x80\xb5\x05\x02breve\xcb\x98\x86\x02brvbar\xc2\xa6\x04\x04bscr\xf0\x9d\x92\xb7\x05\x03bsemi\xe2\x81\x8f\ \x04\x03bsim\xe2\x88\xbd\x05\x03bsime\xe2\x8b\x8d\x04\x01bsol\x5c\x05\x03bsolb\xe2\xa7\x85\x08\x03bsolhsub\xe2\x9f\x88\x04\x03bull\xe2\x80\xa2\x06\x03bullet\xe2\x80\xa2\x04\x03bump\xe2\x89\x8e\x05\x03\ bumpE\xe2\xaa\xae\x05\x03bumpe\xe2\x89\x8f\x06\x03bumpeq\xe2\x89\x8f\x06\x02cacute\xc4\x87\x03\x03cap\xe2\x88\xa9\x06\x03capand\xe2\xa9\x84\x08\x03capbrcup\xe2\xa9\x89\x06\x03capcap\xe2\ \xa9\x8b\x06\x03capcup\xe2\xa9\x87\x06\x03capdot\xe2\xa9\x80\x04\x06caps\xe2\x88\xa9\xef\xb8\x80\x05\x03caret\xe2\x81\x81\x05\x02caron\xcb\x87\x05\x03ccaps\xe2\xa9\x8d\x06\x02ccaron\xc4\x8d\x86\x02cce\ dil\xc3\xa7\x05\x02ccirc\xc4\x89\x05\x03ccups\xe2\xa9\x8c\x07\x03ccupssm\xe2\xa9\x90\x04\x02cdot\xc4\x8b\x85\x02cedil\xc2\xb8\x07\x03cemptyv\xe2\xa6\xb2\x84\x02cent\xc2\xa2\x09\x02cente\ rdot\xc2\xb7\x03\x04cfr\xf0\x9d\x94\xa0\x04\x02chcy\xd1\x87\x05\x03check\xe2\x9c\x93\x09\x03checkmark\xe2\x9c\x93\x03\x02chi\xcf\x87\x03\x03cir\xe2\x97\x8b\x04\x03cirE\xe2\xa7\x83\x04\x02circ\xcb\x86\x06\ \x03circeq\xe2\x89\x97\x0f\x03circlearrowleft\xe2\x86\xba\x10\x03circlearrowright\xe2\x86\xbb\x08\x02circledR\xc2\xae\x08\x03circledS\xe2\x93\x88\x0a\x03ci\ rcledast\xe2\x8a\x9b\x0b\x03circledcirc\xe2\x8a\x9a\x0b\x03circleddash\xe2\x8a\x9d\x04\x03cire\xe2\x89\x97\x08\x03cirfnint\xe2\xa8\x90\x06\x03cirmid\xe2\xab\xaf\x07\x03ci\ rscir\xe2\xa7\x82\x05\x03clubs\xe2\x99\xa3\x08\x03clubsuit\xe2\x99\xa3\x05\x01colon:\x06\x03colone\xe2\x89\x94\x07\x03coloneq\xe2\x89\x94\x05\x01comma,\x06\x01commat@\x04\ \x03comp\xe2\x88\x81\x06\x03compfn\xe2\x88\x98\x0a\x03complement\xe2\x88\x81\x09\x03complexes\xe2\x84\x82\x04\x03cong\xe2\x89\x85\x07\x03congdot\xe2\xa9\xad\x06\x03conint\xe2\x88\xae\ \x04\x04copf\xf0\x9d\x95\x94\x06\x03coprod\xe2\x88\x90\x84\x02copy\xc2\xa9\x06\x03copysr\xe2\x84\x97\x05\x03crarr\xe2\x86\xb5\x05\x03cross\xe2\x9c\x97\x04\x04cscr\xf0\x9d\x92\xb8\x04\x03csub\xe2\xab\x8f\x05\ \x03csube\xe2\xab\x91\x04\x03csup\xe2\xab\x90\x05\x03csupe\xe2\xab\x92\x05\x03ctdot\xe2\x8b\xaf\x07\x03cudarrl\xe2\xa4\xb8\x07\x03cudarrr\xe2\xa4\xb5\x05\x03cuepr\xe2\x8b\x9e\x05\x03cuesc\xe2\ \x8b\x9f\x06\x03cularr\xe2\x86\xb6\x07\x03cularrp\xe2\xa4\xbd\x03\x03cup\xe2\x88\xaa\x08\x03cupbrcap\xe2\xa9\x88\x06\x03cupcap\xe2\xa9\x86\x06\x03cupcup\xe2\xa9\x8a\x06\x03cupdot\xe2\x8a\x8d\x05\ \x03cupor\xe2\xa9\x85\x04\x06cups\xe2\x88\xaa\xef\xb8\x80\x06\x03curarr\xe2\x86\xb7\x07\x03curarrm\xe2\xa4\xbc\x0b\x03curlyeqprec\xe2\x8b\x9e\x0b\x03curlyeqsucc\xe2\x8b\x9f\x08\x03cu\ rlyvee\xe2\x8b\x8e\x0a\x03curlywedge\xe2\x8b\x8f\x86\x02curren\xc2\xa4\x0e\x03curvearrowleft\xe2\x86\xb6\x0f\x03curvearrowright\xe2\x86\xb7\x05\x03cuvee\ \xe2\x8b\x8e\x05\x03cuwed\xe2\x8b\x8f\x08\x03cwconint\xe2\x88\xb2\x05\x03cwint\xe2\x88\xb1\x06\x03cylcty\xe2\x8c\xad\x04\x03dArr\xe2\x87\x93\x04\x03dHar\xe2\xa5\xa5\x06\x03dagger\xe2\x80\xa0\x06\x03da\ leth\xe2\x84\xb8\x04\x03darr\xe2\x86\x93\x04\x03dash\xe2\x80\x90\x05\x03dashv\xe2\x8a\xa3\x07\x03dbkarow\xe2\xa4\x8f\x05\x02dblac\xcb\x9d\x06\x02dcaron\xc4\x8f\x03\x02dcy\xd0\xb4\x02\x03dd\xe2\x85\x86\ \x07\x03ddagger\xe2\x80\xa1\x05\x03ddarr\xe2\x87\x8a\x07\x03ddotseq\xe2\xa9\xb7\x83\x02deg\xc2\xb0\x05\x02delta\xce\xb4\x07\x03demptyv\xe2\xa6\xb1\x06\x03dfisht\xe2\xa5\xbf\x03\x04dfr\xf0\x9d\ \x94\xa1\x05\x03dharl\xe2\x87\x83\x05\x03dharr\xe2\x87\x82\x04\x03diam\xe2\x8b\x84\x07\x03diamond\xe2\x8b\x84\x0b\x03diamondsuit\xe2\x99\xa6\x05\x03diams\xe2\x99\xa6\x03\x02die\xc2\xa8\x07\x02di\ gamma\xcf\x9d\x05\x03disin\xe2\x8b\xb2\x03\x02div\xc3\xb7\x86\x02divide\xc3\xb7\x0d\x03divideontimes\xe2\x8b\x87\x06\x03divonx\xe2\x8b\x87\x04\x02djcy\xd1\x92\x06\x03dlcorn\xe2\ \x8c\x9e\x06\x03dlcrop\xe2\x8c\x8d\x06\x01dollar$\x04\x04dopf\xf0\x9d\x95\x95\x03\x02dot\xcb\x99\x05\x03doteq\xe2\x89\x90\x08\x03doteqdot\xe2\x89\x91\x08\x03dotminus\xe2\x88\xb8\x07\x03dot\ plus\xe2\x88\x94\x09\x03dotsquare\xe2\x8a\xa1\x0e\x03doublebarwedge\xe2\x8c\x86\x09\x03downarrow\xe2\x86\x93\x0e\x03downdownarrows\xe2\x87\x8a\x0f\x03downh\ arpoonleft\xe2\x87\x83\x10\x03downharpoonright\xe2\x87\x82\x08\x03drbkarow\xe2\xa4\x90\x06\x03drcorn\xe2\x8c\x9f\x06\x03drcrop\xe2\x8c\x8c\x04\x04dscr\xf0\x9d\x92\xb9\x04\ \x02dscy\xd1\x95\x04\x03dsol\xe2\xa7\xb6\x06\x02dstrok\xc4\x91\x05\x03dtdot\xe2\x8b\xb1\x04\x03dtri\xe2\x96\xbf\x05\x03dtrif\xe2\x96\xbe\x05\x03duarr\xe2\x87\xb5\x05\x03duhar\xe2\xa5\xaf\x07\x03dwa\ ngle\xe2\xa6\xa6\x04\x02dzcy\xd1\x9f\x08\x03dzigrarr\xe2\x9f\xbf\x05\x03eDDot\xe2\xa9\xb7\x04\x03eDot\xe2\x89\x91\x86\x02eacute\xc3\xa9\x06\x03easter\xe2\xa9\xae\x06\x02ecaron\xc4\x9b\x04\x03\ ecir\xe2\x89\x96\x85\x02ecirc\xc3\xaa\x06\x03ecolon\xe2\x89\x95\x03\x02ecy\xd1\x8d\x04\x02edot\xc4\x97\x02\x03ee\xe2\x85\x87\x05\x03efDot\xe2\x89\x92\x03\x04efr\xf0\x9d\x94\xa2\x02\x03eg\xe2\xaa\x9a\x86\x02egr\ ave\xc3\xa8\x03\x03egs\xe2\xaa\x96\x06\x03egsdot\xe2\xaa\x98\x02\x03el\xe2\xaa\x99\x08\x03elinters\xe2\x8f\xa7\x03\x03ell\xe2\x84\x93\x03\x03els\xe2\xaa\x95\x06\x03elsdot\xe2\xaa\x97\x05\x02emacr\xc4\x93\ \x05\x03empty\xe2\x88\x85\x08\x03emptyset\xe2\x88\x85\x06\x03emptyv\xe2\x88\x85\x04\x03emsp\xe2\x80\x83\x06\x03emsp13\xe2\x80\x84\x06\x03emsp14\xe2\x80\x85\x03\x02eng\xc5\x8b\x04\x03ensp\xe2\x80\ \x82\x05\x02eogon\xc4\x99\x04\x04eopf\xf0\x9d\x95\x96\x04\x03epar\xe2\x8b\x95\x06\x03eparsl\xe2\xa7\xa3\x05\x03eplus\xe2\xa9\xb1\x04\x02epsi\xce\xb5\x07\x02epsilon\xce\xb5\x05\x02epsiv\xcf\xb5\x06\x03\ eqcirc\xe2\x89\x96\x07\x03eqcolon\xe2\x89\x95\x05\x03eqsim\xe2\x89\x82\x0a\x03eqslantgtr\xe2\xaa\x96\x0b\x03eqslantless\xe2\xaa\x95\x06\x01equals=\x06\x03equest\xe2\ \x89\x9f\x05\x03equiv\xe2\x89\xa1\x07\x03equivDD\xe2\xa9\xb8\x08\x03eqvparsl\xe2\xa7\xa5\x05\x03erDot\xe2\x89\x93\x05\x03erarr\xe2\xa5\xb1\x04\x03escr\xe2\x84\xaf\x05\x03esdot\xe2\x89\x90\x04\x03es\ im\xe2\x89\x82\x03\x02eta\xce\xb7\x83\x02eth\xc3\xb0\x84\x02euml\xc3\xab\x04\x03euro\xe2\x82\xac\x04\x01excl!\x05\x03exist\xe2\x88\x83\x0b\x03expectation\xe2\x84\xb0\x0c\x03exponenti\ ale\xe2\x85\x87\x0d\x03fallingdotseq\xe2\x89\x92\x03\x02fcy\xd1\x84\x06\x03female\xe2\x99\x80\x06\x03ffilig\xef\xac\x83\x05\x03fflig\xef\xac\x80\x06\x03ffllig\xef\xac\x84\x03\x04ffr\xf0\ \x9d\x94\xa3\x05\x03filig\xef\xac\x81\x05\x02fjligfj\x04\x03flat\xe2\x99\xad\x05\x03fllig\xef\xac\x82\x05\x03fltns\xe2\x96\xb1\x04\x02fnof\xc6\x92\x04\x04fopf\xf0\x9d\x95\x97\x06\x03forall\xe2\x88\x80\ \x04\x03fork\xe2\x8b\x94\x05\x03forkv\xe2\xab\x99\x08\x03fpartint\xe2\xa8\x8d\x86\x02frac12\xc2\xbd\x06\x03frac13\xe2\x85\x93\x86\x02frac14\xc2\xbc\x06\x03frac15\xe2\x85\x95\x06\x03frac\ 16\xe2\x85\x99\x06\x03frac18\xe2\x85\x9b\x06\x03frac23\xe2\x85\x94\x06\x03frac25\xe2\x85\x96\x86\x02frac34\xc2\xbe\x06\x03frac35\xe2\x85\x97\x06\x03frac38\xe2\x85\x9c\x06\x03frac45\xe2\x85\ \x98\x06\x03frac56\xe2\x85\x9a\x06\x03frac58\xe2\x85\x9d\x06\x03frac78\xe2\x85\x9e\x05\x03frasl\xe2\x81\x84\x05\x03frown\xe2\x8c\xa2\x04\x04fscr\xf0\x9d\x92\xbb\x02\x03gE\xe2\x89\xa7\x03\x03gEl\xe2\xaa\x8c\x06\ \x02gacute\xc7\xb5\x05\x02gamma\xce\xb3\x06\x02gammad\xcf\x9d\x03\x03gap\xe2\xaa\x86\x06\x02gbreve\xc4\x9f\x05\x02gcirc\xc4\x9d\x03\x02gcy\xd0\xb3\x04\x02gdot\xc4\xa1\x02\x03ge\xe2\x89\xa5\x03\x03g\ el\xe2\x8b\x9b\x03\x03geq\xe2\x89\xa5\x04\x03geqq\xe2\x89\xa7\x08\x03geqslant\xe2\xa9\xbe\x03\x03ges\xe2\xa9\xbe\x05\x03gescc\xe2\xaa\xa9\x06\x03gesdot\xe2\xaa\x80\x07\x03gesdoto\xe2\xaa\x82\x08\x03ge\ sdotol\xe2\xaa\x84\x04\x06gesl\xe2\x8b\x9b\xef\xb8\x80\x06\x03gesles\xe2\xaa\x94\x03\x04gfr\xf0\x9d\x94\xa4\x02\x03gg\xe2\x89\xab\x03\x03ggg\xe2\x8b\x99\x05\x03gimel\xe2\x84\xb7\x04\x02gjcy\xd1\x93\x02\x03gl\xe2\x89\ \xb7\x03\x03glE\xe2\xaa\x92\x03\x03gla\xe2\xaa\xa5\x03\x03glj\xe2\xaa\xa4\x03\x03gnE\xe2\x89\xa9\x04\x03gnap\xe2\xaa\x8a\x08\x03gnapprox\xe2\xaa\x8a\x03\x03gne\xe2\xaa\x88\x04\x03gneq\xe2\xaa\x88\x05\x03gneqq\xe2\ \x89\xa9\x05\x03gnsim\xe2\x8b\xa7\x04\x04gopf\xf0\x9d\x95\x98\x05\x01grave`\x04\x03gscr\xe2\x84\x8a\x04\x03gsim\xe2\x89\xb3\x05\x03gsime\xe2\xaa\x8e\x05\x03gsiml\xe2\xaa\x90\x82\x01gt>\x04\x03gtcc\xe2\ \xaa\xa7\x05\x03gtcir\xe2\xa9\xba\x05\x03gtdot\xe2\x8b\x97\x06\x03gtlPar\xe2\xa6\x95\x07\x03gtquest\xe2\xa9\xbc\x09\x03gtrapprox\xe2\xaa\x86\x06\x03gtrarr\xe2\xa5\xb8\x06\x03gtrdot\xe2\x8b\ \x97\x09\x03gtreqless\xe2\x8b\x9b\x0a\x03gtreqqless\xe2\xaa\x8c\x07\x03gtrless\xe2\x89\xb7\x06\x03gtrsim\xe2\x89\xb3\x09\x06gvertneqq\xe2\x89\xa9\xef\xb8\x80\x04\x06gvnE\xe2\x89\xa9\xef\ \xb8\x80\x04\x03hArr\xe2\x87\x94\x06\x03hairsp\xe2\x80\x8a\x04\x02half\xc2\xbd\x06\x03hamilt\xe2\x84\x8b\x06\x02hardcy\xd1\x8a\x04\x03harr\xe2\x86\x94\x07\x03harrcir\xe2\xa5\x88\x05\x03harrw\xe2\ \x86\xad\x04\x03hbar\xe2\x84\x8f\x05\x02hcirc\xc4\xa5\x06\x03hearts\xe2\x99\xa5\x09\x03heartsuit\xe2\x99\xa5\x06\x03hellip\xe2\x80\xa6\x06\x03hercon\xe2\x8a\xb9\x03\x04hfr\xf0\x9d\x94\xa5\x08\x03hk\ searow\xe2\xa4\xa5\x08\x03hkswarow\xe2\xa4\xa6\x05\x03hoarr\xe2\x87\xbf\x06\x03homtht\xe2\x88\xbb\x0d\x03hookleftarrow\xe2\x86\xa9\x0e\x03hookrightarrow\xe2\x86\xaa\ \x04\x04hopf\xf0\x9d\x95\x99\x06\x03horbar\xe2\x80\x95\x04\x04hscr\xf0\x9d\x92\xbd\x06\x03hslash\xe2\x84\x8f\x06\x02hstrok\xc4\xa7\x06\x03hybull\xe2\x81\x83\x06\x03hyphen\xe2\x80\x90\x86\x02iacu\ te\xc3\xad\x02\x03ic\xe2\x81\xa3\x85\x02icirc\xc3\xae\x03\x02icy\xd0\xb8\x04\x02iecy\xd0\xb5\x85\x02iexcl\xc2\xa1\x03\x03iff\xe2\x87\x94\x03\x04ifr\xf0\x9d\x94\xa6\x86\x02igrave\xc3\xac\x02\x03ii\xe2\x85\x88\x06\x03\ iiiint\xe2\xa8\x8c\x05\x03iiint\xe2\x88\xad\x06\x03iinfin\xe2\xa7\x9c\x05\x03iiota\xe2\x84\xa9\x05\x02ijlig\xc4\xb3\x05\x02imacr\xc4\xab\x05\x03image\xe2\x84\x91\x08\x03imagline\xe2\x84\ \x90\x08\x03imagpart\xe2\x84\x91\x05\x02imath\xc4\xb1\x04\x03imof\xe2\x8a\xb7\x05\x02imped\xc6\xb5\x02\x03in\xe2\x88\x88\x06\x03incare\xe2\x84\x85\x05\x03infin\xe2\x88\x9e\x08\x03infintie\xe2\ \xa7\x9d\x06\x02inodot\xc4\xb1\x03\x03int\xe2\x88\xab\x06\x03intcal\xe2\x8a\xba\x08\x03integers\xe2\x84\xa4\x08\x03intercal\xe2\x8a\xba\x08\x03intlarhk\xe2\xa8\x97\x07\x03intprod\xe2\ \xa8\xbc\x04\x02iocy\xd1\x91\x05\x02iogon\xc4\xaf\x04\x04iopf\xf0\x9d\x95\x9a\x04\x02iota\xce\xb9\x05\x03iprod\xe2\xa8\xbc\x86\x02iquest\xc2\xbf\x04\x04iscr\xf0\x9d\x92\xbe\x04\x03isin\xe2\x88\x88\x05\x03is\ inE\xe2\x8b\xb9\x07\x03isindot\xe2\x8b\xb5\x05\x03isins\xe2\x8b\xb4\x06\x03isinsv\xe2\x8b\xb3\x05\x03isinv\xe2\x88\x88\x02\x03it\xe2\x81\xa2\x06\x02itilde\xc4\xa9\x05\x02iukcy\xd1\x96\x84\x02ium\ l\xc3\xaf\x05\x02jcirc\xc4\xb5\x03\x02jcy\xd0\xb9\x03\x04jfr\xf0\x9d\x94\xa7\x05\x02jmath\xc8\xb7\x04\x04jopf\xf0\x9d\x95\x9b\x04\x04jscr\xf0\x9d\x92\xbf\x06\x02jsercy\xd1\x98\x05\x02jukcy\xd1\x94\x05\x02ka\ ppa\xce\xba\x06\x02kappav\xcf\xb0\x06\x02kcedil\xc4\xb7\x03\x02kcy\xd0\xba\x03\x04kfr\xf0\x9d\x94\xa8\x06\x02kgreen\xc4\xb8\x04\x02khcy\xd1\x85\x04\x02kjcy\xd1\x9c\x04\x04kopf\xf0\x9d\x95\x9c\x04\x04k\ scr\xf0\x9d\x93\x80\x05\x03lAarr\xe2\x87\x9a\x04\x03lArr\xe2\x87\x90\x06\x03lAtail\xe2\xa4\x9b\x05\x03lBarr\xe2\xa4\x8e\x02\x03lE\xe2\x89\xa6\x03\x03lEg\xe2\xaa\x8b\x04\x03lHar\xe2\xa5\xa2\x06\x02lacute\xc4\ \xba\x08\x03laemptyv\xe2\xa6\xb4\x06\x03lagran\xe2\x84\x92\x06\x02lambda\xce\xbb\x04\x03lang\xe2\x9f\xa8\x05\x03langd\xe2\xa6\x91\x06\x03langle\xe2\x9f\xa8\x03\x03lap\xe2\xaa\x85\x85\x02laquo\ \xc2\xab\x04\x03larr\xe2\x86\x90\x05\x03larrb\xe2\x87\xa4\x07\x03larrbfs\xe2\xa4\x9f\x06\x03larrfs\xe2\xa4\x9d\x06\x03larrhk\xe2\x86\xa9\x06\x03larrlp\xe2\x86\xab\x06\x03larrpl\xe2\xa4\xb9\x07\x03l\ arrsim\xe2\xa5\xb3\x06\x03larrtl\xe2\x86\xa2\x03\x03lat\xe2\xaa\xab\x06\x03latail\xe2\xa4\x99\x04\x03late\xe2\xaa\xad\x05\x06lates\xe2\xaa\xad\xef\xb8\x80\x05\x03lbarr\xe2\xa4\x8c\x05\x03lbbrk\xe2\x9d\ \xb2\x06\x01lbrace{\x06\x01lbrack[\x05\x03lbrke\xe2\xa6\x8b\x07\x03lbrksld\xe2\xa6\x8f\x07\x03lbrkslu\xe2\xa6\x8d\x06\x02lcaron\xc4\xbe\x06\x02lcedil\xc4\xbc\x05\x03lceil\ \xe2\x8c\x88\x04\x01lcub{\x03\x02lcy\xd0\xbb\x04\x03ldca\xe2\xa4\xb6\x05\x03ldquo\xe2\x80\x9c\x06\x03ldquor\xe2\x80\x9e\x07\x03ldrdhar\xe2\xa5\xa7\x08\x03ldrushar\xe2\xa5\x8b\x04\x03ldsh\xe2\x86\ \xb2\x02\x03le\xe2\x89\xa4\x09\x03leftarrow\xe2\x86\x90\x0d\x03leftarrowtail\xe2\x86\xa2\x0f\x03leftharpoondown\xe2\x86\xbd\x0d\x03leftharpoonup\xe2\x86\xbc\x0e\x03\ leftleftarrows\xe2\x87\x87\x0e\x03leftrightarrow\xe2\x86\x94\x0f\x03leftrightarrows\xe2\x87\x86\x11\x03leftrightharpoons\xe2\x87\x8b\x13\x03\ leftrightsquigarrow\xe2\x86\xad\x0e\x03leftthreetimes\xe2\x8b\x8b\x03\x03leg\xe2\x8b\x9a\x03\x03leq\xe2\x89\xa4\x04\x03leqq\xe2\x89\xa6\x08\x03leqslant\xe2\xa9\xbd\x03\ \x03les\xe2\xa9\xbd\x05\x03lescc\xe2\xaa\xa8\x06\x03lesdot\xe2\xa9\xbf\x07\x03lesdoto\xe2\xaa\x81\x08\x03lesdotor\xe2\xaa\x83\x04\x06lesg\xe2\x8b\x9a\xef\xb8\x80\x06\x03lesges\xe2\xaa\x93\x0a\x03le\ ssapprox\xe2\xaa\x85\x07\x03lessdot\xe2\x8b\x96\x09\x03lesseqgtr\xe2\x8b\x9a\x0a\x03lesseqqgtr\xe2\xaa\x8b\x07\x03lessgtr\xe2\x89\xb6\x07\x03lesssim\xe2\x89\xb2\x06\x03lf\ isht\xe2\xa5\xbc\x06\x03lfloor\xe2\x8c\x8a\x03\x04lfr\xf0\x9d\x94\xa9\x02\x03lg\xe2\x89\xb6\x03\x03lgE\xe2\xaa\x91\x05\x03lhard\xe2\x86\xbd\x05\x03lharu\xe2\x86\xbc\x06\x03lharul\xe2\xa5\xaa\x05\x03lhblk\ \xe2\x96\x84\x04\x02ljcy\xd1\x99\x02\x03ll\xe2\x89\xaa\x05\x03llarr\xe2\x87\x87\x08\x03llcorner\xe2\x8c\x9e\x06\x03llhard\xe2\xa5\xab\x05\x03lltri\xe2\x97\xba\x06\x02lmidot\xc5\x80\x06\x03lmoust\ \xe2\x8e\xb0\x0a\x03lmoustache\xe2\x8e\xb0\x03\x03lnE\xe2\x89\xa8\x04\x03lnap\xe2\xaa\x89\x08\x03lnapprox\xe2\xaa\x89\x03\x03lne\xe2\xaa\x87\x04\x03lneq\xe2\xaa\x87\x05\x03lneqq\xe2\x89\xa8\x05\x03lns\ im\xe2\x8b\xa6\x05\x03loang\xe2\x9f\xac\x05\x03loarr\xe2\x87\xbd\x05\x03lobrk\xe2\x9f\xa6\x0d\x03longleftarrow\xe2\x9f\xb5\x12\x03longleftrightarrow\xe2\x9f\xb7\x0a\x03lo\ ngmapsto\xe2\x9f\xbc\x0e\x03longrightarrow\xe2\x9f\xb6\x0d\x03looparrowleft\xe2\x86\xab\x0e\x03looparrowright\xe2\x86\xac\x05\x03lopar\xe2\xa6\x85\x04\x04l\ opf\xf0\x9d\x95\x9d\x06\x03loplus\xe2\xa8\xad\x07\x03lotimes\xe2\xa8\xb4\x06\x03lowast\xe2\x88\x97\x06\x01lowbar_\x03\x03loz\xe2\x97\x8a\x07\x03lozenge\xe2\x97\x8a\x04\x03lozf\xe2\xa7\xab\x04\ \x01lpar(\x06\x03lparlt\xe2\xa6\x93\x05\x03lrarr\xe2\x87\x86\x08\x03lrcorner\xe2\x8c\x9f\x05\x03lrhar\xe2\x87\x8b\x06\x03lrhard\xe2\xa5\xad\x03\x03lrm\xe2\x80\x8e\x05\x03lrtri\xe2\x8a\xbf\x06\ \x03lsaquo\xe2\x80\xb9\x04\x04lscr\xf0\x9d\x93\x81\x03\x03lsh\xe2\x86\xb0\x04\x03lsim\xe2\x89\xb2\x05\x03lsime\xe2\xaa\x8d\x05\x03lsimg\xe2\xaa\x8f\x04\x01lsqb[\x05\x03lsquo\xe2\x80\x98\x06\x03lsqu\ or\xe2\x80\x9a\x06\x02lstrok\xc5\x82\x82\x01lt<\x04\x03ltcc\xe2\xaa\xa6\x05\x03ltcir\xe2\xa9\xb9\x05\x03ltdot\xe2\x8b\x96\x06\x03lthree\xe2\x8b\x8b\x06\x03ltimes\xe2\x8b\x89\x06\x03ltlarr\xe2\ \xa5\xb6\x07\x03ltquest\xe2\xa9\xbb\x06\x03ltrPar\xe2\xa6\x96\x04\x03ltri\xe2\x97\x83\x05\x03ltrie\xe2\x8a\xb4\x05\x03ltrif\xe2\x97\x82\x08\x03lurdshar\xe2\xa5\x8a\x07\x03luruhar\xe2\xa5\xa6\x09\ \x06lvertneqq\xe2\x89\xa8\xef\xb8\x80\x04\x06lvnE\xe2\x89\xa8\xef\xb8\x80\x05\x03mDDot\xe2\x88\xba\x84\x02macr\xc2\xaf\x04\x03male\xe2\x99\x82\x04\x03malt\xe2\x9c\xa0\x07\x03maltese\xe2\x9c\xa0\x03\x03ma\ p\xe2\x86\xa6\x06\x03mapsto\xe2\x86\xa6\x0a\x03mapstodown\xe2\x86\xa7\x0a\x03mapstoleft\xe2\x86\xa4\x08\x03mapstoup\xe2\x86\xa5\x06\x03marker\xe2\x96\xae\x06\x03mcomma\xe2\xa8\xa9\ \x03\x02mcy\xd0\xbc\x05\x03mdash\xe2\x80\x94\x0d\x03measuredangle\xe2\x88\xa1\x03\x04mfr\xf0\x9d\x94\xaa\x03\x03mho\xe2\x84\xa7\x85\x02micro\xc2\xb5\x03\x03mid\xe2\x88\xa3\x06\x01midast*\x06\x03\ midcir\xe2\xab\xb0\x86\x02middot\xc2\xb7\x05\x03minus\xe2\x88\x92\x06\x03minusb\xe2\x8a\x9f\x06\x03minusd\xe2\x88\xb8\x07\x03minusdu\xe2\xa8\xaa\x04\x03mlcp\xe2\xab\x9b\x04\x03mldr\xe2\x80\ \xa6\x06\x03mnplus\xe2\x88\x93\x06\x03models\xe2\x8a\xa7\x04\x04mopf\xf0\x9d\x95\x9e\x02\x03mp\xe2\x88\x93\x04\x04mscr\xf0\x9d\x93\x82\x06\x03mstpos\xe2\x88\xbe\x02\x02mu\xce\xbc\x08\x03multimap\xe2\x8a\xb8\ \x05\x03mumap\xe2\x8a\xb8\x03\x05nGg\xe2\x8b\x99\xcc\xb8\x03\x06nGt\xe2\x89\xab\xe2\x83\x92\x04\x05nGtv\xe2\x89\xab\xcc\xb8\x0a\x03nLeftarrow\xe2\x87\x8d\x0f\x03nLeftrightarrow\xe2\x87\x8e\x03\x05n\ Ll\xe2\x8b\x98\xcc\xb8\x03\x06nLt\xe2\x89\xaa\xe2\x83\x92\x04\x05nLtv\xe2\x89\xaa\xcc\xb8\x0b\x03nRightarrow\xe2\x87\x8f\x06\x03nVDash\xe2\x8a\xaf\x06\x03nVdash\xe2\x8a\xae\x05\x03nabla\xe2\x88\x87\x06\x02n\ acute\xc5\x84\x04\x06nang\xe2\x88\xa0\xe2\x83\x92\x03\x03nap\xe2\x89\x89\x04\x05napE\xe2\xa9\xb0\xcc\xb8\x05\x05napid\xe2\x89\x8b\xcc\xb8\x05\x02napos\xc5\x89\x07\x03napprox\xe2\x89\x89\x05\x03natur\xe2\x99\ \xae\x07\x03natural\xe2\x99\xae\x08\x03naturals\xe2\x84\x95\x84\x02nbsp\xc2\xa0\x05\x05nbump\xe2\x89\x8e\xcc\xb8\x06\x05nbumpe\xe2\x89\x8f\xcc\xb8\x04\x03ncap\xe2\xa9\x83\x06\x02ncaron\xc5\x88\x06\x02\ ncedil\xc5\x86\x05\x03ncong\xe2\x89\x87\x08\x05ncongdot\xe2\xa9\xad\xcc\xb8\x04\x03ncup\xe2\xa9\x82\x03\x02ncy\xd0\xbd\x05\x03ndash\xe2\x80\x93\x02\x03ne\xe2\x89\xa0\x05\x03neArr\xe2\x87\x97\x06\x03ne\ arhk\xe2\xa4\xa4\x05\x03nearr\xe2\x86\x97\x07\x03nearrow\xe2\x86\x97\x05\x05nedot\xe2\x89\x90\xcc\xb8\x06\x03nequiv\xe2\x89\xa2\x06\x03nesear\xe2\xa4\xa8\x05\x05nesim\xe2\x89\x82\xcc\xb8\x06\x03nex\ ist\xe2\x88\x84\x07\x03nexists\xe2\x88\x84\x03\x04nfr\xf0\x9d\x94\xab\x03\x05ngE\xe2\x89\xa7\xcc\xb8\x03\x03nge\xe2\x89\xb1\x04\x03ngeq\xe2\x89\xb1\x05\x05ngeqq\xe2\x89\xa7\xcc\xb8\x09\x05ngeqslant\xe2\xa9\xbe\ \xcc\xb8\x04\x05nges\xe2\xa9\xbe\xcc\xb8\x05\x03ngsim\xe2\x89\xb5\x03\x03ngt\xe2\x89\xaf\x04\x03ngtr\xe2\x89\xaf\x05\x03nhArr\xe2\x87\x8e\x05\x03nharr\xe2\x86\xae\x05\x03nhpar\xe2\xab\xb2\x02\x03ni\xe2\x88\x8b\x03\x03n\ is\xe2\x8b\xbc\x04\x03nisd\xe2\x8b\xba\x03\x03niv\xe2\x88\x8b\x04\x02njcy\xd1\x9a\x05\x03nlArr\xe2\x87\x8d\x03\x05nlE\xe2\x89\xa6\xcc\xb8\x05\x03nlarr\xe2\x86\x9a\x04\x03nldr\xe2\x80\xa5\x03\x03nle\xe2\x89\xb0\x0a\x03n\ leftarrow\xe2\x86\x9a\x0f\x03nleftrightarrow\xe2\x86\xae\x04\x03nleq\xe2\x89\xb0\x05\x05nleqq\xe2\x89\xa6\xcc\xb8\x09\x05nleqslant\xe2\xa9\xbd\xcc\xb8\x04\x05nles\xe2\xa9\xbd\xcc\xb8\ \x05\x03nless\xe2\x89\xae\x05\x03nlsim\xe2\x89\xb4\x03\x03nlt\xe2\x89\xae\x05\x03nltri\xe2\x8b\xaa\x06\x03nltrie\xe2\x8b\xac\x04\x03nmid\xe2\x88\xa4\x04\x04nopf\xf0\x9d\x95\x9f\x83\x02not\xc2\xac\x05\x03not\ in\xe2\x88\x89\x06\x05notinE\xe2\x8b\xb9\xcc\xb8\x08\x05notindot\xe2\x8b\xb5\xcc\xb8\x07\x03notinva\xe2\x88\x89\x07\x03notinvb\xe2\x8b\xb7\x07\x03notinvc\xe2\x8b\xb6\x05\x03notni\xe2\x88\x8c\x07\ \x03notniva\xe2\x88\x8c\x07\x03notnivb\xe2\x8b\xbe\x07\x03notnivc\xe2\x8b\xbd\x04\x03npar\xe2\x88\xa6\x09\x03nparallel\xe2\x88\xa6\x06\x06nparsl\xe2\xab\xbd\xe2\x83\xa5\x05\x05npart\xe2\ \x88\x82\xcc\xb8\x07\x03npolint\xe2\xa8\x94\x03\x03npr\xe2\x8a\x80\x06\x03nprcue\xe2\x8b\xa0\x04\x05npre\xe2\xaa\xaf\xcc\xb8\x05\x03nprec\xe2\x8a\x80\x07\x05npreceq\xe2\xaa\xaf\xcc\xb8\x05\x03nrArr\xe2\x87\x8f\ \x05\x03nrarr\xe2\x86\x9b\x06\x05nrarrc\xe2\xa4\xb3\xcc\xb8\x06\x05nrarrw\xe2\x86\x9d\xcc\xb8\x0b\x03nrightarrow\xe2\x86\x9b\x05\x03nrtri\xe2\x8b\xab\x06\x03nrtrie\xe2\x8b\xad\x03\x03nsc\xe2\x8a\ \x81\x06\x03nsccue\xe2\x8b\xa1\x04\x05nsce\xe2\xaa\xb0\xcc\xb8\x04\x04nscr\xf0\x9d\x93\x83\x09\x03nshortmid\xe2\x88\xa4\x0e\x03nshortparallel\xe2\x88\xa6\x04\x03nsim\xe2\x89\x81\x05\x03nsi\ me\xe2\x89\x84\x06\x03nsimeq\xe2\x89\x84\x05\x03nsmid\xe2\x88\xa4\x05\x03nspar\xe2\x88\xa6\x07\x03nsqsube\xe2\x8b\xa2\x07\x03nsqsupe\xe2\x8b\xa3\x04\x03nsub\xe2\x8a\x84\x05\x05nsubE\xe2\xab\x85\xcc\ \xb8\x05\x03nsube\xe2\x8a\x88\x07\x06nsubset\xe2\x8a\x82\xe2\x83\x92\x09\x03nsubseteq\xe2\x8a\x88\x0a\x05nsubseteqq\xe2\xab\x85\xcc\xb8\x05\x03nsucc\xe2\x8a\x81\x07\x05nsucceq\xe2\xaa\xb0\xcc\ \xb8\x04\x03nsup\xe2\x8a\x85\x05\x05nsupE\xe2\xab\x86\xcc\xb8\x05\x03nsupe\xe2\x8a\x89\x07\x06nsupset\xe2\x8a\x83\xe2\x83\x92\x09\x03nsupseteq\xe2\x8a\x89\x0a\x05nsupseteqq\xe2\xab\x86\xcc\xb8\x04\x03\ ntgl\xe2\x89\xb9\x86\x02ntilde\xc3\xb1\x04\x03ntlg\xe2\x89\xb8\x0d\x03ntriangleleft\xe2\x8b\xaa\x0f\x03ntrianglelefteq\xe2\x8b\xac\x0e\x03ntriangleright\ \xe2\x8b\xab\x10\x03ntrianglerighteq\xe2\x8b\xad\x02\x02nu\xce\xbd\x03\x01num#\x06\x03numero\xe2\x84\x96\x05\x03numsp\xe2\x80\x87\x06\x03nvDash\xe2\x8a\xad\x06\x03nvHarr\xe2\xa4\x84\x04\ \x06nvap\xe2\x89\x8d\xe2\x83\x92\x06\x03nvdash\xe2\x8a\xac\x04\x06nvge\xe2\x89\xa5\xe2\x83\x92\x04\x04nvgt>\xe2\x83\x92\x07\x03nvinfin\xe2\xa7\x9e\x06\x03nvlArr\xe2\xa4\x82\x04\x06nvle\xe2\x89\xa4\xe2\x83\x92\x04\ \x04nvlt<\xe2\x83\x92\x07\x06nvltrie\xe2\x8a\xb4\xe2\x83\x92\x06\x03nvrArr\xe2\xa4\x83\x07\x06nvrtrie\xe2\x8a\xb5\xe2\x83\x92\x05\x06nvsim\xe2\x88\xbc\xe2\x83\x92\x05\x03nwArr\xe2\x87\x96\x06\x03nwarh\ k\xe2\xa4\xa3\x05\x03nwarr\xe2\x86\x96\x07\x03nwarrow\xe2\x86\x96\x06\x03nwnear\xe2\xa4\xa7\x02\x03oS\xe2\x93\x88\x86\x02oacute\xc3\xb3\x04\x03oast\xe2\x8a\x9b\x04\x03ocir\xe2\x8a\x9a\x85\x02ocirc\xc3\ \xb4\x03\x02ocy\xd0\xbe\x05\x03odash\xe2\x8a\x9d\x06\x02odblac\xc5\x91\x04\x03odiv\xe2\xa8\xb8\x04\x03odot\xe2\x8a\x99\x06\x03odsold\xe2\xa6\xbc\x05\x02oelig\xc5\x93\x05\x03ofcir\xe2\xa6\xbf\x03\x04of\ r\xf0\x9d\x94\xac\x04\x02ogon\xcb\x9b\x86\x02ograve\xc3\xb2\x03\x03ogt\xe2\xa7\x81\x05\x03ohbar\xe2\xa6\xb5\x03\x02ohm\xce\xa9\x04\x03oint\xe2\x88\xae\x05\x03olarr\xe2\x86\xba\x05\x03olcir\xe2\xa6\xbe\x07\x03o\ lcross\xe2\xa6\xbb\x05\x03oline\xe2\x80\xbe\x03\x03olt\xe2\xa7\x80\x05\x02omacr\xc5\x8d\x05\x02omega\xcf\x89\x07\x02omicron\xce\xbf\x04\x03omid\xe2\xa6\xb6\x06\x03ominus\xe2\x8a\x96\x04\x04oo\ pf\xf0\x9d\x95\xa0\x04\x03opar\xe2\xa6\xb7\x05\x03operp\xe2\xa6\xb9\x05\x03oplus\xe2\x8a\x95\x02\x03or\xe2\x88\xa8\x05\x03orarr\xe2\x86\xbb\x03\x03ord\xe2\xa9\x9d\x05\x03order\xe2\x84\xb4\x07\x03orderof\xe2\ \x84\xb4\x84\x02ordf\xc2\xaa\x84\x02ordm\xc2\xba\x06\x03origof\xe2\x8a\xb6\x04\x03oror\xe2\xa9\x96\x07\x03orslope\xe2\xa9\x97\x03\x03orv\xe2\xa9\x9b\x04\x03oscr\xe2\x84\xb4\x86\x02oslash\xc3\xb8\x04\x03o\ sol\xe2\x8a\x98\x86\x02otilde\xc3\xb5\x06\x03otimes\xe2\x8a\x97\x08\x03otimesas\xe2\xa8\xb6\x84\x02ouml\xc3\xb6\x05\x03ovbar\xe2\x8c\xbd\x03\x03par\xe2\x88\xa5\x84\x02para\xc2\xb6\x08\x03para\ llel\xe2\x88\xa5\x06\x03parsim\xe2\xab\xb3\x05\x03parsl\xe2\xab\xbd\x04\x03part\xe2\x88\x82\x03\x02pcy\xd0\xbf\x06\x01percnt%\x06\x01period.\x06\x03permil\xe2\x80\xb0\x04\x03perp\xe2\ \x8a\xa5\x07\x03pertenk\xe2\x80\xb1\x03\x04pfr\xf0\x9d\x94\xad\x03\x02phi\xcf\x86\x04\x02phiv\xcf\x95\x06\x03phmmat\xe2\x84\xb3\x05\x03phone\xe2\x98\x8e\x02\x02pi\xcf\x80\x09\x03pitchfork\xe2\x8b\x94\x03\ \x02piv\xcf\x96\x06\x03planck\xe2\x84\x8f\x07\x03planckh\xe2\x84\x8e\x06\x03plankv\xe2\x84\x8f\x04\x01plus+\x08\x03plusacir\xe2\xa8\xa3\x05\x03plusb\xe2\x8a\x9e\x07\x03pluscir\xe2\ \xa8\xa2\x06\x03plusdo\xe2\x88\x94\x06\x03plusdu\xe2\xa8\xa5\x05\x03pluse\xe2\xa9\xb2\x86\x02plusmn\xc2\xb1\x07\x03plussim\xe2\xa8\xa6\x07\x03plustwo\xe2\xa8\xa7\x02\x02pm\xc2\xb1\x08\x03poin\ tint\xe2\xa8\x95\x04\x04popf\xf0\x9d\x95\xa1\x85\x02pound\xc2\xa3\x02\x03pr\xe2\x89\xba\x03\x03prE\xe2\xaa\xb3\x04\x03prap\xe2\xaa\xb7\x05\x03prcue\xe2\x89\xbc\x03\x03pre\xe2\xaa\xaf\x04\x03prec\xe2\x89\xba\x0a\x03p\ recapprox\xe2\xaa\xb7\x0b\x03preccurlyeq\xe2\x89\xbc\x06\x03preceq\xe2\xaa\xaf\x0b\x03precnapprox\xe2\xaa\xb9\x08\x03precneqq\xe2\xaa\xb5\x08\x03precnsim\xe2\x8b\ \xa8\x07\x03precsim\xe2\x89\xbe\x05\x03prime\xe2\x80\xb2\x06\x03primes\xe2\x84\x99\x04\x03prnE\xe2\xaa\xb5\x05\x03prnap\xe2\xaa\xb9\x06\x03prnsim\xe2\x8b\xa8\x04\x03prod\xe2\x88\x8f\x08\x03profa\ lar\xe2\x8c\xae\x08\x03profline\xe2\x8c\x92\x08\x03profsurf\xe2\x8c\x93\x04\x03prop\xe2\x88\x9d\x06\x03propto\xe2\x88\x9d\x05\x03prsim\xe2\x89\xbe\x06\x03prurel\xe2\x8a\xb0\x04\x04pscr\xf0\ \x9d\x93\x85\x03\x02psi\xcf\x88\x06\x03puncsp\xe2\x80\x88\x03\x04qfr\xf0\x9d\x94\xae\x04\x03qint\xe2\xa8\x8c\x04\x04qopf\xf0\x9d\x95\xa2\x06\x03qprime\xe2\x81\x97\x04\x04qscr\xf0\x9d\x93\x86\x0b\x03quaterni\ ons\xe2\x84\x8d\x07\x03quatint\xe2\xa8\x96\x05\x01quest?\x07\x03questeq\xe2\x89\x9f\x84\x01quot\x22\x05\x03rAarr\xe2\x87\x9b\x04\x03rArr\xe2\x87\x92\x06\x03rAtail\xe2\xa4\x9c\x05\x03rBa\ rr\xe2\xa4\x8f\x04\x03rHar\xe2\xa5\xa4\x04\x05race\xe2\x88\xbd\xcc\xb1\x06\x02racute\xc5\x95\x05\x03radic\xe2\x88\x9a\x08\x03raemptyv\xe2\xa6\xb3\x04\x03rang\xe2\x9f\xa9\x05\x03rangd\xe2\xa6\x92\x05\x03r\ ange\xe2\xa6\xa5\x06\x03rangle\xe2\x9f\xa9\x85\x02raquo\xc2\xbb\x04\x03rarr\xe2\x86\x92\x06\x03rarrap\xe2\xa5\xb5\x05\x03rarrb\xe2\x87\xa5\x07\x03rarrbfs\xe2\xa4\xa0\x05\x03rarrc\xe2\xa4\xb3\x06\ \x03rarrfs\xe2\xa4\x9e\x06\x03rarrhk\xe2\x86\xaa\x06\x03rarrlp\xe2\x86\xac\x06\x03rarrpl\xe2\xa5\x85\x07\x03rarrsim\xe2\xa5\xb4\x06\x03rarrtl\xe2\x86\xa3\x05\x03rarrw\xe2\x86\x9d\x06\x03ra\ tail\xe2\xa4\x9a\x05\x03ratio\xe2\x88\xb6\x09\x03rationals\xe2\x84\x9a\x05\x03rbarr\xe2\xa4\x8d\x05\x03rbbrk\xe2\x9d\xb3\x06\x01rbrace}\x06\x01rbrack]\x05\x03rbrke\xe2\xa6\x8c\x07\ \x03rbrksld\xe2\xa6\x8e\x07\x03rbrkslu\xe2\xa6\x90\x06\x02rcaron\xc5\x99\x06\x02rcedil\xc5\x97\x05\x03rceil\xe2\x8c\x89\x04\x01rcub}\x03\x02rcy\xd1\x80\x04\x03rdca\xe2\xa4\xb7\x07\x03rd\ ldhar\xe2\xa5\xa9\x05\x03rdquo\xe2\x80\x9d\x06\x03rdquor\xe2\x80\x9d\x04\x03rdsh\xe2\x86\xb3\x04\x03real\xe2\x84\x9c\x07\x03realine\xe2\x84\x9b\x08\x03realpart\xe2\x84\x9c\x05\x03reals\xe2\ \x84\x9d\x04\x03rect\xe2\x96\xad\x83\x02reg\xc2\xae\x06\x03rfisht\xe2\xa5\xbd\x06\x03rfloor\xe2\x8c\x8b\x03\x04rfr\xf0\x9d\x94\xaf\x05\x03rhard\xe2\x87\x81\x05\x03rharu\xe2\x87\x80\x06\x03rharul\xe2\xa5\xac\ \x03\x02rho\xcf\x81\x04\x02rhov\xcf\xb1\x0a\x03rightarrow\xe2\x86\x92\x0e\x03rightarrowtail\xe2\x86\xa3\x10\x03rightharpoondown\xe2\x87\x81\x0e\x03righthar\ poonup\xe2\x87\x80\x0f\x03rightleftarrows\xe2\x87\x84\x11\x03rightleftharpoons\xe2\x87\x8c\x10\x03rightrightarrows\xe2\x87\x89\x0f\x03rights\ quigarrow\xe2\x86\x9d\x0f\x03rightthreetimes\xe2\x8b\x8c\x04\x02ring\xcb\x9a\x0c\x03risingdotseq\xe2\x89\x93\x05\x03rlarr\xe2\x87\x84\x05\x03rlhar\xe2\x87\x8c\x03\x03r\ lm\xe2\x80\x8f\x06\x03rmoust\xe2\x8e\xb1\x0a\x03rmoustache\xe2\x8e\xb1\x05\x03rnmid\xe2\xab\xae\x05\x03roang\xe2\x9f\xad\x05\x03roarr\xe2\x87\xbe\x05\x03robrk\xe2\x9f\xa7\x05\x03ropar\xe2\xa6\ \x86\x04\x04ropf\xf0\x9d\x95\xa3\x06\x03roplus\xe2\xa8\xae\x07\x03rotimes\xe2\xa8\xb5\x04\x01rpar)\x06\x03rpargt\xe2\xa6\x94\x08\x03rppolint\xe2\xa8\x92\x05\x03rrarr\xe2\x87\x89\x06\x03rsa\ quo\xe2\x80\xba\x04\x04rscr\xf0\x9d\x93\x87\x03\x03rsh\xe2\x86\xb1\x04\x01rsqb]\x05\x03rsquo\xe2\x80\x99\x06\x03rsquor\xe2\x80\x99\x06\x03rthree\xe2\x8b\x8c\x06\x03rtimes\xe2\x8b\x8a\x04\x03rtri\ \xe2\x96\xb9\x05\x03rtrie\xe2\x8a\xb5\x05\x03rtrif\xe2\x96\xb8\x08\x03rtriltri\xe2\xa7\x8e\x07\x03ruluhar\xe2\xa5\xa8\x02\x03rx\xe2\x84\x9e\x06\x02sacute\xc5\x9b\x05\x03sbquo\xe2\x80\x9a\x02\x03sc\xe2\ \x89\xbb\x03\x03scE\xe2\xaa\xb4\x04\x03scap\xe2\xaa\xb8\x06\x02scaron\xc5\xa1\x05\x03sccue\xe2\x89\xbd\x03\x03sce\xe2\xaa\xb0\x06\x02scedil\xc5\x9f\x05\x02scirc\xc5\x9d\x04\x03scnE\xe2\xaa\xb6\x05\x03scn\ ap\xe2\xaa\xba\x06\x03scnsim\xe2\x8b\xa9\x08\x03scpolint\xe2\xa8\x93\x05\x03scsim\xe2\x89\xbf\x03\x02scy\xd1\x81\x04\x03sdot\xe2\x8b\x85\x05\x03sdotb\xe2\x8a\xa1\x05\x03sdote\xe2\xa9\xa6\x05\x03seA\ rr\xe2\x87\x98\x06\x03searhk\xe2\xa4\xa5\x05\x03searr\xe2\x86\x98\x07\x03searrow\xe2\x86\x98\x84\x02sect\xc2\xa7\x04\x01semi;\x06\x03seswar\xe2\xa4\xa9\x08\x03setminus\xe2\x88\x96\x05\x03s\ etmn\xe2\x88\x96\x04\x03sext\xe2\x9c\xb6\x03\x04sfr\xf0\x9d\x94\xb0\x06\x03sfrown\xe2\x8c\xa2\x05\x03sharp\xe2\x99\xaf\x06\x02shchcy\xd1\x89\x04\x02shcy\xd1\x88\x08\x03shortmid\xe2\x88\xa3\x0d\x03s\ hortparallel\xe2\x88\xa5\x83\x02shy\xc2\xad\x05\x02sigma\xcf\x83\x06\x02sigmaf\xcf\x82\x06\x02sigmav\xcf\x82\x03\x03sim\xe2\x88\xbc\x06\x03simdot\xe2\xa9\xaa\x04\x03sime\xe2\x89\x83\x05\ \x03simeq\xe2\x89\x83\x04\x03simg\xe2\xaa\x9e\x05\x03simgE\xe2\xaa\xa0\x04\x03siml\xe2\xaa\x9d\x05\x03simlE\xe2\xaa\x9f\x05\x03simne\xe2\x89\x86\x07\x03simplus\xe2\xa8\xa4\x07\x03simrarr\xe2\xa5\ \xb2\x05\x03slarr\xe2\x86\x90\x0d\x03smallsetminus\xe2\x88\x96\x06\x03smashp\xe2\xa8\xb3\x08\x03smeparsl\xe2\xa7\xa4\x04\x03smid\xe2\x88\xa3\x05\x03smile\xe2\x8c\xa3\x03\x03smt\xe2\xaa\xaa\ \x04\x03smte\xe2\xaa\xac\x05\x06smtes\xe2\xaa\xac\xef\xb8\x80\x06\x02softcy\xd1\x8c\x03\x01sol/\x04\x03solb\xe2\xa7\x84\x06\x03solbar\xe2\x8c\xbf\x04\x04sopf\xf0\x9d\x95\xa4\x06\x03spades\xe2\x99\xa0\x09\ \x03spadesuit\xe2\x99\xa0\x04\x03spar\xe2\x88\xa5\x05\x03sqcap\xe2\x8a\x93\x06\x06sqcaps\xe2\x8a\x93\xef\xb8\x80\x05\x03sqcup\xe2\x8a\x94\x06\x06sqcups\xe2\x8a\x94\xef\xb8\x80\x05\x03sqsub\xe2\x8a\x8f\ \x06\x03sqsube\xe2\x8a\x91\x08\x03sqsubset\xe2\x8a\x8f\x0a\x03sqsubseteq\xe2\x8a\x91\x05\x03sqsup\xe2\x8a\x90\x06\x03sqsupe\xe2\x8a\x92\x08\x03sqsupset\xe2\x8a\x90\x0a\x03sqsup\ seteq\xe2\x8a\x92\x03\x03squ\xe2\x96\xa1\x06\x03square\xe2\x96\xa1\x06\x03squarf\xe2\x96\xaa\x04\x03squf\xe2\x96\xaa\x05\x03srarr\xe2\x86\x92\x04\x04sscr\xf0\x9d\x93\x88\x06\x03ssetmn\xe2\x88\x96\x06\x03\ ssmile\xe2\x8c\xa3\x06\x03sstarf\xe2\x8b\x86\x04\x03star\xe2\x98\x86\x05\x03starf\xe2\x98\x85\x0f\x02straightepsilon\xcf\xb5\x0b\x02straightphi\xcf\x95\x05\x02strns\ \xc2\xaf\x03\x03sub\xe2\x8a\x82\x04\x03subE\xe2\xab\x85\x06\x03subdot\xe2\xaa\xbd\x04\x03sube\xe2\x8a\x86\x07\x03subedot\xe2\xab\x83\x07\x03submult\xe2\xab\x81\x05\x03subnE\xe2\xab\x8b\x05\x03subne\ \xe2\x8a\x8a\x07\x03subplus\xe2\xaa\xbf\x07\x03subrarr\xe2\xa5\xb9\x06\x03subset\xe2\x8a\x82\x08\x03subseteq\xe2\x8a\x86\x09\x03subseteqq\xe2\xab\x85\x09\x03subsetneq\xe2\x8a\x8a\x0a\ \x03subsetneqq\xe2\xab\x8b\x06\x03subsim\xe2\xab\x87\x06\x03subsub\xe2\xab\x95\x06\x03subsup\xe2\xab\x93\x04\x03succ\xe2\x89\xbb\x0a\x03succapprox\xe2\xaa\xb8\x0b\x03succcur\ lyeq\xe2\x89\xbd\x06\x03succeq\xe2\xaa\xb0\x0b\x03succnapprox\xe2\xaa\xba\x08\x03succneqq\xe2\xaa\xb6\x08\x03succnsim\xe2\x8b\xa9\x07\x03succsim\xe2\x89\xbf\x03\x03sum\xe2\x88\x91\ \x04\x03sung\xe2\x99\xaa\x03\x03sup\xe2\x8a\x83\x84\x02sup1\xc2\xb9\x84\x02sup2\xc2\xb2\x84\x02sup3\xc2\xb3\x04\x03supE\xe2\xab\x86\x06\x03supdot\xe2\xaa\xbe\x07\x03supdsub\xe2\xab\x98\x04\x03supe\xe2\ \x8a\x87\x07\x03supedot\xe2\xab\x84\x07\x03suphsol\xe2\x9f\x89\x07\x03suphsub\xe2\xab\x97\x07\x03suplarr\xe2\xa5\xbb\x07\x03supmult\xe2\xab\x82\x05\x03supnE\xe2\xab\x8c\x05\x03supne\xe2\ \x8a\x8b\x07\x03supplus\xe2\xab\x80\x06\x03supset\xe2\x8a\x83\x08\x03supseteq\xe2\x8a\x87\x09\x03supseteqq\xe2\xab\x86\x09\x03supsetneq\xe2\x8a\x8b\x0a\x03supsetneqq\xe2\xab\ \x8c\x06\x03supsim\xe2\xab\x88\x06\x03supsub\xe2\xab\x94\x06\x03supsup\xe2\xab\x96\x05\x03swArr\xe2\x87\x99\x06\x03swarhk\xe2\xa4\xa6\x05\x03swarr\xe2\x86\x99\x07\x03swarrow\xe2\x86\x99\x06\x03s\ wnwar\xe2\xa4\xaa\x85\x02szlig\xc3\x9f\x06\x03target\xe2\x8c\x96\x03\x02tau\xcf\x84\x04\x03tbrk\xe2\x8e\xb4\x06\x02tcaron\xc5\xa5\x06\x02tcedil\xc5\xa3\x03\x02tcy\xd1\x82\x04\x03tdot\xe2\x83\x9b\ \x06\x03telrec\xe2\x8c\x95\x03\x04tfr\xf0\x9d\x94\xb1\x06\x03there4\xe2\x88\xb4\x09\x03therefore\xe2\x88\xb4\x05\x02theta\xce\xb8\x08\x02thetasym\xcf\x91\x06\x02thetav\xcf\x91\x0b\x03th\ ickapprox\xe2\x89\x88\x08\x03thicksim\xe2\x88\xbc\x06\x03thinsp\xe2\x80\x89\x05\x03thkap\xe2\x89\x88\x06\x03thksim\xe2\x88\xbc\x85\x02thorn\xc3\xbe\x05\x02tilde\xcb\x9c\x85\x02tim\ es\xc3\x97\x06\x03timesb\xe2\x8a\xa0\x08\x03timesbar\xe2\xa8\xb1\x06\x03timesd\xe2\xa8\xb0\x04\x03tint\xe2\x88\xad\x04\x03toea\xe2\xa4\xa8\x03\x03top\xe2\x8a\xa4\x06\x03topbot\xe2\x8c\xb6\x06\x03to\ pcir\xe2\xab\xb1\x04\x04topf\xf0\x9d\x95\xa5\x07\x03topfork\xe2\xab\x9a\x04\x03tosa\xe2\xa4\xa9\x06\x03tprime\xe2\x80\xb4\x05\x03trade\xe2\x84\xa2\x08\x03triangle\xe2\x96\xb5\x0c\x03triang\ ledown\xe2\x96\xbf\x0c\x03triangleleft\xe2\x97\x83\x0e\x03trianglelefteq\xe2\x8a\xb4\x09\x03triangleq\xe2\x89\x9c\x0d\x03triangleright\xe2\x96\xb9\x0f\x03t\ rianglerighteq\xe2\x8a\xb5\x06\x03tridot\xe2\x97\xac\x04\x03trie\xe2\x89\x9c\x08\x03triminus\xe2\xa8\xba\x07\x03triplus\xe2\xa8\xb9\x05\x03trisb\xe2\xa7\x8d\x07\x03tritim\ e\xe2\xa8\xbb\x08\x03trpezium\xe2\x8f\xa2\x04\x04tscr\xf0\x9d\x93\x89\x04\x02tscy\xd1\x86\x05\x02tshcy\xd1\x9b\x06\x02tstrok\xc5\xa7\x05\x03twixt\xe2\x89\xac\x10\x03twoheadleftarr\ ow\xe2\x86\x9e\x11\x03twoheadrightarrow\xe2\x86\xa0\x04\x03uArr\xe2\x87\x91\x04\x03uHar\xe2\xa5\xa3\x86\x02uacute\xc3\xba\x04\x03uarr\xe2\x86\x91\x05\x02ubrcy\xd1\x9e\x06\x02ubrev\ e\xc5\xad\x85\x02ucirc\xc3\xbb\x03\x02ucy\xd1\x83\x05\x03udarr\xe2\x87\x85\x06\x02udblac\xc5\xb1\x05\x03udhar\xe2\xa5\xae\x06\x03ufisht\xe2\xa5\xbe\x03\x04ufr\xf0\x9d\x94\xb2\x86\x02ugrave\xc3\xb9\x05\ \x03uharl\xe2\x86\xbf\x05\x03uharr\xe2\x86\xbe\x05\x03uhblk\xe2\x96\x80\x06\x03ulcorn\xe2\x8c\x9c\x08\x03ulcorner\xe2\x8c\x9c\x06\x03ulcrop\xe2\x8c\x8f\x05\x03ultri\xe2\x97\xb8\x05\x02umac\ r\xc5\xab\x83\x02uml\xc2\xa8\x05\x02uogon\xc5\xb3\x04\x04uopf\xf0\x9d\x95\xa6\x07\x03uparrow\xe2\x86\x91\x0b\x03updownarrow\xe2\x86\x95\x0d\x03upharpoonleft\xe2\x86\xbf\x0e\x03uph\ arpoonright\xe2\x86\xbe\x05\x03uplus\xe2\x8a\x8e\x04\x02upsi\xcf\x85\x05\x02upsih\xcf\x92\x07\x02upsilon\xcf\x85\x0a\x03upuparrows\xe2\x87\x88\x06\x03urcorn\xe2\x8c\x9d\x08\x03\ urcorner\xe2\x8c\x9d\x06\x03urcrop\xe2\x8c\x8e\x05\x02uring\xc5\xaf\x05\x03urtri\xe2\x97\xb9\x04\x04uscr\xf0\x9d\x93\x8a\x05\x03utdot\xe2\x8b\xb0\x06\x02utilde\xc5\xa9\x04\x03utri\xe2\x96\xb5\ \x05\x03utrif\xe2\x96\xb4\x05\x03uuarr\xe2\x87\x88\x84\x02uuml\xc3\xbc\x07\x03uwangle\xe2\xa6\xa7\x04\x03vArr\xe2\x87\x95\x04\x03vBar\xe2\xab\xa8\x05\x03vBarv\xe2\xab\xa9\x05\x03vDash\xe2\x8a\xa8\x06\x03\ vangrt\xe2\xa6\x9c\x0a\x02varepsilon\xcf\xb5\x08\x02varkappa\xcf\xb0\x0a\x03varnothing\xe2\x88\x85\x06\x02varphi\xcf\x95\x05\x02varpi\xcf\x96\x09\x03varpropto\ \xe2\x88\x9d\x04\x03varr\xe2\x86\x95\x06\x02varrho\xcf\xb1\x08\x02varsigma\xcf\x82\x0c\x06varsubsetneq\xe2\x8a\x8a\xef\xb8\x80\x0d\x06varsubsetneqq\xe2\xab\x8b\xef\xb8\x80\x0c\x06var\ supsetneq\xe2\x8a\x8b\xef\xb8\x80\x0d\x06varsupsetneqq\xe2\xab\x8c\xef\xb8\x80\x08\x02vartheta\xcf\x91\x0f\x03vartriangleleft\xe2\x8a\xb2\x10\x03vartriangl\ eright\xe2\x8a\xb3\x03\x02vcy\xd0\xb2\x05\x03vdash\xe2\x8a\xa2\x03\x03vee\xe2\x88\xa8\x06\x03veebar\xe2\x8a\xbb\x05\x03veeeq\xe2\x89\x9a\x06\x03vellip\xe2\x8b\xae\x06\x01verbar|\x04\x01ver\ t|\x03\x04vfr\xf0\x9d\x94\xb3\x05\x03vltri\xe2\x8a\xb2\x05\x06vnsub\xe2\x8a\x82\xe2\x83\x92\x05\x06vnsup\xe2\x8a\x83\xe2\x83\x92\x04\x04vopf\xf0\x9d\x95\xa7\x05\x03vprop\xe2\x88\x9d\x05\x03vrtri\xe2\x8a\xb3\x04\x04v\ scr\xf0\x9d\x93\x8b\x06\x06vsubnE\xe2\xab\x8b\xef\xb8\x80\x06\x06vsubne\xe2\x8a\x8a\xef\xb8\x80\x06\x06vsupnE\xe2\xab\x8c\xef\xb8\x80\x06\x06vsupne\xe2\x8a\x8b\xef\xb8\x80\x07\x03vzigzag\xe2\xa6\x9a\x05\x02wci\ rc\xc5\xb5\x06\x03wedbar\xe2\xa9\x9f\x05\x03wedge\xe2\x88\xa7\x06\x03wedgeq\xe2\x89\x99\x06\x03weierp\xe2\x84\x98\x03\x04wfr\xf0\x9d\x94\xb4\x04\x04wopf\xf0\x9d\x95\xa8\x02\x03wp\xe2\x84\x98\x02\x03wr\xe2\x89\x80\ \x06\x03wreath\xe2\x89\x80\x04\x04wscr\xf0\x9d\x93\x8c\x04\x03xcap\xe2\x8b\x82\x05\x03xcirc\xe2\x97\xaf\x04\x03xcup\xe2\x8b\x83\x05\x03xdtri\xe2\x96\xbd\x03\x04xfr\xf0\x9d\x94\xb5\x05\x03xhArr\xe2\x9f\xba\x05\x03\ xharr\xe2\x9f\xb7\x02\x02xi\xce\xbe\x05\x03xlArr\xe2\x9f\xb8\x05\x03xlarr\xe2\x9f\xb5\x04\x03xmap\xe2\x9f\xbc\x04\x03xnis\xe2\x8b\xbb\x05\x03xodot\xe2\xa8\x80\x04\x04xopf\xf0\x9d\x95\xa9\x06\x03xoplus\ \xe2\xa8\x81\x06\x03xotime\xe2\xa8\x82\x05\x03xrArr\xe2\x9f\xb9\x05\x03xrarr\xe2\x9f\xb6\x04\x04xscr\xf0\x9d\x93\x8d\x06\x03xsqcup\xe2\xa8\x86\x06\x03xuplus\xe2\xa8\x84\x05\x03xutri\xe2\x96\xb3\x04\x03xv\ ee\xe2\x8b\x81\x06\x03xwedge\xe2\x8b\x80\x86\x02yacute\xc3\xbd\x04\x02yacy\xd1\x8f\x05\x02ycirc\xc5\xb7\x03\x02ycy\xd1\x8b\x83\x02yen\xc2\xa5\x03\x04yfr\xf0\x9d\x94\xb6\x04\x02yicy\xd1\x97\x04\x04yopf\ \xf0\x9d\x95\xaa\x04\x04yscr\xf0\x9d\x93\x8e\x04\x02yucy\xd1\x8e\x84\x02yuml\xc3\xbf\x06\x02zacute\xc5\xba\x06\x02zcaron\xc5\xbe\x03\x02zcy\xd0\xb7\x04\x02zdot\xc5\xbc\x06\x03zeetrf\xe2\x84\xa8\x04\x02ze\ ta\xce\xb6\x03\x04zfr\xf0\x9d\x94\xb7\x04\x02zhcy\xd0\xb6\x07\x03zigrarr\xe2\x87\x9d\x04\x04zopf\xf0\x9d\x95\xab\x04\x04zscr\xf0\x9d\x93\x8f\x03\x03zwj\xe2\x80\x8d\x04\x03zwnj\xe2\x80\x8c"; // Offsets of each record in ENTITY_BLOB, for binary search. const ENTITY_OFFSETS: [u16; ENTITY_COUNT] = [ 0, 9, 15, 25, 35, 44, 51, 60, 70, 79, 88, 96, 105, 115, 133, 142, 152, 163, 173, 181, 195, 204, 215, 222, 234, 249, 257, 266, 276, 285, 294, 305, 313, 321, 331, 339, 364, 376, 386, 396, 405, 417, 425, 436, 449, 457, 464, 478, 494, 509, 525, 554, 580, 600, 610, 621, 635, 646, 666, 675, 689, 725, 735, 745, 753, 764, 771, 784, 792, 800, 808, 819, 828, 838, 848, 855, 863, 872, 881, 901, 919, 945, 964, 984, 996, 1014, 1024, 1031, 1042, 1055, 1081, 1094, 1114, 1134, 1159, 1177, 1201, 1230, 1255, 1276, 1295, 1313, 1335, 1357, 1371, 1388, 1409, 1422, 1446, 1468, 1487, 1509, 1532, 1552, 1575, 1587, 1604, 1618, 1628, 1638, 1645, 1652, 1662, 1672, 1681, 1688, 1696, 1705, 1715, 1727, 1736, 1757, 1782, 1791, 1801, 1812, 1822, 1837, 1853, 1862, 1871, 1878, 1886, 1897, 1914, 1921, 1930, 1952, 1978, 1988, 1999, 2014, 2023, 2031, 2036, 2045, 2055, 2065, 2075, 2084, 2091, 2099, 2108, 2115, 2125, 2142, 2163, 2184, 2203, 2219, 2241, 2258, 2268, 2275, 2285, 2294, 2300, 2309, 2317, 2334, 2343, 2362, 2371, 2381, 2398, 2412, 2420, 2429, 2437, 2447, 2456, 2463, 2471, 2479, 2489, 2496, 2505, 2520, 2532, 2540, 2553, 2570, 2589, 2608, 2617, 2627, 2635, 2644, 2654, 2663, 2671, 2680, 2687, 2696, 2706, 2716, 2726, 2735, 2743, 2751, 2760, 2770, 2777, 2786, 2796, 2806, 2814, 2819, 2829, 2839, 2848, 2863, 2872, 2882, 2892, 2899, 2920, 2934, 2951, 2975, 2991, 3013, 3035, 3054, 3076, 3090, 3109, 3129, 3141, 3158, 3176, 3193, 3213, 3235, 3256, 3276, 3293, 3313, 3328, 3346, 3360, 3379, 3400, 3418, 3434, 3447, 3466, 3480, 3489, 3496, 3511, 3521, 3539, 3562, 3581, 3599, 3622, 3641, 3651, 3670, 3690, 3699, 3707, 3717, 3724, 3732, 3739, 3755, 3769, 3778, 3792, 3802, 3811, 3817, 3825, 3835, 3845, 3855, 3862, 3886, 3909, 3931, 3957, 3982, 4001, 4011, 4020, 4032, 4052, 4061, 4069, 4086, 4100, 4125, 4140, 4153, 4173, 4187, 4202, 4222, 4248, 4272, 4291, 4318, 4338, 4360, 4379, 4399, 4424, 4449, 4461, 4478, 4497, 4515, 4539, 4556, 4586, 4610, 4626, 4649, 4675, 4697, 4718, 4744, 4770, 4792, 4817, 4841, 4868, 4885, 4904, 4920, 4943, 4969, 4992, 5011, 5032, 5045, 5063, 5085, 5103, 5122, 5132, 5142, 5148, 5157, 5167, 5176, 5183, 5193, 5202, 5212, 5221, 5230, 5241, 5251, 5276, 5295, 5302, 5312, 5322, 5332, 5343, 5351, 5363, 5377, 5393, 5413, 5426, 5433, 5442, 5449, 5455, 5468, 5486, 5495, 5502, 5515, 5533, 5556, 5574, 5584, 5596, 5611, 5628, 5638, 5645, 5652, 5661, 5670, 5680, 5690, 5697, 5707, 5716, 5725, 5736, 5746, 5756, 5763, 5770, 5789, 5812, 5837, 5845, 5852, 5874, 5889, 5907, 5931, 5948, 5971, 5994, 6014, 6037, 6052, 6065, 6083, 6102, 6120, 6141, 6164, 6186, 6207, 6225, 6246, 6262, 6281, 6296, 6305, 6322, 6338, 6347, 6355, 6371, 6381, 6389, 6399, 6409, 6416, 6426, 6436, 6445, 6452, 6461, 6480, 6499, 6519, 6536, 6545, 6561, 6571, 6580, 6591, 6614, 6631, 6653, 6672, 6696, 6712, 6722, 6731, 6739, 6750, 6766, 6779, 6797, 6820, 6838, 6851, 6859, 6867, 6880, 6898, 6909, 6918, 6928, 6937, 6945, 6951, 6958, 6968, 6978, 6985, 6994, 7008, 7017, 7035, 7049, 7059, 7074, 7093, 7108, 7118, 7132, 7142, 7152, 7162, 7171, 7184, 7193, 7203, 7212, 7219, 7229, 7238, 7248, 7257, 7268, 7283, 7300, 7321, 7331, 7345, 7354, 7364, 7376, 7391, 7412, 7428, 7446, 7456, 7471, 7483, 7499, 7518, 7538, 7546, 7557, 7566, 7576, 7586, 7594, 7604, 7613, 7620, 7630, 7641, 7649, 7660, 7669, 7685, 7700, 7722, 7740, 7758, 7767, 7777, 7787, 7798, 7807, 7817, 7826, 7836, 7846, 7855, 7861, 7871, 7881, 7889, 7897, 7905, 7915, 7924, 7931, 7940, 7950, 7960, 7968, 7976, 7986, 7996, 8003, 8011, 8030, 8038, 8046, 8055, 8065, 8075, 8085, 8092, 8102, 8110, 8119, 8128, 8135, 8144, 8151, 8160, 8170, 8182, 8192, 8201, 8210, 8220, 8226, 8234, 8245, 8254, 8267, 8276, 8284, 8293, 8303, 8314, 8327, 8340, 8353, 8366, 8379, 8392, 8405, 8418, 8428, 8440, 8453, 8464, 8473, 8485, 8494, 8504, 8511, 8519, 8530, 8538, 8547, 8554, 8565, 8578, 8587, 8597, 8603, 8613, 8625, 8635, 8643, 8656, 8666, 8675, 8688, 8703, 8717, 8729, 8743, 8754, 8765, 8778, 8787, 8800, 8810, 8817, 8827, 8838, 8850, 8862, 8871, 8882, 8890, 8899, 8911, 8920, 8931, 8943, 8954, 8966, 8979, 8993, 9006, 9018, 9038, 9056, 9069, 9080, 9093, 9104, 9121, 9137, 9155, 9177, 9199, 9222, 9232, 9242, 9252, 9262, 9272, 9281, 9296, 9305, 9315, 9323, 9334, 9345, 9355, 9365, 9375, 9385, 9394, 9404, 9414, 9424, 9434, 9444, 9454, 9464, 9474, 9483, 9493, 9503, 9513, 9523, 9533, 9543, 9554, 9564, 9574, 9584, 9594, 9603, 9613, 9623, 9633, 9643, 9656, 9668, 9681, 9691, 9701, 9711, 9721, 9730, 9740, 9750, 9760, 9770, 9780, 9790, 9801, 9810, 9820, 9830, 9840, 9849, 9859, 9866, 9876, 9889, 9898, 9909, 9918, 9928, 9938, 9949, 9959, 9967, 9978, 9991, 10002, 10013, 10024, 10036, 10046, 10055, 10065, 10075, 10085, 10094, 10104, 10116, 10124, 10133, 10145, 10153, 10166, 10175, 10183, 10193, 10207, 10214, 10222, 10231, 10239, 10250, 10270, 10291, 10303, 10316, 10331, 10347, 10363, 10372, 10385, 10396, 10408, 10418, 10431, 10439, 10450, 10462, 10470, 10479, 10488, 10499, 10514, 10528, 10537, 10549, 10560, 10570, 10581, 10589, 10600, 10610, 10620, 10630, 10639, 10649, 10658, 10668, 10678, 10690, 10702, 10712, 10722, 10733, 10745, 10753, 10766, 10777, 10788, 10799, 10809, 10821, 10832, 10844, 10860, 10876, 10889, 10904, 10914, 10933, 10953, 10963, 10973, 10986, 10996, 11007, 11016, 11025, 11036, 11047, 11056, 11065, 11075, 11087, 11096, 11106, 11113, 11120, 11132, 11142, 11154, 11161, 11170, 11182, 11193, 11202, 11212, 11222, 11231, 11243, 11259, 11269, 11276, 11287, 11297, 11304, 11314, 11332, 11343, 11351, 11362, 11373, 11382, 11392, 11399, 11409, 11422, 11435, 11447, 11461, 11480, 11494, 11513, 11533, 11554, 11567, 11578, 11589, 11599, 11607, 11616, 11626, 11636, 11645, 11655, 11665, 11675, 11687, 11695, 11708, 11718, 11727, 11737, 11748, 11758, 11767, 11776, 11787, 11794, 11802, 11809, 11819, 11828, 11835, 11845, 11853, 11864, 11871, 11884, 11892, 11900, 11911, 11920, 11930, 11943, 11954, 11963, 11974, 11985, 11992, 12001, 12010, 12020, 12029, 12040, 12050, 12058, 12069, 12078, 12089, 12101, 12111, 12126, 12142, 12151, 12162, 12172, 12184, 12197, 12207, 12217, 12226, 12236, 12245, 12252, 12259, 12267, 12276, 12283, 12293, 12309, 12326, 12344, 12351, 12362, 12373, 12383, 12394, 12403, 12413, 12422, 12431, 12441, 12451, 12459, 12469, 12480, 12489, 12499, 12512, 12522, 12533, 12543, 12554, 12565, 12576, 12587, 12598, 12608, 12619, 12630, 12641, 12652, 12663, 12674, 12684, 12694, 12704, 12711, 12719, 12729, 12738, 12748, 12756, 12766, 12775, 12782, 12790, 12797, 12805, 12813, 12822, 12835, 12843, 12853, 12864, 12876, 12889, 12901, 12912, 12921, 12928, 12936, 12946, 12954, 12961, 12969, 12977, 12985, 12993, 13002, 13015, 13023, 13032, 13042, 13052, 13062, 13070, 13079, 13088, 13098, 13108, 13113, 13122, 13132, 13142, 13153, 13165, 13179, 13190, 13201, 13215, 13230, 13242, 13253, 13270, 13282, 13291, 13302, 13310, 13321, 13331, 13340, 13352, 13362, 13371, 13380, 13391, 13405, 13416, 13427, 13436, 13449, 13462, 13472, 13483, 13501, 13520, 13530, 13541, 13551, 13562, 13572, 13583, 13594, 13604, 13611, 13620, 13627, 13635, 13644, 13652, 13661, 13671, 13678, 13689, 13699, 13710, 13720, 13729, 13738, 13748, 13761, 13774, 13783, 13792, 13801, 13808, 13819, 13829, 13842, 13852, 13860, 13871, 13884, 13897, 13910, 13922, 13930, 13939, 13949, 13957, 13967, 13977, 13987, 13996, 14006, 14018, 14028, 14039, 14049, 14056, 14066, 14075, 14083, 14092, 14099, 14108, 14117, 14127, 14137, 14147, 14156, 14165, 14175, 14185, 14192, 14201, 14211, 14219, 14227, 14237, 14247, 14257, 14266, 14277, 14287, 14294, 14302, 14311, 14321, 14334, 14345, 14355, 14364, 14374, 14385, 14393, 14402, 14411, 14421, 14433, 14444, 14455, 14466, 14477, 14489, 14500, 14508, 14519, 14528, 14541, 14551, 14561, 14570, 14579, 14589, 14601, 14613, 14623, 14633, 14643, 14650, 14657, 14666, 14676, 14687, 14699, 14712, 14721, 14728, 14742, 14760, 14780, 14798, 14817, 14836, 14856, 14878, 14902, 14921, 14929, 14937, 14946, 14959, 14967, 14977, 14988, 15000, 15013, 15025, 15036, 15051, 15063, 15077, 15092, 15104, 15116, 15127, 15138, 15147, 15154, 15162, 15172, 15182, 15193, 15203, 15211, 15218, 15228, 15241, 15252, 15262, 15272, 15283, 15298, 15306, 15315, 15328, 15336, 15345, 15355, 15365, 15375, 15385, 15395, 15413, 15436, 15451, 15470, 15488, 15507, 15517, 15527, 15538, 15550, 15561, 15570, 15578, 15590, 15599, 15606, 15617, 15627, 15640, 15650, 15661, 15669, 15679, 15690, 15700, 15708, 15717, 15727, 15737, 15744, 15754, 15765, 15775, 15780, 15789, 15799, 15809, 15820, 15831, 15842, 15854, 15865, 15874, 15884, 15894, 15907, 15919, 15936, 15948, 15958, 15966, 15975, 15984, 15996, 16004, 16015, 16030, 16045, 16058, 16069, 16080, 16087, 16097, 16115, 16124, 16132, 16141, 16149, 16158, 16169, 16179, 16189, 16200, 16211, 16223, 16232, 16241, 16252, 16263, 16273, 16280, 16290, 16301, 16307, 16320, 16330, 16340, 16351, 16362, 16377, 16397, 16407, 16418, 16429, 16445, 16456, 16467, 16477, 16487, 16499, 16507, 16518, 16530, 16539, 16551, 16561, 16573, 16586, 16594, 16606, 16619, 16628, 16638, 16648, 16658, 16673, 16682, 16689, 16699, 16706, 16716, 16727, 16737, 16749, 16761, 16772, 16783, 16795, 16806, 16818, 16827, 16837, 16845, 16854, 16866, 16882, 16893, 16903, 16911, 16920, 16930, 16940, 16950, 16957, 16965, 16974, 16982, 16990, 17000, 17010, 17020, 17029, 17037, 17052, 17072, 17081, 17093, 17109, 17120, 17130, 17140, 17148, 17158, 17169, 17178, 17188, 17195, 17205, 17218, 17233, 17245, 17257, 17269, 17279, 17291, 17303, 17315, 17324, 17338, 17352, 17364, 17376, 17384, 17395, 17406, 17416, 17430, 17440, 17450, 17463, 17476, 17492, 17502, 17513, 17521, 17532, 17543, 17553, 17567, 17586, 17595, 17605, 17616, 17626, 17636, 17648, 17660, 17669, 17681, 17691, 17706, 17720, 17737, 17747, 17761, 17770, 17782, 17792, 17807, 17821, 17838, 17847, 17857, 17866, 17884, 17904, 17923, 17944, 17950, 17956, 17967, 17977, 17988, 17999, 18011, 18022, 18034, 18044, 18056, 18067, 18079, 18089, 18104, 18115, 18130, 18143, 18153, 18164, 18174, 18186, 18197, 18204, 18214, 18223, 18232, 18241, 18248, 18258, 18268, 18277, 18286, 18297, 18306, 18316, 18325, 18333, 18343, 18351, 18361, 18368, 18377, 18387, 18397, 18409, 18419, 18427, 18436, 18445, 18456, 18465, 18476, 18486, 18495, 18505, 18515, 18522, 18532, 18540, 18550, 18562, 18570, 18578, 18589, 18598, 18610, 18618, 18627, 18637, 18646, 18656, 18667, 18680, 18688, 18698, 18706, 18714, 18727, 18738, 18748, 18757, 18764, 18773, 18782, 18793, 18802, 18814, 18823, 18830, 18838, 18849, 18859, 18865, 18879, 18886, 18897, 18909, 18920, 18927, 18940, 18950, 18962, 18973, 18984, 18994, 19004, 19016, 19028, 19034, 19047, 19057, 19066, 19073, 19081, 19090, 19100, 19108, 19117, 19132, 19148, 19159, 19175, 19188, 19201, 19213, 19223, 19234, 19243, 19253, 19264, 19273, 19286, 19299, 19312, 19321, 19332, 19342, 19353, 19363, 19370, 19381, 19390, 19399, 19409, 19420, 19430, 19446, 19458, 19466, 19478, 19485, 19495, 19504, 19515, 19525, 19534, 19545, 19555, 19565, 19578, 19587, 19597, 19607, 19618, 19627, 19636, 19647, 19657, 19669, 19679, 19690, 19701, 19712, 19723, 19735, 19746, 19756, 19767, 19777, 19791, 19801, 19811, 19820, 19829, 19839, 19851, 19863, 19873, 19883, 19893, 19900, 19907, 19916, 19928, 19938, 19949, 19958, 19967, 19979, 19992, 20002, 20011, 20018, 20029, 20040, 20049, 20059, 20069, 20080, 20087, 20095, 20110, 20129, 20150, 20169, 20189, 20211, 20232, 20252, 20272, 20280, 20297, 20307, 20317, 20325, 20336, 20351, 20361, 20371, 20381, 20391, 20401, 20411, 20422, 20434, 20441, 20452, 20465, 20475, 20486, 20496, 20504, 20511, 20521, 20532, 20543, 20554, 20563, 20573, 20583, 20596, 20608, 20615, 20625, 20635, 20642, 20650, 20659, 20669, 20679, 20687, 20697, 20706, 20715, 20725, 20736, 20749, 20759, 20766, 20775, 20785, 20795, 20805, 20816, 20826, 20838, 20846, 20853, 20864, 20877, 20887, 20896, 20905, 20916, 20926, 20936, 20944, 20957, 20975, 20982, 20991, 21001, 21011, 21019, 21030, 21039, 21049, 21058, 21068, 21077, 21087, 21097, 21109, 21121, 21131, 21149, 21160, 21173, 21182, 21192, 21200, 21209, 21222, 21232, 21238, 21247, 21258, 21268, 21279, 21293, 21302, 21312, 21326, 21336, 21350, 21360, 21371, 21384, 21399, 21409, 21420, 21433, 21448, 21456, 21467, 21478, 21487, 21497, 21507, 21518, 21529, 21540, 21549, 21559, 21578, 21593, 21602, 21610, 21619, 21630, 21639, 21651, 21663, 21673, 21683, 21695, 21707, 21718, 21731, 21745, 21759, 21774, 21785, 21796, 21807, 21816, 21831, 21847, 21858, 21874, 21887, 21900, 21912, 21920, 21929, 21937, 21945, 21953, 21961, 21970, 21981, 21993, 22002, 22014, 22026, 22038, 22050, 22062, 22072, 22082, 22094, 22105, 22118, 22132, 22146, 22161, 22172, 22183, 22194, 22204, 22215, 22225, 22237, 22248, 22257, 22268, 22275, 22284, 22294, 22304, 22311, 22320, 22331, 22340, 22351, 22365, 22374, 22386, 22396, 22412, 22425, 22436, 22446, 22457, 22466, 22475, 22484, 22495, 22508, 22519, 22528, 22537, 22545, 22556, 22567, 22577, 22589, 22598, 22609, 22619, 22632, 22649, 22666, 22685, 22699, 22717, 22737, 22748, 22757, 22770, 22782, 22792, 22804, 22817, 22827, 22835, 22844, 22854, 22864, 22885, 22907, 22916, 22925, 22935, 22944, 22953, 22963, 22972, 22979, 22989, 22999, 23009, 23020, 23029, 23039, 23049, 23059, 23069, 23080, 23093, 23104, 23114, 23123, 23130, 23139, 23149, 23161, 23177, 23195, 23214, 23224, 23232, 23241, 23252, 23267, 23278, 23291, 23302, 23311, 23321, 23331, 23341, 23351, 23360, 23370, 23380, 23388, 23400, 23409, 23418, 23428, 23438, 23449, 23463, 23475, 23490, 23500, 23509, 23523, 23532, 23542, 23554, 23574, 23595, 23615, 23636, 23648, 23668, 23689, 23696, 23706, 23714, 23725, 23735, 23746, 23755, 23762, 23771, 23781, 23794, 23807, 23817, 23827, 23837, 23847, 23861, 23875, 23889, 23903, 23915, 23924, 23935, 23945, 23956, 23967, 23976, 23986, 23993, 24000, 24011, 24021, 24030, 24040, 24049, 24059, 24068, 24078, 24088, 24094, 24104, 24114, 24123, 24132, 24142, 24152, 24163, 24174, 24184, 24194, 24204, 24215, 24226, 24236, 24245, 24256, 24266, 24274, 24283, 24290, 24297, 24306, 24314, 24324, 24334, 24342, 24350, 24360, 24370, 24377, 24385, 24396, 24404, 24413, 24421, 24433, 24443, 24453, 24461, ]; // END GENERATED TABLE