from langkit.lexer.char_set import CharSet


# Character sets for Unicode general categories. The following
# literal is precomputed from
# langkit.lexer.char_set.compute_unicode_categories_char_sets to
# avoid taking 6s at startup, even on modern hardware.

unicode_categories_char_sets = {
    "C": CharSet.from_int_ranges(
        *[
            (0, 31),
            (127, 159),
            (173, 173),
            (888, 889),
            (895, 899),
            (907, 907),
            (909, 909),
            (930, 930),
            (1318, 1328),
            (1367, 1368),
            (1376, 1376),
            (1416, 1416),
            (1419, 1424),
            (1480, 1487),
            (1515, 1519),
            (1525, 1541),
            (1564, 1565),
            (1568, 1568),
            (1631, 1631),
            (1757, 1757),
            (1806, 1807),
            (1867, 1868),
            (1970, 1983),
            (2043, 2047),
            (2094, 2095),
            (2111, 2303),
            (2362, 2363),
            (2383, 2383),
            (2390, 2391),
            (2419, 2424),
            (2432, 2432),
            (2436, 2436),
            (2445, 2446),
            (2449, 2450),
            (2473, 2473),
            (2481, 2481),
            (2483, 2485),
            (2490, 2491),
            (2501, 2502),
            (2505, 2506),
            (2511, 2518),
            (2520, 2523),
            (2526, 2526),
            (2532, 2533),
            (2556, 2560),
            (2564, 2564),
            (2571, 2574),
            (2577, 2578),
            (2601, 2601),
            (2609, 2609),
            (2612, 2612),
            (2615, 2615),
            (2618, 2619),
            (2621, 2621),
            (2627, 2630),
            (2633, 2634),
            (2638, 2640),
            (2642, 2648),
            (2653, 2653),
            (2655, 2661),
            (2678, 2688),
            (2692, 2692),
            (2702, 2702),
            (2706, 2706),
            (2729, 2729),
            (2737, 2737),
            (2740, 2740),
            (2746, 2747),
            (2758, 2758),
            (2762, 2762),
            (2766, 2767),
            (2769, 2783),
            (2788, 2789),
            (2800, 2800),
            (2802, 2816),
            (2820, 2820),
            (2829, 2830),
            (2833, 2834),
            (2857, 2857),
            (2865, 2865),
            (2868, 2868),
            (2874, 2875),
            (2885, 2886),
            (2889, 2890),
            (2894, 2901),
            (2904, 2907),
            (2910, 2910),
            (2916, 2917),
            (2930, 2945),
            (2948, 2948),
            (2955, 2957),
            (2961, 2961),
            (2966, 2968),
            (2971, 2971),
            (2973, 2973),
            (2976, 2978),
            (2981, 2983),
            (2987, 2989),
            (3002, 3005),
            (3011, 3013),
            (3017, 3017),
            (3022, 3023),
            (3025, 3030),
            (3032, 3045),
            (3067, 3072),
            (3076, 3076),
            (3085, 3085),
            (3089, 3089),
            (3113, 3113),
            (3124, 3124),
            (3130, 3132),
            (3141, 3141),
            (3145, 3145),
            (3150, 3156),
            (3159, 3159),
            (3162, 3167),
            (3172, 3173),
            (3184, 3191),
            (3200, 3201),
            (3204, 3204),
            (3213, 3213),
            (3217, 3217),
            (3241, 3241),
            (3252, 3252),
            (3258, 3259),
            (3269, 3269),
            (3273, 3273),
            (3278, 3284),
            (3287, 3293),
            (3295, 3295),
            (3300, 3301),
            (3312, 3312),
            (3315, 3329),
            (3332, 3332),
            (3341, 3341),
            (3345, 3345),
            (3369, 3369),
            (3386, 3388),
            (3397, 3397),
            (3401, 3401),
            (3406, 3414),
            (3416, 3423),
            (3428, 3429),
            (3446, 3448),
            (3456, 3457),
            (3460, 3460),
            (3479, 3481),
            (3506, 3506),
            (3516, 3516),
            (3518, 3519),
            (3527, 3529),
            (3531, 3534),
            (3541, 3541),
            (3543, 3543),
            (3552, 3569),
            (3573, 3584),
            (3643, 3646),
            (3676, 3712),
            (3715, 3715),
            (3717, 3718),
            (3721, 3721),
            (3723, 3724),
            (3726, 3731),
            (3736, 3736),
            (3744, 3744),
            (3748, 3748),
            (3750, 3750),
            (3752, 3753),
            (3756, 3756),
            (3770, 3770),
            (3774, 3775),
            (3781, 3781),
            (3783, 3783),
            (3790, 3791),
            (3802, 3803),
            (3806, 3839),
            (3912, 3912),
            (3949, 3952),
            (3980, 3983),
            (3992, 3992),
            (4029, 4029),
            (4045, 4045),
            (4057, 4095),
            (4294, 4303),
            (4349, 4351),
            (4681, 4681),
            (4686, 4687),
            (4695, 4695),
            (4697, 4697),
            (4702, 4703),
            (4745, 4745),
            (4750, 4751),
            (4785, 4785),
            (4790, 4791),
            (4799, 4799),
            (4801, 4801),
            (4806, 4807),
            (4823, 4823),
            (4881, 4881),
            (4886, 4887),
            (4955, 4958),
            (4989, 4991),
            (5018, 5023),
            (5109, 5119),
            (5789, 5791),
            (5873, 5887),
            (5901, 5901),
            (5909, 5919),
            (5943, 5951),
            (5972, 5983),
            (5997, 5997),
            (6001, 6001),
            (6004, 6015),
            (6068, 6069),
            (6110, 6111),
            (6122, 6127),
            (6138, 6143),
            (6159, 6159),
            (6170, 6175),
            (6264, 6271),
            (6315, 6319),
            (6390, 6399),
            (6429, 6431),
            (6444, 6447),
            (6460, 6463),
            (6465, 6467),
            (6510, 6511),
            (6517, 6527),
            (6572, 6575),
            (6602, 6607),
            (6619, 6621),
            (6684, 6685),
            (6751, 6751),
            (6781, 6782),
            (6794, 6799),
            (6810, 6815),
            (6830, 6911),
            (6988, 6991),
            (7037, 7039),
            (7083, 7085),
            (7098, 7167),
            (7224, 7226),
            (7242, 7244),
            (7296, 7375),
            (7411, 7423),
            (7655, 7676),
            (7958, 7959),
            (7966, 7967),
            (8006, 8007),
            (8014, 8015),
            (8024, 8024),
            (8026, 8026),
            (8028, 8028),
            (8030, 8030),
            (8062, 8063),
            (8117, 8117),
            (8133, 8133),
            (8148, 8149),
            (8156, 8156),
            (8176, 8177),
            (8181, 8181),
            (8191, 8191),
            (8203, 8207),
            (8234, 8238),
            (8288, 8303),
            (8306, 8307),
            (8335, 8335),
            (8341, 8351),
            (8377, 8399),
            (8433, 8447),
            (8586, 8591),
            (9193, 9215),
            (9255, 9279),
            (9291, 9311),
            (9934, 9934),
            (9954, 9954),
            (9956, 9959),
            (9984, 9984),
            (9989, 9989),
            (9994, 9995),
            (10024, 10024),
            (10060, 10060),
            (10062, 10062),
            (10067, 10069),
            (10079, 10080),
            (10133, 10135),
            (10160, 10160),
            (10175, 10175),
            (10187, 10187),
            (10189, 10191),
            (11085, 11087),
            (11098, 11263),
            (11311, 11311),
            (11359, 11359),
            (11506, 11512),
            (11558, 11567),
            (11622, 11630),
            (11632, 11647),
            (11671, 11679),
            (11687, 11687),
            (11695, 11695),
            (11703, 11703),
            (11711, 11711),
            (11719, 11719),
            (11727, 11727),
            (11735, 11735),
            (11743, 11743),
            (11826, 11903),
            (11930, 11930),
            (12020, 12031),
            (12246, 12271),
            (12284, 12287),
            (12352, 12352),
            (12439, 12440),
            (12544, 12548),
            (12590, 12592),
            (12687, 12687),
            (12728, 12735),
            (12772, 12783),
            (12831, 12831),
            (13055, 13055),
            (19894, 19903),
            (40908, 40959),
            (42125, 42127),
            (42183, 42191),
            (42540, 42559),
            (42592, 42593),
            (42612, 42619),
            (42648, 42655),
            (42744, 42751),
            (42893, 43002),
            (43052, 43055),
            (43066, 43071),
            (43128, 43135),
            (43205, 43213),
            (43226, 43231),
            (43260, 43263),
            (43348, 43358),
            (43389, 43391),
            (43470, 43470),
            (43482, 43485),
            (43488, 43519),
            (43575, 43583),
            (43598, 43599),
            (43610, 43611),
            (43644, 43647),
            (43715, 43738),
            (43744, 43967),
            (44014, 44015),
            (44026, 44031),
            (55204, 55215),
            (55239, 55242),
            (55292, 63743),
            (64046, 64047),
            (64110, 64111),
            (64218, 64255),
            (64263, 64274),
            (64280, 64284),
            (64311, 64311),
            (64317, 64317),
            (64319, 64319),
            (64322, 64322),
            (64325, 64325),
            (64434, 64466),
            (64832, 64847),
            (64912, 64913),
            (64968, 65007),
            (65022, 65023),
            (65050, 65055),
            (65063, 65071),
            (65107, 65107),
            (65127, 65127),
            (65132, 65135),
            (65141, 65141),
            (65277, 65280),
            (65471, 65473),
            (65480, 65481),
            (65488, 65489),
            (65496, 65497),
            (65501, 65503),
            (65511, 65511),
            (65519, 65531),
            (65534, 65535),
            (65548, 65548),
            (65575, 65575),
            (65595, 65595),
            (65598, 65598),
            (65614, 65615),
            (65630, 65663),
            (65787, 65791),
            (65795, 65798),
            (65844, 65846),
            (65931, 65935),
            (65948, 65999),
            (66046, 66175),
            (66205, 66207),
            (66257, 66303),
            (66335, 66335),
            (66340, 66351),
            (66379, 66431),
            (66462, 66462),
            (66500, 66503),
            (66518, 66559),
            (66718, 66719),
            (66730, 67583),
            (67590, 67591),
            (67593, 67593),
            (67638, 67638),
            (67641, 67643),
            (67645, 67646),
            (67670, 67670),
            (67680, 67839),
            (67868, 67870),
            (67898, 67902),
            (67904, 68095),
            (68100, 68100),
            (68103, 68107),
            (68116, 68116),
            (68120, 68120),
            (68148, 68151),
            (68155, 68158),
            (68168, 68175),
            (68185, 68191),
            (68224, 68351),
            (68406, 68408),
            (68438, 68439),
            (68467, 68471),
            (68480, 68607),
            (68681, 69215),
            (69247, 69759),
            (69821, 69821),
            (69826, 73727),
            (74607, 74751),
            (74851, 74863),
            (74868, 77823),
            (78895, 118783),
            (119030, 119039),
            (119079, 119080),
            (119155, 119162),
            (119262, 119295),
            (119366, 119551),
            (119639, 119647),
            (119666, 119807),
            (119893, 119893),
            (119965, 119965),
            (119968, 119969),
            (119971, 119972),
            (119975, 119976),
            (119981, 119981),
            (119994, 119994),
            (119996, 119996),
            (120004, 120004),
            (120070, 120070),
            (120075, 120076),
            (120085, 120085),
            (120093, 120093),
            (120122, 120122),
            (120127, 120127),
            (120133, 120133),
            (120135, 120137),
            (120145, 120145),
            (120486, 120487),
            (120780, 120781),
            (120832, 126975),
            (127020, 127023),
            (127124, 127231),
            (127243, 127247),
            (127279, 127280),
            (127282, 127292),
            (127294, 127294),
            (127296, 127297),
            (127299, 127301),
            (127303, 127305),
            (127311, 127318),
            (127320, 127326),
            (127328, 127352),
            (127354, 127354),
            (127357, 127358),
            (127360, 127369),
            (127374, 127375),
            (127377, 127487),
            (127489, 127503),
            (127538, 127551),
            (127561, 131071),
            (173783, 173823),
            (177973, 194559),
            (195102, 917759),
            (918000, 1114111),
        ]
    ),
    "Cc": CharSet.from_int_ranges(
        *[
            (0, 31),
            (127, 159),
        ]
    ),
    "Cf": CharSet.from_int_ranges(
        *[
            (173, 173),
            (1536, 1539),
            (1757, 1757),
            (1807, 1807),
            (6068, 6069),
            (8203, 8207),
            (8234, 8238),
            (8288, 8292),
            (8298, 8303),
            (65279, 65279),
            (65529, 65531),
            (69821, 69821),
            (119155, 119162),
            (917505, 917505),
            (917536, 917631),
        ]
    ),
    "Cn": CharSet.from_int_ranges(
        *[
            (888, 889),
            (895, 899),
            (907, 907),
            (909, 909),
            (930, 930),
            (1318, 1328),
            (1367, 1368),
            (1376, 1376),
            (1416, 1416),
            (1419, 1424),
            (1480, 1487),
            (1515, 1519),
            (1525, 1535),
            (1540, 1541),
            (1564, 1565),
            (1568, 1568),
            (1631, 1631),
            (1806, 1806),
            (1867, 1868),
            (1970, 1983),
            (2043, 2047),
            (2094, 2095),
            (2111, 2303),
            (2362, 2363),
            (2383, 2383),
            (2390, 2391),
            (2419, 2424),
            (2432, 2432),
            (2436, 2436),
            (2445, 2446),
            (2449, 2450),
            (2473, 2473),
            (2481, 2481),
            (2483, 2485),
            (2490, 2491),
            (2501, 2502),
            (2505, 2506),
            (2511, 2518),
            (2520, 2523),
            (2526, 2526),
            (2532, 2533),
            (2556, 2560),
            (2564, 2564),
            (2571, 2574),
            (2577, 2578),
            (2601, 2601),
            (2609, 2609),
            (2612, 2612),
            (2615, 2615),
            (2618, 2619),
            (2621, 2621),
            (2627, 2630),
            (2633, 2634),
            (2638, 2640),
            (2642, 2648),
            (2653, 2653),
            (2655, 2661),
            (2678, 2688),
            (2692, 2692),
            (2702, 2702),
            (2706, 2706),
            (2729, 2729),
            (2737, 2737),
            (2740, 2740),
            (2746, 2747),
            (2758, 2758),
            (2762, 2762),
            (2766, 2767),
            (2769, 2783),
            (2788, 2789),
            (2800, 2800),
            (2802, 2816),
            (2820, 2820),
            (2829, 2830),
            (2833, 2834),
            (2857, 2857),
            (2865, 2865),
            (2868, 2868),
            (2874, 2875),
            (2885, 2886),
            (2889, 2890),
            (2894, 2901),
            (2904, 2907),
            (2910, 2910),
            (2916, 2917),
            (2930, 2945),
            (2948, 2948),
            (2955, 2957),
            (2961, 2961),
            (2966, 2968),
            (2971, 2971),
            (2973, 2973),
            (2976, 2978),
            (2981, 2983),
            (2987, 2989),
            (3002, 3005),
            (3011, 3013),
            (3017, 3017),
            (3022, 3023),
            (3025, 3030),
            (3032, 3045),
            (3067, 3072),
            (3076, 3076),
            (3085, 3085),
            (3089, 3089),
            (3113, 3113),
            (3124, 3124),
            (3130, 3132),
            (3141, 3141),
            (3145, 3145),
            (3150, 3156),
            (3159, 3159),
            (3162, 3167),
            (3172, 3173),
            (3184, 3191),
            (3200, 3201),
            (3204, 3204),
            (3213, 3213),
            (3217, 3217),
            (3241, 3241),
            (3252, 3252),
            (3258, 3259),
            (3269, 3269),
            (3273, 3273),
            (3278, 3284),
            (3287, 3293),
            (3295, 3295),
            (3300, 3301),
            (3312, 3312),
            (3315, 3329),
            (3332, 3332),
            (3341, 3341),
            (3345, 3345),
            (3369, 3369),
            (3386, 3388),
            (3397, 3397),
            (3401, 3401),
            (3406, 3414),
            (3416, 3423),
            (3428, 3429),
            (3446, 3448),
            (3456, 3457),
            (3460, 3460),
            (3479, 3481),
            (3506, 3506),
            (3516, 3516),
            (3518, 3519),
            (3527, 3529),
            (3531, 3534),
            (3541, 3541),
            (3543, 3543),
            (3552, 3569),
            (3573, 3584),
            (3643, 3646),
            (3676, 3712),
            (3715, 3715),
            (3717, 3718),
            (3721, 3721),
            (3723, 3724),
            (3726, 3731),
            (3736, 3736),
            (3744, 3744),
            (3748, 3748),
            (3750, 3750),
            (3752, 3753),
            (3756, 3756),
            (3770, 3770),
            (3774, 3775),
            (3781, 3781),
            (3783, 3783),
            (3790, 3791),
            (3802, 3803),
            (3806, 3839),
            (3912, 3912),
            (3949, 3952),
            (3980, 3983),
            (3992, 3992),
            (4029, 4029),
            (4045, 4045),
            (4057, 4095),
            (4294, 4303),
            (4349, 4351),
            (4681, 4681),
            (4686, 4687),
            (4695, 4695),
            (4697, 4697),
            (4702, 4703),
            (4745, 4745),
            (4750, 4751),
            (4785, 4785),
            (4790, 4791),
            (4799, 4799),
            (4801, 4801),
            (4806, 4807),
            (4823, 4823),
            (4881, 4881),
            (4886, 4887),
            (4955, 4958),
            (4989, 4991),
            (5018, 5023),
            (5109, 5119),
            (5789, 5791),
            (5873, 5887),
            (5901, 5901),
            (5909, 5919),
            (5943, 5951),
            (5972, 5983),
            (5997, 5997),
            (6001, 6001),
            (6004, 6015),
            (6110, 6111),
            (6122, 6127),
            (6138, 6143),
            (6159, 6159),
            (6170, 6175),
            (6264, 6271),
            (6315, 6319),
            (6390, 6399),
            (6429, 6431),
            (6444, 6447),
            (6460, 6463),
            (6465, 6467),
            (6510, 6511),
            (6517, 6527),
            (6572, 6575),
            (6602, 6607),
            (6619, 6621),
            (6684, 6685),
            (6751, 6751),
            (6781, 6782),
            (6794, 6799),
            (6810, 6815),
            (6830, 6911),
            (6988, 6991),
            (7037, 7039),
            (7083, 7085),
            (7098, 7167),
            (7224, 7226),
            (7242, 7244),
            (7296, 7375),
            (7411, 7423),
            (7655, 7676),
            (7958, 7959),
            (7966, 7967),
            (8006, 8007),
            (8014, 8015),
            (8024, 8024),
            (8026, 8026),
            (8028, 8028),
            (8030, 8030),
            (8062, 8063),
            (8117, 8117),
            (8133, 8133),
            (8148, 8149),
            (8156, 8156),
            (8176, 8177),
            (8181, 8181),
            (8191, 8191),
            (8293, 8297),
            (8306, 8307),
            (8335, 8335),
            (8341, 8351),
            (8377, 8399),
            (8433, 8447),
            (8586, 8591),
            (9193, 9215),
            (9255, 9279),
            (9291, 9311),
            (9934, 9934),
            (9954, 9954),
            (9956, 9959),
            (9984, 9984),
            (9989, 9989),
            (9994, 9995),
            (10024, 10024),
            (10060, 10060),
            (10062, 10062),
            (10067, 10069),
            (10079, 10080),
            (10133, 10135),
            (10160, 10160),
            (10175, 10175),
            (10187, 10187),
            (10189, 10191),
            (11085, 11087),
            (11098, 11263),
            (11311, 11311),
            (11359, 11359),
            (11506, 11512),
            (11558, 11567),
            (11622, 11630),
            (11632, 11647),
            (11671, 11679),
            (11687, 11687),
            (11695, 11695),
            (11703, 11703),
            (11711, 11711),
            (11719, 11719),
            (11727, 11727),
            (11735, 11735),
            (11743, 11743),
            (11826, 11903),
            (11930, 11930),
            (12020, 12031),
            (12246, 12271),
            (12284, 12287),
            (12352, 12352),
            (12439, 12440),
            (12544, 12548),
            (12590, 12592),
            (12687, 12687),
            (12728, 12735),
            (12772, 12783),
            (12831, 12831),
            (13055, 13055),
            (19894, 19903),
            (40908, 40959),
            (42125, 42127),
            (42183, 42191),
            (42540, 42559),
            (42592, 42593),
            (42612, 42619),
            (42648, 42655),
            (42744, 42751),
            (42893, 43002),
            (43052, 43055),
            (43066, 43071),
            (43128, 43135),
            (43205, 43213),
            (43226, 43231),
            (43260, 43263),
            (43348, 43358),
            (43389, 43391),
            (43470, 43470),
            (43482, 43485),
            (43488, 43519),
            (43575, 43583),
            (43598, 43599),
            (43610, 43611),
            (43644, 43647),
            (43715, 43738),
            (43744, 43967),
            (44014, 44015),
            (44026, 44031),
            (55204, 55215),
            (55239, 55242),
            (55292, 55295),
            (64046, 64047),
            (64110, 64111),
            (64218, 64255),
            (64263, 64274),
            (64280, 64284),
            (64311, 64311),
            (64317, 64317),
            (64319, 64319),
            (64322, 64322),
            (64325, 64325),
            (64434, 64466),
            (64832, 64847),
            (64912, 64913),
            (64968, 65007),
            (65022, 65023),
            (65050, 65055),
            (65063, 65071),
            (65107, 65107),
            (65127, 65127),
            (65132, 65135),
            (65141, 65141),
            (65277, 65278),
            (65280, 65280),
            (65471, 65473),
            (65480, 65481),
            (65488, 65489),
            (65496, 65497),
            (65501, 65503),
            (65511, 65511),
            (65519, 65528),
            (65534, 65535),
            (65548, 65548),
            (65575, 65575),
            (65595, 65595),
            (65598, 65598),
            (65614, 65615),
            (65630, 65663),
            (65787, 65791),
            (65795, 65798),
            (65844, 65846),
            (65931, 65935),
            (65948, 65999),
            (66046, 66175),
            (66205, 66207),
            (66257, 66303),
            (66335, 66335),
            (66340, 66351),
            (66379, 66431),
            (66462, 66462),
            (66500, 66503),
            (66518, 66559),
            (66718, 66719),
            (66730, 67583),
            (67590, 67591),
            (67593, 67593),
            (67638, 67638),
            (67641, 67643),
            (67645, 67646),
            (67670, 67670),
            (67680, 67839),
            (67868, 67870),
            (67898, 67902),
            (67904, 68095),
            (68100, 68100),
            (68103, 68107),
            (68116, 68116),
            (68120, 68120),
            (68148, 68151),
            (68155, 68158),
            (68168, 68175),
            (68185, 68191),
            (68224, 68351),
            (68406, 68408),
            (68438, 68439),
            (68467, 68471),
            (68480, 68607),
            (68681, 69215),
            (69247, 69759),
            (69826, 73727),
            (74607, 74751),
            (74851, 74863),
            (74868, 77823),
            (78895, 118783),
            (119030, 119039),
            (119079, 119080),
            (119262, 119295),
            (119366, 119551),
            (119639, 119647),
            (119666, 119807),
            (119893, 119893),
            (119965, 119965),
            (119968, 119969),
            (119971, 119972),
            (119975, 119976),
            (119981, 119981),
            (119994, 119994),
            (119996, 119996),
            (120004, 120004),
            (120070, 120070),
            (120075, 120076),
            (120085, 120085),
            (120093, 120093),
            (120122, 120122),
            (120127, 120127),
            (120133, 120133),
            (120135, 120137),
            (120145, 120145),
            (120486, 120487),
            (120780, 120781),
            (120832, 126975),
            (127020, 127023),
            (127124, 127231),
            (127243, 127247),
            (127279, 127280),
            (127282, 127292),
            (127294, 127294),
            (127296, 127297),
            (127299, 127301),
            (127303, 127305),
            (127311, 127318),
            (127320, 127326),
            (127328, 127352),
            (127354, 127354),
            (127357, 127358),
            (127360, 127369),
            (127374, 127375),
            (127377, 127487),
            (127489, 127503),
            (127538, 127551),
            (127561, 131071),
            (173783, 173823),
            (177973, 194559),
            (195102, 917504),
            (917506, 917535),
            (917632, 917759),
            (918000, 983039),
            (1048574, 1048575),
            (1114110, 1114111),
        ]
    ),
    "Co": CharSet.from_int_ranges(
        *[
            (57344, 63743),
            (983040, 1048573),
            (1048576, 1114109),
        ]
    ),
    "Cs": CharSet.from_int_ranges(
        *[
            (55296, 57343),
        ]
    ),
    "L": CharSet.from_int_ranges(
        *[
            (65, 90),
            (97, 122),
            (170, 170),
            (181, 181),
            (186, 186),
            (192, 214),
            (216, 246),
            (248, 705),
            (710, 721),
            (736, 740),
            (748, 748),
            (750, 750),
            (880, 884),
            (886, 887),
            (890, 893),
            (902, 902),
            (904, 906),
            (908, 908),
            (910, 929),
            (931, 1013),
            (1015, 1153),
            (1162, 1317),
            (1329, 1366),
            (1369, 1369),
            (1377, 1415),
            (1488, 1514),
            (1520, 1522),
            (1569, 1610),
            (1646, 1647),
            (1649, 1747),
            (1749, 1749),
            (1765, 1766),
            (1774, 1775),
            (1786, 1788),
            (1791, 1791),
            (1808, 1808),
            (1810, 1839),
            (1869, 1957),
            (1969, 1969),
            (1994, 2026),
            (2036, 2037),
            (2042, 2042),
            (2048, 2069),
            (2074, 2074),
            (2084, 2084),
            (2088, 2088),
            (2308, 2361),
            (2365, 2365),
            (2384, 2384),
            (2392, 2401),
            (2417, 2418),
            (2425, 2431),
            (2437, 2444),
            (2447, 2448),
            (2451, 2472),
            (2474, 2480),
            (2482, 2482),
            (2486, 2489),
            (2493, 2493),
            (2510, 2510),
            (2524, 2525),
            (2527, 2529),
            (2544, 2545),
            (2565, 2570),
            (2575, 2576),
            (2579, 2600),
            (2602, 2608),
            (2610, 2611),
            (2613, 2614),
            (2616, 2617),
            (2649, 2652),
            (2654, 2654),
            (2674, 2676),
            (2693, 2701),
            (2703, 2705),
            (2707, 2728),
            (2730, 2736),
            (2738, 2739),
            (2741, 2745),
            (2749, 2749),
            (2768, 2768),
            (2784, 2785),
            (2821, 2828),
            (2831, 2832),
            (2835, 2856),
            (2858, 2864),
            (2866, 2867),
            (2869, 2873),
            (2877, 2877),
            (2908, 2909),
            (2911, 2913),
            (2929, 2929),
            (2947, 2947),
            (2949, 2954),
            (2958, 2960),
            (2962, 2965),
            (2969, 2970),
            (2972, 2972),
            (2974, 2975),
            (2979, 2980),
            (2984, 2986),
            (2990, 3001),
            (3024, 3024),
            (3077, 3084),
            (3086, 3088),
            (3090, 3112),
            (3114, 3123),
            (3125, 3129),
            (3133, 3133),
            (3160, 3161),
            (3168, 3169),
            (3205, 3212),
            (3214, 3216),
            (3218, 3240),
            (3242, 3251),
            (3253, 3257),
            (3261, 3261),
            (3294, 3294),
            (3296, 3297),
            (3333, 3340),
            (3342, 3344),
            (3346, 3368),
            (3370, 3385),
            (3389, 3389),
            (3424, 3425),
            (3450, 3455),
            (3461, 3478),
            (3482, 3505),
            (3507, 3515),
            (3517, 3517),
            (3520, 3526),
            (3585, 3632),
            (3634, 3635),
            (3648, 3654),
            (3713, 3714),
            (3716, 3716),
            (3719, 3720),
            (3722, 3722),
            (3725, 3725),
            (3732, 3735),
            (3737, 3743),
            (3745, 3747),
            (3749, 3749),
            (3751, 3751),
            (3754, 3755),
            (3757, 3760),
            (3762, 3763),
            (3773, 3773),
            (3776, 3780),
            (3782, 3782),
            (3804, 3805),
            (3840, 3840),
            (3904, 3911),
            (3913, 3948),
            (3976, 3979),
            (4096, 4138),
            (4159, 4159),
            (4176, 4181),
            (4186, 4189),
            (4193, 4193),
            (4197, 4198),
            (4206, 4208),
            (4213, 4225),
            (4238, 4238),
            (4256, 4293),
            (4304, 4346),
            (4348, 4348),
            (4352, 4680),
            (4682, 4685),
            (4688, 4694),
            (4696, 4696),
            (4698, 4701),
            (4704, 4744),
            (4746, 4749),
            (4752, 4784),
            (4786, 4789),
            (4792, 4798),
            (4800, 4800),
            (4802, 4805),
            (4808, 4822),
            (4824, 4880),
            (4882, 4885),
            (4888, 4954),
            (4992, 5007),
            (5024, 5108),
            (5121, 5740),
            (5743, 5759),
            (5761, 5786),
            (5792, 5866),
            (5888, 5900),
            (5902, 5905),
            (5920, 5937),
            (5952, 5969),
            (5984, 5996),
            (5998, 6000),
            (6016, 6067),
            (6103, 6103),
            (6108, 6108),
            (6176, 6263),
            (6272, 6312),
            (6314, 6314),
            (6320, 6389),
            (6400, 6428),
            (6480, 6509),
            (6512, 6516),
            (6528, 6571),
            (6593, 6599),
            (6656, 6678),
            (6688, 6740),
            (6823, 6823),
            (6917, 6963),
            (6981, 6987),
            (7043, 7072),
            (7086, 7087),
            (7168, 7203),
            (7245, 7247),
            (7258, 7293),
            (7401, 7404),
            (7406, 7409),
            (7424, 7615),
            (7680, 7957),
            (7960, 7965),
            (7968, 8005),
            (8008, 8013),
            (8016, 8023),
            (8025, 8025),
            (8027, 8027),
            (8029, 8029),
            (8031, 8061),
            (8064, 8116),
            (8118, 8124),
            (8126, 8126),
            (8130, 8132),
            (8134, 8140),
            (8144, 8147),
            (8150, 8155),
            (8160, 8172),
            (8178, 8180),
            (8182, 8188),
            (8305, 8305),
            (8319, 8319),
            (8336, 8340),
            (8450, 8450),
            (8455, 8455),
            (8458, 8467),
            (8469, 8469),
            (8473, 8477),
            (8484, 8484),
            (8486, 8486),
            (8488, 8488),
            (8490, 8493),
            (8495, 8505),
            (8508, 8511),
            (8517, 8521),
            (8526, 8526),
            (8579, 8580),
            (11264, 11310),
            (11312, 11358),
            (11360, 11492),
            (11499, 11502),
            (11520, 11557),
            (11568, 11621),
            (11631, 11631),
            (11648, 11670),
            (11680, 11686),
            (11688, 11694),
            (11696, 11702),
            (11704, 11710),
            (11712, 11718),
            (11720, 11726),
            (11728, 11734),
            (11736, 11742),
            (11823, 11823),
            (12293, 12294),
            (12337, 12341),
            (12347, 12348),
            (12353, 12438),
            (12445, 12447),
            (12449, 12538),
            (12540, 12543),
            (12549, 12589),
            (12593, 12686),
            (12704, 12727),
            (12784, 12799),
            (13312, 19893),
            (19968, 40907),
            (40960, 42124),
            (42192, 42237),
            (42240, 42508),
            (42512, 42527),
            (42538, 42539),
            (42560, 42591),
            (42594, 42606),
            (42623, 42647),
            (42656, 42725),
            (42775, 42783),
            (42786, 42888),
            (42891, 42892),
            (43003, 43009),
            (43011, 43013),
            (43015, 43018),
            (43020, 43042),
            (43072, 43123),
            (43138, 43187),
            (43250, 43255),
            (43259, 43259),
            (43274, 43301),
            (43312, 43334),
            (43360, 43388),
            (43396, 43442),
            (43471, 43471),
            (43520, 43560),
            (43584, 43586),
            (43588, 43595),
            (43616, 43638),
            (43642, 43642),
            (43648, 43695),
            (43697, 43697),
            (43701, 43702),
            (43705, 43709),
            (43712, 43712),
            (43714, 43714),
            (43739, 43741),
            (43968, 44002),
            (44032, 55203),
            (55216, 55238),
            (55243, 55291),
            (63744, 64045),
            (64048, 64109),
            (64112, 64217),
            (64256, 64262),
            (64275, 64279),
            (64285, 64285),
            (64287, 64296),
            (64298, 64310),
            (64312, 64316),
            (64318, 64318),
            (64320, 64321),
            (64323, 64324),
            (64326, 64433),
            (64467, 64829),
            (64848, 64911),
            (64914, 64967),
            (65008, 65019),
            (65136, 65140),
            (65142, 65276),
            (65313, 65338),
            (65345, 65370),
            (65382, 65470),
            (65474, 65479),
            (65482, 65487),
            (65490, 65495),
            (65498, 65500),
            (65536, 65547),
            (65549, 65574),
            (65576, 65594),
            (65596, 65597),
            (65599, 65613),
            (65616, 65629),
            (65664, 65786),
            (66176, 66204),
            (66208, 66256),
            (66304, 66334),
            (66352, 66368),
            (66370, 66377),
            (66432, 66461),
            (66464, 66499),
            (66504, 66511),
            (66560, 66717),
            (67584, 67589),
            (67592, 67592),
            (67594, 67637),
            (67639, 67640),
            (67644, 67644),
            (67647, 67669),
            (67840, 67861),
            (67872, 67897),
            (68096, 68096),
            (68112, 68115),
            (68117, 68119),
            (68121, 68147),
            (68192, 68220),
            (68352, 68405),
            (68416, 68437),
            (68448, 68466),
            (68608, 68680),
            (69763, 69807),
            (73728, 74606),
            (77824, 78894),
            (119808, 119892),
            (119894, 119964),
            (119966, 119967),
            (119970, 119970),
            (119973, 119974),
            (119977, 119980),
            (119982, 119993),
            (119995, 119995),
            (119997, 120003),
            (120005, 120069),
            (120071, 120074),
            (120077, 120084),
            (120086, 120092),
            (120094, 120121),
            (120123, 120126),
            (120128, 120132),
            (120134, 120134),
            (120138, 120144),
            (120146, 120485),
            (120488, 120512),
            (120514, 120538),
            (120540, 120570),
            (120572, 120596),
            (120598, 120628),
            (120630, 120654),
            (120656, 120686),
            (120688, 120712),
            (120714, 120744),
            (120746, 120770),
            (120772, 120779),
            (131072, 173782),
            (173824, 177972),
            (194560, 195101),
        ]
    ),
    "Ll": CharSet.from_int_ranges(
        *[
            (97, 122),
            (170, 170),
            (181, 181),
            (186, 186),
            (223, 246),
            (248, 255),
            (257, 257),
            (259, 259),
            (261, 261),
            (263, 263),
            (265, 265),
            (267, 267),
            (269, 269),
            (271, 271),
            (273, 273),
            (275, 275),
            (277, 277),
            (279, 279),
            (281, 281),
            (283, 283),
            (285, 285),
            (287, 287),
            (289, 289),
            (291, 291),
            (293, 293),
            (295, 295),
            (297, 297),
            (299, 299),
            (301, 301),
            (303, 303),
            (305, 305),
            (307, 307),
            (309, 309),
            (311, 312),
            (314, 314),
            (316, 316),
            (318, 318),
            (320, 320),
            (322, 322),
            (324, 324),
            (326, 326),
            (328, 329),
            (331, 331),
            (333, 333),
            (335, 335),
            (337, 337),
            (339, 339),
            (341, 341),
            (343, 343),
            (345, 345),
            (347, 347),
            (349, 349),
            (351, 351),
            (353, 353),
            (355, 355),
            (357, 357),
            (359, 359),
            (361, 361),
            (363, 363),
            (365, 365),
            (367, 367),
            (369, 369),
            (371, 371),
            (373, 373),
            (375, 375),
            (378, 378),
            (380, 380),
            (382, 384),
            (387, 387),
            (389, 389),
            (392, 392),
            (396, 397),
            (402, 402),
            (405, 405),
            (409, 411),
            (414, 414),
            (417, 417),
            (419, 419),
            (421, 421),
            (424, 424),
            (426, 427),
            (429, 429),
            (432, 432),
            (436, 436),
            (438, 438),
            (441, 442),
            (445, 447),
            (454, 454),
            (457, 457),
            (460, 460),
            (462, 462),
            (464, 464),
            (466, 466),
            (468, 468),
            (470, 470),
            (472, 472),
            (474, 474),
            (476, 477),
            (479, 479),
            (481, 481),
            (483, 483),
            (485, 485),
            (487, 487),
            (489, 489),
            (491, 491),
            (493, 493),
            (495, 496),
            (499, 499),
            (501, 501),
            (505, 505),
            (507, 507),
            (509, 509),
            (511, 511),
            (513, 513),
            (515, 515),
            (517, 517),
            (519, 519),
            (521, 521),
            (523, 523),
            (525, 525),
            (527, 527),
            (529, 529),
            (531, 531),
            (533, 533),
            (535, 535),
            (537, 537),
            (539, 539),
            (541, 541),
            (543, 543),
            (545, 545),
            (547, 547),
            (549, 549),
            (551, 551),
            (553, 553),
            (555, 555),
            (557, 557),
            (559, 559),
            (561, 561),
            (563, 569),
            (572, 572),
            (575, 576),
            (578, 578),
            (583, 583),
            (585, 585),
            (587, 587),
            (589, 589),
            (591, 659),
            (661, 687),
            (881, 881),
            (883, 883),
            (887, 887),
            (891, 893),
            (912, 912),
            (940, 974),
            (976, 977),
            (981, 983),
            (985, 985),
            (987, 987),
            (989, 989),
            (991, 991),
            (993, 993),
            (995, 995),
            (997, 997),
            (999, 999),
            (1001, 1001),
            (1003, 1003),
            (1005, 1005),
            (1007, 1011),
            (1013, 1013),
            (1016, 1016),
            (1019, 1020),
            (1072, 1119),
            (1121, 1121),
            (1123, 1123),
            (1125, 1125),
            (1127, 1127),
            (1129, 1129),
            (1131, 1131),
            (1133, 1133),
            (1135, 1135),
            (1137, 1137),
            (1139, 1139),
            (1141, 1141),
            (1143, 1143),
            (1145, 1145),
            (1147, 1147),
            (1149, 1149),
            (1151, 1151),
            (1153, 1153),
            (1163, 1163),
            (1165, 1165),
            (1167, 1167),
            (1169, 1169),
            (1171, 1171),
            (1173, 1173),
            (1175, 1175),
            (1177, 1177),
            (1179, 1179),
            (1181, 1181),
            (1183, 1183),
            (1185, 1185),
            (1187, 1187),
            (1189, 1189),
            (1191, 1191),
            (1193, 1193),
            (1195, 1195),
            (1197, 1197),
            (1199, 1199),
            (1201, 1201),
            (1203, 1203),
            (1205, 1205),
            (1207, 1207),
            (1209, 1209),
            (1211, 1211),
            (1213, 1213),
            (1215, 1215),
            (1218, 1218),
            (1220, 1220),
            (1222, 1222),
            (1224, 1224),
            (1226, 1226),
            (1228, 1228),
            (1230, 1231),
            (1233, 1233),
            (1235, 1235),
            (1237, 1237),
            (1239, 1239),
            (1241, 1241),
            (1243, 1243),
            (1245, 1245),
            (1247, 1247),
            (1249, 1249),
            (1251, 1251),
            (1253, 1253),
            (1255, 1255),
            (1257, 1257),
            (1259, 1259),
            (1261, 1261),
            (1263, 1263),
            (1265, 1265),
            (1267, 1267),
            (1269, 1269),
            (1271, 1271),
            (1273, 1273),
            (1275, 1275),
            (1277, 1277),
            (1279, 1279),
            (1281, 1281),
            (1283, 1283),
            (1285, 1285),
            (1287, 1287),
            (1289, 1289),
            (1291, 1291),
            (1293, 1293),
            (1295, 1295),
            (1297, 1297),
            (1299, 1299),
            (1301, 1301),
            (1303, 1303),
            (1305, 1305),
            (1307, 1307),
            (1309, 1309),
            (1311, 1311),
            (1313, 1313),
            (1315, 1315),
            (1317, 1317),
            (1377, 1415),
            (7424, 7467),
            (7522, 7543),
            (7545, 7578),
            (7681, 7681),
            (7683, 7683),
            (7685, 7685),
            (7687, 7687),
            (7689, 7689),
            (7691, 7691),
            (7693, 7693),
            (7695, 7695),
            (7697, 7697),
            (7699, 7699),
            (7701, 7701),
            (7703, 7703),
            (7705, 7705),
            (7707, 7707),
            (7709, 7709),
            (7711, 7711),
            (7713, 7713),
            (7715, 7715),
            (7717, 7717),
            (7719, 7719),
            (7721, 7721),
            (7723, 7723),
            (7725, 7725),
            (7727, 7727),
            (7729, 7729),
            (7731, 7731),
            (7733, 7733),
            (7735, 7735),
            (7737, 7737),
            (7739, 7739),
            (7741, 7741),
            (7743, 7743),
            (7745, 7745),
            (7747, 7747),
            (7749, 7749),
            (7751, 7751),
            (7753, 7753),
            (7755, 7755),
            (7757, 7757),
            (7759, 7759),
            (7761, 7761),
            (7763, 7763),
            (7765, 7765),
            (7767, 7767),
            (7769, 7769),
            (7771, 7771),
            (7773, 7773),
            (7775, 7775),
            (7777, 7777),
            (7779, 7779),
            (7781, 7781),
            (7783, 7783),
            (7785, 7785),
            (7787, 7787),
            (7789, 7789),
            (7791, 7791),
            (7793, 7793),
            (7795, 7795),
            (7797, 7797),
            (7799, 7799),
            (7801, 7801),
            (7803, 7803),
            (7805, 7805),
            (7807, 7807),
            (7809, 7809),
            (7811, 7811),
            (7813, 7813),
            (7815, 7815),
            (7817, 7817),
            (7819, 7819),
            (7821, 7821),
            (7823, 7823),
            (7825, 7825),
            (7827, 7827),
            (7829, 7837),
            (7839, 7839),
            (7841, 7841),
            (7843, 7843),
            (7845, 7845),
            (7847, 7847),
            (7849, 7849),
            (7851, 7851),
            (7853, 7853),
            (7855, 7855),
            (7857, 7857),
            (7859, 7859),
            (7861, 7861),
            (7863, 7863),
            (7865, 7865),
            (7867, 7867),
            (7869, 7869),
            (7871, 7871),
            (7873, 7873),
            (7875, 7875),
            (7877, 7877),
            (7879, 7879),
            (7881, 7881),
            (7883, 7883),
            (7885, 7885),
            (7887, 7887),
            (7889, 7889),
            (7891, 7891),
            (7893, 7893),
            (7895, 7895),
            (7897, 7897),
            (7899, 7899),
            (7901, 7901),
            (7903, 7903),
            (7905, 7905),
            (7907, 7907),
            (7909, 7909),
            (7911, 7911),
            (7913, 7913),
            (7915, 7915),
            (7917, 7917),
            (7919, 7919),
            (7921, 7921),
            (7923, 7923),
            (7925, 7925),
            (7927, 7927),
            (7929, 7929),
            (7931, 7931),
            (7933, 7933),
            (7935, 7943),
            (7952, 7957),
            (7968, 7975),
            (7984, 7991),
            (8000, 8005),
            (8016, 8023),
            (8032, 8039),
            (8048, 8061),
            (8064, 8071),
            (8080, 8087),
            (8096, 8103),
            (8112, 8116),
            (8118, 8119),
            (8126, 8126),
            (8130, 8132),
            (8134, 8135),
            (8144, 8147),
            (8150, 8151),
            (8160, 8167),
            (8178, 8180),
            (8182, 8183),
            (8458, 8458),
            (8462, 8463),
            (8467, 8467),
            (8495, 8495),
            (8500, 8500),
            (8505, 8505),
            (8508, 8509),
            (8518, 8521),
            (8526, 8526),
            (8580, 8580),
            (11312, 11358),
            (11361, 11361),
            (11365, 11366),
            (11368, 11368),
            (11370, 11370),
            (11372, 11372),
            (11377, 11377),
            (11379, 11380),
            (11382, 11388),
            (11393, 11393),
            (11395, 11395),
            (11397, 11397),
            (11399, 11399),
            (11401, 11401),
            (11403, 11403),
            (11405, 11405),
            (11407, 11407),
            (11409, 11409),
            (11411, 11411),
            (11413, 11413),
            (11415, 11415),
            (11417, 11417),
            (11419, 11419),
            (11421, 11421),
            (11423, 11423),
            (11425, 11425),
            (11427, 11427),
            (11429, 11429),
            (11431, 11431),
            (11433, 11433),
            (11435, 11435),
            (11437, 11437),
            (11439, 11439),
            (11441, 11441),
            (11443, 11443),
            (11445, 11445),
            (11447, 11447),
            (11449, 11449),
            (11451, 11451),
            (11453, 11453),
            (11455, 11455),
            (11457, 11457),
            (11459, 11459),
            (11461, 11461),
            (11463, 11463),
            (11465, 11465),
            (11467, 11467),
            (11469, 11469),
            (11471, 11471),
            (11473, 11473),
            (11475, 11475),
            (11477, 11477),
            (11479, 11479),
            (11481, 11481),
            (11483, 11483),
            (11485, 11485),
            (11487, 11487),
            (11489, 11489),
            (11491, 11492),
            (11500, 11500),
            (11502, 11502),
            (11520, 11557),
            (42561, 42561),
            (42563, 42563),
            (42565, 42565),
            (42567, 42567),
            (42569, 42569),
            (42571, 42571),
            (42573, 42573),
            (42575, 42575),
            (42577, 42577),
            (42579, 42579),
            (42581, 42581),
            (42583, 42583),
            (42585, 42585),
            (42587, 42587),
            (42589, 42589),
            (42591, 42591),
            (42595, 42595),
            (42597, 42597),
            (42599, 42599),
            (42601, 42601),
            (42603, 42603),
            (42605, 42605),
            (42625, 42625),
            (42627, 42627),
            (42629, 42629),
            (42631, 42631),
            (42633, 42633),
            (42635, 42635),
            (42637, 42637),
            (42639, 42639),
            (42641, 42641),
            (42643, 42643),
            (42645, 42645),
            (42647, 42647),
            (42787, 42787),
            (42789, 42789),
            (42791, 42791),
            (42793, 42793),
            (42795, 42795),
            (42797, 42797),
            (42799, 42801),
            (42803, 42803),
            (42805, 42805),
            (42807, 42807),
            (42809, 42809),
            (42811, 42811),
            (42813, 42813),
            (42815, 42815),
            (42817, 42817),
            (42819, 42819),
            (42821, 42821),
            (42823, 42823),
            (42825, 42825),
            (42827, 42827),
            (42829, 42829),
            (42831, 42831),
            (42833, 42833),
            (42835, 42835),
            (42837, 42837),
            (42839, 42839),
            (42841, 42841),
            (42843, 42843),
            (42845, 42845),
            (42847, 42847),
            (42849, 42849),
            (42851, 42851),
            (42853, 42853),
            (42855, 42855),
            (42857, 42857),
            (42859, 42859),
            (42861, 42861),
            (42863, 42863),
            (42865, 42872),
            (42874, 42874),
            (42876, 42876),
            (42879, 42879),
            (42881, 42881),
            (42883, 42883),
            (42885, 42885),
            (42887, 42887),
            (42892, 42892),
            (64256, 64262),
            (64275, 64279),
            (65345, 65370),
            (66600, 66639),
            (119834, 119859),
            (119886, 119892),
            (119894, 119911),
            (119938, 119963),
            (119990, 119993),
            (119995, 119995),
            (119997, 120003),
            (120005, 120015),
            (120042, 120067),
            (120094, 120119),
            (120146, 120171),
            (120198, 120223),
            (120250, 120275),
            (120302, 120327),
            (120354, 120379),
            (120406, 120431),
            (120458, 120485),
            (120514, 120538),
            (120540, 120545),
            (120572, 120596),
            (120598, 120603),
            (120630, 120654),
            (120656, 120661),
            (120688, 120712),
            (120714, 120719),
            (120746, 120770),
            (120772, 120777),
            (120779, 120779),
        ]
    ),
    "Lm": CharSet.from_int_ranges(
        *[
            (688, 705),
            (710, 721),
            (736, 740),
            (748, 748),
            (750, 750),
            (884, 884),
            (890, 890),
            (1369, 1369),
            (1600, 1600),
            (1765, 1766),
            (2036, 2037),
            (2042, 2042),
            (2074, 2074),
            (2084, 2084),
            (2088, 2088),
            (2417, 2417),
            (3654, 3654),
            (3782, 3782),
            (4348, 4348),
            (6103, 6103),
            (6211, 6211),
            (6823, 6823),
            (7288, 7293),
            (7468, 7521),
            (7544, 7544),
            (7579, 7615),
            (8305, 8305),
            (8319, 8319),
            (8336, 8340),
            (11389, 11389),
            (11631, 11631),
            (11823, 11823),
            (12293, 12293),
            (12337, 12341),
            (12347, 12347),
            (12445, 12446),
            (12540, 12542),
            (40981, 40981),
            (42232, 42237),
            (42508, 42508),
            (42623, 42623),
            (42775, 42783),
            (42864, 42864),
            (42888, 42888),
            (43471, 43471),
            (43632, 43632),
            (43741, 43741),
            (65392, 65392),
            (65438, 65439),
        ]
    ),
    "Lo": CharSet.from_int_ranges(
        *[
            (443, 443),
            (448, 451),
            (660, 660),
            (1488, 1514),
            (1520, 1522),
            (1569, 1599),
            (1601, 1610),
            (1646, 1647),
            (1649, 1747),
            (1749, 1749),
            (1774, 1775),
            (1786, 1788),
            (1791, 1791),
            (1808, 1808),
            (1810, 1839),
            (1869, 1957),
            (1969, 1969),
            (1994, 2026),
            (2048, 2069),
            (2308, 2361),
            (2365, 2365),
            (2384, 2384),
            (2392, 2401),
            (2418, 2418),
            (2425, 2431),
            (2437, 2444),
            (2447, 2448),
            (2451, 2472),
            (2474, 2480),
            (2482, 2482),
            (2486, 2489),
            (2493, 2493),
            (2510, 2510),
            (2524, 2525),
            (2527, 2529),
            (2544, 2545),
            (2565, 2570),
            (2575, 2576),
            (2579, 2600),
            (2602, 2608),
            (2610, 2611),
            (2613, 2614),
            (2616, 2617),
            (2649, 2652),
            (2654, 2654),
            (2674, 2676),
            (2693, 2701),
            (2703, 2705),
            (2707, 2728),
            (2730, 2736),
            (2738, 2739),
            (2741, 2745),
            (2749, 2749),
            (2768, 2768),
            (2784, 2785),
            (2821, 2828),
            (2831, 2832),
            (2835, 2856),
            (2858, 2864),
            (2866, 2867),
            (2869, 2873),
            (2877, 2877),
            (2908, 2909),
            (2911, 2913),
            (2929, 2929),
            (2947, 2947),
            (2949, 2954),
            (2958, 2960),
            (2962, 2965),
            (2969, 2970),
            (2972, 2972),
            (2974, 2975),
            (2979, 2980),
            (2984, 2986),
            (2990, 3001),
            (3024, 3024),
            (3077, 3084),
            (3086, 3088),
            (3090, 3112),
            (3114, 3123),
            (3125, 3129),
            (3133, 3133),
            (3160, 3161),
            (3168, 3169),
            (3205, 3212),
            (3214, 3216),
            (3218, 3240),
            (3242, 3251),
            (3253, 3257),
            (3261, 3261),
            (3294, 3294),
            (3296, 3297),
            (3333, 3340),
            (3342, 3344),
            (3346, 3368),
            (3370, 3385),
            (3389, 3389),
            (3424, 3425),
            (3450, 3455),
            (3461, 3478),
            (3482, 3505),
            (3507, 3515),
            (3517, 3517),
            (3520, 3526),
            (3585, 3632),
            (3634, 3635),
            (3648, 3653),
            (3713, 3714),
            (3716, 3716),
            (3719, 3720),
            (3722, 3722),
            (3725, 3725),
            (3732, 3735),
            (3737, 3743),
            (3745, 3747),
            (3749, 3749),
            (3751, 3751),
            (3754, 3755),
            (3757, 3760),
            (3762, 3763),
            (3773, 3773),
            (3776, 3780),
            (3804, 3805),
            (3840, 3840),
            (3904, 3911),
            (3913, 3948),
            (3976, 3979),
            (4096, 4138),
            (4159, 4159),
            (4176, 4181),
            (4186, 4189),
            (4193, 4193),
            (4197, 4198),
            (4206, 4208),
            (4213, 4225),
            (4238, 4238),
            (4304, 4346),
            (4352, 4680),
            (4682, 4685),
            (4688, 4694),
            (4696, 4696),
            (4698, 4701),
            (4704, 4744),
            (4746, 4749),
            (4752, 4784),
            (4786, 4789),
            (4792, 4798),
            (4800, 4800),
            (4802, 4805),
            (4808, 4822),
            (4824, 4880),
            (4882, 4885),
            (4888, 4954),
            (4992, 5007),
            (5024, 5108),
            (5121, 5740),
            (5743, 5759),
            (5761, 5786),
            (5792, 5866),
            (5888, 5900),
            (5902, 5905),
            (5920, 5937),
            (5952, 5969),
            (5984, 5996),
            (5998, 6000),
            (6016, 6067),
            (6108, 6108),
            (6176, 6210),
            (6212, 6263),
            (6272, 6312),
            (6314, 6314),
            (6320, 6389),
            (6400, 6428),
            (6480, 6509),
            (6512, 6516),
            (6528, 6571),
            (6593, 6599),
            (6656, 6678),
            (6688, 6740),
            (6917, 6963),
            (6981, 6987),
            (7043, 7072),
            (7086, 7087),
            (7168, 7203),
            (7245, 7247),
            (7258, 7287),
            (7401, 7404),
            (7406, 7409),
            (8501, 8504),
            (11568, 11621),
            (11648, 11670),
            (11680, 11686),
            (11688, 11694),
            (11696, 11702),
            (11704, 11710),
            (11712, 11718),
            (11720, 11726),
            (11728, 11734),
            (11736, 11742),
            (12294, 12294),
            (12348, 12348),
            (12353, 12438),
            (12447, 12447),
            (12449, 12538),
            (12543, 12543),
            (12549, 12589),
            (12593, 12686),
            (12704, 12727),
            (12784, 12799),
            (13312, 19893),
            (19968, 40907),
            (40960, 40980),
            (40982, 42124),
            (42192, 42231),
            (42240, 42507),
            (42512, 42527),
            (42538, 42539),
            (42606, 42606),
            (42656, 42725),
            (43003, 43009),
            (43011, 43013),
            (43015, 43018),
            (43020, 43042),
            (43072, 43123),
            (43138, 43187),
            (43250, 43255),
            (43259, 43259),
            (43274, 43301),
            (43312, 43334),
            (43360, 43388),
            (43396, 43442),
            (43520, 43560),
            (43584, 43586),
            (43588, 43595),
            (43616, 43631),
            (43633, 43638),
            (43642, 43642),
            (43648, 43695),
            (43697, 43697),
            (43701, 43702),
            (43705, 43709),
            (43712, 43712),
            (43714, 43714),
            (43739, 43740),
            (43968, 44002),
            (44032, 55203),
            (55216, 55238),
            (55243, 55291),
            (63744, 64045),
            (64048, 64109),
            (64112, 64217),
            (64285, 64285),
            (64287, 64296),
            (64298, 64310),
            (64312, 64316),
            (64318, 64318),
            (64320, 64321),
            (64323, 64324),
            (64326, 64433),
            (64467, 64829),
            (64848, 64911),
            (64914, 64967),
            (65008, 65019),
            (65136, 65140),
            (65142, 65276),
            (65382, 65391),
            (65393, 65437),
            (65440, 65470),
            (65474, 65479),
            (65482, 65487),
            (65490, 65495),
            (65498, 65500),
            (65536, 65547),
            (65549, 65574),
            (65576, 65594),
            (65596, 65597),
            (65599, 65613),
            (65616, 65629),
            (65664, 65786),
            (66176, 66204),
            (66208, 66256),
            (66304, 66334),
            (66352, 66368),
            (66370, 66377),
            (66432, 66461),
            (66464, 66499),
            (66504, 66511),
            (66640, 66717),
            (67584, 67589),
            (67592, 67592),
            (67594, 67637),
            (67639, 67640),
            (67644, 67644),
            (67647, 67669),
            (67840, 67861),
            (67872, 67897),
            (68096, 68096),
            (68112, 68115),
            (68117, 68119),
            (68121, 68147),
            (68192, 68220),
            (68352, 68405),
            (68416, 68437),
            (68448, 68466),
            (68608, 68680),
            (69763, 69807),
            (73728, 74606),
            (77824, 78894),
            (131072, 173782),
            (173824, 177972),
            (194560, 195101),
        ]
    ),
    "Lt": CharSet.from_int_ranges(
        *[
            (453, 453),
            (456, 456),
            (459, 459),
            (498, 498),
            (8072, 8079),
            (8088, 8095),
            (8104, 8111),
            (8124, 8124),
            (8140, 8140),
            (8188, 8188),
        ]
    ),
    "Lu": CharSet.from_int_ranges(
        *[
            (65, 90),
            (192, 214),
            (216, 222),
            (256, 256),
            (258, 258),
            (260, 260),
            (262, 262),
            (264, 264),
            (266, 266),
            (268, 268),
            (270, 270),
            (272, 272),
            (274, 274),
            (276, 276),
            (278, 278),
            (280, 280),
            (282, 282),
            (284, 284),
            (286, 286),
            (288, 288),
            (290, 290),
            (292, 292),
            (294, 294),
            (296, 296),
            (298, 298),
            (300, 300),
            (302, 302),
            (304, 304),
            (306, 306),
            (308, 308),
            (310, 310),
            (313, 313),
            (315, 315),
            (317, 317),
            (319, 319),
            (321, 321),
            (323, 323),
            (325, 325),
            (327, 327),
            (330, 330),
            (332, 332),
            (334, 334),
            (336, 336),
            (338, 338),
            (340, 340),
            (342, 342),
            (344, 344),
            (346, 346),
            (348, 348),
            (350, 350),
            (352, 352),
            (354, 354),
            (356, 356),
            (358, 358),
            (360, 360),
            (362, 362),
            (364, 364),
            (366, 366),
            (368, 368),
            (370, 370),
            (372, 372),
            (374, 374),
            (376, 377),
            (379, 379),
            (381, 381),
            (385, 386),
            (388, 388),
            (390, 391),
            (393, 395),
            (398, 401),
            (403, 404),
            (406, 408),
            (412, 413),
            (415, 416),
            (418, 418),
            (420, 420),
            (422, 423),
            (425, 425),
            (428, 428),
            (430, 431),
            (433, 435),
            (437, 437),
            (439, 440),
            (444, 444),
            (452, 452),
            (455, 455),
            (458, 458),
            (461, 461),
            (463, 463),
            (465, 465),
            (467, 467),
            (469, 469),
            (471, 471),
            (473, 473),
            (475, 475),
            (478, 478),
            (480, 480),
            (482, 482),
            (484, 484),
            (486, 486),
            (488, 488),
            (490, 490),
            (492, 492),
            (494, 494),
            (497, 497),
            (500, 500),
            (502, 504),
            (506, 506),
            (508, 508),
            (510, 510),
            (512, 512),
            (514, 514),
            (516, 516),
            (518, 518),
            (520, 520),
            (522, 522),
            (524, 524),
            (526, 526),
            (528, 528),
            (530, 530),
            (532, 532),
            (534, 534),
            (536, 536),
            (538, 538),
            (540, 540),
            (542, 542),
            (544, 544),
            (546, 546),
            (548, 548),
            (550, 550),
            (552, 552),
            (554, 554),
            (556, 556),
            (558, 558),
            (560, 560),
            (562, 562),
            (570, 571),
            (573, 574),
            (577, 577),
            (579, 582),
            (584, 584),
            (586, 586),
            (588, 588),
            (590, 590),
            (880, 880),
            (882, 882),
            (886, 886),
            (902, 902),
            (904, 906),
            (908, 908),
            (910, 911),
            (913, 929),
            (931, 939),
            (975, 975),
            (978, 980),
            (984, 984),
            (986, 986),
            (988, 988),
            (990, 990),
            (992, 992),
            (994, 994),
            (996, 996),
            (998, 998),
            (1000, 1000),
            (1002, 1002),
            (1004, 1004),
            (1006, 1006),
            (1012, 1012),
            (1015, 1015),
            (1017, 1018),
            (1021, 1071),
            (1120, 1120),
            (1122, 1122),
            (1124, 1124),
            (1126, 1126),
            (1128, 1128),
            (1130, 1130),
            (1132, 1132),
            (1134, 1134),
            (1136, 1136),
            (1138, 1138),
            (1140, 1140),
            (1142, 1142),
            (1144, 1144),
            (1146, 1146),
            (1148, 1148),
            (1150, 1150),
            (1152, 1152),
            (1162, 1162),
            (1164, 1164),
            (1166, 1166),
            (1168, 1168),
            (1170, 1170),
            (1172, 1172),
            (1174, 1174),
            (1176, 1176),
            (1178, 1178),
            (1180, 1180),
            (1182, 1182),
            (1184, 1184),
            (1186, 1186),
            (1188, 1188),
            (1190, 1190),
            (1192, 1192),
            (1194, 1194),
            (1196, 1196),
            (1198, 1198),
            (1200, 1200),
            (1202, 1202),
            (1204, 1204),
            (1206, 1206),
            (1208, 1208),
            (1210, 1210),
            (1212, 1212),
            (1214, 1214),
            (1216, 1217),
            (1219, 1219),
            (1221, 1221),
            (1223, 1223),
            (1225, 1225),
            (1227, 1227),
            (1229, 1229),
            (1232, 1232),
            (1234, 1234),
            (1236, 1236),
            (1238, 1238),
            (1240, 1240),
            (1242, 1242),
            (1244, 1244),
            (1246, 1246),
            (1248, 1248),
            (1250, 1250),
            (1252, 1252),
            (1254, 1254),
            (1256, 1256),
            (1258, 1258),
            (1260, 1260),
            (1262, 1262),
            (1264, 1264),
            (1266, 1266),
            (1268, 1268),
            (1270, 1270),
            (1272, 1272),
            (1274, 1274),
            (1276, 1276),
            (1278, 1278),
            (1280, 1280),
            (1282, 1282),
            (1284, 1284),
            (1286, 1286),
            (1288, 1288),
            (1290, 1290),
            (1292, 1292),
            (1294, 1294),
            (1296, 1296),
            (1298, 1298),
            (1300, 1300),
            (1302, 1302),
            (1304, 1304),
            (1306, 1306),
            (1308, 1308),
            (1310, 1310),
            (1312, 1312),
            (1314, 1314),
            (1316, 1316),
            (1329, 1366),
            (4256, 4293),
            (7680, 7680),
            (7682, 7682),
            (7684, 7684),
            (7686, 7686),
            (7688, 7688),
            (7690, 7690),
            (7692, 7692),
            (7694, 7694),
            (7696, 7696),
            (7698, 7698),
            (7700, 7700),
            (7702, 7702),
            (7704, 7704),
            (7706, 7706),
            (7708, 7708),
            (7710, 7710),
            (7712, 7712),
            (7714, 7714),
            (7716, 7716),
            (7718, 7718),
            (7720, 7720),
            (7722, 7722),
            (7724, 7724),
            (7726, 7726),
            (7728, 7728),
            (7730, 7730),
            (7732, 7732),
            (7734, 7734),
            (7736, 7736),
            (7738, 7738),
            (7740, 7740),
            (7742, 7742),
            (7744, 7744),
            (7746, 7746),
            (7748, 7748),
            (7750, 7750),
            (7752, 7752),
            (7754, 7754),
            (7756, 7756),
            (7758, 7758),
            (7760, 7760),
            (7762, 7762),
            (7764, 7764),
            (7766, 7766),
            (7768, 7768),
            (7770, 7770),
            (7772, 7772),
            (7774, 7774),
            (7776, 7776),
            (7778, 7778),
            (7780, 7780),
            (7782, 7782),
            (7784, 7784),
            (7786, 7786),
            (7788, 7788),
            (7790, 7790),
            (7792, 7792),
            (7794, 7794),
            (7796, 7796),
            (7798, 7798),
            (7800, 7800),
            (7802, 7802),
            (7804, 7804),
            (7806, 7806),
            (7808, 7808),
            (7810, 7810),
            (7812, 7812),
            (7814, 7814),
            (7816, 7816),
            (7818, 7818),
            (7820, 7820),
            (7822, 7822),
            (7824, 7824),
            (7826, 7826),
            (7828, 7828),
            (7838, 7838),
            (7840, 7840),
            (7842, 7842),
            (7844, 7844),
            (7846, 7846),
            (7848, 7848),
            (7850, 7850),
            (7852, 7852),
            (7854, 7854),
            (7856, 7856),
            (7858, 7858),
            (7860, 7860),
            (7862, 7862),
            (7864, 7864),
            (7866, 7866),
            (7868, 7868),
            (7870, 7870),
            (7872, 7872),
            (7874, 7874),
            (7876, 7876),
            (7878, 7878),
            (7880, 7880),
            (7882, 7882),
            (7884, 7884),
            (7886, 7886),
            (7888, 7888),
            (7890, 7890),
            (7892, 7892),
            (7894, 7894),
            (7896, 7896),
            (7898, 7898),
            (7900, 7900),
            (7902, 7902),
            (7904, 7904),
            (7906, 7906),
            (7908, 7908),
            (7910, 7910),
            (7912, 7912),
            (7914, 7914),
            (7916, 7916),
            (7918, 7918),
            (7920, 7920),
            (7922, 7922),
            (7924, 7924),
            (7926, 7926),
            (7928, 7928),
            (7930, 7930),
            (7932, 7932),
            (7934, 7934),
            (7944, 7951),
            (7960, 7965),
            (7976, 7983),
            (7992, 7999),
            (8008, 8013),
            (8025, 8025),
            (8027, 8027),
            (8029, 8029),
            (8031, 8031),
            (8040, 8047),
            (8120, 8123),
            (8136, 8139),
            (8152, 8155),
            (8168, 8172),
            (8184, 8187),
            (8450, 8450),
            (8455, 8455),
            (8459, 8461),
            (8464, 8466),
            (8469, 8469),
            (8473, 8477),
            (8484, 8484),
            (8486, 8486),
            (8488, 8488),
            (8490, 8493),
            (8496, 8499),
            (8510, 8511),
            (8517, 8517),
            (8579, 8579),
            (11264, 11310),
            (11360, 11360),
            (11362, 11364),
            (11367, 11367),
            (11369, 11369),
            (11371, 11371),
            (11373, 11376),
            (11378, 11378),
            (11381, 11381),
            (11390, 11392),
            (11394, 11394),
            (11396, 11396),
            (11398, 11398),
            (11400, 11400),
            (11402, 11402),
            (11404, 11404),
            (11406, 11406),
            (11408, 11408),
            (11410, 11410),
            (11412, 11412),
            (11414, 11414),
            (11416, 11416),
            (11418, 11418),
            (11420, 11420),
            (11422, 11422),
            (11424, 11424),
            (11426, 11426),
            (11428, 11428),
            (11430, 11430),
            (11432, 11432),
            (11434, 11434),
            (11436, 11436),
            (11438, 11438),
            (11440, 11440),
            (11442, 11442),
            (11444, 11444),
            (11446, 11446),
            (11448, 11448),
            (11450, 11450),
            (11452, 11452),
            (11454, 11454),
            (11456, 11456),
            (11458, 11458),
            (11460, 11460),
            (11462, 11462),
            (11464, 11464),
            (11466, 11466),
            (11468, 11468),
            (11470, 11470),
            (11472, 11472),
            (11474, 11474),
            (11476, 11476),
            (11478, 11478),
            (11480, 11480),
            (11482, 11482),
            (11484, 11484),
            (11486, 11486),
            (11488, 11488),
            (11490, 11490),
            (11499, 11499),
            (11501, 11501),
            (42560, 42560),
            (42562, 42562),
            (42564, 42564),
            (42566, 42566),
            (42568, 42568),
            (42570, 42570),
            (42572, 42572),
            (42574, 42574),
            (42576, 42576),
            (42578, 42578),
            (42580, 42580),
            (42582, 42582),
            (42584, 42584),
            (42586, 42586),
            (42588, 42588),
            (42590, 42590),
            (42594, 42594),
            (42596, 42596),
            (42598, 42598),
            (42600, 42600),
            (42602, 42602),
            (42604, 42604),
            (42624, 42624),
            (42626, 42626),
            (42628, 42628),
            (42630, 42630),
            (42632, 42632),
            (42634, 42634),
            (42636, 42636),
            (42638, 42638),
            (42640, 42640),
            (42642, 42642),
            (42644, 42644),
            (42646, 42646),
            (42786, 42786),
            (42788, 42788),
            (42790, 42790),
            (42792, 42792),
            (42794, 42794),
            (42796, 42796),
            (42798, 42798),
            (42802, 42802),
            (42804, 42804),
            (42806, 42806),
            (42808, 42808),
            (42810, 42810),
            (42812, 42812),
            (42814, 42814),
            (42816, 42816),
            (42818, 42818),
            (42820, 42820),
            (42822, 42822),
            (42824, 42824),
            (42826, 42826),
            (42828, 42828),
            (42830, 42830),
            (42832, 42832),
            (42834, 42834),
            (42836, 42836),
            (42838, 42838),
            (42840, 42840),
            (42842, 42842),
            (42844, 42844),
            (42846, 42846),
            (42848, 42848),
            (42850, 42850),
            (42852, 42852),
            (42854, 42854),
            (42856, 42856),
            (42858, 42858),
            (42860, 42860),
            (42862, 42862),
            (42873, 42873),
            (42875, 42875),
            (42877, 42878),
            (42880, 42880),
            (42882, 42882),
            (42884, 42884),
            (42886, 42886),
            (42891, 42891),
            (65313, 65338),
            (66560, 66599),
            (119808, 119833),
            (119860, 119885),
            (119912, 119937),
            (119964, 119964),
            (119966, 119967),
            (119970, 119970),
            (119973, 119974),
            (119977, 119980),
            (119982, 119989),
            (120016, 120041),
            (120068, 120069),
            (120071, 120074),
            (120077, 120084),
            (120086, 120092),
            (120120, 120121),
            (120123, 120126),
            (120128, 120132),
            (120134, 120134),
            (120138, 120144),
            (120172, 120197),
            (120224, 120249),
            (120276, 120301),
            (120328, 120353),
            (120380, 120405),
            (120432, 120457),
            (120488, 120512),
            (120546, 120570),
            (120604, 120628),
            (120662, 120686),
            (120720, 120744),
            (120778, 120778),
        ]
    ),
    "M": CharSet.from_int_ranges(
        *[
            (768, 879),
            (1155, 1161),
            (1425, 1469),
            (1471, 1471),
            (1473, 1474),
            (1476, 1477),
            (1479, 1479),
            (1552, 1562),
            (1611, 1630),
            (1648, 1648),
            (1750, 1756),
            (1758, 1764),
            (1767, 1768),
            (1770, 1773),
            (1809, 1809),
            (1840, 1866),
            (1958, 1968),
            (2027, 2035),
            (2070, 2073),
            (2075, 2083),
            (2085, 2087),
            (2089, 2093),
            (2304, 2307),
            (2364, 2364),
            (2366, 2382),
            (2385, 2389),
            (2402, 2403),
            (2433, 2435),
            (2492, 2492),
            (2494, 2500),
            (2503, 2504),
            (2507, 2509),
            (2519, 2519),
            (2530, 2531),
            (2561, 2563),
            (2620, 2620),
            (2622, 2626),
            (2631, 2632),
            (2635, 2637),
            (2641, 2641),
            (2672, 2673),
            (2677, 2677),
            (2689, 2691),
            (2748, 2748),
            (2750, 2757),
            (2759, 2761),
            (2763, 2765),
            (2786, 2787),
            (2817, 2819),
            (2876, 2876),
            (2878, 2884),
            (2887, 2888),
            (2891, 2893),
            (2902, 2903),
            (2914, 2915),
            (2946, 2946),
            (3006, 3010),
            (3014, 3016),
            (3018, 3021),
            (3031, 3031),
            (3073, 3075),
            (3134, 3140),
            (3142, 3144),
            (3146, 3149),
            (3157, 3158),
            (3170, 3171),
            (3202, 3203),
            (3260, 3260),
            (3262, 3268),
            (3270, 3272),
            (3274, 3277),
            (3285, 3286),
            (3298, 3299),
            (3330, 3331),
            (3390, 3396),
            (3398, 3400),
            (3402, 3405),
            (3415, 3415),
            (3426, 3427),
            (3458, 3459),
            (3530, 3530),
            (3535, 3540),
            (3542, 3542),
            (3544, 3551),
            (3570, 3571),
            (3633, 3633),
            (3636, 3642),
            (3655, 3662),
            (3761, 3761),
            (3764, 3769),
            (3771, 3772),
            (3784, 3789),
            (3864, 3865),
            (3893, 3893),
            (3895, 3895),
            (3897, 3897),
            (3902, 3903),
            (3953, 3972),
            (3974, 3975),
            (3984, 3991),
            (3993, 4028),
            (4038, 4038),
            (4139, 4158),
            (4182, 4185),
            (4190, 4192),
            (4194, 4196),
            (4199, 4205),
            (4209, 4212),
            (4226, 4237),
            (4239, 4239),
            (4250, 4253),
            (4959, 4959),
            (5906, 5908),
            (5938, 5940),
            (5970, 5971),
            (6002, 6003),
            (6070, 6099),
            (6109, 6109),
            (6155, 6157),
            (6313, 6313),
            (6432, 6443),
            (6448, 6459),
            (6576, 6592),
            (6600, 6601),
            (6679, 6683),
            (6741, 6750),
            (6752, 6780),
            (6783, 6783),
            (6912, 6916),
            (6964, 6980),
            (7019, 7027),
            (7040, 7042),
            (7073, 7082),
            (7204, 7223),
            (7376, 7378),
            (7380, 7400),
            (7405, 7405),
            (7410, 7410),
            (7616, 7654),
            (7677, 7679),
            (8400, 8432),
            (11503, 11505),
            (11744, 11775),
            (12330, 12335),
            (12441, 12442),
            (42607, 42610),
            (42620, 42621),
            (42736, 42737),
            (43010, 43010),
            (43014, 43014),
            (43019, 43019),
            (43043, 43047),
            (43136, 43137),
            (43188, 43204),
            (43232, 43249),
            (43302, 43309),
            (43335, 43347),
            (43392, 43395),
            (43443, 43456),
            (43561, 43574),
            (43587, 43587),
            (43596, 43597),
            (43643, 43643),
            (43696, 43696),
            (43698, 43700),
            (43703, 43704),
            (43710, 43711),
            (43713, 43713),
            (44003, 44010),
            (44012, 44013),
            (64286, 64286),
            (65024, 65039),
            (65056, 65062),
            (66045, 66045),
            (68097, 68099),
            (68101, 68102),
            (68108, 68111),
            (68152, 68154),
            (68159, 68159),
            (69760, 69762),
            (69808, 69818),
            (119141, 119145),
            (119149, 119154),
            (119163, 119170),
            (119173, 119179),
            (119210, 119213),
            (119362, 119364),
            (917760, 917999),
        ]
    ),
    "Mc": CharSet.from_int_ranges(
        *[
            (2307, 2307),
            (2366, 2368),
            (2377, 2380),
            (2382, 2382),
            (2434, 2435),
            (2494, 2496),
            (2503, 2504),
            (2507, 2508),
            (2519, 2519),
            (2563, 2563),
            (2622, 2624),
            (2691, 2691),
            (2750, 2752),
            (2761, 2761),
            (2763, 2764),
            (2818, 2819),
            (2878, 2878),
            (2880, 2880),
            (2887, 2888),
            (2891, 2892),
            (2903, 2903),
            (3006, 3007),
            (3009, 3010),
            (3014, 3016),
            (3018, 3020),
            (3031, 3031),
            (3073, 3075),
            (3137, 3140),
            (3202, 3203),
            (3262, 3262),
            (3264, 3268),
            (3271, 3272),
            (3274, 3275),
            (3285, 3286),
            (3330, 3331),
            (3390, 3392),
            (3398, 3400),
            (3402, 3404),
            (3415, 3415),
            (3458, 3459),
            (3535, 3537),
            (3544, 3551),
            (3570, 3571),
            (3902, 3903),
            (3967, 3967),
            (4139, 4140),
            (4145, 4145),
            (4152, 4152),
            (4155, 4156),
            (4182, 4183),
            (4194, 4196),
            (4199, 4205),
            (4227, 4228),
            (4231, 4236),
            (4239, 4239),
            (4250, 4252),
            (6070, 6070),
            (6078, 6085),
            (6087, 6088),
            (6435, 6438),
            (6441, 6443),
            (6448, 6449),
            (6451, 6456),
            (6576, 6592),
            (6600, 6601),
            (6681, 6683),
            (6741, 6741),
            (6743, 6743),
            (6753, 6753),
            (6755, 6756),
            (6765, 6770),
            (6916, 6916),
            (6965, 6965),
            (6971, 6971),
            (6973, 6977),
            (6979, 6980),
            (7042, 7042),
            (7073, 7073),
            (7078, 7079),
            (7082, 7082),
            (7204, 7211),
            (7220, 7221),
            (7393, 7393),
            (7410, 7410),
            (43043, 43044),
            (43047, 43047),
            (43136, 43137),
            (43188, 43203),
            (43346, 43347),
            (43395, 43395),
            (43444, 43445),
            (43450, 43451),
            (43453, 43456),
            (43567, 43568),
            (43571, 43572),
            (43597, 43597),
            (43643, 43643),
            (44003, 44004),
            (44006, 44007),
            (44009, 44010),
            (44012, 44012),
            (69762, 69762),
            (69808, 69810),
            (69815, 69816),
            (119141, 119142),
            (119149, 119154),
        ]
    ),
    "Me": CharSet.from_int_ranges(
        *[
            (1160, 1161),
            (1758, 1758),
            (8413, 8416),
            (8418, 8420),
            (42608, 42610),
        ]
    ),
    "Mn": CharSet.from_int_ranges(
        *[
            (768, 879),
            (1155, 1159),
            (1425, 1469),
            (1471, 1471),
            (1473, 1474),
            (1476, 1477),
            (1479, 1479),
            (1552, 1562),
            (1611, 1630),
            (1648, 1648),
            (1750, 1756),
            (1759, 1764),
            (1767, 1768),
            (1770, 1773),
            (1809, 1809),
            (1840, 1866),
            (1958, 1968),
            (2027, 2035),
            (2070, 2073),
            (2075, 2083),
            (2085, 2087),
            (2089, 2093),
            (2304, 2306),
            (2364, 2364),
            (2369, 2376),
            (2381, 2381),
            (2385, 2389),
            (2402, 2403),
            (2433, 2433),
            (2492, 2492),
            (2497, 2500),
            (2509, 2509),
            (2530, 2531),
            (2561, 2562),
            (2620, 2620),
            (2625, 2626),
            (2631, 2632),
            (2635, 2637),
            (2641, 2641),
            (2672, 2673),
            (2677, 2677),
            (2689, 2690),
            (2748, 2748),
            (2753, 2757),
            (2759, 2760),
            (2765, 2765),
            (2786, 2787),
            (2817, 2817),
            (2876, 2876),
            (2879, 2879),
            (2881, 2884),
            (2893, 2893),
            (2902, 2902),
            (2914, 2915),
            (2946, 2946),
            (3008, 3008),
            (3021, 3021),
            (3134, 3136),
            (3142, 3144),
            (3146, 3149),
            (3157, 3158),
            (3170, 3171),
            (3260, 3260),
            (3263, 3263),
            (3270, 3270),
            (3276, 3277),
            (3298, 3299),
            (3393, 3396),
            (3405, 3405),
            (3426, 3427),
            (3530, 3530),
            (3538, 3540),
            (3542, 3542),
            (3633, 3633),
            (3636, 3642),
            (3655, 3662),
            (3761, 3761),
            (3764, 3769),
            (3771, 3772),
            (3784, 3789),
            (3864, 3865),
            (3893, 3893),
            (3895, 3895),
            (3897, 3897),
            (3953, 3966),
            (3968, 3972),
            (3974, 3975),
            (3984, 3991),
            (3993, 4028),
            (4038, 4038),
            (4141, 4144),
            (4146, 4151),
            (4153, 4154),
            (4157, 4158),
            (4184, 4185),
            (4190, 4192),
            (4209, 4212),
            (4226, 4226),
            (4229, 4230),
            (4237, 4237),
            (4253, 4253),
            (4959, 4959),
            (5906, 5908),
            (5938, 5940),
            (5970, 5971),
            (6002, 6003),
            (6071, 6077),
            (6086, 6086),
            (6089, 6099),
            (6109, 6109),
            (6155, 6157),
            (6313, 6313),
            (6432, 6434),
            (6439, 6440),
            (6450, 6450),
            (6457, 6459),
            (6679, 6680),
            (6742, 6742),
            (6744, 6750),
            (6752, 6752),
            (6754, 6754),
            (6757, 6764),
            (6771, 6780),
            (6783, 6783),
            (6912, 6915),
            (6964, 6964),
            (6966, 6970),
            (6972, 6972),
            (6978, 6978),
            (7019, 7027),
            (7040, 7041),
            (7074, 7077),
            (7080, 7081),
            (7212, 7219),
            (7222, 7223),
            (7376, 7378),
            (7380, 7392),
            (7394, 7400),
            (7405, 7405),
            (7616, 7654),
            (7677, 7679),
            (8400, 8412),
            (8417, 8417),
            (8421, 8432),
            (11503, 11505),
            (11744, 11775),
            (12330, 12335),
            (12441, 12442),
            (42607, 42607),
            (42620, 42621),
            (42736, 42737),
            (43010, 43010),
            (43014, 43014),
            (43019, 43019),
            (43045, 43046),
            (43204, 43204),
            (43232, 43249),
            (43302, 43309),
            (43335, 43345),
            (43392, 43394),
            (43443, 43443),
            (43446, 43449),
            (43452, 43452),
            (43561, 43566),
            (43569, 43570),
            (43573, 43574),
            (43587, 43587),
            (43596, 43596),
            (43696, 43696),
            (43698, 43700),
            (43703, 43704),
            (43710, 43711),
            (43713, 43713),
            (44005, 44005),
            (44008, 44008),
            (44013, 44013),
            (64286, 64286),
            (65024, 65039),
            (65056, 65062),
            (66045, 66045),
            (68097, 68099),
            (68101, 68102),
            (68108, 68111),
            (68152, 68154),
            (68159, 68159),
            (69760, 69761),
            (69811, 69814),
            (69817, 69818),
            (119143, 119145),
            (119163, 119170),
            (119173, 119179),
            (119210, 119213),
            (119362, 119364),
            (917760, 917999),
        ]
    ),
    "N": CharSet.from_int_ranges(
        *[
            (48, 57),
            (178, 179),
            (185, 185),
            (188, 190),
            (1632, 1641),
            (1776, 1785),
            (1984, 1993),
            (2406, 2415),
            (2534, 2543),
            (2548, 2553),
            (2662, 2671),
            (2790, 2799),
            (2918, 2927),
            (3046, 3058),
            (3174, 3183),
            (3192, 3198),
            (3302, 3311),
            (3430, 3445),
            (3664, 3673),
            (3792, 3801),
            (3872, 3891),
            (4160, 4169),
            (4240, 4249),
            (4969, 4988),
            (5870, 5872),
            (6112, 6121),
            (6128, 6137),
            (6160, 6169),
            (6470, 6479),
            (6608, 6618),
            (6784, 6793),
            (6800, 6809),
            (6992, 7001),
            (7088, 7097),
            (7232, 7241),
            (7248, 7257),
            (8304, 8304),
            (8308, 8313),
            (8320, 8329),
            (8528, 8578),
            (8581, 8585),
            (9312, 9371),
            (9450, 9471),
            (10102, 10131),
            (11517, 11517),
            (12295, 12295),
            (12321, 12329),
            (12344, 12346),
            (12690, 12693),
            (12832, 12841),
            (12881, 12895),
            (12928, 12937),
            (12977, 12991),
            (42528, 42537),
            (42726, 42735),
            (43056, 43061),
            (43216, 43225),
            (43264, 43273),
            (43472, 43481),
            (43600, 43609),
            (44016, 44025),
            (65296, 65305),
            (65799, 65843),
            (65856, 65912),
            (65930, 65930),
            (66336, 66339),
            (66369, 66369),
            (66378, 66378),
            (66513, 66517),
            (66720, 66729),
            (67672, 67679),
            (67862, 67867),
            (68160, 68167),
            (68221, 68222),
            (68440, 68447),
            (68472, 68479),
            (69216, 69246),
            (74752, 74850),
            (119648, 119665),
            (120782, 120831),
            (127232, 127242),
        ]
    ),
    "Nd": CharSet.from_int_ranges(
        *[
            (48, 57),
            (1632, 1641),
            (1776, 1785),
            (1984, 1993),
            (2406, 2415),
            (2534, 2543),
            (2662, 2671),
            (2790, 2799),
            (2918, 2927),
            (3046, 3055),
            (3174, 3183),
            (3302, 3311),
            (3430, 3439),
            (3664, 3673),
            (3792, 3801),
            (3872, 3881),
            (4160, 4169),
            (4240, 4249),
            (6112, 6121),
            (6160, 6169),
            (6470, 6479),
            (6608, 6618),
            (6784, 6793),
            (6800, 6809),
            (6992, 7001),
            (7088, 7097),
            (7232, 7241),
            (7248, 7257),
            (42528, 42537),
            (43216, 43225),
            (43264, 43273),
            (43472, 43481),
            (43600, 43609),
            (44016, 44025),
            (65296, 65305),
            (66720, 66729),
            (120782, 120831),
        ]
    ),
    "Nl": CharSet.from_int_ranges(
        *[
            (5870, 5872),
            (8544, 8578),
            (8581, 8584),
            (12295, 12295),
            (12321, 12329),
            (12344, 12346),
            (42726, 42735),
            (65856, 65908),
            (66369, 66369),
            (66378, 66378),
            (66513, 66517),
            (74752, 74850),
        ]
    ),
    "No": CharSet.from_int_ranges(
        *[
            (178, 179),
            (185, 185),
            (188, 190),
            (2548, 2553),
            (3056, 3058),
            (3192, 3198),
            (3440, 3445),
            (3882, 3891),
            (4969, 4988),
            (6128, 6137),
            (8304, 8304),
            (8308, 8313),
            (8320, 8329),
            (8528, 8543),
            (8585, 8585),
            (9312, 9371),
            (9450, 9471),
            (10102, 10131),
            (11517, 11517),
            (12690, 12693),
            (12832, 12841),
            (12881, 12895),
            (12928, 12937),
            (12977, 12991),
            (43056, 43061),
            (65799, 65843),
            (65909, 65912),
            (65930, 65930),
            (66336, 66339),
            (67672, 67679),
            (67862, 67867),
            (68160, 68167),
            (68221, 68222),
            (68440, 68447),
            (68472, 68479),
            (69216, 69246),
            (119648, 119665),
            (127232, 127242),
        ]
    ),
    "P": CharSet.from_int_ranges(
        *[
            (33, 35),
            (37, 42),
            (44, 47),
            (58, 59),
            (63, 64),
            (91, 93),
            (95, 95),
            (123, 123),
            (125, 125),
            (161, 161),
            (171, 171),
            (183, 183),
            (187, 187),
            (191, 191),
            (894, 894),
            (903, 903),
            (1370, 1375),
            (1417, 1418),
            (1470, 1470),
            (1472, 1472),
            (1475, 1475),
            (1478, 1478),
            (1523, 1524),
            (1545, 1546),
            (1548, 1549),
            (1563, 1563),
            (1566, 1567),
            (1642, 1645),
            (1748, 1748),
            (1792, 1805),
            (2039, 2041),
            (2096, 2110),
            (2404, 2405),
            (2416, 2416),
            (3572, 3572),
            (3663, 3663),
            (3674, 3675),
            (3844, 3858),
            (3898, 3901),
            (3973, 3973),
            (4048, 4052),
            (4170, 4175),
            (4347, 4347),
            (4961, 4968),
            (5120, 5120),
            (5741, 5742),
            (5787, 5788),
            (5867, 5869),
            (5941, 5942),
            (6100, 6102),
            (6104, 6106),
            (6144, 6154),
            (6468, 6469),
            (6622, 6623),
            (6686, 6687),
            (6816, 6822),
            (6824, 6829),
            (7002, 7008),
            (7227, 7231),
            (7294, 7295),
            (7379, 7379),
            (8208, 8231),
            (8240, 8259),
            (8261, 8273),
            (8275, 8286),
            (8317, 8318),
            (8333, 8334),
            (9001, 9002),
            (10088, 10101),
            (10181, 10182),
            (10214, 10223),
            (10627, 10648),
            (10712, 10715),
            (10748, 10749),
            (11513, 11516),
            (11518, 11519),
            (11776, 11822),
            (11824, 11825),
            (12289, 12291),
            (12296, 12305),
            (12308, 12319),
            (12336, 12336),
            (12349, 12349),
            (12448, 12448),
            (12539, 12539),
            (42238, 42239),
            (42509, 42511),
            (42611, 42611),
            (42622, 42622),
            (42738, 42743),
            (43124, 43127),
            (43214, 43215),
            (43256, 43258),
            (43310, 43311),
            (43359, 43359),
            (43457, 43469),
            (43486, 43487),
            (43612, 43615),
            (43742, 43743),
            (44011, 44011),
            (64830, 64831),
            (65040, 65049),
            (65072, 65106),
            (65108, 65121),
            (65123, 65123),
            (65128, 65128),
            (65130, 65131),
            (65281, 65283),
            (65285, 65290),
            (65292, 65295),
            (65306, 65307),
            (65311, 65312),
            (65339, 65341),
            (65343, 65343),
            (65371, 65371),
            (65373, 65373),
            (65375, 65381),
            (65792, 65793),
            (66463, 66463),
            (66512, 66512),
            (67671, 67671),
            (67871, 67871),
            (67903, 67903),
            (68176, 68184),
            (68223, 68223),
            (68409, 68415),
            (69819, 69820),
            (69822, 69825),
            (74864, 74867),
        ]
    ),
    "Pc": CharSet.from_int_ranges(
        *[
            (95, 95),
            (8255, 8256),
            (8276, 8276),
            (65075, 65076),
            (65101, 65103),
            (65343, 65343),
        ]
    ),
    "Pd": CharSet.from_int_ranges(
        *[
            (45, 45),
            (1418, 1418),
            (1470, 1470),
            (5120, 5120),
            (6150, 6150),
            (8208, 8213),
            (11799, 11799),
            (11802, 11802),
            (12316, 12316),
            (12336, 12336),
            (12448, 12448),
            (65073, 65074),
            (65112, 65112),
            (65123, 65123),
            (65293, 65293),
        ]
    ),
    "Pe": CharSet.from_int_ranges(
        *[
            (41, 41),
            (93, 93),
            (125, 125),
            (3899, 3899),
            (3901, 3901),
            (5788, 5788),
            (8262, 8262),
            (8318, 8318),
            (8334, 8334),
            (9002, 9002),
            (10089, 10089),
            (10091, 10091),
            (10093, 10093),
            (10095, 10095),
            (10097, 10097),
            (10099, 10099),
            (10101, 10101),
            (10182, 10182),
            (10215, 10215),
            (10217, 10217),
            (10219, 10219),
            (10221, 10221),
            (10223, 10223),
            (10628, 10628),
            (10630, 10630),
            (10632, 10632),
            (10634, 10634),
            (10636, 10636),
            (10638, 10638),
            (10640, 10640),
            (10642, 10642),
            (10644, 10644),
            (10646, 10646),
            (10648, 10648),
            (10713, 10713),
            (10715, 10715),
            (10749, 10749),
            (11811, 11811),
            (11813, 11813),
            (11815, 11815),
            (11817, 11817),
            (12297, 12297),
            (12299, 12299),
            (12301, 12301),
            (12303, 12303),
            (12305, 12305),
            (12309, 12309),
            (12311, 12311),
            (12313, 12313),
            (12315, 12315),
            (12318, 12319),
            (64831, 64831),
            (65048, 65048),
            (65078, 65078),
            (65080, 65080),
            (65082, 65082),
            (65084, 65084),
            (65086, 65086),
            (65088, 65088),
            (65090, 65090),
            (65092, 65092),
            (65096, 65096),
            (65114, 65114),
            (65116, 65116),
            (65118, 65118),
            (65289, 65289),
            (65341, 65341),
            (65373, 65373),
            (65376, 65376),
            (65379, 65379),
        ]
    ),
    "Pf": CharSet.from_int_ranges(
        *[
            (187, 187),
            (8217, 8217),
            (8221, 8221),
            (8250, 8250),
            (11779, 11779),
            (11781, 11781),
            (11786, 11786),
            (11789, 11789),
            (11805, 11805),
            (11809, 11809),
        ]
    ),
    "Pi": CharSet.from_int_ranges(
        *[
            (171, 171),
            (8216, 8216),
            (8219, 8220),
            (8223, 8223),
            (8249, 8249),
            (11778, 11778),
            (11780, 11780),
            (11785, 11785),
            (11788, 11788),
            (11804, 11804),
            (11808, 11808),
        ]
    ),
    "Po": CharSet.from_int_ranges(
        *[
            (33, 35),
            (37, 39),
            (42, 42),
            (44, 44),
            (46, 47),
            (58, 59),
            (63, 64),
            (92, 92),
            (161, 161),
            (183, 183),
            (191, 191),
            (894, 894),
            (903, 903),
            (1370, 1375),
            (1417, 1417),
            (1472, 1472),
            (1475, 1475),
            (1478, 1478),
            (1523, 1524),
            (1545, 1546),
            (1548, 1549),
            (1563, 1563),
            (1566, 1567),
            (1642, 1645),
            (1748, 1748),
            (1792, 1805),
            (2039, 2041),
            (2096, 2110),
            (2404, 2405),
            (2416, 2416),
            (3572, 3572),
            (3663, 3663),
            (3674, 3675),
            (3844, 3858),
            (3973, 3973),
            (4048, 4052),
            (4170, 4175),
            (4347, 4347),
            (4961, 4968),
            (5741, 5742),
            (5867, 5869),
            (5941, 5942),
            (6100, 6102),
            (6104, 6106),
            (6144, 6149),
            (6151, 6154),
            (6468, 6469),
            (6622, 6623),
            (6686, 6687),
            (6816, 6822),
            (6824, 6829),
            (7002, 7008),
            (7227, 7231),
            (7294, 7295),
            (7379, 7379),
            (8214, 8215),
            (8224, 8231),
            (8240, 8248),
            (8251, 8254),
            (8257, 8259),
            (8263, 8273),
            (8275, 8275),
            (8277, 8286),
            (11513, 11516),
            (11518, 11519),
            (11776, 11777),
            (11782, 11784),
            (11787, 11787),
            (11790, 11798),
            (11800, 11801),
            (11803, 11803),
            (11806, 11807),
            (11818, 11822),
            (11824, 11825),
            (12289, 12291),
            (12349, 12349),
            (12539, 12539),
            (42238, 42239),
            (42509, 42511),
            (42611, 42611),
            (42622, 42622),
            (42738, 42743),
            (43124, 43127),
            (43214, 43215),
            (43256, 43258),
            (43310, 43311),
            (43359, 43359),
            (43457, 43469),
            (43486, 43487),
            (43612, 43615),
            (43742, 43743),
            (44011, 44011),
            (65040, 65046),
            (65049, 65049),
            (65072, 65072),
            (65093, 65094),
            (65097, 65100),
            (65104, 65106),
            (65108, 65111),
            (65119, 65121),
            (65128, 65128),
            (65130, 65131),
            (65281, 65283),
            (65285, 65287),
            (65290, 65290),
            (65292, 65292),
            (65294, 65295),
            (65306, 65307),
            (65311, 65312),
            (65340, 65340),
            (65377, 65377),
            (65380, 65381),
            (65792, 65793),
            (66463, 66463),
            (66512, 66512),
            (67671, 67671),
            (67871, 67871),
            (67903, 67903),
            (68176, 68184),
            (68223, 68223),
            (68409, 68415),
            (69819, 69820),
            (69822, 69825),
            (74864, 74867),
        ]
    ),
    "Ps": CharSet.from_int_ranges(
        *[
            (40, 40),
            (91, 91),
            (123, 123),
            (3898, 3898),
            (3900, 3900),
            (5787, 5787),
            (8218, 8218),
            (8222, 8222),
            (8261, 8261),
            (8317, 8317),
            (8333, 8333),
            (9001, 9001),
            (10088, 10088),
            (10090, 10090),
            (10092, 10092),
            (10094, 10094),
            (10096, 10096),
            (10098, 10098),
            (10100, 10100),
            (10181, 10181),
            (10214, 10214),
            (10216, 10216),
            (10218, 10218),
            (10220, 10220),
            (10222, 10222),
            (10627, 10627),
            (10629, 10629),
            (10631, 10631),
            (10633, 10633),
            (10635, 10635),
            (10637, 10637),
            (10639, 10639),
            (10641, 10641),
            (10643, 10643),
            (10645, 10645),
            (10647, 10647),
            (10712, 10712),
            (10714, 10714),
            (10748, 10748),
            (11810, 11810),
            (11812, 11812),
            (11814, 11814),
            (11816, 11816),
            (12296, 12296),
            (12298, 12298),
            (12300, 12300),
            (12302, 12302),
            (12304, 12304),
            (12308, 12308),
            (12310, 12310),
            (12312, 12312),
            (12314, 12314),
            (12317, 12317),
            (64830, 64830),
            (65047, 65047),
            (65077, 65077),
            (65079, 65079),
            (65081, 65081),
            (65083, 65083),
            (65085, 65085),
            (65087, 65087),
            (65089, 65089),
            (65091, 65091),
            (65095, 65095),
            (65113, 65113),
            (65115, 65115),
            (65117, 65117),
            (65288, 65288),
            (65339, 65339),
            (65371, 65371),
            (65375, 65375),
            (65378, 65378),
        ]
    ),
    "S": CharSet.from_int_ranges(
        *[
            (36, 36),
            (43, 43),
            (60, 62),
            (94, 94),
            (96, 96),
            (124, 124),
            (126, 126),
            (162, 169),
            (172, 172),
            (174, 177),
            (180, 180),
            (182, 182),
            (184, 184),
            (215, 215),
            (247, 247),
            (706, 709),
            (722, 735),
            (741, 747),
            (749, 749),
            (751, 767),
            (885, 885),
            (900, 901),
            (1014, 1014),
            (1154, 1154),
            (1542, 1544),
            (1547, 1547),
            (1550, 1551),
            (1769, 1769),
            (1789, 1790),
            (2038, 2038),
            (2546, 2547),
            (2554, 2555),
            (2801, 2801),
            (2928, 2928),
            (3059, 3066),
            (3199, 3199),
            (3313, 3314),
            (3449, 3449),
            (3647, 3647),
            (3841, 3843),
            (3859, 3863),
            (3866, 3871),
            (3892, 3892),
            (3894, 3894),
            (3896, 3896),
            (4030, 4037),
            (4039, 4044),
            (4046, 4047),
            (4053, 4056),
            (4254, 4255),
            (4960, 4960),
            (5008, 5017),
            (6107, 6107),
            (6464, 6464),
            (6624, 6655),
            (7009, 7018),
            (7028, 7036),
            (8125, 8125),
            (8127, 8129),
            (8141, 8143),
            (8157, 8159),
            (8173, 8175),
            (8189, 8190),
            (8260, 8260),
            (8274, 8274),
            (8314, 8316),
            (8330, 8332),
            (8352, 8376),
            (8448, 8449),
            (8451, 8454),
            (8456, 8457),
            (8468, 8468),
            (8470, 8472),
            (8478, 8483),
            (8485, 8485),
            (8487, 8487),
            (8489, 8489),
            (8494, 8494),
            (8506, 8507),
            (8512, 8516),
            (8522, 8525),
            (8527, 8527),
            (8592, 9000),
            (9003, 9192),
            (9216, 9254),
            (9280, 9290),
            (9372, 9449),
            (9472, 9933),
            (9935, 9953),
            (9955, 9955),
            (9960, 9983),
            (9985, 9988),
            (9990, 9993),
            (9996, 10023),
            (10025, 10059),
            (10061, 10061),
            (10063, 10066),
            (10070, 10078),
            (10081, 10087),
            (10132, 10132),
            (10136, 10159),
            (10161, 10174),
            (10176, 10180),
            (10183, 10186),
            (10188, 10188),
            (10192, 10213),
            (10224, 10626),
            (10649, 10711),
            (10716, 10747),
            (10750, 11084),
            (11088, 11097),
            (11493, 11498),
            (11904, 11929),
            (11931, 12019),
            (12032, 12245),
            (12272, 12283),
            (12292, 12292),
            (12306, 12307),
            (12320, 12320),
            (12342, 12343),
            (12350, 12351),
            (12443, 12444),
            (12688, 12689),
            (12694, 12703),
            (12736, 12771),
            (12800, 12830),
            (12842, 12880),
            (12896, 12927),
            (12938, 12976),
            (12992, 13054),
            (13056, 13311),
            (19904, 19967),
            (42128, 42182),
            (42752, 42774),
            (42784, 42785),
            (42889, 42890),
            (43048, 43051),
            (43062, 43065),
            (43639, 43641),
            (64297, 64297),
            (65020, 65021),
            (65122, 65122),
            (65124, 65126),
            (65129, 65129),
            (65284, 65284),
            (65291, 65291),
            (65308, 65310),
            (65342, 65342),
            (65344, 65344),
            (65372, 65372),
            (65374, 65374),
            (65504, 65510),
            (65512, 65518),
            (65532, 65533),
            (65794, 65794),
            (65847, 65855),
            (65913, 65929),
            (65936, 65947),
            (66000, 66044),
            (118784, 119029),
            (119040, 119078),
            (119081, 119140),
            (119146, 119148),
            (119171, 119172),
            (119180, 119209),
            (119214, 119261),
            (119296, 119361),
            (119365, 119365),
            (119552, 119638),
            (120513, 120513),
            (120539, 120539),
            (120571, 120571),
            (120597, 120597),
            (120629, 120629),
            (120655, 120655),
            (120687, 120687),
            (120713, 120713),
            (120745, 120745),
            (120771, 120771),
            (126976, 127019),
            (127024, 127123),
            (127248, 127278),
            (127281, 127281),
            (127293, 127293),
            (127295, 127295),
            (127298, 127298),
            (127302, 127302),
            (127306, 127310),
            (127319, 127319),
            (127327, 127327),
            (127353, 127353),
            (127355, 127356),
            (127359, 127359),
            (127370, 127373),
            (127376, 127376),
            (127488, 127488),
            (127504, 127537),
            (127552, 127560),
        ]
    ),
    "Sc": CharSet.from_int_ranges(
        *[
            (36, 36),
            (162, 165),
            (1547, 1547),
            (2546, 2547),
            (2555, 2555),
            (2801, 2801),
            (3065, 3065),
            (3647, 3647),
            (6107, 6107),
            (8352, 8376),
            (43064, 43064),
            (65020, 65020),
            (65129, 65129),
            (65284, 65284),
            (65504, 65505),
            (65509, 65510),
        ]
    ),
    "Sk": CharSet.from_int_ranges(
        *[
            (94, 94),
            (96, 96),
            (168, 168),
            (175, 175),
            (180, 180),
            (184, 184),
            (706, 709),
            (722, 735),
            (741, 747),
            (749, 749),
            (751, 767),
            (885, 885),
            (900, 901),
            (8125, 8125),
            (8127, 8129),
            (8141, 8143),
            (8157, 8159),
            (8173, 8175),
            (8189, 8190),
            (12443, 12444),
            (42752, 42774),
            (42784, 42785),
            (42889, 42890),
            (65342, 65342),
            (65344, 65344),
            (65507, 65507),
        ]
    ),
    "Sm": CharSet.from_int_ranges(
        *[
            (43, 43),
            (60, 62),
            (124, 124),
            (126, 126),
            (172, 172),
            (177, 177),
            (215, 215),
            (247, 247),
            (1014, 1014),
            (1542, 1544),
            (8260, 8260),
            (8274, 8274),
            (8314, 8316),
            (8330, 8332),
            (8512, 8516),
            (8523, 8523),
            (8592, 8596),
            (8602, 8603),
            (8608, 8608),
            (8611, 8611),
            (8614, 8614),
            (8622, 8622),
            (8654, 8655),
            (8658, 8658),
            (8660, 8660),
            (8692, 8959),
            (8968, 8971),
            (8992, 8993),
            (9084, 9084),
            (9115, 9139),
            (9180, 9185),
            (9655, 9655),
            (9665, 9665),
            (9720, 9727),
            (9839, 9839),
            (10176, 10180),
            (10183, 10186),
            (10188, 10188),
            (10192, 10213),
            (10224, 10239),
            (10496, 10626),
            (10649, 10711),
            (10716, 10747),
            (10750, 11007),
            (11056, 11076),
            (11079, 11084),
            (64297, 64297),
            (65122, 65122),
            (65124, 65126),
            (65291, 65291),
            (65308, 65310),
            (65372, 65372),
            (65374, 65374),
            (65506, 65506),
            (65513, 65516),
            (120513, 120513),
            (120539, 120539),
            (120571, 120571),
            (120597, 120597),
            (120629, 120629),
            (120655, 120655),
            (120687, 120687),
            (120713, 120713),
            (120745, 120745),
            (120771, 120771),
        ]
    ),
    "So": CharSet.from_int_ranges(
        *[
            (166, 167),
            (169, 169),
            (174, 174),
            (176, 176),
            (182, 182),
            (1154, 1154),
            (1550, 1551),
            (1769, 1769),
            (1789, 1790),
            (2038, 2038),
            (2554, 2554),
            (2928, 2928),
            (3059, 3064),
            (3066, 3066),
            (3199, 3199),
            (3313, 3314),
            (3449, 3449),
            (3841, 3843),
            (3859, 3863),
            (3866, 3871),
            (3892, 3892),
            (3894, 3894),
            (3896, 3896),
            (4030, 4037),
            (4039, 4044),
            (4046, 4047),
            (4053, 4056),
            (4254, 4255),
            (4960, 4960),
            (5008, 5017),
            (6464, 6464),
            (6624, 6655),
            (7009, 7018),
            (7028, 7036),
            (8448, 8449),
            (8451, 8454),
            (8456, 8457),
            (8468, 8468),
            (8470, 8472),
            (8478, 8483),
            (8485, 8485),
            (8487, 8487),
            (8489, 8489),
            (8494, 8494),
            (8506, 8507),
            (8522, 8522),
            (8524, 8525),
            (8527, 8527),
            (8597, 8601),
            (8604, 8607),
            (8609, 8610),
            (8612, 8613),
            (8615, 8621),
            (8623, 8653),
            (8656, 8657),
            (8659, 8659),
            (8661, 8691),
            (8960, 8967),
            (8972, 8991),
            (8994, 9000),
            (9003, 9083),
            (9085, 9114),
            (9140, 9179),
            (9186, 9192),
            (9216, 9254),
            (9280, 9290),
            (9372, 9449),
            (9472, 9654),
            (9656, 9664),
            (9666, 9719),
            (9728, 9838),
            (9840, 9933),
            (9935, 9953),
            (9955, 9955),
            (9960, 9983),
            (9985, 9988),
            (9990, 9993),
            (9996, 10023),
            (10025, 10059),
            (10061, 10061),
            (10063, 10066),
            (10070, 10078),
            (10081, 10087),
            (10132, 10132),
            (10136, 10159),
            (10161, 10174),
            (10240, 10495),
            (11008, 11055),
            (11077, 11078),
            (11088, 11097),
            (11493, 11498),
            (11904, 11929),
            (11931, 12019),
            (12032, 12245),
            (12272, 12283),
            (12292, 12292),
            (12306, 12307),
            (12320, 12320),
            (12342, 12343),
            (12350, 12351),
            (12688, 12689),
            (12694, 12703),
            (12736, 12771),
            (12800, 12830),
            (12842, 12880),
            (12896, 12927),
            (12938, 12976),
            (12992, 13054),
            (13056, 13311),
            (19904, 19967),
            (42128, 42182),
            (43048, 43051),
            (43062, 43063),
            (43065, 43065),
            (43639, 43641),
            (65021, 65021),
            (65508, 65508),
            (65512, 65512),
            (65517, 65518),
            (65532, 65533),
            (65794, 65794),
            (65847, 65855),
            (65913, 65929),
            (65936, 65947),
            (66000, 66044),
            (118784, 119029),
            (119040, 119078),
            (119081, 119140),
            (119146, 119148),
            (119171, 119172),
            (119180, 119209),
            (119214, 119261),
            (119296, 119361),
            (119365, 119365),
            (119552, 119638),
            (126976, 127019),
            (127024, 127123),
            (127248, 127278),
            (127281, 127281),
            (127293, 127293),
            (127295, 127295),
            (127298, 127298),
            (127302, 127302),
            (127306, 127310),
            (127319, 127319),
            (127327, 127327),
            (127353, 127353),
            (127355, 127356),
            (127359, 127359),
            (127370, 127373),
            (127376, 127376),
            (127488, 127488),
            (127504, 127537),
            (127552, 127560),
        ]
    ),
    "Z": CharSet.from_int_ranges(
        *[
            (32, 32),
            (160, 160),
            (5760, 5760),
            (6158, 6158),
            (8192, 8202),
            (8232, 8233),
            (8239, 8239),
            (8287, 8287),
            (12288, 12288),
        ]
    ),
    "Zl": CharSet.from_int_ranges(
        *[
            (8232, 8232),
        ]
    ),
    "Zp": CharSet.from_int_ranges(
        *[
            (8233, 8233),
        ]
    ),
    "Zs": CharSet.from_int_ranges(
        *[
            (32, 32),
            (160, 160),
            (5760, 5760),
            (6158, 6158),
            (8192, 8202),
            (8239, 8239),
            (8287, 8287),
            (12288, 12288),
        ]
    ),
}
