Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellcode-Bibliothek unicode_data.rs   Sprache: unbekannt

 
// Generated by update_unicode.py DO NOT MODIFY
// Unicode version: 14.0.0

const FLAG_ID_START: u8 = 1;
const FLAG_ID_CONTINUE: u8 = 2;

pub struct CharInfo {
    flags: u8,
}

impl CharInfo {
    pub fn is_id_start(&self) -> bool {
        self.flags & FLAG_ID_START != 0
    }

    pub fn is_id_continue(&self) -> bool {
        self.flags & FLAG_ID_CONTINUE != 0
    }
}

pub const CHAR_INFO_TABLE: &'static [CharInfo] = &[
    CharInfo { flags: 0 },
    CharInfo { flags: 2 },
    CharInfo { flags: 3 },
];

pub const INDEX1: &'static [u8] = &[
    0, 0, 0, 1, 2, 3, 2, 4, 0, 0, 5, 6, 7, 8, 7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 10, 11, 0, 12, 12, 12, 12, 12, 12, 12, 13, 14, 7, 15, 7,
    7, 7, 7, 16, 7, 7, 7, 7, 7, 7, 7, 7, 17, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 7, 18, 7, 7, 19, 20,
    12, 21, 22, 7, 23, 24, 0, 25, 7, 7, 26, 12, 27, 28, 7, 7, 7, 7, 7, 29, 30, 31, 0, 32, 7, 12,
    33, 7, 7, 7, 7, 7, 34, 35, 36, 7, 26, 37, 7, 38, 39, 0, 7, 40, 4, 7, 41, 42, 7, 7, 43, 12, 44,
    12, 45, 7, 7, 46, 12, 47, 48, 2, 49, 50, 51, 52, 53, 54, 48, 55, 56, 50, 51, 57, 58, 59, 60,
    61, 62, 15, 51, 63, 64, 65, 48, 66, 67, 50, 51, 63, 68, 69, 48, 70, 71, 72, 73, 74, 75, 76, 60,
    0, 77, 78, 51, 79, 80, 81, 48, 0, 82, 78, 51, 83, 80, 84, 48, 85, 86, 78, 7, 87, 88, 89, 48,
    90, 91, 92, 7, 93, 94, 95, 60, 96, 2, 7, 7, 97, 98, 1, 0, 0, 99, 7, 100, 101, 102, 103, 0, 0,
    65, 104, 1, 105, 106, 7, 107, 20, 108, 109, 12, 110, 111, 0, 0, 0, 7, 7, 26, 112, 1, 113, 114,
    115, 116, 117, 7, 7, 118, 7, 7, 119, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 120, 121, 7, 7, 120, 7, 7, 122, 123, 8, 7, 7, 7, 123, 7, 7, 7, 124, 125, 126, 7, 0, 7, 7, 7,
    7, 7, 127, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 128, 7, 2, 4, 7, 7, 7, 7, 129, 19, 7, 130, 7, 131, 7, 132, 133,
    134, 7, 7, 7, 135, 12, 136, 1, 0, 137, 1, 7, 7, 7, 7, 7, 19, 7, 7, 138, 7, 7, 7, 7, 139, 7,
    140, 141, 141, 60, 7, 142, 143, 7, 7, 144, 7, 145, 25, 0, 0, 7, 146, 7, 7, 7, 147, 12, 148, 1,
    1, 149, 21, 150, 0, 0, 0, 151, 7, 7, 135, 152, 1, 153, 154, 155, 7, 156, 36, 7, 7, 34, 154, 7,
    7, 135, 157, 158, 36, 7, 142, 19, 7, 7, 159, 0, 160, 161, 162, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 12, 12, 12, 12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 127, 7, 7, 127, 163, 7,
    142, 7, 7, 7, 164, 165, 166, 107, 165, 0, 0, 0, 167, 168, 169, 0, 170, 0, 107, 0, 0, 0, 110,
    171, 168, 172, 173, 174, 175, 176, 0, 7, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 177, 178, 7, 7, 118, 7, 7, 7, 179, 167, 7, 180, 181, 181, 181, 181, 12, 12, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    182, 0, 183, 184, 2, 7, 7, 7, 7, 185, 2, 7, 7, 7, 7, 119, 186, 7, 7, 2, 7, 7, 7, 7, 140, 0, 7,
    7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 107, 0, 0, 0, 0, 7, 7, 142, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 107, 7, 187, 0, 7, 7, 188, 189, 7, 190, 7, 7, 7, 7, 7, 126, 0, 191, 192,
    7, 7, 7, 7, 7, 193, 7, 7, 7, 4, 194, 0, 192, 195, 7, 196, 0, 7, 7, 7, 197, 198, 7, 7, 135, 199,
    1, 12, 200, 36, 7, 201, 7, 202, 154, 7, 107, 45, 7, 7, 203, 204, 1, 205, 206, 7, 7, 207, 208,
    209, 1, 7, 210, 7, 7, 7, 211, 212, 213, 26, 214, 215, 216, 181, 7, 7, 119, 145, 7, 7, 7, 7, 7,
    7, 7, 217, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    197, 7, 218, 7, 7, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 142, 7, 7, 7, 7, 7, 7, 145, 0, 0, 180, 219, 51, 220,
    221, 7, 7, 7, 7, 7, 7, 10, 0, 222, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    7, 142, 0, 7, 7, 7, 7, 192, 7, 7, 223, 0, 0, 144, 12, 0, 12, 224, 225, 0, 0, 226, 7, 7, 7, 7,
    7, 7, 7, 107, 0, 1, 2, 3, 2, 4, 227, 7, 7, 7, 7, 140, 228, 229, 0, 0,
];

pub const INDEX2: &'static [u8] = &[
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
    0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 2, 2, 0, 0, 2, 2, 2, 2, 0, 2,
    0, 0, 0, 0, 0, 0, 2, 1, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0,
    0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
    0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2,
    2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2,
    1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,
    1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 0, 0, 2,
    2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0,
    2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
    1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2,
    2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2,
    2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 2, 0,
    0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
    0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 0, 1, 0, 1, 1,
    1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 2, 0,
    0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1,
    1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2,
    1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 0, 2,
    0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2,
    2, 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0,
    2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2,
    2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1,
    1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 2, 0, 0,
    2, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1,
    0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1,
    1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 2,
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2,
    2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0,
    2, 2, 2, 2, 2, 0, 2, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2,
    0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1,
    2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0,
    1, 1, 1, 1, 1, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1,
    1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0,
    2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2,
    2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2,
    2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2,
    1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2,
    2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2,
    2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0,
    2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0,
    0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2,
    0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1,
    1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2,
    2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0,
    0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
    0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 2, 2, 2, 2, 2,
    0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2,
    2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2,
    2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
    1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 1,
    2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0,
    0, 0, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0,
    0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0,
    2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 1, 2,
    2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
    2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0,
];

const SHIFT: usize = 4;

pub fn char_info(c: char) -> &'static CharInfo {
    let code = c as usize;
    let index = INDEX1[code >> SHIFT] as usize;
    let index = INDEX2[(index << SHIFT) + (code & ((1 << SHIFT) - 1))] as usize;

    &CHAR_INFO_TABLE[index]
}

pub const IS_ID_START_TABLE: &'static [bool] = &[
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
    true, true, true, true, true, true, true, true, true, true, false, false, false, false, false,
    false, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
    true, true, true, true, true, true, true, true, true, true, true, true, false, false, false,
    false, false,
];

pub const IS_ID_CONTINUE_TABLE: &'static [bool] = &[
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, false, false, false, false,
    false, false, false, false, false, false, false, false, false, true, true, true, true, true,
    true, true, true, true, true, false, false, false, false, false, false, false, true, true,
    true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
    true, true, true, true, true, true, true, true, false, false, false, false, true, false, true,
    true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
    true, true, true, true, true, true, true, true, true, false, false, false, false, false,
];

pub fn is_id_start_non_bmp(c: char) -> bool {
    if c >= '\u{10000}' && c <= '\u{1000B}' {
        return true;
    }
    if c >= '\u{1000D}' && c <= '\u{10026}' {
        return true;
    }
    if c >= '\u{10028}' && c <= '\u{1003A}' {
        return true;
    }
    if c >= '\u{1003C}' && c <= '\u{1003D}' {
        return true;
    }
    if c >= '\u{1003F}' && c <= '\u{1004D}' {
        return true;
    }
    if c >= '\u{10050}' && c <= '\u{1005D}' {
        return true;
    }
    if c >= '\u{10080}' && c <= '\u{100FA}' {
        return true;
    }
    if c >= '\u{10140}' && c <= '\u{10174}' {
        return true;
    }
    if c >= '\u{10280}' && c <= '\u{1029C}' {
        return true;
    }
    if c >= '\u{102A0}' && c <= '\u{102D0}' {
        return true;
    }
    if c >= '\u{10300}' && c <= '\u{1031F}' {
        return true;
    }
    if c >= '\u{1032D}' && c <= '\u{1034A}' {
        return true;
    }
    if c >= '\u{10350}' && c <= '\u{10375}' {
        return true;
    }
    if c >= '\u{10380}' && c <= '\u{1039D}' {
        return true;
    }
    if c >= '\u{103A0}' && c <= '\u{103C3}' {
        return true;
    }
    if c >= '\u{103C8}' && c <= '\u{103CF}' {
        return true;
    }
    if c >= '\u{103D1}' && c <= '\u{103D5}' {
        return true;
    }
    if c >= '\u{10400}' && c <= '\u{1049D}' {
        return true;
    }
    if c >= '\u{104B0}' && c <= '\u{104D3}' {
        return true;
    }
    if c >= '\u{104D8}' && c <= '\u{104FB}' {
        return true;
    }
    if c >= '\u{10500}' && c <= '\u{10527}' {
        return true;
    }
    if c >= '\u{10530}' && c <= '\u{10563}' {
        return true;
    }
    if c >= '\u{10570}' && c <= '\u{1057A}' {
        return true;
    }
    if c >= '\u{1057C}' && c <= '\u{1058A}' {
        return true;
    }
    if c >= '\u{1058C}' && c <= '\u{10592}' {
        return true;
    }
    if c >= '\u{10594}' && c <= '\u{10595}' {
        return true;
    }
    if c >= '\u{10597}' && c <= '\u{105A1}' {
        return true;
    }
    if c >= '\u{105A3}' && c <= '\u{105B1}' {
        return true;
    }
    if c >= '\u{105B3}' && c <= '\u{105B9}' {
        return true;
    }
    if c >= '\u{105BB}' && c <= '\u{105BC}' {
        return true;
    }
    if c >= '\u{10600}' && c <= '\u{10736}' {
        return true;
    }
    if c >= '\u{10740}' && c <= '\u{10755}' {
        return true;
    }
    if c >= '\u{10760}' && c <= '\u{10767}' {
        return true;
    }
    if c >= '\u{10780}' && c <= '\u{10785}' {
        return true;
    }
    if c >= '\u{10787}' && c <= '\u{107B0}' {
        return true;
    }
    if c >= '\u{107B2}' && c <= '\u{107BA}' {
        return true;
    }
    if c >= '\u{10800}' && c <= '\u{10805}' {
        return true;
    }
    if c >= '\u{10808}' && c <= '\u{10808}' {
        return true;
    }
    if c >= '\u{1080A}' && c <= '\u{10835}' {
        return true;
    }
    if c >= '\u{10837}' && c <= '\u{10838}' {
        return true;
    }
    if c >= '\u{1083C}' && c <= '\u{1083C}' {
        return true;
    }
    if c >= '\u{1083F}' && c <= '\u{10855}' {
        return true;
    }
    if c >= '\u{10860}' && c <= '\u{10876}' {
        return true;
    }
    if c >= '\u{10880}' && c <= '\u{1089E}' {
        return true;
    }
    if c >= '\u{108E0}' && c <= '\u{108F2}' {
        return true;
    }
    if c >= '\u{108F4}' && c <= '\u{108F5}' {
        return true;
    }
    if c >= '\u{10900}' && c <= '\u{10915}' {
        return true;
    }
    if c >= '\u{10920}' && c <= '\u{10939}' {
        return true;
    }
    if c >= '\u{10980}' && c <= '\u{109B7}' {
        return true;
    }
    if c >= '\u{109BE}' && c <= '\u{109BF}' {
        return true;
    }
    if c >= '\u{10A00}' && c <= '\u{10A00}' {
        return true;
    }
    if c >= '\u{10A10}' && c <= '\u{10A13}' {
        return true;
    }
    if c >= '\u{10A15}' && c <= '\u{10A17}' {
        return true;
    }
    if c >= '\u{10A19}' && c <= '\u{10A35}' {
        return true;
    }
    if c >= '\u{10A60}' && c <= '\u{10A7C}' {
        return true;
    }
    if c >= '\u{10A80}' && c <= '\u{10A9C}' {
        return true;
    }
    if c >= '\u{10AC0}' && c <= '\u{10AC7}' {
        return true;
    }
    if c >= '\u{10AC9}' && c <= '\u{10AE4}' {
        return true;
    }
    if c >= '\u{10B00}' && c <= '\u{10B35}' {
        return true;
    }
    if c >= '\u{10B40}' && c <= '\u{10B55}' {
        return true;
    }
    if c >= '\u{10B60}' && c <= '\u{10B72}' {
        return true;
    }
    if c >= '\u{10B80}' && c <= '\u{10B91}' {
        return true;
    }
    if c >= '\u{10C00}' && c <= '\u{10C48}' {
        return true;
    }
    if c >= '\u{10C80}' && c <= '\u{10CB2}' {
        return true;
    }
    if c >= '\u{10CC0}' && c <= '\u{10CF2}' {
        return true;
    }
    if c >= '\u{10D00}' && c <= '\u{10D23}' {
        return true;
    }
    if c >= '\u{10E80}' && c <= '\u{10EA9}' {
        return true;
    }
    if c >= '\u{10EB0}' && c <= '\u{10EB1}' {
        return true;
    }
    if c >= '\u{10F00}' && c <= '\u{10F1C}' {
        return true;
    }
    if c >= '\u{10F27}' && c <= '\u{10F27}' {
        return true;
    }
    if c >= '\u{10F30}' && c <= '\u{10F45}' {
        return true;
    }
    if c >= '\u{10F70}' && c <= '\u{10F81}' {
        return true;
    }
    if c >= '\u{10FB0}' && c <= '\u{10FC4}' {
        return true;
    }
    if c >= '\u{10FE0}' && c <= '\u{10FF6}' {
        return true;
    }
    if c >= '\u{11003}' && c <= '\u{11037}' {
        return true;
    }
    if c >= '\u{11071}' && c <= '\u{11072}' {
        return true;
    }
    if c >= '\u{11075}' && c <= '\u{11075}' {
        return true;
    }
    if c >= '\u{11083}' && c <= '\u{110AF}' {
        return true;
    }
    if c >= '\u{110D0}' && c <= '\u{110E8}' {
        return true;
    }
    if c >= '\u{11103}' && c <= '\u{11126}' {
        return true;
    }
    if c >= '\u{11144}' && c <= '\u{11144}' {
        return true;
    }
    if c >= '\u{11147}' && c <= '\u{11147}' {
        return true;
    }
    if c >= '\u{11150}' && c <= '\u{11172}' {
        return true;
    }
    if c >= '\u{11176}' && c <= '\u{11176}' {
        return true;
    }
    if c >= '\u{11183}' && c <= '\u{111B2}' {
        return true;
    }
    if c >= '\u{111C1}' && c <= '\u{111C4}' {
        return true;
    }
    if c >= '\u{111DA}' && c <= '\u{111DA}' {
        return true;
    }
    if c >= '\u{111DC}' && c <= '\u{111DC}' {
        return true;
    }
    if c >= '\u{11200}' && c <= '\u{11211}' {
        return true;
    }
    if c >= '\u{11213}' && c <= '\u{1122B}' {
        return true;
    }
    if c >= '\u{11280}' && c <= '\u{11286}' {
        return true;
    }
    if c >= '\u{11288}' && c <= '\u{11288}' {
        return true;
    }
    if c >= '\u{1128A}' && c <= '\u{1128D}' {
        return true;
    }
    if c >= '\u{1128F}' && c <= '\u{1129D}' {
        return true;
    }
    if c >= '\u{1129F}' && c <= '\u{112A8}' {
        return true;
    }
    if c >= '\u{112B0}' && c <= '\u{112DE}' {
        return true;
    }
    if c >= '\u{11305}' && c <= '\u{1130C}' {
        return true;
    }
    if c >= '\u{1130F}' && c <= '\u{11310}' {
        return true;
    }
    if c >= '\u{11313}' && c <= '\u{11328}' {
        return true;
    }
    if c >= '\u{1132A}' && c <= '\u{11330}' {
        return true;
    }
    if c >= '\u{11332}' && c <= '\u{11333}' {
        return true;
    }
    if c >= '\u{11335}' && c <= '\u{11339}' {
        return true;
    }
    if c >= '\u{1133D}' && c <= '\u{1133D}' {
        return true;
    }
    if c >= '\u{11350}' && c <= '\u{11350}' {
        return true;
    }
    if c >= '\u{1135D}' && c <= '\u{11361}' {
        return true;
    }
    if c >= '\u{11400}' && c <= '\u{11434}' {
        return true;
    }
    if c >= '\u{11447}' && c <= '\u{1144A}' {
        return true;
    }
    if c >= '\u{1145F}' && c <= '\u{11461}' {
        return true;
    }
    if c >= '\u{11480}' && c <= '\u{114AF}' {
        return true;
    }
    if c >= '\u{114C4}' && c <= '\u{114C5}' {
        return true;
    }
    if c >= '\u{114C7}' && c <= '\u{114C7}' {
        return true;
    }
    if c >= '\u{11580}' && c <= '\u{115AE}' {
        return true;
    }
    if c >= '\u{115D8}' && c <= '\u{115DB}' {
        return true;
    }
    if c >= '\u{11600}' && c <= '\u{1162F}' {
        return true;
    }
    if c >= '\u{11644}' && c <= '\u{11644}' {
        return true;
    }
    if c >= '\u{11680}' && c <= '\u{116AA}' {
        return true;
    }
    if c >= '\u{116B8}' && c <= '\u{116B8}' {
        return true;
    }
    if c >= '\u{11700}' && c <= '\u{1171A}' {
        return true;
    }
    if c >= '\u{11740}' && c <= '\u{11746}' {
        return true;
    }
    if c >= '\u{11800}' && c <= '\u{1182B}' {
        return true;
    }
    if c >= '\u{118A0}' && c <= '\u{118DF}' {
        return true;
    }
    if c >= '\u{118FF}' && c <= '\u{11906}' {
        return true;
    }
    if c >= '\u{11909}' && c <= '\u{11909}' {
        return true;
    }
    if c >= '\u{1190C}' && c <= '\u{11913}' {
        return true;
    }
    if c >= '\u{11915}' && c <= '\u{11916}' {
        return true;
    }
    if c >= '\u{11918}' && c <= '\u{1192F}' {
        return true;
    }
    if c >= '\u{1193F}' && c <= '\u{1193F}' {
        return true;
    }
    if c >= '\u{11941}' && c <= '\u{11941}' {
        return true;
    }
    if c >= '\u{119A0}' && c <= '\u{119A7}' {
        return true;
    }
    if c >= '\u{119AA}' && c <= '\u{119D0}' {
        return true;
    }
    if c >= '\u{119E1}' && c <= '\u{119E1}' {
        return true;
    }
    if c >= '\u{119E3}' && c <= '\u{119E3}' {
        return true;
    }
    if c >= '\u{11A00}' && c <= '\u{11A00}' {
        return true;
    }
    if c >= '\u{11A0B}' && c <= '\u{11A32}' {
        return true;
    }
    if c >= '\u{11A3A}' && c <= '\u{11A3A}' {
        return true;
    }
    if c >= '\u{11A50}' && c <= '\u{11A50}' {
        return true;
    }
    if c >= '\u{11A5C}' && c <= '\u{11A89}' {
        return true;
    }
    if c >= '\u{11A9D}' && c <= '\u{11A9D}' {
        return true;
    }
    if c >= '\u{11AB0}' && c <= '\u{11AF8}' {
        return true;
    }
    if c >= '\u{11C00}' && c <= '\u{11C08}' {
        return true;
    }
    if c >= '\u{11C0A}' && c <= '\u{11C2E}' {
        return true;
    }
    if c >= '\u{11C40}' && c <= '\u{11C40}' {
        return true;
    }
    if c >= '\u{11C72}' && c <= '\u{11C8F}' {
        return true;
    }
    if c >= '\u{11D00}' && c <= '\u{11D06}' {
        return true;
    }
    if c >= '\u{11D08}' && c <= '\u{11D09}' {
        return true;
    }
    if c >= '\u{11D0B}' && c <= '\u{11D30}' {
        return true;
    }
    if c >= '\u{11D46}' && c <= '\u{11D46}' {
        return true;
    }
    if c >= '\u{11D60}' && c <= '\u{11D65}' {
        return true;
    }
    if c >= '\u{11D67}' && c <= '\u{11D68}' {
        return true;
    }
    if c >= '\u{11D6A}' && c <= '\u{11D89}' {
        return true;
    }
    if c >= '\u{11D98}' && c <= '\u{11D98}' {
        return true;
    }
    if c >= '\u{11EE0}' && c <= '\u{11EF2}' {
        return true;
    }
    if c >= '\u{11FB0}' && c <= '\u{11FB0}' {
        return true;
    }
    if c >= '\u{12000}' && c <= '\u{12399}' {
        return true;
    }
    if c >= '\u{12400}' && c <= '\u{1246E}' {
        return true;
    }
    if c >= '\u{12480}' && c <= '\u{12543}' {
        return true;
    }
    if c >= '\u{12F90}' && c <= '\u{12FF0}' {
        return true;
    }
    if c >= '\u{13000}' && c <= '\u{1342E}' {
        return true;
    }
    if c >= '\u{14400}' && c <= '\u{14646}' {
        return true;
    }
    if c >= '\u{16800}' && c <= '\u{16A38}' {
        return true;
    }
    if c >= '\u{16A40}' && c <= '\u{16A5E}' {
        return true;
    }
    if c >= '\u{16A70}' && c <= '\u{16ABE}' {
        return true;
    }
    if c >= '\u{16AD0}' && c <= '\u{16AED}' {
        return true;
    }
    if c >= '\u{16B00}' && c <= '\u{16B2F}' {
        return true;
    }
    if c >= '\u{16B40}' && c <= '\u{16B43}' {
        return true;
    }
    if c >= '\u{16B63}' && c <= '\u{16B77}' {
        return true;
    }
    if c >= '\u{16B7D}' && c <= '\u{16B8F}' {
        return true;
    }
    if c >= '\u{16E40}' && c <= '\u{16E7F}' {
        return true;
    }
    if c >= '\u{16F00}' && c <= '\u{16F4A}' {
        return true;
    }
    if c >= '\u{16F50}' && c <= '\u{16F50}' {
        return true;
    }
    if c >= '\u{16F93}' && c <= '\u{16F9F}' {
        return true;
    }
    if c >= '\u{16FE0}' && c <= '\u{16FE1}' {
        return true;
    }
    if c >= '\u{16FE3}' && c <= '\u{16FE3}' {
        return true;
    }
    if c >= '\u{17000}' && c <= '\u{187F7}' {
        return true;
    }
    if c >= '\u{18800}' && c <= '\u{18CD5}' {
        return true;
    }
    if c >= '\u{18D00}' && c <= '\u{18D08}' {
        return true;
    }
    if c >= '\u{1AFF0}' && c <= '\u{1AFF3}' {
        return true;
    }
    if c >= '\u{1AFF5}' && c <= '\u{1AFFB}' {
        return true;
    }
    if c >= '\u{1AFFD}' && c <= '\u{1AFFE}' {
        return true;
    }
    if c >= '\u{1B000}' && c <= '\u{1B122}' {
        return true;
    }
    if c >= '\u{1B150}' && c <= '\u{1B152}' {
        return true;
    }
    if c >= '\u{1B164}' && c <= '\u{1B167}' {
        return true;
    }
    if c >= '\u{1B170}' && c <= '\u{1B2FB}' {
        return true;
    }
    if c >= '\u{1BC00}' && c <= '\u{1BC6A}' {
        return true;
    }
    if c >= '\u{1BC70}' && c <= '\u{1BC7C}' {
        return true;
    }
    if c >= '\u{1BC80}' && c <= '\u{1BC88}' {
        return true;
    }
    if c >= '\u{1BC90}' && c <= '\u{1BC99}' {
        return true;
    }
    if c >= '\u{1D400}' && c <= '\u{1D454}' {
        return true;
    }
    if c >= '\u{1D456}' && c <= '\u{1D49C}' {
        return true;
    }
    if c >= '\u{1D49E}' && c <= '\u{1D49F}' {
        return true;
    }
    if c >= '\u{1D4A2}' && c <= '\u{1D4A2}' {
        return true;
    }
    if c >= '\u{1D4A5}' && c <= '\u{1D4A6}' {
        return true;
    }
    if c >= '\u{1D4A9}' && c <= '\u{1D4AC}' {
        return true;
    }
    if c >= '\u{1D4AE}' && c <= '\u{1D4B9}' {
        return true;
    }
    if c >= '\u{1D4BB}' && c <= '\u{1D4BB}' {
        return true;
    }
    if c >= '\u{1D4BD}' && c <= '\u{1D4C3}' {
        return true;
    }
    if c >= '\u{1D4C5}' && c <= '\u{1D505}' {
        return true;
    }
    if c >= '\u{1D507}' && c <= '\u{1D50A}' {
        return true;
    }
    if c >= '\u{1D50D}' && c <= '\u{1D514}' {
        return true;
    }
    if c >= '\u{1D516}' && c <= '\u{1D51C}' {
        return true;
    }
    if c >= '\u{1D51E}' && c <= '\u{1D539}' {
        return true;
    }
    if c >= '\u{1D53B}' && c <= '\u{1D53E}' {
        return true;
    }
    if c >= '\u{1D540}' && c <= '\u{1D544}' {
        return true;
    }
    if c >= '\u{1D546}' && c <= '\u{1D546}' {
        return true;
    }
    if c >= '\u{1D54A}' && c <= '\u{1D550}' {
        return true;
    }
    if c >= '\u{1D552}' && c <= '\u{1D6A5}' {
        return true;
    }
    if c >= '\u{1D6A8}' && c <= '\u{1D6C0}' {
        return true;
    }
    if c >= '\u{1D6C2}' && c <= '\u{1D6DA}' {
        return true;
    }
    if c >= '\u{1D6DC}' && c <= '\u{1D6FA}' {
        return true;
    }
    if c >= '\u{1D6FC}' && c <= '\u{1D714}' {
        return true;
    }
    if c >= '\u{1D716}' && c <= '\u{1D734}' {
        return true;
    }
    if c >= '\u{1D736}' && c <= '\u{1D74E}' {
        return true;
    }
    if c >= '\u{1D750}' && c <= '\u{1D76E}' {
        return true;
    }
    if c >= '\u{1D770}' && c <= '\u{1D788}' {
        return true;
    }
    if c >= '\u{1D78A}' && c <= '\u{1D7A8}' {
        return true;
    }
    if c >= '\u{1D7AA}' && c <= '\u{1D7C2}' {
        return true;
    }
    if c >= '\u{1D7C4}' && c <= '\u{1D7CB}' {
        return true;
    }
    if c >= '\u{1DF00}' && c <= '\u{1DF1E}' {
        return true;
    }
    if c >= '\u{1E100}' && c <= '\u{1E12C}' {
        return true;
    }
    if c >= '\u{1E137}' && c <= '\u{1E13D}' {
        return true;
    }
    if c >= '\u{1E14E}' && c <= '\u{1E14E}' {
        return true;
    }
    if c >= '\u{1E290}' && c <= '\u{1E2AD}' {
        return true;
    }
    if c >= '\u{1E2C0}' && c <= '\u{1E2EB}' {
        return true;
    }
    if c >= '\u{1E7E0}' && c <= '\u{1E7E6}' {
        return true;
    }
    if c >= '\u{1E7E8}' && c <= '\u{1E7EB}' {
        return true;
    }
    if c >= '\u{1E7ED}' && c <= '\u{1E7EE}' {
        return true;
    }
    if c >= '\u{1E7F0}' && c <= '\u{1E7FE}' {
        return true;
    }
    if c >= '\u{1E800}' && c <= '\u{1E8C4}' {
        return true;
    }
    if c >= '\u{1E900}' && c <= '\u{1E943}' {
        return true;
    }
    if c >= '\u{1E94B}' && c <= '\u{1E94B}' {
        return true;
    }
    if c >= '\u{1EE00}' && c <= '\u{1EE03}' {
        return true;
    }
    if c >= '\u{1EE05}' && c <= '\u{1EE1F}' {
        return true;
    }
    if c >= '\u{1EE21}' && c <= '\u{1EE22}' {
        return true;
    }
    if c >= '\u{1EE24}' && c <= '\u{1EE24}' {
        return true;
    }
    if c >= '\u{1EE27}' && c <= '\u{1EE27}' {
        return true;
    }
    if c >= '\u{1EE29}' && c <= '\u{1EE32}' {
        return true;
    }
    if c >= '\u{1EE34}' && c <= '\u{1EE37}' {
        return true;
    }
    if c >= '\u{1EE39}' && c <= '\u{1EE39}' {
        return true;
    }
    if c >= '\u{1EE3B}' && c <= '\u{1EE3B}' {
        return true;
    }
    if c >= '\u{1EE42}' && c <= '\u{1EE42}' {
        return true;
    }
    if c >= '\u{1EE47}' && c <= '\u{1EE47}' {
        return true;
    }
    if c >= '\u{1EE49}' && c <= '\u{1EE49}' {
        return true;
    }
    if c >= '\u{1EE4B}' && c <= '\u{1EE4B}' {
        return true;
    }
    if c >= '\u{1EE4D}' && c <= '\u{1EE4F}' {
        return true;
    }
    if c >= '\u{1EE51}' && c <= '\u{1EE52}' {
        return true;
    }
    if c >= '\u{1EE54}' && c <= '\u{1EE54}' {
        return true;
    }
    if c >= '\u{1EE57}' && c <= '\u{1EE57}' {
        return true;
    }
    if c >= '\u{1EE59}' && c <= '\u{1EE59}' {
        return true;
    }
    if c >= '\u{1EE5B}' && c <= '\u{1EE5B}' {
        return true;
    }
    if c >= '\u{1EE5D}' && c <= '\u{1EE5D}' {
        return true;
    }
    if c >= '\u{1EE5F}' && c <= '\u{1EE5F}' {
        return true;
    }
    if c >= '\u{1EE61}' && c <= '\u{1EE62}' {
        return true;
    }
    if c >= '\u{1EE64}' && c <= '\u{1EE64}' {
        return true;
    }
    if c >= '\u{1EE67}' && c <= '\u{1EE6A}' {
        return true;
    }
    if c >= '\u{1EE6C}' && c <= '\u{1EE72}' {
        return true;
    }
    if c >= '\u{1EE74}' && c <= '\u{1EE77}' {
        return true;
    }
    if c >= '\u{1EE79}' && c <= '\u{1EE7C}' {
        return true;
    }
    if c >= '\u{1EE7E}' && c <= '\u{1EE7E}' {
        return true;
    }
    if c >= '\u{1EE80}' && c <= '\u{1EE89}' {
        return true;
    }
    if c >= '\u{1EE8B}' && c <= '\u{1EE9B}' {
        return true;
    }
    if c >= '\u{1EEA1}' && c <= '\u{1EEA3}' {
        return true;
    }
    if c >= '\u{1EEA5}' && c <= '\u{1EEA9}' {
        return true;
    }
    if c >= '\u{1EEAB}' && c <= '\u{1EEBB}' {
        return true;
    }
    if c >= '\u{20000}' && c <= '\u{2A6DF}' {
        return true;
    }
    if c >= '\u{2A700}' && c <= '\u{2B738}' {
        return true;
    }
    if c >= '\u{2B740}' && c <= '\u{2B81D}' {
        return true;
    }
    if c >= '\u{2B820}' && c <= '\u{2CEA1}' {
        return true;
    }
    if c >= '\u{2CEB0}' && c <= '\u{2EBE0}' {
        return true;
    }
    if c >= '\u{2F800}' && c <= '\u{2FA1D}' {
        return true;
    }
    if c >= '\u{30000}' && c <= '\u{3134A}' {
        return true;
    }
    false
}

pub fn is_id_continue_non_bmp(c: char) -> bool {
    if c >= '\u{10000}' && c <= '\u{1000B}' {
        return true;
    }
    if c >= '\u{1000D}' && c <= '\u{10026}' {
        return true;
    }
    if c >= '\u{10028}' && c <= '\u{1003A}' {
        return true;
    }
    if c >= '\u{1003C}' && c <= '\u{1003D}' {
        return true;
    }
    if c >= '\u{1003F}' && c <= '\u{1004D}' {
        return true;
    }
    if c >= '\u{10050}' && c <= '\u{1005D}' {
        return true;
    }
    if c >= '\u{10080}' && c <= '\u{100FA}' {
        return true;
    }
    if c >= '\u{10140}' && c <= '\u{10174}' {
        return true;
    }
    if c >= '\u{101FD}' && c <= '\u{101FD}' {
        return true;
    }
    if c >= '\u{10280}' && c <= '\u{1029C}' {
        return true;
    }
    if c >= '\u{102A0}' && c <= '\u{102D0}' {
        return true;
    }
    if c >= '\u{102E0}' && c <= '\u{102E0}' {
        return true;
    }
    if c >= '\u{10300}' && c <= '\u{1031F}' {
        return true;
    }
    if c >= '\u{1032D}' && c <= '\u{1034A}' {
        return true;
    }
    if c >= '\u{10350}' && c <= '\u{1037A}' {
        return true;
    }
    if c >= '\u{10380}' && c <= '\u{1039D}' {
        return true;
    }
    if c >= '\u{103A0}' && c <= '\u{103C3}' {
        return true;
    }
    if c >= '\u{103C8}' && c <= '\u{103CF}' {
        return true;
    }
    if c >= '\u{103D1}' && c <= '\u{103D5}' {
        return true;
    }
    if c >= '\u{10400}' && c <= '\u{1049D}' {
        return true;
    }
    if c >= '\u{104A0}' && c <= '\u{104A9}' {
        return true;
    }
    if c >= '\u{104B0}' && c <= '\u{104D3}' {
        return true;
    }
    if c >= '\u{104D8}' && c <= '\u{104FB}' {
        return true;
    }
    if c >= '\u{10500}' && c <= '\u{10527}' {
        return true;
    }
    if c >= '\u{10530}' && c <= '\u{10563}' {
        return true;
    }
    if c >= '\u{10570}' && c <= '\u{1057A}' {
        return true;
    }
    if c >= '\u{1057C}' && c <= '\u{1058A}' {
        return true;
    }
    if c >= '\u{1058C}' && c <= '\u{10592}' {
        return true;
    }
    if c >= '\u{10594}' && c <= '\u{10595}' {
        return true;
    }
    if c >= '\u{10597}' && c <= '\u{105A1}' {
        return true;
    }
    if c >= '\u{105A3}' && c <= '\u{105B1}' {
        return true;
    }
    if c >= '\u{105B3}' && c <= '\u{105B9}' {
        return true;
    }
    if c >= '\u{105BB}' && c <= '\u{105BC}' {
        return true;
    }
    if c >= '\u{10600}' && c <= '\u{10736}' {
        return true;
    }
    if c >= '\u{10740}' && c <= '\u{10755}' {
        return true;
    }
    if c >= '\u{10760}' && c <= '\u{10767}' {
        return true;
    }
    if c >= '\u{10780}' && c <= '\u{10785}' {
        return true;
    }
    if c >= '\u{10787}' && c <= '\u{107B0}' {
        return true;
    }
    if c >= '\u{107B2}' && c <= '\u{107BA}' {
        return true;
    }
    if c >= '\u{10800}' && c <= '\u{10805}' {
        return true;
    }
    if c >= '\u{10808}' && c <= '\u{10808}' {
        return true;
    }
    if c >= '\u{1080A}' && c <= '\u{10835}' {
        return true;
    }
    if c >= '\u{10837}' && c <= '\u{10838}' {
        return true;
    }
    if c >= '\u{1083C}' && c <= '\u{1083C}' {
        return true;
    }
    if c >= '\u{1083F}' && c <= '\u{10855}' {
        return true;
    }
    if c >= '\u{10860}' && c <= '\u{10876}' {
        return true;
    }
    if c >= '\u{10880}' && c <= '\u{1089E}' {
        return true;
    }
    if c >= '\u{108E0}' && c <= '\u{108F2}' {
        return true;
    }
    if c >= '\u{108F4}' && c <= '\u{108F5}' {
        return true;
    }
    if c >= '\u{10900}' && c <= '\u{10915}' {
        return true;
    }
    if c >= '\u{10920}' && c <= '\u{10939}' {
        return true;
    }
    if c >= '\u{10980}' && c <= '\u{109B7}' {
        return true;
    }
    if c >= '\u{109BE}' && c <= '\u{109BF}' {
        return true;
    }
    if c >= '\u{10A00}' && c <= '\u{10A03}' {
        return true;
    }
    if c >= '\u{10A05}' && c <= '\u{10A06}' {
        return true;
    }
    if c >= '\u{10A0C}' && c <= '\u{10A13}' {
        return true;
    }
    if c >= '\u{10A15}' && c <= '\u{10A17}' {
        return true;
    }
    if c >= '\u{10A19}' && c <= '\u{10A35}' {
        return true;
    }
    if c >= '\u{10A38}' && c <= '\u{10A3A}' {
        return true;
    }
    if c >= '\u{10A3F}' && c <= '\u{10A3F}' {
        return true;
    }
    if c >= '\u{10A60}' && c <= '\u{10A7C}' {
        return true;
    }
    if c >= '\u{10A80}' && c <= '\u{10A9C}' {
        return true;
    }
    if c >= '\u{10AC0}' && c <= '\u{10AC7}' {
        return true;
    }
    if c >= '\u{10AC9}' && c <= '\u{10AE6}' {
        return true;
    }
    if c >= '\u{10B00}' && c <= '\u{10B35}' {
        return true;
    }
    if c >= '\u{10B40}' && c <= '\u{10B55}' {
        return true;
    }
    if c >= '\u{10B60}' && c <= '\u{10B72}' {
        return true;
    }
    if c >= '\u{10B80}' && c <= '\u{10B91}' {
        return true;
    }
    if c >= '\u{10C00}' && c <= '\u{10C48}' {
        return true;
    }
    if c >= '\u{10C80}' && c <= '\u{10CB2}' {
        return true;
    }
    if c >= '\u{10CC0}' && c <= '\u{10CF2}' {
        return true;
    }
    if c >= '\u{10D00}' && c <= '\u{10D27}' {
        return true;
    }
    if c >= '\u{10D30}' && c <= '\u{10D39}' {
        return true;
    }
    if c >= '\u{10E80}' && c <= '\u{10EA9}' {
        return true;
    }
    if c >= '\u{10EAB}' && c <= '\u{10EAC}' {
        return true;
    }
    if c >= '\u{10EB0}' && c <= '\u{10EB1}' {
        return true;
    }
    if c >= '\u{10F00}' && c <= '\u{10F1C}' {
        return true;
    }
    if c >= '\u{10F27}' && c <= '\u{10F27}' {
        return true;
    }
    if c >= '\u{10F30}' && c <= '\u{10F50}' {
        return true;
    }
    if c >= '\u{10F70}' && c <= '\u{10F85}' {
        return true;
    }
    if c >= '\u{10FB0}' && c <= '\u{10FC4}' {
        return true;
    }
    if c >= '\u{10FE0}' && c <= '\u{10FF6}' {
        return true;
    }
    if c >= '\u{11000}' && c <= '\u{11046}' {
        return true;
    }
    if c >= '\u{11066}' && c <= '\u{11075}' {
        return true;
    }
    if c >= '\u{1107F}' && c <= '\u{110BA}' {
        return true;
    }
    if c >= '\u{110C2}' && c <= '\u{110C2}' {
        return true;
    }
    if c >= '\u{110D0}' && c <= '\u{110E8}' {
        return true;
    }
    if c >= '\u{110F0}' && c <= '\u{110F9}' {
        return true;
    }
    if c >= '\u{11100}' && c <= '\u{11134}' {
        return true;
    }
    if c >= '\u{11136}' && c <= '\u{1113F}' {
        return true;
    }
    if c >= '\u{11144}' && c <= '\u{11147}' {
        return true;
    }
    if c >= '\u{11150}' && c <= '\u{11173}' {
        return true;
    }
    if c >= '\u{11176}' && c <= '\u{11176}' {
        return true;
    }
    if c >= '\u{11180}' && c <= '\u{111C4}' {
        return true;
    }
    if c >= '\u{111C9}' && c <= '\u{111CC}' {
        return true;
    }
    if c >= '\u{111CE}' && c <= '\u{111DA}' {
        return true;
    }
    if c >= '\u{111DC}' && c <= '\u{111DC}' {
        return true;
    }
    if c >= '\u{11200}' && c <= '\u{11211}' {
        return true;
    }
    if c >= '\u{11213}' && c <= '\u{11237}' {
        return true;
    }
    if c >= '\u{1123E}' && c <= '\u{1123E}' {
        return true;
    }
    if c >= '\u{11280}' && c <= '\u{11286}' {
        return true;
    }
    if c >= '\u{11288}' && c <= '\u{11288}' {
        return true;
    }
    if c >= '\u{1128A}' && c <= '\u{1128D}' {
        return true;
    }
    if c >= '\u{1128F}' && c <= '\u{1129D}' {
        return true;
    }
    if c >= '\u{1129F}' && c <= '\u{112A8}' {
        return true;
    }
    if c >= '\u{112B0}' && c <= '\u{112EA}' {
        return true;
    }
    if c >= '\u{112F0}' && c <= '\u{112F9}' {
        return true;
    }
    if c >= '\u{11300}' && c <= '\u{11303}' {
        return true;
    }
    if c >= '\u{11305}' && c <= '\u{1130C}' {
        return true;
    }
    if c >= '\u{1130F}' && c <= '\u{11310}' {
        return true;
    }
    if c >= '\u{11313}' && c <= '\u{11328}' {
        return true;
    }
    if c >= '\u{1132A}' && c <= '\u{11330}' {
        return true;
    }
    if c >= '\u{11332}' && c <= '\u{11333}' {
        return true;
    }
    if c >= '\u{11335}' && c <= '\u{11339}' {
        return true;
    }
    if c >= '\u{1133B}' && c <= '\u{11344}' {
        return true;
    }
    if c >= '\u{11347}' && c <= '\u{11348}' {
        return true;
    }
    if c >= '\u{1134B}' && c <= '\u{1134D}' {
        return true;
    }
    if c >= '\u{11350}' && c <= '\u{11350}' {
        return true;
    }
    if c >= '\u{11357}' && c <= '\u{11357}' {
        return true;
    }
    if c >= '\u{1135D}' && c <= '\u{11363}' {
        return true;
    }
    if c >= '\u{11366}' && c <= '\u{1136C}' {
        return true;
    }
    if c >= '\u{11370}' && c <= '\u{11374}' {
        return true;
    }
    if c >= '\u{11400}' && c <= '\u{1144A}' {
        return true;
    }
    if c >= '\u{11450}' && c <= '\u{11459}' {
        return true;
    }
    if c >= '\u{1145E}' && c <= '\u{11461}' {
        return true;
    }
    if c >= '\u{11480}' && c <= '\u{114C5}' {
        return true;
    }
    if c >= '\u{114C7}' && c <= '\u{114C7}' {
        return true;
    }
    if c >= '\u{114D0}' && c <= '\u{114D9}' {
        return true;
    }
    if c >= '\u{11580}' && c <= '\u{115B5}' {
        return true;
    }
    if c >= '\u{115B8}' && c <= '\u{115C0}' {
        return true;
    }
    if c >= '\u{115D8}' && c <= '\u{115DD}' {
        return true;
    }
    if c >= '\u{11600}' && c <= '\u{11640}' {
        return true;
    }
    if c >= '\u{11644}' && c <= '\u{11644}' {
        return true;
    }
    if c >= '\u{11650}' && c <= '\u{11659}' {
        return true;
    }
    if c >= '\u{11680}' && c <= '\u{116B8}' {
        return true;
    }
    if c >= '\u{116C0}' && c <= '\u{116C9}' {
        return true;
    }
    if c >= '\u{11700}' && c <= '\u{1171A}' {
        return true;
    }
    if c >= '\u{1171D}' && c <= '\u{1172B}' {
        return true;
    }
    if c >= '\u{11730}' && c <= '\u{11739}' {
        return true;
    }
    if c >= '\u{11740}' && c <= '\u{11746}' {
        return true;
    }
    if c >= '\u{11800}' && c <= '\u{1183A}' {
        return true;
    }
    if c >= '\u{118A0}' && c <= '\u{118E9}' {
        return true;
    }
    if c >= '\u{118FF}' && c <= '\u{11906}' {
        return true;
    }
    if c >= '\u{11909}' && c <= '\u{11909}' {
        return true;
    }
    if c >= '\u{1190C}' && c <= '\u{11913}' {
        return true;
    }
    if c >= '\u{11915}' && c <= '\u{11916}' {
        return true;
    }
    if c >= '\u{11918}' && c <= '\u{11935}' {
        return true;
    }
    if c >= '\u{11937}' && c <= '\u{11938}' {
        return true;
    }
    if c >= '\u{1193B}' && c <= '\u{11943}' {
        return true;
    }
    if c >= '\u{11950}' && c <= '\u{11959}' {
        return true;
    }
    if c >= '\u{119A0}' && c <= '\u{119A7}' {
        return true;
    }
    if c >= '\u{119AA}' && c <= '\u{119D7}' {
        return true;
    }
    if c >= '\u{119DA}' && c <= '\u{119E1}' {
        return true;
    }
    if c >= '\u{119E3}' && c <= '\u{119E4}' {
        return true;
    }
    if c >= '\u{11A00}' && c <= '\u{11A3E}' {
        return true;
    }
    if c >= '\u{11A47}' && c <= '\u{11A47}' {
        return true;
    }
    if c >= '\u{11A50}' && c <= '\u{11A99}' {
        return true;
    }
    if c >= '\u{11A9D}' && c <= '\u{11A9D}' {
        return true;
    }
    if c >= '\u{11AB0}' && c <= '\u{11AF8}' {
        return true;
    }
    if c >= '\u{11C00}' && c <= '\u{11C08}' {
        return true;
    }
    if c >= '\u{11C0A}' && c <= '\u{11C36}' {
        return true;
    }
    if c >= '\u{11C38}' && c <= '\u{11C40}' {
        return true;
    }
    if c >= '\u{11C50}' && c <= '\u{11C59}' {
        return true;
    }
    if c >= '\u{11C72}' && c <= '\u{11C8F}' {
        return true;
    }
    if c >= '\u{11C92}' && c <= '\u{11CA7}' {
        return true;
    }
    if c >= '\u{11CA9}' && c <= '\u{11CB6}' {
        return true;
    }
    if c >= '\u{11D00}' && c <= '\u{11D06}' {
        return true;
    }
    if c >= '\u{11D08}' && c <= '\u{11D09}' {
        return true;
    }
    if c >= '\u{11D0B}' && c <= '\u{11D36}' {
        return true;
    }
    if c >= '\u{11D3A}' && c <= '\u{11D3A}' {
        return true;
    }
    if c >= '\u{11D3C}' && c <= '\u{11D3D}' {
        return true;
    }
    if c >= '\u{11D3F}' && c <= '\u{11D47}' {
        return true;
    }
    if c >= '\u{11D50}' && c <= '\u{11D59}' {
        return true;
    }
    if c >= '\u{11D60}' && c <= '\u{11D65}' {
        return true;
    }
    if c >= '\u{11D67}' && c <= '\u{11D68}' {
        return true;
    }
    if c >= '\u{11D6A}' && c <= '\u{11D8E}' {
        return true;
    }
    if c >= '\u{11D90}' && c <= '\u{11D91}' {
        return true;
    }
    if c >= '\u{11D93}' && c <= '\u{11D98}' {
        return true;
    }
    if c >= '\u{11DA0}' && c <= '\u{11DA9}' {
        return true;
    }
    if c >= '\u{11EE0}' && c <= '\u{11EF6}' {
        return true;
    }
    if c >= '\u{11FB0}' && c <= '\u{11FB0}' {
        return true;
    }
    if c >= '\u{12000}' && c <= '\u{12399}' {
        return true;
    }
    if c >= '\u{12400}' && c <= '\u{1246E}' {
        return true;
    }
    if c >= '\u{12480}' && c <= '\u{12543}' {
        return true;
    }
    if c >= '\u{12F90}' && c <= '\u{12FF0}' {
        return true;
    }
    if c >= '\u{13000}' && c <= '\u{1342E}' {
        return true;
    }
    if c >= '\u{14400}' && c <= '\u{14646}' {
        return true;
    }
    if c >= '\u{16800}' && c <= '\u{16A38}' {
        return true;
    }
    if c >= '\u{16A40}' && c <= '\u{16A5E}' {
        return true;
    }
    if c >= '\u{16A60}' && c <= '\u{16A69}' {
        return true;
    }
    if c >= '\u{16A70}' && c <= '\u{16ABE}' {
        return true;
    }
    if c >= '\u{16AC0}' && c <= '\u{16AC9}' {
        return true;
    }
    if c >= '\u{16AD0}' && c <= '\u{16AED}' {
        return true;
    }
    if c >= '\u{16AF0}' && c <= '\u{16AF4}' {
        return true;
    }
    if c >= '\u{16B00}' && c <= '\u{16B36}' {
        return true;
    }
    if c >= '\u{16B40}' && c <= '\u{16B43}' {
        return true;
    }
    if c >= '\u{16B50}' && c <= '\u{16B59}' {
        return true;
    }
    if c >= '\u{16B63}' && c <= '\u{16B77}' {
        return true;
    }
    if c >= '\u{16B7D}' && c <= '\u{16B8F}' {
        return true;
    }
    if c >= '\u{16E40}' && c <= '\u{16E7F}' {
        return true;
    }
    if c >= '\u{16F00}' && c <= '\u{16F4A}' {
        return true;
    }
    if c >= '\u{16F4F}' && c <= '\u{16F87}' {
        return true;
    }
    if c >= '\u{16F8F}' && c <= '\u{16F9F}' {
        return true;
    }
    if c >= '\u{16FE0}' && c <= '\u{16FE1}' {
        return true;
    }
    if c >= '\u{16FE3}' && c <= '\u{16FE4}' {
        return true;
    }
    if c >= '\u{16FF0}' && c <= '\u{16FF1}' {
        return true;
    }
    if c >= '\u{17000}' && c <= '\u{187F7}' {
        return true;
    }
    if c >= '\u{18800}' && c <= '\u{18CD5}' {
        return true;
    }
    if c >= '\u{18D00}' && c <= '\u{18D08}' {
        return true;
    }
    if c >= '\u{1AFF0}' && c <= '\u{1AFF3}' {
        return true;
    }
    if c >= '\u{1AFF5}' && c <= '\u{1AFFB}' {
        return true;
    }
    if c >= '\u{1AFFD}' && c <= '\u{1AFFE}' {
        return true;
    }
    if c >= '\u{1B000}' && c <= '\u{1B122}' {
        return true;
    }
    if c >= '\u{1B150}' && c <= '\u{1B152}' {
        return true;
    }
    if c >= '\u{1B164}' && c <= '\u{1B167}' {
        return true;
    }
    if c >= '\u{1B170}' && c <= '\u{1B2FB}' {
        return true;
    }
    if c >= '\u{1BC00}' && c <= '\u{1BC6A}' {
        return true;
    }
    if c >= '\u{1BC70}' && c <= '\u{1BC7C}' {
        return true;
    }
    if c >= '\u{1BC80}' && c <= '\u{1BC88}' {
        return true;
    }
    if c >= '\u{1BC90}' && c <= '\u{1BC99}' {
        return true;
    }
    if c >= '\u{1BC9D}' && c <= '\u{1BC9E}' {
        return true;
    }
    if c >= '\u{1CF00}' && c <= '\u{1CF2D}' {
        return true;
    }
    if c >= '\u{1CF30}' && c <= '\u{1CF46}' {
        return true;
    }
    if c >= '\u{1D165}' && c <= '\u{1D169}' {
        return true;
    }
    if c >= '\u{1D16D}' && c <= '\u{1D172}' {
        return true;
    }
    if c >= '\u{1D17B}' && c <= '\u{1D182}' {
        return true;
    }
    if c >= '\u{1D185}' && c <= '\u{1D18B}' {
        return true;
    }
    if c >= '\u{1D1AA}' && c <= '\u{1D1AD}' {
        return true;
    }
    if c >= '\u{1D242}' && c <= '\u{1D244}' {
        return true;
    }
    if c >= '\u{1D400}' && c <= '\u{1D454}' {
        return true;
    }
    if c >= '\u{1D456}' && c <= '\u{1D49C}' {
        return true;
    }
    if c >= '\u{1D49E}' && c <= '\u{1D49F}' {
        return true;
    }
    if c >= '\u{1D4A2}' && c <= '\u{1D4A2}' {
        return true;
    }
    if c >= '\u{1D4A5}' && c <= '\u{1D4A6}' {
        return true;
    }
    if c >= '\u{1D4A9}' && c <= '\u{1D4AC}' {
        return true;
    }
    if c >= '\u{1D4AE}' && c <= '\u{1D4B9}' {
        return true;
    }
    if c >= '\u{1D4BB}' && c <= '\u{1D4BB}' {
        return true;
    }
    if c >= '\u{1D4BD}' && c <= '\u{1D4C3}' {
        return true;
    }
    if c >= '\u{1D4C5}' && c <= '\u{1D505}' {
        return true;
    }
    if c >= '\u{1D507}' && c <= '\u{1D50A}' {
        return true;
    }
    if c >= '\u{1D50D}' && c <= '\u{1D514}' {
        return true;
    }
    if c >= '\u{1D516}' && c <= '\u{1D51C}' {
        return true;
    }
    if c >= '\u{1D51E}' && c <= '\u{1D539}' {
        return true;
    }
    if c >= '\u{1D53B}' && c <= '\u{1D53E}' {
        return true;
    }
    if c >= '\u{1D540}' && c <= '\u{1D544}' {
        return true;
    }
    if c >= '\u{1D546}' && c <= '\u{1D546}' {
        return true;
    }
    if c >= '\u{1D54A}' && c <= '\u{1D550}' {
        return true;
    }
    if c >= '\u{1D552}' && c <= '\u{1D6A5}' {
        return true;
    }
    if c >= '\u{1D6A8}' && c <= '\u{1D6C0}' {
        return true;
--> --------------------

--> maximum size reached

--> --------------------

[ 0.54Quellennavigators  Projekt   ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge