Ignore:
Timestamp:
Sep 30, 2017, 9:50:55 AM (22 months ago)
Author:
cameron
Message:

UCD_Config.h, add Indic and CompositionExclusion? properties

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/DerivedCoreProperties.h

    r5145 r5656  
    22#define DERIVEDCOREPROPERTIES_H
    33/*
    4  *  Copyright (c) 2016 International Characters, Inc.
     4 *  Copyright (c) 2017 International Characters, Inc.
    55 *  This software is licensed to the public under the Open Software License 3.0.
    66 *  icgrep is a trademark of International Characters, Inc.
     
    1616    namespace ALPHA_ns {
    1717        /** Code Point Ranges for Alpha
    18         [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
    19         [216, 246], [248, 705], [710, 721], [736, 740], [748, 748],
    20         [750, 750], [837, 837], [880, 884], [886, 887], [890, 893],
    21         [895, 895], [902, 902], [904, 906], [908, 908], [910, 929],
    22         [931, 1013], [1015, 1153], [1162, 1327], [1329, 1366], [1369, 1369],
    23         [1377, 1415], [1456, 1469], [1471, 1471], [1473, 1474],
    24         [1476, 1477], [1479, 1479], [1488, 1514], [1520, 1522],
    25         [1552, 1562], [1568, 1623], [1625, 1631], [1646, 1747],
    26         [1749, 1756], [1761, 1768], [1773, 1775], [1786, 1788],
    27         [1791, 1791], [1808, 1855], [1869, 1969], [1994, 2026],
    28         [2036, 2037], [2042, 2042], [2048, 2071], [2074, 2092],
    29         [2112, 2136], [2208, 2228], [2230, 2237], [2260, 2271],
    30         [2275, 2281], [2288, 2363], [2365, 2380], [2382, 2384],
    31         [2389, 2403], [2417, 2435], [2437, 2444], [2447, 2448],
    32         [2451, 2472], [2474, 2480], [2482, 2482], [2486, 2489],
    33         [2493, 2500], [2503, 2504], [2507, 2508], [2510, 2510],
    34         [2519, 2519], [2524, 2525], [2527, 2531], [2544, 2545],
    35         [2561, 2563], [2565, 2570], [2575, 2576], [2579, 2600],
    36         [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617],
    37         [2622, 2626], [2631, 2632], [2635, 2636], [2641, 2641],
    38         [2649, 2652], [2654, 2654], [2672, 2677], [2689, 2691],
    39         [2693, 2701], [2703, 2705], [2707, 2728], [2730, 2736],
    40         [2738, 2739], [2741, 2745], [2749, 2757], [2759, 2761],
    41         [2763, 2764], [2768, 2768], [2784, 2787], [2809, 2809],
    42         [2817, 2819], [2821, 2828], [2831, 2832], [2835, 2856],
    43         [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2884],
    44         [2887, 2888], [2891, 2892], [2902, 2903], [2908, 2909],
    45         [2911, 2915], [2929, 2929], [2946, 2947], [2949, 2954],
    46         [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972],
    47         [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
    48         [3006, 3010], [3014, 3016], [3018, 3020], [3024, 3024],
    49         [3031, 3031], [3072, 3075], [3077, 3084], [3086, 3088],
    50         [3090, 3112], [3114, 3129], [3133, 3140], [3142, 3144],
    51         [3146, 3148], [3157, 3158], [3160, 3162], [3168, 3171],
    52         [3200, 3203], [3205, 3212], [3214, 3216], [3218, 3240],
    53         [3242, 3251], [3253, 3257], [3261, 3268], [3270, 3272],
    54         [3274, 3276], [3285, 3286], [3294, 3294], [3296, 3299],
    55         [3313, 3314], [3329, 3331], [3333, 3340], [3342, 3344],
    56         [3346, 3386], [3389, 3396], [3398, 3400], [3402, 3404],
    57         [3406, 3406], [3412, 3415], [3423, 3427], [3450, 3455],
    58         [3458, 3459], [3461, 3478], [3482, 3505], [3507, 3515],
    59         [3517, 3517], [3520, 3526], [3535, 3540], [3542, 3542],
    60         [3544, 3551], [3570, 3571], [3585, 3642], [3648, 3654],
    61         [3661, 3661], [3713, 3714], [3716, 3716], [3719, 3720],
    62         [3722, 3722], [3725, 3725], [3732, 3735], [3737, 3743],
    63         [3745, 3747], [3749, 3749], [3751, 3751], [3754, 3755],
    64         [3757, 3769], [3771, 3773], [3776, 3780], [3782, 3782],
    65         [3789, 3789], [3804, 3807], [3840, 3840], [3904, 3911],
    66         [3913, 3948], [3953, 3969], [3976, 3991], [3993, 4028],
    67         [4096, 4150], [4152, 4152], [4155, 4159], [4176, 4194],
    68         [4197, 4200], [4206, 4230], [4238, 4238], [4252, 4253],
    69         [4256, 4293], [4295, 4295], [4301, 4301], [4304, 4346],
    70         [4348, 4680], [4682, 4685], [4688, 4694], [4696, 4696],
    71         [4698, 4701], [4704, 4744], [4746, 4749], [4752, 4784],
    72         [4786, 4789], [4792, 4798], [4800, 4800], [4802, 4805],
    73         [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954],
    74         [4959, 4959], [4992, 5007], [5024, 5109], [5112, 5117],
    75         [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
    76         [5870, 5880], [5888, 5900], [5902, 5907], [5920, 5939],
    77         [5952, 5971], [5984, 5996], [5998, 6000], [6002, 6003],
    78         [6016, 6067], [6070, 6088], [6103, 6103], [6108, 6108],
    79         [6176, 6263], [6272, 6314], [6320, 6389], [6400, 6430],
    80         [6432, 6443], [6448, 6456], [6480, 6509], [6512, 6516],
    81         [6528, 6571], [6576, 6601], [6656, 6683], [6688, 6750],
    82         [6753, 6772], [6823, 6823], [6912, 6963], [6965, 6979],
    83         [6981, 6987], [7040, 7081], [7084, 7087], [7098, 7141],
    84         [7143, 7153], [7168, 7221], [7245, 7247], [7258, 7293],
    85         [7296, 7304], [7401, 7404], [7406, 7411], [7413, 7414],
    86         [7424, 7615], [7655, 7668], [7680, 7957], [7960, 7965],
    87         [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025],
    88         [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116],
    89         [8118, 8124], [8126, 8126], [8130, 8132], [8134, 8140],
    90         [8144, 8147], [8150, 8155], [8160, 8172], [8178, 8180],
    91         [8182, 8188], [8305, 8305], [8319, 8319], [8336, 8348],
    92         [8450, 8450], [8455, 8455], [8458, 8467], [8469, 8469],
    93         [8473, 8477], [8484, 8484], [8486, 8486], [8488, 8488],
    94         [8490, 8493], [8495, 8505], [8508, 8511], [8517, 8521],
    95         [8526, 8526], [8544, 8584], [9398, 9449], [11264, 11310],
    96         [11312, 11358], [11360, 11492], [11499, 11502], [11506, 11507],
    97         [11520, 11557], [11559, 11559], [11565, 11565], [11568, 11623],
    98         [11631, 11631], [11648, 11670], [11680, 11686], [11688, 11694],
    99         [11696, 11702], [11704, 11710], [11712, 11718], [11720, 11726],
    100         [11728, 11734], [11736, 11742], [11744, 11775], [11823, 11823],
    101         [12293, 12295], [12321, 12329], [12337, 12341], [12344, 12348],
    102         [12353, 12438], [12445, 12447], [12449, 12538], [12540, 12543],
    103         [12549, 12589], [12593, 12686], [12704, 12730], [12784, 12799],
    104         [13312, 19893], [19968, 40917], [40960, 42124], [42192, 42237],
    105         [42240, 42508], [42512, 42527], [42538, 42539], [42560, 42606],
    106         [42612, 42619], [42623, 42735], [42775, 42783], [42786, 42888],
    107         [42891, 42926], [42928, 42935], [42999, 43009], [43011, 43013],
    108         [43015, 43018], [43020, 43047], [43072, 43123], [43136, 43203],
    109         [43205, 43205], [43250, 43255], [43259, 43259], [43261, 43261],
    110         [43274, 43306], [43312, 43346], [43360, 43388], [43392, 43442],
    111         [43444, 43455], [43471, 43471], [43488, 43492], [43494, 43503],
    112         [43514, 43518], [43520, 43574], [43584, 43597], [43616, 43638],
    113         [43642, 43642], [43646, 43710], [43712, 43712], [43714, 43714],
    114         [43739, 43741], [43744, 43759], [43762, 43765], [43777, 43782],
    115         [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822],
    116         [43824, 43866], [43868, 43877], [43888, 44010], [44032, 55203],
    117         [55216, 55238], [55243, 55291], [63744, 64109], [64112, 64217],
    118         [64256, 64262], [64275, 64279], [64285, 64296], [64298, 64310],
    119         [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
    120         [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
    121         [65008, 65019], [65136, 65140], [65142, 65276], [65313, 65338],
    122         [65345, 65370], [65382, 65470], [65474, 65479], [65482, 65487],
    123         [65490, 65495], [65498, 65500], [65536, 65547], [65549, 65574],
    124         [65576, 65594], [65596, 65597], [65599, 65613], [65616, 65629],
    125         [65664, 65786], [65856, 65908], [66176, 66204], [66208, 66256],
    126         [66304, 66335], [66352, 66378], [66384, 66426], [66432, 66461],
    127         [66464, 66499], [66504, 66511], [66513, 66517], [66560, 66717],
    128         [66736, 66771], [66776, 66811], [66816, 66855], [66864, 66915],
    129         [67072, 67382], [67392, 67413], [67424, 67431], [67584, 67589],
    130         [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
    131         [67647, 67669], [67680, 67702], [67712, 67742], [67808, 67826],
    132         [67828, 67829], [67840, 67861], [67872, 67897], [67968, 68023],
    133         [68030, 68031], [68096, 68099], [68101, 68102], [68108, 68115],
    134         [68117, 68119], [68121, 68147], [68192, 68220], [68224, 68252],
    135         [68288, 68295], [68297, 68324], [68352, 68405], [68416, 68437],
    136         [68448, 68466], [68480, 68497], [68608, 68680], [68736, 68786],
    137         [68800, 68850], [69632, 69701], [69762, 69816], [69840, 69864],
    138         [69888, 69938], [69968, 70002], [70006, 70006], [70016, 70079],
    139         [70081, 70084], [70106, 70106], [70108, 70108], [70144, 70161],
    140         [70163, 70196], [70199, 70199], [70206, 70206], [70272, 70278],
    141         [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70312],
    142         [70320, 70376], [70400, 70403], [70405, 70412], [70415, 70416],
    143         [70419, 70440], [70442, 70448], [70450, 70451], [70453, 70457],
    144         [70461, 70468], [70471, 70472], [70475, 70476], [70480, 70480],
    145         [70487, 70487], [70493, 70499], [70656, 70721], [70723, 70725],
    146         [70727, 70730], [70784, 70849], [70852, 70853], [70855, 70855],
    147         [71040, 71093], [71096, 71102], [71128, 71133], [71168, 71230],
    148         [71232, 71232], [71236, 71236], [71296, 71349], [71424, 71449],
    149         [71453, 71466], [71840, 71903], [71935, 71935], [72384, 72440],
    150         [72704, 72712], [72714, 72758], [72760, 72766], [72768, 72768],
    151         [72818, 72847], [72850, 72871], [72873, 72886], [73728, 74649],
    152         [74752, 74862], [74880, 75075], [77824, 78894], [82944, 83526],
    153         [92160, 92728], [92736, 92766], [92880, 92909], [92928, 92982],
    154         [92992, 92995], [93027, 93047], [93053, 93071], [93952, 94020],
    155         [94032, 94078], [94099, 94111], [94176, 94176], [94208, 100332],
    156         [100352, 101106], [110592, 110593], [113664, 113770],
    157         [113776, 113788], [113792, 113800], [113808, 113817],
    158         [113822, 113822], [119808, 119892], [119894, 119964],
    159         [119966, 119967], [119970, 119970], [119973, 119974],
    160         [119977, 119980], [119982, 119993], [119995, 119995],
    161         [119997, 120003], [120005, 120069], [120071, 120074],
    162         [120077, 120084], [120086, 120092], [120094, 120121],
    163         [120123, 120126], [120128, 120132], [120134, 120134],
    164         [120138, 120144], [120146, 120485], [120488, 120512],
    165         [120514, 120538], [120540, 120570], [120572, 120596],
    166         [120598, 120628], [120630, 120654], [120656, 120686],
    167         [120688, 120712], [120714, 120744], [120746, 120770],
    168         [120772, 120779], [122880, 122886], [122888, 122904],
    169         [122907, 122913], [122915, 122916], [122918, 122922],
    170         [124928, 125124], [125184, 125251], [125255, 125255],
    171         [126464, 126467], [126469, 126495], [126497, 126498],
    172         [126500, 126500], [126503, 126503], [126505, 126514],
    173         [126516, 126519], [126521, 126521], [126523, 126523],
    174         [126530, 126530], [126535, 126535], [126537, 126537],
    175         [126539, 126539], [126541, 126543], [126545, 126546],
    176         [126548, 126548], [126551, 126551], [126553, 126553],
    177         [126555, 126555], [126557, 126557], [126559, 126559],
    178         [126561, 126562], [126564, 126564], [126567, 126570],
    179         [126572, 126578], [126580, 126583], [126585, 126588],
    180         [126590, 126590], [126592, 126601], [126603, 126619],
    181         [126625, 126627], [126629, 126633], [126635, 126651],
    182         [127280, 127305], [127312, 127337], [127344, 127369],
    183         [131072, 173782], [173824, 177972], [177984, 178205],
    184         [178208, 183969], [194560, 195101]**/
     18        [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5],
     19        [00ba, 00ba], [00c0, 00d6], [00d8, 00f6], [00f8, 02c1],
     20        [02c6, 02d1], [02e0, 02e4], [02ec, 02ec], [02ee, 02ee],
     21        [0345, 0345], [0370, 0374], [0376, 0377], [037a, 037d],
     22        [037f, 037f], [0386, 0386], [0388, 038a], [038c, 038c],
     23        [038e, 03a1], [03a3, 03f5], [03f7, 0481], [048a, 052f],
     24        [0531, 0556], [0559, 0559], [0561, 0587], [05b0, 05bd],
     25        [05bf, 05bf], [05c1, 05c2], [05c4, 05c5], [05c7, 05c7],
     26        [05d0, 05ea], [05f0, 05f2], [0610, 061a], [0620, 0657],
     27        [0659, 065f], [066e, 06d3], [06d5, 06dc], [06e1, 06e8],
     28        [06ed, 06ef], [06fa, 06fc], [06ff, 06ff], [0710, 073f],
     29        [074d, 07b1], [07ca, 07ea], [07f4, 07f5], [07fa, 07fa],
     30        [0800, 0817], [081a, 082c], [0840, 0858], [08a0, 08b4],
     31        [08b6, 08bd], [08d4, 08df], [08e3, 08e9], [08f0, 093b],
     32        [093d, 094c], [094e, 0950], [0955, 0963], [0971, 0983],
     33        [0985, 098c], [098f, 0990], [0993, 09a8], [09aa, 09b0],
     34        [09b2, 09b2], [09b6, 09b9], [09bd, 09c4], [09c7, 09c8],
     35        [09cb, 09cc], [09ce, 09ce], [09d7, 09d7], [09dc, 09dd],
     36        [09df, 09e3], [09f0, 09f1], [0a01, 0a03], [0a05, 0a0a],
     37        [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
     38        [0a35, 0a36], [0a38, 0a39], [0a3e, 0a42], [0a47, 0a48],
     39        [0a4b, 0a4c], [0a51, 0a51], [0a59, 0a5c], [0a5e, 0a5e],
     40        [0a70, 0a75], [0a81, 0a83], [0a85, 0a8d], [0a8f, 0a91],
     41        [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9],
     42        [0abd, 0ac5], [0ac7, 0ac9], [0acb, 0acc], [0ad0, 0ad0],
     43        [0ae0, 0ae3], [0af9, 0af9], [0b01, 0b03], [0b05, 0b0c],
     44        [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
     45        [0b35, 0b39], [0b3d, 0b44], [0b47, 0b48], [0b4b, 0b4c],
     46        [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b71, 0b71],
     47        [0b82, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95],
     48        [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
     49        [0ba8, 0baa], [0bae, 0bb9], [0bbe, 0bc2], [0bc6, 0bc8],
     50        [0bca, 0bcc], [0bd0, 0bd0], [0bd7, 0bd7], [0c00, 0c03],
     51        [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39],
     52        [0c3d, 0c44], [0c46, 0c48], [0c4a, 0c4c], [0c55, 0c56],
     53        [0c58, 0c5a], [0c60, 0c63], [0c80, 0c83], [0c85, 0c8c],
     54        [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
     55        [0cbd, 0cc4], [0cc6, 0cc8], [0cca, 0ccc], [0cd5, 0cd6],
     56        [0cde, 0cde], [0ce0, 0ce3], [0cf1, 0cf2], [0d01, 0d03],
     57        [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d44],
     58        [0d46, 0d48], [0d4a, 0d4c], [0d4e, 0d4e], [0d54, 0d57],
     59        [0d5f, 0d63], [0d7a, 0d7f], [0d82, 0d83], [0d85, 0d96],
     60        [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6],
     61        [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3],
     62        [0e01, 0e3a], [0e40, 0e46], [0e4d, 0e4d], [0e81, 0e82],
     63        [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a], [0e8d, 0e8d],
     64        [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5],
     65        [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9], [0ebb, 0ebd],
     66        [0ec0, 0ec4], [0ec6, 0ec6], [0ecd, 0ecd], [0edc, 0edf],
     67        [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c], [0f71, 0f81],
     68        [0f88, 0f97], [0f99, 0fbc], [1000, 1036], [1038, 1038],
     69        [103b, 103f], [1050, 1062], [1065, 1068], [106e, 1086],
     70        [108e, 108e], [109c, 109d], [10a0, 10c5], [10c7, 10c7],
     71        [10cd, 10cd], [10d0, 10fa], [10fc, 1248], [124a, 124d],
     72        [1250, 1256], [1258, 1258], [125a, 125d], [1260, 1288],
     73        [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be],
     74        [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310],
     75        [1312, 1315], [1318, 135a], [135f, 135f], [1380, 138f],
     76        [13a0, 13f5], [13f8, 13fd], [1401, 166c], [166f, 167f],
     77        [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c],
     78        [170e, 1713], [1720, 1733], [1740, 1753], [1760, 176c],
     79        [176e, 1770], [1772, 1773], [1780, 17b3], [17b6, 17c8],
     80        [17d7, 17d7], [17dc, 17dc], [1820, 1877], [1880, 18aa],
     81        [18b0, 18f5], [1900, 191e], [1920, 192b], [1930, 1938],
     82        [1950, 196d], [1970, 1974], [1980, 19ab], [19b0, 19c9],
     83        [1a00, 1a1b], [1a20, 1a5e], [1a61, 1a74], [1aa7, 1aa7],
     84        [1b00, 1b33], [1b35, 1b43], [1b45, 1b4b], [1b80, 1ba9],
     85        [1bac, 1baf], [1bba, 1be5], [1be7, 1bf1], [1c00, 1c35],
     86        [1c4d, 1c4f], [1c5a, 1c7d], [1c80, 1c88], [1ce9, 1cec],
     87        [1cee, 1cf3], [1cf5, 1cf6], [1d00, 1dbf], [1de7, 1df4],
     88        [1e00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d],
     89        [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
     90        [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc], [1fbe, 1fbe],
     91        [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3], [1fd6, 1fdb],
     92        [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc], [2071, 2071],
     93        [207f, 207f], [2090, 209c], [2102, 2102], [2107, 2107],
     94        [210a, 2113], [2115, 2115], [2119, 211d], [2124, 2124],
     95        [2126, 2126], [2128, 2128], [212a, 212d], [212f, 2139],
     96        [213c, 213f], [2145, 2149], [214e, 214e], [2160, 2188],
     97        [24b6, 24e9], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2ce4],
     98        [2ceb, 2cee], [2cf2, 2cf3], [2d00, 2d25], [2d27, 2d27],
     99        [2d2d, 2d2d], [2d30, 2d67], [2d6f, 2d6f], [2d80, 2d96],
     100        [2da0, 2da6], [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe],
     101        [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
     102        [2de0, 2dff], [2e2f, 2e2f], [3005, 3007], [3021, 3029],
     103        [3031, 3035], [3038, 303c], [3041, 3096], [309d, 309f],
     104        [30a1, 30fa], [30fc, 30ff], [3105, 312d], [3131, 318e],
     105        [31a0, 31ba], [31f0, 31ff], [3400, 4db5], [4e00, 9fd5],
     106        [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a61f],
     107        [a62a, a62b], [a640, a66e], [a674, a67b], [a67f, a6ef],
     108        [a717, a71f], [a722, a788], [a78b, a7ae], [a7b0, a7b7],
     109        [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a827],
     110        [a840, a873], [a880, a8c3], [a8c5, a8c5], [a8f2, a8f7],
     111        [a8fb, a8fb], [a8fd, a8fd], [a90a, a92a], [a930, a952],
     112        [a960, a97c], [a980, a9b2], [a9b4, a9bf], [a9cf, a9cf],
     113        [a9e0, a9e4], [a9e6, a9ef], [a9fa, a9fe], [aa00, aa36],
     114        [aa40, aa4d], [aa60, aa76], [aa7a, aa7a], [aa7e, aabe],
     115        [aac0, aac0], [aac2, aac2], [aadb, aadd], [aae0, aaef],
     116        [aaf2, aaf5], [ab01, ab06], [ab09, ab0e], [ab11, ab16],
     117        [ab20, ab26], [ab28, ab2e], [ab30, ab5a], [ab5c, ab65],
     118        [ab70, abea], [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb],
     119        [f900, fa6d], [fa70, fad9], [fb00, fb06], [fb13, fb17],
     120        [fb1d, fb28], [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e],
     121        [fb40, fb41], [fb43, fb44], [fb46, fbb1], [fbd3, fd3d],
     122        [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb], [fe70, fe74],
     123        [fe76, fefc], [ff21, ff3a], [ff41, ff5a], [ff66, ffbe],
     124        [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc],
     125        [10000, 1000b], [1000d, 10026], [10028, 1003a], [1003c, 1003d],
     126        [1003f, 1004d], [10050, 1005d], [10080, 100fa], [10140, 10174],
     127        [10280, 1029c], [102a0, 102d0], [10300, 1031f], [10330, 1034a],
     128        [10350, 1037a], [10380, 1039d], [103a0, 103c3], [103c8, 103cf],
     129        [103d1, 103d5], [10400, 1049d], [104b0, 104d3], [104d8, 104fb],
     130        [10500, 10527], [10530, 10563], [10600, 10736], [10740, 10755],
     131        [10760, 10767], [10800, 10805], [10808, 10808], [1080a, 10835],
     132        [10837, 10838], [1083c, 1083c], [1083f, 10855], [10860, 10876],
     133        [10880, 1089e], [108e0, 108f2], [108f4, 108f5], [10900, 10915],
     134        [10920, 10939], [10980, 109b7], [109be, 109bf], [10a00, 10a03],
     135        [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17], [10a19, 10a33],
     136        [10a60, 10a7c], [10a80, 10a9c], [10ac0, 10ac7], [10ac9, 10ae4],
     137        [10b00, 10b35], [10b40, 10b55], [10b60, 10b72], [10b80, 10b91],
     138        [10c00, 10c48], [10c80, 10cb2], [10cc0, 10cf2], [11000, 11045],
     139        [11082, 110b8], [110d0, 110e8], [11100, 11132], [11150, 11172],
     140        [11176, 11176], [11180, 111bf], [111c1, 111c4], [111da, 111da],
     141        [111dc, 111dc], [11200, 11211], [11213, 11234], [11237, 11237],
     142        [1123e, 1123e], [11280, 11286], [11288, 11288], [1128a, 1128d],
     143        [1128f, 1129d], [1129f, 112a8], [112b0, 112e8], [11300, 11303],
     144        [11305, 1130c], [1130f, 11310], [11313, 11328], [1132a, 11330],
     145        [11332, 11333], [11335, 11339], [1133d, 11344], [11347, 11348],
     146        [1134b, 1134c], [11350, 11350], [11357, 11357], [1135d, 11363],
     147        [11400, 11441], [11443, 11445], [11447, 1144a], [11480, 114c1],
     148        [114c4, 114c5], [114c7, 114c7], [11580, 115b5], [115b8, 115be],
     149        [115d8, 115dd], [11600, 1163e], [11640, 11640], [11644, 11644],
     150        [11680, 116b5], [11700, 11719], [1171d, 1172a], [118a0, 118df],
     151        [118ff, 118ff], [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c36],
     152        [11c38, 11c3e], [11c40, 11c40], [11c72, 11c8f], [11c92, 11ca7],
     153        [11ca9, 11cb6], [12000, 12399], [12400, 1246e], [12480, 12543],
     154        [13000, 1342e], [14400, 14646], [16800, 16a38], [16a40, 16a5e],
     155        [16ad0, 16aed], [16b00, 16b36], [16b40, 16b43], [16b63, 16b77],
     156        [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f7e], [16f93, 16f9f],
     157        [16fe0, 16fe0], [17000, 187ec], [18800, 18af2], [1b000, 1b001],
     158        [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
     159        [1bc9e, 1bc9e], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
     160        [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
     161        [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
     162        [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
     163        [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
     164        [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714],
     165        [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788],
     166        [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e000, 1e006],
     167        [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a],
     168        [1e800, 1e8c4], [1e900, 1e943], [1e947, 1e947], [1ee00, 1ee03],
     169        [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27],
     170        [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b],
     171        [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b],
     172        [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57],
     173        [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f],
     174        [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72],
     175        [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89],
     176        [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb],
     177        [1f130, 1f149], [1f150, 1f169], [1f170, 1f189], [20000, 2a6d6],
     178        [2a700, 2b734], [2b740, 2b81d], [2b820, 2cea1], [2f800, 2fa1d]**/
    185179        const UnicodeSet codepoint_set
    186180            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14},
     
    331325    namespace CI_ns {
    332326        /** Code Point Ranges for CI
    333         [39, 39], [46, 46], [58, 58], [94, 94], [96, 96], [168, 168],
    334         [173, 173], [175, 175], [180, 180], [183, 184], [688, 879],
    335         [884, 885], [890, 890], [900, 901], [903, 903], [1155, 1161],
    336         [1369, 1369], [1425, 1469], [1471, 1471], [1473, 1474],
    337         [1476, 1477], [1479, 1479], [1524, 1524], [1536, 1541],
    338         [1552, 1562], [1564, 1564], [1600, 1600], [1611, 1631],
    339         [1648, 1648], [1750, 1757], [1759, 1768], [1770, 1773],
    340         [1807, 1807], [1809, 1809], [1840, 1866], [1958, 1968],
    341         [2027, 2037], [2042, 2042], [2070, 2093], [2137, 2139],
    342         [2260, 2306], [2362, 2362], [2364, 2364], [2369, 2376],
    343         [2381, 2381], [2385, 2391], [2402, 2403], [2417, 2417],
    344         [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509],
    345         [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626],
    346         [2631, 2632], [2635, 2637], [2641, 2641], [2672, 2673],
    347         [2677, 2677], [2689, 2690], [2748, 2748], [2753, 2757],
    348         [2759, 2760], [2765, 2765], [2786, 2787], [2817, 2817],
    349         [2876, 2876], [2879, 2879], [2881, 2884], [2893, 2893],
    350         [2902, 2902], [2914, 2915], [2946, 2946], [3008, 3008],
    351         [3021, 3021], [3072, 3072], [3134, 3136], [3142, 3144],
    352         [3146, 3149], [3157, 3158], [3170, 3171], [3201, 3201],
    353         [3260, 3260], [3263, 3263], [3270, 3270], [3276, 3277],
    354         [3298, 3299], [3329, 3329], [3393, 3396], [3405, 3405],
    355         [3426, 3427], [3530, 3530], [3538, 3540], [3542, 3542],
    356         [3633, 3633], [3636, 3642], [3654, 3662], [3761, 3761],
    357         [3764, 3769], [3771, 3772], [3782, 3782], [3784, 3789],
    358         [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897],
    359         [3953, 3966], [3968, 3972], [3974, 3975], [3981, 3991],
    360         [3993, 4028], [4038, 4038], [4141, 4144], [4146, 4151],
    361         [4153, 4154], [4157, 4158], [4184, 4185], [4190, 4192],
    362         [4209, 4212], [4226, 4226], [4229, 4230], [4237, 4237],
    363         [4253, 4253], [4348, 4348], [4957, 4959], [5906, 5908],
    364         [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6069],
    365         [6071, 6077], [6086, 6086], [6089, 6099], [6103, 6103],
    366         [6109, 6109], [6155, 6158], [6211, 6211], [6277, 6278],
    367         [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450],
    368         [6457, 6459], [6679, 6680], [6683, 6683], [6742, 6742],
    369         [6744, 6750], [6752, 6752], [6754, 6754], [6757, 6764],
    370         [6771, 6780], [6783, 6783], [6823, 6823], [6832, 6846],
    371         [6912, 6915], [6964, 6964], [6966, 6970], [6972, 6972],
    372         [6978, 6978], [7019, 7027], [7040, 7041], [7074, 7077],
    373         [7080, 7081], [7083, 7085], [7142, 7142], [7144, 7145],
    374         [7149, 7149], [7151, 7153], [7212, 7219], [7222, 7223],
    375         [7288, 7293], [7376, 7378], [7380, 7392], [7394, 7400],
    376         [7405, 7405], [7412, 7412], [7416, 7417], [7468, 7530],
    377         [7544, 7544], [7579, 7669], [7675, 7679], [8125, 8125],
    378         [8127, 8129], [8141, 8143], [8157, 8159], [8173, 8175],
    379         [8189, 8190], [8203, 8207], [8216, 8217], [8228, 8228],
    380         [8231, 8231], [8234, 8238], [8288, 8292], [8294, 8303],
    381         [8305, 8305], [8319, 8319], [8336, 8348], [8400, 8432],
    382         [11388, 11389], [11503, 11505], [11631, 11631], [11647, 11647],
    383         [11744, 11775], [11823, 11823], [12293, 12293], [12330, 12333],
    384         [12337, 12341], [12347, 12347], [12441, 12446], [12540, 12542],
    385         [40981, 40981], [42232, 42237], [42508, 42508], [42607, 42610],
    386         [42612, 42621], [42623, 42623], [42652, 42655], [42736, 42737],
    387         [42752, 42785], [42864, 42864], [42888, 42890], [43000, 43001],
    388         [43010, 43010], [43014, 43014], [43019, 43019], [43045, 43046],
    389         [43204, 43205], [43232, 43249], [43302, 43309], [43335, 43345],
    390         [43392, 43394], [43443, 43443], [43446, 43449], [43452, 43452],
    391         [43471, 43471], [43493, 43494], [43561, 43566], [43569, 43570],
    392         [43573, 43574], [43587, 43587], [43596, 43596], [43632, 43632],
    393         [43644, 43644], [43696, 43696], [43698, 43700], [43703, 43704],
    394         [43710, 43711], [43713, 43713], [43741, 43741], [43756, 43757],
    395         [43763, 43764], [43766, 43766], [43867, 43871], [44005, 44005],
    396         [44008, 44008], [44013, 44013], [64286, 64286], [64434, 64449],
    397         [65024, 65039], [65043, 65043], [65056, 65071], [65106, 65106],
    398         [65109, 65109], [65279, 65279], [65287, 65287], [65294, 65294],
    399         [65306, 65306], [65342, 65342], [65344, 65344], [65392, 65392],
    400         [65438, 65439], [65507, 65507], [65529, 65531], [66045, 66045],
    401         [66272, 66272], [66422, 66426], [68097, 68099], [68101, 68102],
    402         [68108, 68111], [68152, 68154], [68159, 68159], [68325, 68326],
    403         [69633, 69633], [69688, 69702], [69759, 69761], [69811, 69814],
    404         [69817, 69818], [69821, 69821], [69888, 69890], [69927, 69931],
    405         [69933, 69940], [70003, 70003], [70016, 70017], [70070, 70078],
    406         [70090, 70092], [70191, 70193], [70196, 70196], [70198, 70199],
    407         [70206, 70206], [70367, 70367], [70371, 70378], [70400, 70401],
    408         [70460, 70460], [70464, 70464], [70502, 70508], [70512, 70516],
    409         [70712, 70719], [70722, 70724], [70726, 70726], [70835, 70840],
    410         [70842, 70842], [70847, 70848], [70850, 70851], [71090, 71093],
    411         [71100, 71101], [71103, 71104], [71132, 71133], [71219, 71226],
    412         [71229, 71229], [71231, 71232], [71339, 71339], [71341, 71341],
    413         [71344, 71349], [71351, 71351], [71453, 71455], [71458, 71461],
    414         [71463, 71467], [72752, 72758], [72760, 72765], [72767, 72767],
    415         [72850, 72871], [72874, 72880], [72882, 72883], [72885, 72886],
    416         [92912, 92916], [92976, 92982], [92992, 92995], [94095, 94111],
    417         [94176, 94176], [113821, 113822], [113824, 113827],
    418         [119143, 119145], [119155, 119170], [119173, 119179],
    419         [119210, 119213], [119362, 119364], [121344, 121398],
    420         [121403, 121452], [121461, 121461], [121476, 121476],
    421         [121499, 121503], [121505, 121519], [122880, 122886],
    422         [122888, 122904], [122907, 122913], [122915, 122916],
    423         [122918, 122922], [125136, 125142], [125252, 125258],
    424         [127995, 127999], [917505, 917505], [917536, 917631],
    425         [917760, 917999]**/
     327        [0027, 0027], [002e, 002e], [003a, 003a], [005e, 005e],
     328        [0060, 0060], [00a8, 00a8], [00ad, 00ad], [00af, 00af],
     329        [00b4, 00b4], [00b7, 00b8], [02b0, 036f], [0374, 0375],
     330        [037a, 037a], [0384, 0385], [0387, 0387], [0483, 0489],
     331        [0559, 0559], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
     332        [05c4, 05c5], [05c7, 05c7], [05f4, 05f4], [0600, 0605],
     333        [0610, 061a], [061c, 061c], [0640, 0640], [064b, 065f],
     334        [0670, 0670], [06d6, 06dd], [06df, 06e8], [06ea, 06ed],
     335        [070f, 070f], [0711, 0711], [0730, 074a], [07a6, 07b0],
     336        [07eb, 07f5], [07fa, 07fa], [0816, 082d], [0859, 085b],
     337        [08d4, 0902], [093a, 093a], [093c, 093c], [0941, 0948],
     338        [094d, 094d], [0951, 0957], [0962, 0963], [0971, 0971],
     339        [0981, 0981], [09bc, 09bc], [09c1, 09c4], [09cd, 09cd],
     340        [09e2, 09e3], [0a01, 0a02], [0a3c, 0a3c], [0a41, 0a42],
     341        [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71],
     342        [0a75, 0a75], [0a81, 0a82], [0abc, 0abc], [0ac1, 0ac5],
     343        [0ac7, 0ac8], [0acd, 0acd], [0ae2, 0ae3], [0b01, 0b01],
     344        [0b3c, 0b3c], [0b3f, 0b3f], [0b41, 0b44], [0b4d, 0b4d],
     345        [0b56, 0b56], [0b62, 0b63], [0b82, 0b82], [0bc0, 0bc0],
     346        [0bcd, 0bcd], [0c00, 0c00], [0c3e, 0c40], [0c46, 0c48],
     347        [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63], [0c81, 0c81],
     348        [0cbc, 0cbc], [0cbf, 0cbf], [0cc6, 0cc6], [0ccc, 0ccd],
     349        [0ce2, 0ce3], [0d01, 0d01], [0d41, 0d44], [0d4d, 0d4d],
     350        [0d62, 0d63], [0dca, 0dca], [0dd2, 0dd4], [0dd6, 0dd6],
     351        [0e31, 0e31], [0e34, 0e3a], [0e46, 0e4e], [0eb1, 0eb1],
     352        [0eb4, 0eb9], [0ebb, 0ebc], [0ec6, 0ec6], [0ec8, 0ecd],
     353        [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
     354        [0f71, 0f7e], [0f80, 0f84], [0f86, 0f87], [0f8d, 0f97],
     355        [0f99, 0fbc], [0fc6, 0fc6], [102d, 1030], [1032, 1037],
     356        [1039, 103a], [103d, 103e], [1058, 1059], [105e, 1060],
     357        [1071, 1074], [1082, 1082], [1085, 1086], [108d, 108d],
     358        [109d, 109d], [10fc, 10fc], [135d, 135f], [1712, 1714],
     359        [1732, 1734], [1752, 1753], [1772, 1773], [17b4, 17b5],
     360        [17b7, 17bd], [17c6, 17c6], [17c9, 17d3], [17d7, 17d7],
     361        [17dd, 17dd], [180b, 180e], [1843, 1843], [1885, 1886],
     362        [18a9, 18a9], [1920, 1922], [1927, 1928], [1932, 1932],
     363        [1939, 193b], [1a17, 1a18], [1a1b, 1a1b], [1a56, 1a56],
     364        [1a58, 1a5e], [1a60, 1a60], [1a62, 1a62], [1a65, 1a6c],
     365        [1a73, 1a7c], [1a7f, 1a7f], [1aa7, 1aa7], [1ab0, 1abe],
     366        [1b00, 1b03], [1b34, 1b34], [1b36, 1b3a], [1b3c, 1b3c],
     367        [1b42, 1b42], [1b6b, 1b73], [1b80, 1b81], [1ba2, 1ba5],
     368        [1ba8, 1ba9], [1bab, 1bad], [1be6, 1be6], [1be8, 1be9],
     369        [1bed, 1bed], [1bef, 1bf1], [1c2c, 1c33], [1c36, 1c37],
     370        [1c78, 1c7d], [1cd0, 1cd2], [1cd4, 1ce0], [1ce2, 1ce8],
     371        [1ced, 1ced], [1cf4, 1cf4], [1cf8, 1cf9], [1d2c, 1d6a],
     372        [1d78, 1d78], [1d9b, 1df5], [1dfb, 1dff], [1fbd, 1fbd],
     373        [1fbf, 1fc1], [1fcd, 1fcf], [1fdd, 1fdf], [1fed, 1fef],
     374        [1ffd, 1ffe], [200b, 200f], [2018, 2019], [2024, 2024],
     375        [2027, 2027], [202a, 202e], [2060, 2064], [2066, 206f],
     376        [2071, 2071], [207f, 207f], [2090, 209c], [20d0, 20f0],
     377        [2c7c, 2c7d], [2cef, 2cf1], [2d6f, 2d6f], [2d7f, 2d7f],
     378        [2de0, 2dff], [2e2f, 2e2f], [3005, 3005], [302a, 302d],
     379        [3031, 3035], [303b, 303b], [3099, 309e], [30fc, 30fe],
     380        [a015, a015], [a4f8, a4fd], [a60c, a60c], [a66f, a672],
     381        [a674, a67d], [a67f, a67f], [a69c, a69f], [a6f0, a6f1],
     382        [a700, a721], [a770, a770], [a788, a78a], [a7f8, a7f9],
     383        [a802, a802], [a806, a806], [a80b, a80b], [a825, a826],
     384        [a8c4, a8c5], [a8e0, a8f1], [a926, a92d], [a947, a951],
     385        [a980, a982], [a9b3, a9b3], [a9b6, a9b9], [a9bc, a9bc],
     386        [a9cf, a9cf], [a9e5, a9e6], [aa29, aa2e], [aa31, aa32],
     387        [aa35, aa36], [aa43, aa43], [aa4c, aa4c], [aa70, aa70],
     388        [aa7c, aa7c], [aab0, aab0], [aab2, aab4], [aab7, aab8],
     389        [aabe, aabf], [aac1, aac1], [aadd, aadd], [aaec, aaed],
     390        [aaf3, aaf4], [aaf6, aaf6], [ab5b, ab5f], [abe5, abe5],
     391        [abe8, abe8], [abed, abed], [fb1e, fb1e], [fbb2, fbc1],
     392        [fe00, fe0f], [fe13, fe13], [fe20, fe2f], [fe52, fe52],
     393        [fe55, fe55], [feff, feff], [ff07, ff07], [ff0e, ff0e],
     394        [ff1a, ff1a], [ff3e, ff3e], [ff40, ff40], [ff70, ff70],
     395        [ff9e, ff9f], [ffe3, ffe3], [fff9, fffb], [101fd, 101fd],
     396        [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
     397        [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
     398        [11001, 11001], [11038, 11046], [1107f, 11081], [110b3, 110b6],
     399        [110b9, 110ba], [110bd, 110bd], [11100, 11102], [11127, 1112b],
     400        [1112d, 11134], [11173, 11173], [11180, 11181], [111b6, 111be],
     401        [111ca, 111cc], [1122f, 11231], [11234, 11234], [11236, 11237],
     402        [1123e, 1123e], [112df, 112df], [112e3, 112ea], [11300, 11301],
     403        [1133c, 1133c], [11340, 11340], [11366, 1136c], [11370, 11374],
     404        [11438, 1143f], [11442, 11444], [11446, 11446], [114b3, 114b8],
     405        [114ba, 114ba], [114bf, 114c0], [114c2, 114c3], [115b2, 115b5],
     406        [115bc, 115bd], [115bf, 115c0], [115dc, 115dd], [11633, 1163a],
     407        [1163d, 1163d], [1163f, 11640], [116ab, 116ab], [116ad, 116ad],
     408        [116b0, 116b5], [116b7, 116b7], [1171d, 1171f], [11722, 11725],
     409        [11727, 1172b], [11c30, 11c36], [11c38, 11c3d], [11c3f, 11c3f],
     410        [11c92, 11ca7], [11caa, 11cb0], [11cb2, 11cb3], [11cb5, 11cb6],
     411        [16af0, 16af4], [16b30, 16b36], [16b40, 16b43], [16f8f, 16f9f],
     412        [16fe0, 16fe0], [1bc9d, 1bc9e], [1bca0, 1bca3], [1d167, 1d169],
     413        [1d173, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [1d242, 1d244],
     414        [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75], [1da84, 1da84],
     415        [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006], [1e008, 1e018],
     416        [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a], [1e8d0, 1e8d6],
     417        [1e944, 1e94a], [1f3fb, 1f3ff], [e0001, e0001], [e0020, e007f],
     418        [e0100, e01ef]**/
    426419        const UnicodeSet codepoint_set
    427420            {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 15},
     
    518511    namespace CWCF_ns {
    519512        /** Code Point Ranges for CWCF
    520         [65, 90], [181, 181], [192, 214], [216, 223], [256, 256],
    521         [258, 258], [260, 260], [262, 262], [264, 264], [266, 266],
    522         [268, 268], [270, 270], [272, 272], [274, 274], [276, 276],
    523         [278, 278], [280, 280], [282, 282], [284, 284], [286, 286],
    524         [288, 288], [290, 290], [292, 292], [294, 294], [296, 296],
    525         [298, 298], [300, 300], [302, 302], [304, 304], [306, 306],
    526         [308, 308], [310, 310], [313, 313], [315, 315], [317, 317],
    527         [319, 319], [321, 321], [323, 323], [325, 325], [327, 327],
    528         [329, 330], [332, 332], [334, 334], [336, 336], [338, 338],
    529         [340, 340], [342, 342], [344, 344], [346, 346], [348, 348],
    530         [350, 350], [352, 352], [354, 354], [356, 356], [358, 358],
    531         [360, 360], [362, 362], [364, 364], [366, 366], [368, 368],
    532         [370, 370], [372, 372], [374, 374], [376, 377], [379, 379],
    533         [381, 381], [383, 383], [385, 386], [388, 388], [390, 391],
    534         [393, 395], [398, 401], [403, 404], [406, 408], [412, 413],
    535         [415, 416], [418, 418], [420, 420], [422, 423], [425, 425],
    536         [428, 428], [430, 431], [433, 435], [437, 437], [439, 440],
    537         [444, 444], [452, 453], [455, 456], [458, 459], [461, 461],
    538         [463, 463], [465, 465], [467, 467], [469, 469], [471, 471],
    539         [473, 473], [475, 475], [478, 478], [480, 480], [482, 482],
    540         [484, 484], [486, 486], [488, 488], [490, 490], [492, 492],
    541         [494, 494], [497, 498], [500, 500], [502, 504], [506, 506],
    542         [508, 508], [510, 510], [512, 512], [514, 514], [516, 516],
    543         [518, 518], [520, 520], [522, 522], [524, 524], [526, 526],
    544         [528, 528], [530, 530], [532, 532], [534, 534], [536, 536],
    545         [538, 538], [540, 540], [542, 542], [544, 544], [546, 546],
    546         [548, 548], [550, 550], [552, 552], [554, 554], [556, 556],
    547         [558, 558], [560, 560], [562, 562], [570, 571], [573, 574],
    548         [577, 577], [579, 582], [584, 584], [586, 586], [588, 588],
    549         [590, 590], [837, 837], [880, 880], [882, 882], [886, 886],
    550         [895, 895], [902, 902], [904, 906], [908, 908], [910, 911],
    551         [913, 929], [931, 939], [962, 962], [975, 977], [981, 982],
    552         [984, 984], [986, 986], [988, 988], [990, 990], [992, 992],
    553         [994, 994], [996, 996], [998, 998], [1000, 1000], [1002, 1002],
    554         [1004, 1004], [1006, 1006], [1008, 1009], [1012, 1013],
    555         [1015, 1015], [1017, 1018], [1021, 1071], [1120, 1120],
    556         [1122, 1122], [1124, 1124], [1126, 1126], [1128, 1128],
    557         [1130, 1130], [1132, 1132], [1134, 1134], [1136, 1136],
    558         [1138, 1138], [1140, 1140], [1142, 1142], [1144, 1144],
    559         [1146, 1146], [1148, 1148], [1150, 1150], [1152, 1152],
    560         [1162, 1162], [1164, 1164], [1166, 1166], [1168, 1168],
    561         [1170, 1170], [1172, 1172], [1174, 1174], [1176, 1176],
    562         [1178, 1178], [1180, 1180], [1182, 1182], [1184, 1184],
    563         [1186, 1186], [1188, 1188], [1190, 1190], [1192, 1192],
    564         [1194, 1194], [1196, 1196], [1198, 1198], [1200, 1200],
    565         [1202, 1202], [1204, 1204], [1206, 1206], [1208, 1208],
    566         [1210, 1210], [1212, 1212], [1214, 1214], [1216, 1217],
    567         [1219, 1219], [1221, 1221], [1223, 1223], [1225, 1225],
    568         [1227, 1227], [1229, 1229], [1232, 1232], [1234, 1234],
    569         [1236, 1236], [1238, 1238], [1240, 1240], [1242, 1242],
    570         [1244, 1244], [1246, 1246], [1248, 1248], [1250, 1250],
    571         [1252, 1252], [1254, 1254], [1256, 1256], [1258, 1258],
    572         [1260, 1260], [1262, 1262], [1264, 1264], [1266, 1266],
    573         [1268, 1268], [1270, 1270], [1272, 1272], [1274, 1274],
    574         [1276, 1276], [1278, 1278], [1280, 1280], [1282, 1282],
    575         [1284, 1284], [1286, 1286], [1288, 1288], [1290, 1290],
    576         [1292, 1292], [1294, 1294], [1296, 1296], [1298, 1298],
    577         [1300, 1300], [1302, 1302], [1304, 1304], [1306, 1306],
    578         [1308, 1308], [1310, 1310], [1312, 1312], [1314, 1314],
    579         [1316, 1316], [1318, 1318], [1320, 1320], [1322, 1322],
    580         [1324, 1324], [1326, 1326], [1329, 1366], [1415, 1415],
    581         [4256, 4293], [4295, 4295], [4301, 4301], [5112, 5117],
    582         [7296, 7304], [7680, 7680], [7682, 7682], [7684, 7684],
    583         [7686, 7686], [7688, 7688], [7690, 7690], [7692, 7692],
    584         [7694, 7694], [7696, 7696], [7698, 7698], [7700, 7700],
    585         [7702, 7702], [7704, 7704], [7706, 7706], [7708, 7708],
    586         [7710, 7710], [7712, 7712], [7714, 7714], [7716, 7716],
    587         [7718, 7718], [7720, 7720], [7722, 7722], [7724, 7724],
    588         [7726, 7726], [7728, 7728], [7730, 7730], [7732, 7732],
    589         [7734, 7734], [7736, 7736], [7738, 7738], [7740, 7740],
    590         [7742, 7742], [7744, 7744], [7746, 7746], [7748, 7748],
    591         [7750, 7750], [7752, 7752], [7754, 7754], [7756, 7756],
    592         [7758, 7758], [7760, 7760], [7762, 7762], [7764, 7764],
    593         [7766, 7766], [7768, 7768], [7770, 7770], [7772, 7772],
    594         [7774, 7774], [7776, 7776], [7778, 7778], [7780, 7780],
    595         [7782, 7782], [7784, 7784], [7786, 7786], [7788, 7788],
    596         [7790, 7790], [7792, 7792], [7794, 7794], [7796, 7796],
    597         [7798, 7798], [7800, 7800], [7802, 7802], [7804, 7804],
    598         [7806, 7806], [7808, 7808], [7810, 7810], [7812, 7812],
    599         [7814, 7814], [7816, 7816], [7818, 7818], [7820, 7820],
    600         [7822, 7822], [7824, 7824], [7826, 7826], [7828, 7828],
    601         [7834, 7835], [7838, 7838], [7840, 7840], [7842, 7842],
    602         [7844, 7844], [7846, 7846], [7848, 7848], [7850, 7850],
    603         [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
    604         [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866],
    605         [7868, 7868], [7870, 7870], [7872, 7872], [7874, 7874],
    606         [7876, 7876], [7878, 7878], [7880, 7880], [7882, 7882],
    607         [7884, 7884], [7886, 7886], [7888, 7888], [7890, 7890],
    608         [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
    609         [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906],
    610         [7908, 7908], [7910, 7910], [7912, 7912], [7914, 7914],
    611         [7916, 7916], [7918, 7918], [7920, 7920], [7922, 7922],
    612         [7924, 7924], [7926, 7926], [7928, 7928], [7930, 7930],
    613         [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
    614         [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025],
    615         [8027, 8027], [8029, 8029], [8031, 8031], [8040, 8047],
    616         [8064, 8111], [8114, 8116], [8119, 8124], [8130, 8132],
    617         [8135, 8140], [8152, 8155], [8168, 8172], [8178, 8180],
    618         [8183, 8188], [8486, 8486], [8490, 8491], [8498, 8498],
    619         [8544, 8559], [8579, 8579], [9398, 9423], [11264, 11310],
    620         [11360, 11360], [11362, 11364], [11367, 11367], [11369, 11369],
    621         [11371, 11371], [11373, 11376], [11378, 11378], [11381, 11381],
    622         [11390, 11392], [11394, 11394], [11396, 11396], [11398, 11398],
    623         [11400, 11400], [11402, 11402], [11404, 11404], [11406, 11406],
    624         [11408, 11408], [11410, 11410], [11412, 11412], [11414, 11414],
    625         [11416, 11416], [11418, 11418], [11420, 11420], [11422, 11422],
    626         [11424, 11424], [11426, 11426], [11428, 11428], [11430, 11430],
    627         [11432, 11432], [11434, 11434], [11436, 11436], [11438, 11438],
    628         [11440, 11440], [11442, 11442], [11444, 11444], [11446, 11446],
    629         [11448, 11448], [11450, 11450], [11452, 11452], [11454, 11454],
    630         [11456, 11456], [11458, 11458], [11460, 11460], [11462, 11462],
    631         [11464, 11464], [11466, 11466], [11468, 11468], [11470, 11470],
    632         [11472, 11472], [11474, 11474], [11476, 11476], [11478, 11478],
    633         [11480, 11480], [11482, 11482], [11484, 11484], [11486, 11486],
    634         [11488, 11488], [11490, 11490], [11499, 11499], [11501, 11501],
    635         [11506, 11506], [42560, 42560], [42562, 42562], [42564, 42564],
    636         [42566, 42566], [42568, 42568], [42570, 42570], [42572, 42572],
    637         [42574, 42574], [42576, 42576], [42578, 42578], [42580, 42580],
    638         [42582, 42582], [42584, 42584], [42586, 42586], [42588, 42588],
    639         [42590, 42590], [42592, 42592], [42594, 42594], [42596, 42596],
    640         [42598, 42598], [42600, 42600], [42602, 42602], [42604, 42604],
    641         [42624, 42624], [42626, 42626], [42628, 42628], [42630, 42630],
    642         [42632, 42632], [42634, 42634], [42636, 42636], [42638, 42638],
    643         [42640, 42640], [42642, 42642], [42644, 42644], [42646, 42646],
    644         [42648, 42648], [42650, 42650], [42786, 42786], [42788, 42788],
    645         [42790, 42790], [42792, 42792], [42794, 42794], [42796, 42796],
    646         [42798, 42798], [42802, 42802], [42804, 42804], [42806, 42806],
    647         [42808, 42808], [42810, 42810], [42812, 42812], [42814, 42814],
    648         [42816, 42816], [42818, 42818], [42820, 42820], [42822, 42822],
    649         [42824, 42824], [42826, 42826], [42828, 42828], [42830, 42830],
    650         [42832, 42832], [42834, 42834], [42836, 42836], [42838, 42838],
    651         [42840, 42840], [42842, 42842], [42844, 42844], [42846, 42846],
    652         [42848, 42848], [42850, 42850], [42852, 42852], [42854, 42854],
    653         [42856, 42856], [42858, 42858], [42860, 42860], [42862, 42862],
    654         [42873, 42873], [42875, 42875], [42877, 42878], [42880, 42880],
    655         [42882, 42882], [42884, 42884], [42886, 42886], [42891, 42891],
    656         [42893, 42893], [42896, 42896], [42898, 42898], [42902, 42902],
    657         [42904, 42904], [42906, 42906], [42908, 42908], [42910, 42910],
    658         [42912, 42912], [42914, 42914], [42916, 42916], [42918, 42918],
    659         [42920, 42920], [42922, 42926], [42928, 42932], [42934, 42934],
    660         [43888, 43967], [64256, 64262], [64275, 64279], [65313, 65338],
    661         [66560, 66599], [66736, 66771], [68736, 68786], [71840, 71871],
    662         [125184, 125217]**/
     513        [0041, 005a], [00b5, 00b5], [00c0, 00d6], [00d8, 00df],
     514        [0100, 0100], [0102, 0102], [0104, 0104], [0106, 0106],
     515        [0108, 0108], [010a, 010a], [010c, 010c], [010e, 010e],
     516        [0110, 0110], [0112, 0112], [0114, 0114], [0116, 0116],
     517        [0118, 0118], [011a, 011a], [011c, 011c], [011e, 011e],
     518        [0120, 0120], [0122, 0122], [0124, 0124], [0126, 0126],
     519        [0128, 0128], [012a, 012a], [012c, 012c], [012e, 012e],
     520        [0130, 0130], [0132, 0132], [0134, 0134], [0136, 0136],
     521        [0139, 0139], [013b, 013b], [013d, 013d], [013f, 013f],
     522        [0141, 0141], [0143, 0143], [0145, 0145], [0147, 0147],
     523        [0149, 014a], [014c, 014c], [014e, 014e], [0150, 0150],
     524        [0152, 0152], [0154, 0154], [0156, 0156], [0158, 0158],
     525        [015a, 015a], [015c, 015c], [015e, 015e], [0160, 0160],
     526        [0162, 0162], [0164, 0164], [0166, 0166], [0168, 0168],
     527        [016a, 016a], [016c, 016c], [016e, 016e], [0170, 0170],
     528        [0172, 0172], [0174, 0174], [0176, 0176], [0178, 0179],
     529        [017b, 017b], [017d, 017d], [017f, 017f], [0181, 0182],
     530        [0184, 0184], [0186, 0187], [0189, 018b], [018e, 0191],
     531        [0193, 0194], [0196, 0198], [019c, 019d], [019f, 01a0],
     532        [01a2, 01a2], [01a4, 01a4], [01a6, 01a7], [01a9, 01a9],
     533        [01ac, 01ac], [01ae, 01af], [01b1, 01b3], [01b5, 01b5],
     534        [01b7, 01b8], [01bc, 01bc], [01c4, 01c5], [01c7, 01c8],
     535        [01ca, 01cb], [01cd, 01cd], [01cf, 01cf], [01d1, 01d1],
     536        [01d3, 01d3], [01d5, 01d5], [01d7, 01d7], [01d9, 01d9],
     537        [01db, 01db], [01de, 01de], [01e0, 01e0], [01e2, 01e2],
     538        [01e4, 01e4], [01e6, 01e6], [01e8, 01e8], [01ea, 01ea],
     539        [01ec, 01ec], [01ee, 01ee], [01f1, 01f2], [01f4, 01f4],
     540        [01f6, 01f8], [01fa, 01fa], [01fc, 01fc], [01fe, 01fe],
     541        [0200, 0200], [0202, 0202], [0204, 0204], [0206, 0206],
     542        [0208, 0208], [020a, 020a], [020c, 020c], [020e, 020e],
     543        [0210, 0210], [0212, 0212], [0214, 0214], [0216, 0216],
     544        [0218, 0218], [021a, 021a], [021c, 021c], [021e, 021e],
     545        [0220, 0220], [0222, 0222], [0224, 0224], [0226, 0226],
     546        [0228, 0228], [022a, 022a], [022c, 022c], [022e, 022e],
     547        [0230, 0230], [0232, 0232], [023a, 023b], [023d, 023e],
     548        [0241, 0241], [0243, 0246], [0248, 0248], [024a, 024a],
     549        [024c, 024c], [024e, 024e], [0345, 0345], [0370, 0370],
     550        [0372, 0372], [0376, 0376], [037f, 037f], [0386, 0386],
     551        [0388, 038a], [038c, 038c], [038e, 038f], [0391, 03a1],
     552        [03a3, 03ab], [03c2, 03c2], [03cf, 03d1], [03d5, 03d6],
     553        [03d8, 03d8], [03da, 03da], [03dc, 03dc], [03de, 03de],
     554        [03e0, 03e0], [03e2, 03e2], [03e4, 03e4], [03e6, 03e6],
     555        [03e8, 03e8], [03ea, 03ea], [03ec, 03ec], [03ee, 03ee],
     556        [03f0, 03f1], [03f4, 03f5], [03f7, 03f7], [03f9, 03fa],
     557        [03fd, 042f], [0460, 0460], [0462, 0462], [0464, 0464],
     558        [0466, 0466], [0468, 0468], [046a, 046a], [046c, 046c],
     559        [046e, 046e], [0470, 0470], [0472, 0472], [0474, 0474],
     560        [0476, 0476], [0478, 0478], [047a, 047a], [047c, 047c],
     561        [047e, 047e], [0480, 0480], [048a, 048a], [048c, 048c],
     562        [048e, 048e], [0490, 0490], [0492, 0492], [0494, 0494],
     563        [0496, 0496], [0498, 0498], [049a, 049a], [049c, 049c],
     564        [049e, 049e], [04a0, 04a0], [04a2, 04a2], [04a4, 04a4],
     565        [04a6, 04a6], [04a8, 04a8], [04aa, 04aa], [04ac, 04ac],
     566        [04ae, 04ae], [04b0, 04b0], [04b2, 04b2], [04b4, 04b4],
     567        [04b6, 04b6], [04b8, 04b8], [04ba, 04ba], [04bc, 04bc],
     568        [04be, 04be], [04c0, 04c1], [04c3, 04c3], [04c5, 04c5],
     569        [04c7, 04c7], [04c9, 04c9], [04cb, 04cb], [04cd, 04cd],
     570        [04d0, 04d0], [04d2, 04d2], [04d4, 04d4], [04d6, 04d6],
     571        [04d8, 04d8], [04da, 04da], [04dc, 04dc], [04de, 04de],
     572        [04e0, 04e0], [04e2, 04e2], [04e4, 04e4], [04e6, 04e6],
     573        [04e8, 04e8], [04ea, 04ea], [04ec, 04ec], [04ee, 04ee],
     574        [04f0, 04f0], [04f2, 04f2], [04f4, 04f4], [04f6, 04f6],
     575        [04f8, 04f8], [04fa, 04fa], [04fc, 04fc], [04fe, 04fe],
     576        [0500, 0500], [0502, 0502], [0504, 0504], [0506, 0506],
     577        [0508, 0508], [050a, 050a], [050c, 050c], [050e, 050e],
     578        [0510, 0510], [0512, 0512], [0514, 0514], [0516, 0516],
     579        [0518, 0518], [051a, 051a], [051c, 051c], [051e, 051e],
     580        [0520, 0520], [0522, 0522], [0524, 0524], [0526, 0526],
     581        [0528, 0528], [052a, 052a], [052c, 052c], [052e, 052e],
     582        [0531, 0556], [0587, 0587], [10a0, 10c5], [10c7, 10c7],
     583        [10cd, 10cd], [13f8, 13fd], [1c80, 1c88], [1e00, 1e00],
     584        [1e02, 1e02], [1e04, 1e04], [1e06, 1e06], [1e08, 1e08],
     585        [1e0a, 1e0a], [1e0c, 1e0c], [1e0e, 1e0e], [1e10, 1e10],
     586        [1e12, 1e12], [1e14, 1e14], [1e16, 1e16], [1e18, 1e18],
     587        [1e1a, 1e1a], [1e1c, 1e1c], [1e1e, 1e1e], [1e20, 1e20],
     588        [1e22, 1e22], [1e24, 1e24], [1e26, 1e26], [1e28, 1e28],
     589        [1e2a, 1e2a], [1e2c, 1e2c], [1e2e, 1e2e], [1e30, 1e30],
     590        [1e32, 1e32], [1e34, 1e34], [1e36, 1e36], [1e38, 1e38],
     591        [1e3a, 1e3a], [1e3c, 1e3c], [1e3e, 1e3e], [1e40, 1e40],
     592        [1e42, 1e42], [1e44, 1e44], [1e46, 1e46], [1e48, 1e48],
     593        [1e4a, 1e4a], [1e4c, 1e4c], [1e4e, 1e4e], [1e50, 1e50],
     594        [1e52, 1e52], [1e54, 1e54], [1e56, 1e56], [1e58, 1e58],
     595        [1e5a, 1e5a], [1e5c, 1e5c], [1e5e, 1e5e], [1e60, 1e60],
     596        [1e62, 1e62], [1e64, 1e64], [1e66, 1e66], [1e68, 1e68],
     597        [1e6a, 1e6a], [1e6c, 1e6c], [1e6e, 1e6e], [1e70, 1e70],
     598        [1e72, 1e72], [1e74, 1e74], [1e76, 1e76], [1e78, 1e78],
     599        [1e7a, 1e7a], [1e7c, 1e7c], [1e7e, 1e7e], [1e80, 1e80],
     600        [1e82, 1e82], [1e84, 1e84], [1e86, 1e86], [1e88, 1e88],
     601        [1e8a, 1e8a], [1e8c, 1e8c], [1e8e, 1e8e], [1e90, 1e90],
     602        [1e92, 1e92], [1e94, 1e94], [1e9a, 1e9b], [1e9e, 1e9e],
     603        [1ea0, 1ea0], [1ea2, 1ea2], [1ea4, 1ea4], [1ea6, 1ea6],
     604        [1ea8, 1ea8], [1eaa, 1eaa], [1eac, 1eac], [1eae, 1eae],
     605        [1eb0, 1eb0], [1eb2, 1eb2], [1eb4, 1eb4], [1eb6, 1eb6],
     606        [1eb8, 1eb8], [1eba, 1eba], [1ebc, 1ebc], [1ebe, 1ebe],
     607        [1ec0, 1ec0], [1ec2, 1ec2], [1ec4, 1ec4], [1ec6, 1ec6],
     608        [1ec8, 1ec8], [1eca, 1eca], [1ecc, 1ecc], [1ece, 1ece],
     609        [1ed0, 1ed0], [1ed2, 1ed2], [1ed4, 1ed4], [1ed6, 1ed6],
     610        [1ed8, 1ed8], [1eda, 1eda], [1edc, 1edc], [1ede, 1ede],
     611        [1ee0, 1ee0], [1ee2, 1ee2], [1ee4, 1ee4], [1ee6, 1ee6],
     612        [1ee8, 1ee8], [1eea, 1eea], [1eec, 1eec], [1eee, 1eee],
     613        [1ef0, 1ef0], [1ef2, 1ef2], [1ef4, 1ef4], [1ef6, 1ef6],
     614        [1ef8, 1ef8], [1efa, 1efa], [1efc, 1efc], [1efe, 1efe],
     615        [1f08, 1f0f], [1f18, 1f1d], [1f28, 1f2f], [1f38, 1f3f],
     616        [1f48, 1f4d], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
     617        [1f5f, 1f5f], [1f68, 1f6f], [1f80, 1faf], [1fb2, 1fb4],
     618        [1fb7, 1fbc], [1fc2, 1fc4], [1fc7, 1fcc], [1fd8, 1fdb],
     619        [1fe8, 1fec], [1ff2, 1ff4], [1ff7, 1ffc], [2126, 2126],
     620        [212a, 212b], [2132, 2132], [2160, 216f], [2183, 2183],
     621        [24b6, 24cf], [2c00, 2c2e], [2c60, 2c60], [2c62, 2c64],
     622        [2c67, 2c67], [2c69, 2c69], [2c6b, 2c6b], [2c6d, 2c70],
     623        [2c72, 2c72], [2c75, 2c75], [2c7e, 2c80], [2c82, 2c82],
     624        [2c84, 2c84], [2c86, 2c86], [2c88, 2c88], [2c8a, 2c8a],
     625        [2c8c, 2c8c], [2c8e, 2c8e], [2c90, 2c90], [2c92, 2c92],
     626        [2c94, 2c94], [2c96, 2c96], [2c98, 2c98], [2c9a, 2c9a],
     627        [2c9c, 2c9c], [2c9e, 2c9e], [2ca0, 2ca0], [2ca2, 2ca2],
     628        [2ca4, 2ca4], [2ca6, 2ca6], [2ca8, 2ca8], [2caa, 2caa],
     629        [2cac, 2cac], [2cae, 2cae], [2cb0, 2cb0], [2cb2, 2cb2],
     630        [2cb4, 2cb4], [2cb6, 2cb6], [2cb8, 2cb8], [2cba, 2cba],
     631        [2cbc, 2cbc], [2cbe, 2cbe], [2cc0, 2cc0], [2cc2, 2cc2],
     632        [2cc4, 2cc4], [2cc6, 2cc6], [2cc8, 2cc8], [2cca, 2cca],
     633        [2ccc, 2ccc], [2cce, 2cce], [2cd0, 2cd0], [2cd2, 2cd2],
     634        [2cd4, 2cd4], [2cd6, 2cd6], [2cd8, 2cd8], [2cda, 2cda],
     635        [2cdc, 2cdc], [2cde, 2cde], [2ce0, 2ce0], [2ce2, 2ce2],
     636        [2ceb, 2ceb], [2ced, 2ced], [2cf2, 2cf2], [a640, a640],
     637        [a642, a642], [a644, a644], [a646, a646], [a648, a648],
     638        [a64a, a64a], [a64c, a64c], [a64e, a64e], [a650, a650],
     639        [a652, a652], [a654, a654], [a656, a656], [a658, a658],
     640        [a65a, a65a], [a65c, a65c], [a65e, a65e], [a660, a660],
     641        [a662, a662], [a664, a664], [a666, a666], [a668, a668],
     642        [a66a, a66a], [a66c, a66c], [a680, a680], [a682, a682],
     643        [a684, a684], [a686, a686], [a688, a688], [a68a, a68a],
     644        [a68c, a68c], [a68e, a68e], [a690, a690], [a692, a692],
     645        [a694, a694], [a696, a696], [a698, a698], [a69a, a69a],
     646        [a722, a722], [a724, a724], [a726, a726], [a728, a728],
     647        [a72a, a72a], [a72c, a72c], [a72e, a72e], [a732, a732],
     648        [a734, a734], [a736, a736], [a738, a738], [a73a, a73a],
     649        [a73c, a73c], [a73e, a73e], [a740, a740], [a742, a742],
     650        [a744, a744], [a746, a746], [a748, a748], [a74a, a74a],
     651        [a74c, a74c], [a74e, a74e], [a750, a750], [a752, a752],
     652        [a754, a754], [a756, a756], [a758, a758], [a75a, a75a],
     653        [a75c, a75c], [a75e, a75e], [a760, a760], [a762, a762],
     654        [a764, a764], [a766, a766], [a768, a768], [a76a, a76a],
     655        [a76c, a76c], [a76e, a76e], [a779, a779], [a77b, a77b],
     656        [a77d, a77e], [a780, a780], [a782, a782], [a784, a784],
     657        [a786, a786], [a78b, a78b], [a78d, a78d], [a790, a790],
     658        [a792, a792], [a796, a796], [a798, a798], [a79a, a79a],
     659        [a79c, a79c], [a79e, a79e], [a7a0, a7a0], [a7a2, a7a2],
     660        [a7a4, a7a4], [a7a6, a7a6], [a7a8, a7a8], [a7aa, a7ae],
     661        [a7b0, a7b4], [a7b6, a7b6], [ab70, abbf], [fb00, fb06],
     662        [fb13, fb17], [ff21, ff3a], [10400, 10427], [104b0, 104d3],
     663        [10c80, 10cb2], [118a0, 118bf], [1e900, 1e921]**/
    663664        const UnicodeSet codepoint_set
    664665            {{{Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
     
    694695    namespace CWCM_ns {
    695696        /** Code Point Ranges for CWCM
    696         [65, 90], [97, 122], [181, 181], [192, 214], [216, 246], [248, 311],
    697         [313, 396], [398, 410], [412, 425], [428, 441], [444, 445],
    698         [447, 447], [452, 544], [546, 563], [570, 596], [598, 599],
    699         [601, 601], [603, 604], [608, 609], [611, 611], [613, 614],
    700         [616, 620], [623, 623], [625, 626], [629, 629], [637, 637],
    701         [640, 640], [643, 643], [647, 652], [658, 658], [669, 670],
    702         [837, 837], [880, 883], [886, 887], [891, 893], [895, 895],
    703         [902, 902], [904, 906], [908, 908], [910, 929], [931, 977],
    704         [981, 1013], [1015, 1019], [1021, 1153], [1162, 1327], [1329, 1366],
    705         [1377, 1415], [4256, 4293], [4295, 4295], [4301, 4301],
    706         [5024, 5109], [5112, 5117], [7296, 7304], [7545, 7545],
    707         [7549, 7549], [7680, 7835], [7838, 7838], [7840, 7957],
    708         [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
    709         [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061],
    710         [8064, 8116], [8118, 8124], [8126, 8126], [8130, 8132],
    711         [8134, 8140], [8144, 8147], [8150, 8155], [8160, 8172],
    712         [8178, 8180], [8182, 8188], [8486, 8486], [8490, 8491],
    713         [8498, 8498], [8526, 8526], [8544, 8575], [8579, 8580],
    714         [9398, 9449], [11264, 11310], [11312, 11358], [11360, 11376],
    715         [11378, 11379], [11381, 11382], [11390, 11491], [11499, 11502],
    716         [11506, 11507], [11520, 11557], [11559, 11559], [11565, 11565],
    717         [42560, 42605], [42624, 42651], [42786, 42799], [42802, 42863],
    718         [42873, 42887], [42891, 42893], [42896, 42899], [42902, 42926],
    719         [42928, 42935], [43859, 43859], [43888, 43967], [64256, 64262],
    720         [64275, 64279], [65313, 65338], [65345, 65370], [66560, 66639],
    721         [66736, 66771], [66776, 66811], [68736, 68786], [68800, 68850],
    722         [71840, 71903], [125184, 125251]**/
     697        [0041, 005a], [0061, 007a], [00b5, 00b5], [00c0, 00d6],
     698        [00d8, 00f6], [00f8, 0137], [0139, 018c], [018e, 019a],
     699        [019c, 01a9], [01ac, 01b9], [01bc, 01bd], [01bf, 01bf],
     700        [01c4, 0220], [0222, 0233], [023a, 0254], [0256, 0257],
     701        [0259, 0259], [025b, 025c], [0260, 0261], [0263, 0263],
     702        [0265, 0266], [0268, 026c], [026f, 026f], [0271, 0272],
     703        [0275, 0275], [027d, 027d], [0280, 0280], [0283, 0283],
     704        [0287, 028c], [0292, 0292], [029d, 029e], [0345, 0345],
     705        [0370, 0373], [0376, 0377], [037b, 037d], [037f, 037f],
     706        [0386, 0386], [0388, 038a], [038c, 038c], [038e, 03a1],
     707        [03a3, 03d1], [03d5, 03f5], [03f7, 03fb], [03fd, 0481],
     708        [048a, 052f], [0531, 0556], [0561, 0587], [10a0, 10c5],
     709        [10c7, 10c7], [10cd, 10cd], [13a0, 13f5], [13f8, 13fd],
     710        [1c80, 1c88], [1d79, 1d79], [1d7d, 1d7d], [1e00, 1e9b],
     711        [1e9e, 1e9e], [1ea0, 1f15], [1f18, 1f1d], [1f20, 1f45],
     712        [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b],
     713        [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc],
     714        [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3],
     715        [1fd6, 1fdb], [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc],
     716        [2126, 2126], [212a, 212b], [2132, 2132], [214e, 214e],
     717        [2160, 217f], [2183, 2184], [24b6, 24e9], [2c00, 2c2e],
     718        [2c30, 2c5e], [2c60, 2c70], [2c72, 2c73], [2c75, 2c76],
     719        [2c7e, 2ce3], [2ceb, 2cee], [2cf2, 2cf3], [2d00, 2d25],
     720        [2d27, 2d27], [2d2d, 2d2d], [a640, a66d], [a680, a69b],
     721        [a722, a72f], [a732, a76f], [a779, a787], [a78b, a78d],
     722        [a790, a793], [a796, a7ae], [a7b0, a7b7], [ab53, ab53],
     723        [ab70, abbf], [fb00, fb06], [fb13, fb17], [ff21, ff3a],
     724        [ff41, ff5a], [10400, 1044f], [104b0, 104d3], [104d8, 104fb],
     725        [10c80, 10cb2], [10cc0, 10cf2], [118a0, 118df], [1e900, 1e943]**/
    723726        const UnicodeSet codepoint_set
    724727            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 1},
     
    756759    namespace CWL_ns {
    757760        /** Code Point Ranges for CWL
    758         [65, 90], [192, 214], [216, 222], [256, 256], [258, 258],
    759         [260, 260], [262, 262], [264, 264], [266, 266], [268, 268],
    760         [270, 270], [272, 272], [274, 274], [276, 276], [278, 278],
    761         [280, 280], [282, 282], [284, 284], [286, 286], [288, 288],
    762         [290, 290], [292, 292], [294, 294], [296, 296], [298, 298],
    763         [300, 300], [302, 302], [304, 304], [306, 306], [308, 308],
    764         [310, 310], [313, 313], [315, 315], [317, 317], [319, 319],
    765         [321, 321], [323, 323], [325, 325], [327, 327], [330, 330],
    766         [332, 332], [334, 334], [336, 336], [338, 338], [340, 340],
    767         [342, 342], [344, 344], [346, 346], [348, 348], [350, 350],
    768         [352, 352], [354, 354], [356, 356], [358, 358], [360, 360],
    769         [362, 362], [364, 364], [366, 366], [368, 368], [370, 370],
    770         [372, 372], [374, 374], [376, 377], [379, 379], [381, 381],
    771         [385, 386], [388, 388], [390, 391], [393, 395], [398, 401],
    772         [403, 404], [406, 408], [412, 413], [415, 416], [418, 418],
    773         [420, 420], [422, 423], [425, 425], [428, 428], [430, 431],
    774         [433, 435], [437, 437], [439, 440], [444, 444], [452, 453],
    775         [455, 456], [458, 459], [461, 461], [463, 463], [465, 465],
    776         [467, 467], [469, 469], [471, 471], [473, 473], [475, 475],
    777         [478, 478], [480, 480], [482, 482], [484, 484], [486, 486],
    778         [488, 488], [490, 490], [492, 492], [494, 494], [497, 498],
    779         [500, 500], [502, 504], [506, 506], [508, 508], [510, 510],
    780         [512, 512], [514, 514], [516, 516], [518, 518], [520, 520],
    781         [522, 522], [524, 524], [526, 526], [528, 528], [530, 530],
    782         [532, 532], [534, 534], [536, 536], [538, 538], [540, 540],
    783         [542, 542], [544, 544], [546, 546], [548, 548], [550, 550],
    784         [552, 552], [554, 554], [556, 556], [558, 558], [560, 560],
    785         [562, 562], [570, 571], [573, 574], [577, 577], [579, 582],
    786         [584, 584], [586, 586], [588, 588], [590, 590], [880, 880],
    787         [882, 882], [886, 886], [895, 895], [902, 902], [904, 906],
    788         [908, 908], [910, 911], [913, 929], [931, 939], [975, 975],
    789         [984, 984], [986, 986], [988, 988], [990, 990], [992, 992],
    790         [994, 994], [996, 996], [998, 998], [1000, 1000], [1002, 1002],
    791         [1004, 1004], [1006, 1006], [1012, 1012], [1015, 1015],
    792         [1017, 1018], [1021, 1071], [1120, 1120], [1122, 1122],
    793         [1124, 1124], [1126, 1126], [1128, 1128], [1130, 1130],
    794         [1132, 1132], [1134, 1134], [1136, 1136], [1138, 1138],
    795         [1140, 1140], [1142, 1142], [1144, 1144], [1146, 1146],
    796         [1148, 1148], [1150, 1150], [1152, 1152], [1162, 1162],
    797         [1164, 1164], [1166, 1166], [1168, 1168], [1170, 1170],
    798         [1172, 1172], [1174, 1174], [1176, 1176], [1178, 1178],
    799         [1180, 1180], [1182, 1182], [1184, 1184], [1186, 1186],
    800         [1188, 1188], [1190, 1190], [1192, 1192], [1194, 1194],
    801         [1196, 1196], [1198, 1198], [1200, 1200], [1202, 1202],
    802         [1204, 1204], [1206, 1206], [1208, 1208], [1210, 1210],
    803         [1212, 1212], [1214, 1214], [1216, 1217], [1219, 1219],
    804         [1221, 1221], [1223, 1223], [1225, 1225], [1227, 1227],
    805         [1229, 1229], [1232, 1232], [1234, 1234], [1236, 1236],
    806         [1238, 1238], [1240, 1240], [1242, 1242], [1244, 1244],
    807         [1246, 1246], [1248, 1248], [1250, 1250], [1252, 1252],
    808         [1254, 1254], [1256, 1256], [1258, 1258], [1260, 1260],
    809         [1262, 1262], [1264, 1264], [1266, 1266], [1268, 1268],
    810         [1270, 1270], [1272, 1272], [1274, 1274], [1276, 1276],
    811         [1278, 1278], [1280, 1280], [1282, 1282], [1284, 1284],
    812         [1286, 1286], [1288, 1288], [1290, 1290], [1292, 1292],
    813         [1294, 1294], [1296, 1296], [1298, 1298], [1300, 1300],
    814         [1302, 1302], [1304, 1304], [1306, 1306], [1308, 1308],
    815         [1310, 1310], [1312, 1312], [1314, 1314], [1316, 1316],
    816         [1318, 1318], [1320, 1320], [1322, 1322], [1324, 1324],
    817         [1326, 1326], [1329, 1366], [4256, 4293], [4295, 4295],
    818         [4301, 4301], [5024, 5109], [7680, 7680], [7682, 7682],
    819         [7684, 7684], [7686, 7686], [7688, 7688], [7690, 7690],
    820         [7692, 7692], [7694, 7694], [7696, 7696], [7698, 7698],
    821         [7700, 7700], [7702, 7702], [7704, 7704], [7706, 7706],
    822         [7708, 7708], [7710, 7710], [7712, 7712], [7714, 7714],
    823         [7716, 7716], [7718, 7718], [7720, 7720], [7722, 7722],
    824         [7724, 7724], [7726, 7726], [7728, 7728], [7730, 7730],
    825         [7732, 7732], [7734, 7734], [7736, 7736], [7738, 7738],
    826         [7740, 7740], [7742, 7742], [7744, 7744], [7746, 7746],
    827         [7748, 7748], [7750, 7750], [7752, 7752], [7754, 7754],
    828         [7756, 7756], [7758, 7758], [7760, 7760], [7762, 7762],
    829         [7764, 7764], [7766, 7766], [7768, 7768], [7770, 7770],
    830         [7772, 7772], [7774, 7774], [7776, 7776], [7778, 7778],
    831         [7780, 7780], [7782, 7782], [7784, 7784], [7786, 7786],
    832         [7788, 7788], [7790, 7790], [7792, 7792], [7794, 7794],
    833         [7796, 7796], [7798, 7798], [7800, 7800], [7802, 7802],
    834         [7804, 7804], [7806, 7806], [7808, 7808], [7810, 7810],
    835         [7812, 7812], [7814, 7814], [7816, 7816], [7818, 7818],
    836         [7820, 7820], [7822, 7822], [7824, 7824], [7826, 7826],
    837         [7828, 7828], [7838, 7838], [7840, 7840], [7842, 7842],
    838         [7844, 7844], [7846, 7846], [7848, 7848], [7850, 7850],
    839         [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
    840         [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866],
    841         [7868, 7868], [7870, 7870], [7872, 7872], [7874, 7874],
    842         [7876, 7876], [7878, 7878], [7880, 7880], [7882, 7882],
    843         [7884, 7884], [7886, 7886], [7888, 7888], [7890, 7890],
    844         [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
    845         [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906],
    846         [7908, 7908], [7910, 7910], [7912, 7912], [7914, 7914],
    847         [7916, 7916], [7918, 7918], [7920, 7920], [7922, 7922],
    848         [7924, 7924], [7926, 7926], [7928, 7928], [7930, 7930],
    849         [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
    850         [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025],
    851         [8027, 8027], [8029, 8029], [8031, 8031], [8040, 8047],
    852         [8072, 8079], [8088, 8095], [8104, 8111], [8120, 8124],
    853         [8136, 8140], [8152, 8155], [8168, 8172], [8184, 8188],
    854         [8486, 8486], [8490, 8491], [8498, 8498], [8544, 8559],
    855         [8579, 8579], [9398, 9423], [11264, 11310], [11360, 11360],
    856         [11362, 11364], [11367, 11367], [11369, 11369], [11371, 11371],
    857         [11373, 11376], [11378, 11378], [11381, 11381], [11390, 11392],
    858         [11394, 11394], [11396, 11396], [11398, 11398], [11400, 11400],
    859         [11402, 11402], [11404, 11404], [11406, 11406], [11408, 11408],
    860         [11410, 11410], [11412, 11412], [11414, 11414], [11416, 11416],
    861         [11418, 11418], [11420, 11420], [11422, 11422], [11424, 11424],
    862         [11426, 11426], [11428, 11428], [11430, 11430], [11432, 11432],
    863         [11434, 11434], [11436, 11436], [11438, 11438], [11440, 11440],
    864         [11442, 11442], [11444, 11444], [11446, 11446], [11448, 11448],
    865         [11450, 11450], [11452, 11452], [11454, 11454], [11456, 11456],
    866         [11458, 11458], [11460, 11460], [11462, 11462], [11464, 11464],
    867         [11466, 11466], [11468, 11468], [11470, 11470], [11472, 11472],
    868         [11474, 11474], [11476, 11476], [11478, 11478], [11480, 11480],
    869         [11482, 11482], [11484, 11484], [11486, 11486], [11488, 11488],
    870         [11490, 11490], [11499, 11499], [11501, 11501], [11506, 11506],
    871         [42560, 42560], [42562, 42562], [42564, 42564], [42566, 42566],
    872         [42568, 42568], [42570, 42570], [42572, 42572], [42574, 42574],
    873         [42576, 42576], [42578, 42578], [42580, 42580], [42582, 42582],
    874         [42584, 42584], [42586, 42586], [42588, 42588], [42590, 42590],
    875         [42592, 42592], [42594, 42594], [42596, 42596], [42598, 42598],
    876         [42600, 42600], [42602, 42602], [42604, 42604], [42624, 42624],
    877         [42626, 42626], [42628, 42628], [42630, 42630], [42632, 42632],
    878         [42634, 42634], [42636, 42636], [42638, 42638], [42640, 42640],
    879         [42642, 42642], [42644, 42644], [42646, 42646], [42648, 42648],
    880         [42650, 42650], [42786, 42786], [42788, 42788], [42790, 42790],
    881         [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
    882         [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
    883         [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
    884         [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
    885         [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
    886         [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
    887         [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
    888         [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
    889         [42858, 42858], [42860, 42860], [42862, 42862], [42873, 42873],
    890         [42875, 42875], [42877, 42878], [42880, 42880], [42882, 42882],
    891         [42884, 42884], [42886, 42886], [42891, 42891], [42893, 42893],
    892         [42896, 42896], [42898, 42898], [42902, 42902], [42904, 42904],
    893         [42906, 42906], [42908, 42908], [42910, 42910], [42912, 42912],
    894         [42914, 42914], [42916, 42916], [42918, 42918], [42920, 42920],
    895         [42922, 42926], [42928, 42932], [42934, 42934], [65313, 65338],
    896         [66560, 66599], [66736, 66771], [68736, 68786], [71840, 71871],
    897         [125184, 125217]**/
     761        [0041, 005a], [00c0, 00d6], [00d8, 00de], [0100, 0100],
     762        [0102, 0102], [0104, 0104], [0106, 0106], [0108, 0108],
     763        [010a, 010a], [010c, 010c], [010e, 010e], [0110, 0110],
     764        [0112, 0112], [0114, 0114], [0116, 0116], [0118, 0118],
     765        [011a, 011a], [011c, 011c], [011e, 011e], [0120, 0120],
     766        [0122, 0122], [0124, 0124], [0126, 0126], [0128, 0128],
     767        [012a, 012a], [012c, 012c], [012e, 012e], [0130, 0130],
     768        [0132, 0132], [0134, 0134], [0136, 0136], [0139, 0139],
     769        [013b, 013b], [013d, 013d], [013f, 013f], [0141, 0141],
     770        [0143, 0143], [0145, 0145], [0147, 0147], [014a, 014a],
     771        [014c, 014c], [014e, 014e], [0150, 0150], [0152, 0152],
     772        [0154, 0154], [0156, 0156], [0158, 0158], [015a, 015a],
     773        [015c, 015c], [015e, 015e], [0160, 0160], [0162, 0162],
     774        [0164, 0164], [0166, 0166], [0168, 0168], [016a, 016a],
     775        [016c, 016c], [016e, 016e], [0170, 0170], [0172, 0172],
     776        [0174, 0174], [0176, 0176], [0178, 0179], [017b, 017b],
     777        [017d, 017d], [0181, 0182], [0184, 0184], [0186, 0187],
     778        [0189, 018b], [018e, 0191], [0193, 0194], [0196, 0198],
     779        [019c, 019d], [019f, 01a0], [01a2, 01a2], [01a4, 01a4],
     780        [01a6, 01a7], [01a9, 01a9], [01ac, 01ac], [01ae, 01af],
     781        [01b1, 01b3], [01b5, 01b5], [01b7, 01b8], [01bc, 01bc],
     782        [01c4, 01c5], [01c7, 01c8], [01ca, 01cb], [01cd, 01cd],
     783        [01cf, 01cf], [01d1, 01d1], [01d3, 01d3], [01d5, 01d5],
     784        [01d7, 01d7], [01d9, 01d9], [01db, 01db], [01de, 01de],
     785        [01e0, 01e0], [01e2, 01e2], [01e4, 01e4], [01e6, 01e6],
     786        [01e8, 01e8], [01ea, 01ea], [01ec, 01ec], [01ee, 01ee],
     787        [01f1, 01f2], [01f4, 01f4], [01f6, 01f8], [01fa, 01fa],
     788        [01fc, 01fc], [01fe, 01fe], [0200, 0200], [0202, 0202],
     789        [0204, 0204], [0206, 0206], [0208, 0208], [020a, 020a],
     790        [020c, 020c], [020e, 020e], [0210, 0210], [0212, 0212],
     791        [0214, 0214], [0216, 0216], [0218, 0218], [021a, 021a],
     792        [021c, 021c], [021e, 021e], [0220, 0220], [0222, 0222],
     793        [0224, 0224], [0226, 0226], [0228, 0228], [022a, 022a],
     794        [022c, 022c], [022e, 022e], [0230, 0230], [0232, 0232],
     795        [023a, 023b], [023d, 023e], [0241, 0241], [0243, 0246],
     796        [0248, 0248], [024a, 024a], [024c, 024c], [024e, 024e],
     797        [0370, 0370], [0372, 0372], [0376, 0376], [037f, 037f],
     798        [0386, 0386], [0388, 038a], [038c, 038c], [038e, 038f],
     799        [0391, 03a1], [03a3, 03ab], [03cf, 03cf], [03d8, 03d8],
     800        [03da, 03da], [03dc, 03dc], [03de, 03de], [03e0, 03e0],
     801        [03e2, 03e2], [03e4, 03e4], [03e6, 03e6], [03e8, 03e8],
     802        [03ea, 03ea], [03ec, 03ec], [03ee, 03ee], [03f4, 03f4],
     803        [03f7, 03f7], [03f9, 03fa], [03fd, 042f], [0460, 0460],
     804        [0462, 0462], [0464, 0464], [0466, 0466], [0468, 0468],
     805        [046a, 046a], [046c, 046c], [046e, 046e], [0470, 0470],
     806        [0472, 0472], [0474, 0474], [0476, 0476], [0478, 0478],
     807        [047a, 047a], [047c, 047c], [047e, 047e], [0480, 0480],
     808        [048a, 048a], [048c, 048c], [048e, 048e], [0490, 0490],
     809        [0492, 0492], [0494, 0494], [0496, 0496], [0498, 0498],
     810        [049a, 049a], [049c, 049c], [049e, 049e], [04a0, 04a0],
     811        [04a2, 04a2], [04a4, 04a4], [04a6, 04a6], [04a8, 04a8],
     812        [04aa, 04aa], [04ac, 04ac], [04ae, 04ae], [04b0, 04b0],
     813        [04b2, 04b2], [04b4, 04b4], [04b6, 04b6], [04b8, 04b8],
     814        [04ba, 04ba], [04bc, 04bc], [04be, 04be], [04c0, 04c1],
     815        [04c3, 04c3], [04c5, 04c5], [04c7, 04c7], [04c9, 04c9],
     816        [04cb, 04cb], [04cd, 04cd], [04d0, 04d0], [04d2, 04d2],
     817        [04d4, 04d4], [04d6, 04d6], [04d8, 04d8], [04da, 04da],
     818        [04dc, 04dc], [04de, 04de], [04e0, 04e0], [04e2, 04e2],
     819        [04e4, 04e4], [04e6, 04e6], [04e8, 04e8], [04ea, 04ea],
     820        [04ec, 04ec], [04ee, 04ee], [04f0, 04f0], [04f2, 04f2],
     821        [04f4, 04f4], [04f6, 04f6], [04f8, 04f8], [04fa, 04fa],
     822        [04fc, 04fc], [04fe, 04fe], [0500, 0500], [0502, 0502],
     823        [0504, 0504], [0506, 0506], [0508, 0508], [050a, 050a],
     824        [050c, 050c], [050e, 050e], [0510, 0510], [0512, 0512],
     825        [0514, 0514], [0516, 0516], [0518, 0518], [051a, 051a],
     826        [051c, 051c], [051e, 051e], [0520, 0520], [0522, 0522],
     827        [0524, 0524], [0526, 0526], [0528, 0528], [052a, 052a],
     828        [052c, 052c], [052e, 052e], [0531, 0556], [10a0, 10c5],
     829        [10c7, 10c7], [10cd, 10cd], [13a0, 13f5], [1e00, 1e00],
     830        [1e02, 1e02], [1e04, 1e04], [1e06, 1e06], [1e08, 1e08],
     831        [1e0a, 1e0a], [1e0c, 1e0c], [1e0e, 1e0e], [1e10, 1e10],
     832        [1e12, 1e12], [1e14, 1e14], [1e16, 1e16], [1e18, 1e18],
     833        [1e1a, 1e1a], [1e1c, 1e1c], [1e1e, 1e1e], [1e20, 1e20],
     834        [1e22, 1e22], [1e24, 1e24], [1e26, 1e26], [1e28, 1e28],
     835        [1e2a, 1e2a], [1e2c, 1e2c], [1e2e, 1e2e], [1e30, 1e30],
     836        [1e32, 1e32], [1e34, 1e34], [1e36, 1e36], [1e38, 1e38],
     837        [1e3a, 1e3a], [1e3c, 1e3c], [1e3e, 1e3e], [1e40, 1e40],
     838        [1e42, 1e42], [1e44, 1e44], [1e46, 1e46], [1e48, 1e48],
     839        [1e4a, 1e4a], [1e4c, 1e4c], [1e4e, 1e4e], [1e50, 1e50],
     840        [1e52, 1e52], [1e54, 1e54], [1e56, 1e56], [1e58, 1e58],
     841        [1e5a, 1e5a], [1e5c, 1e5c], [1e5e, 1e5e], [1e60, 1e60],
     842        [1e62, 1e62], [1e64, 1e64], [1e66, 1e66], [1e68, 1e68],
     843        [1e6a, 1e6a], [1e6c, 1e6c], [1e6e, 1e6e], [1e70, 1e70],
     844        [1e72, 1e72], [1e74, 1e74], [1e76, 1e76], [1e78, 1e78],
     845        [1e7a, 1e7a], [1e7c, 1e7c], [1e7e, 1e7e], [1e80, 1e80],
     846        [1e82, 1e82], [1e84, 1e84], [1e86, 1e86], [1e88, 1e88],
     847        [1e8a, 1e8a], [1e8c, 1e8c], [1e8e, 1e8e], [1e90, 1e90],
     848        [1e92, 1e92], [1e94, 1e94], [1e9e, 1e9e], [1ea0, 1ea0],
     849        [1ea2, 1ea2], [1ea4, 1ea4], [1ea6, 1ea6], [1ea8, 1ea8],
     850        [1eaa, 1eaa], [1eac, 1eac], [1eae, 1eae], [1eb0, 1eb0],
     851        [1eb2, 1eb2], [1eb4, 1eb4], [1eb6, 1eb6], [1eb8, 1eb8],
     852        [1eba, 1eba], [1ebc, 1ebc], [1ebe, 1ebe], [1ec0, 1ec0],
     853        [1ec2, 1ec2], [1ec4, 1ec4], [1ec6, 1ec6], [1ec8, 1ec8],
     854        [1eca, 1eca], [1ecc, 1ecc], [1ece, 1ece], [1ed0, 1ed0],
     855        [1ed2, 1ed2], [1ed4, 1ed4], [1ed6, 1ed6], [1ed8, 1ed8],
     856        [1eda, 1eda], [1edc, 1edc], [1ede, 1ede], [1ee0, 1ee0],
     857        [1ee2, 1ee2], [1ee4, 1ee4], [1ee6, 1ee6], [1ee8, 1ee8],
     858        [1eea, 1eea], [1eec, 1eec], [1eee, 1eee], [1ef0, 1ef0],
     859        [1ef2, 1ef2], [1ef4, 1ef4], [1ef6, 1ef6], [1ef8, 1ef8],
     860        [1efa, 1efa], [1efc, 1efc], [1efe, 1efe], [1f08, 1f0f],
     861        [1f18, 1f1d], [1f28, 1f2f], [1f38, 1f3f], [1f48, 1f4d],
     862        [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f5f],
     863        [1f68, 1f6f], [1f88, 1f8f], [1f98, 1f9f], [1fa8, 1faf],
     864        [1fb8, 1fbc], [1fc8, 1fcc], [1fd8, 1fdb], [1fe8, 1fec],
     865        [1ff8, 1ffc], [2126, 2126], [212a, 212b], [2132, 2132],
     866        [2160, 216f], [2183, 2183], [24b6, 24cf], [2c00, 2c2e],
     867        [2c60, 2c60], [2c62, 2c64], [2c67, 2c67], [2c69, 2c69],
     868        [2c6b, 2c6b], [2c6d, 2c70], [2c72, 2c72], [2c75, 2c75],
     869        [2c7e, 2c80], [2c82, 2c82], [2c84, 2c84], [2c86, 2c86],
     870        [2c88, 2c88], [2c8a, 2c8a], [2c8c, 2c8c], [2c8e, 2c8e],
     871        [2c90, 2c90], [2c92, 2c92], [2c94, 2c94], [2c96, 2c96],
     872        [2c98, 2c98], [2c9a, 2c9a], [2c9c, 2c9c], [2c9e, 2c9e],
     873        [2ca0, 2ca0], [2ca2, 2ca2], [2ca4, 2ca4], [2ca6, 2ca6],
     874        [2ca8, 2ca8], [2caa, 2caa], [2cac, 2cac], [2cae, 2cae],
     875        [2cb0, 2cb0], [2cb2, 2cb2], [2cb4, 2cb4], [2cb6, 2cb6],
     876        [2cb8, 2cb8], [2cba, 2cba], [2cbc, 2cbc], [2cbe, 2cbe],
     877        [2cc0, 2cc0], [2cc2, 2cc2], [2cc4, 2cc4], [2cc6, 2cc6],
     878        [2cc8, 2cc8], [2cca, 2cca], [2ccc, 2ccc], [2cce, 2cce],
     879        [2cd0, 2cd0], [2cd2, 2cd2], [2cd4, 2cd4], [2cd6, 2cd6],
     880        [2cd8, 2cd8], [2cda, 2cda], [2cdc, 2cdc], [2cde, 2cde],
     881        [2ce0, 2ce0], [2ce2, 2ce2], [2ceb, 2ceb], [2ced, 2ced],
     882        [2cf2, 2cf2], [a640, a640], [a642, a642], [a644, a644],
     883        [a646, a646], [a648, a648], [a64a, a64a], [a64c, a64c],
     884        [a64e, a64e], [a650, a650], [a652, a652], [a654, a654],
     885        [a656, a656], [a658, a658], [a65a, a65a], [a65c, a65c],
     886        [a65e, a65e], [a660, a660], [a662, a662], [a664, a664],
     887        [a666, a666], [a668, a668], [a66a, a66a], [a66c, a66c],
     888        [a680, a680], [a682, a682], [a684, a684], [a686, a686],
     889        [a688, a688], [a68a, a68a], [a68c, a68c], [a68e, a68e],
     890        [a690, a690], [a692, a692], [a694, a694], [a696, a696],
     891        [a698, a698], [a69a, a69a], [a722, a722], [a724, a724],
     892        [a726, a726], [a728, a728], [a72a, a72a], [a72c, a72c],
     893        [a72e, a72e], [a732, a732], [a734, a734], [a736, a736],
     894        [a738, a738], [a73a, a73a], [a73c, a73c], [a73e, a73e],
     895        [a740, a740], [a742, a742], [a744, a744], [a746, a746],
     896        [a748, a748], [a74a, a74a], [a74c, a74c], [a74e, a74e],
     897        [a750, a750], [a752, a752], [a754, a754], [a756, a756],
     898        [a758, a758], [a75a, a75a], [a75c, a75c], [a75e, a75e],
     899        [a760, a760], [a762, a762], [a764, a764], [a766, a766],
     900        [a768, a768], [a76a, a76a], [a76c, a76c], [a76e, a76e],
     901        [a779, a779], [a77b, a77b], [a77d, a77e], [a780, a780],
     902        [a782, a782], [a784, a784], [a786, a786], [a78b, a78b],
     903        [a78d, a78d], [a790, a790], [a792, a792], [a796, a796],
     904        [a798, a798], [a79a, a79a], [a79c, a79c], [a79e, a79e],
     905        [a7a0, a7a0], [a7a2, a7a2], [a7a4, a7a4], [a7a6, a7a6],
     906        [a7a8, a7a8], [a7aa, a7ae], [a7b0, a7b4], [a7b6, a7b6],
     907        [ff21, ff3a], [10400, 10427], [104b0, 104d3], [10c80, 10cb2],
     908        [118a0, 118bf], [1e900, 1e921]**/
    898909        const UnicodeSet codepoint_set
    899910            {{{Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
     
    926937    namespace CWT_ns {
    927938        /** Code Point Ranges for CWT
    928         [97, 122], [181, 181], [223, 246], [248, 255], [257, 257],
    929         [259, 259], [261, 261], [263, 263], [265, 265], [267, 267],
    930         [269, 269], [271, 271], [273, 273], [275, 275], [277, 277],
    931         [279, 279], [281, 281], [283, 283], [285, 285], [287, 287],
    932         [289, 289], [291, 291], [293, 293], [295, 295], [297, 297],
    933         [299, 299], [301, 301], [303, 303], [305, 305], [307, 307],
    934         [309, 309], [311, 311], [314, 314], [316, 316], [318, 318],
    935         [320, 320], [322, 322], [324, 324], [326, 326], [328, 329],
    936         [331, 331], [333, 333], [335, 335], [337, 337], [339, 339],
    937         [341, 341], [343, 343], [345, 345], [347, 347], [349, 349],
    938         [351, 351], [353, 353], [355, 355], [357, 357], [359, 359],
    939         [361, 361], [363, 363], [365, 365], [367, 367], [369, 369],
    940         [371, 371], [373, 373], [375, 375], [378, 378], [380, 380],
    941         [382, 384], [387, 387], [389, 389], [392, 392], [396, 396],
    942         [402, 402], [405, 405], [409, 410], [414, 414], [417, 417],
    943         [419, 419], [421, 421], [424, 424], [429, 429], [432, 432],
    944         [436, 436], [438, 438], [441, 441], [445, 445], [447, 447],
    945         [452, 452], [454, 455], [457, 458], [460, 460], [462, 462],
    946         [464, 464], [466, 466], [468, 468], [470, 470], [472, 472],
    947         [474, 474], [476, 477], [479, 479], [481, 481], [483, 483],
    948         [485, 485], [487, 487], [489, 489], [491, 491], [493, 493],
    949         [495, 497], [499, 499], [501, 501], [505, 505], [507, 507],
    950         [509, 509], [511, 511], [513, 513], [515, 515], [517, 517],
    951         [519, 519], [521, 521], [523, 523], [525, 525], [527, 527],
    952         [529, 529], [531, 531], [533, 533], [535, 535], [537, 537],
    953         [539, 539], [541, 541], [543, 543], [547, 547], [549, 549],
    954         [551, 551], [553, 553], [555, 555], [557, 557], [559, 559],
    955         [561, 561], [563, 563], [572, 572], [575, 576], [578, 578],
    956         [583, 583], [585, 585], [587, 587], [589, 589], [591, 596],
    957         [598, 599], [601, 601], [603, 604], [608, 609], [611, 611],
    958         [613, 614], [616, 620], [623, 623], [625, 626], [629, 629],
    959         [637, 637], [640, 640], [643, 643], [647, 652], [658, 658],
    960         [669, 670], [837, 837], [881, 881], [883, 883], [887, 887],
    961         [891, 893], [912, 912], [940, 974], [976, 977], [981, 983],
    962         [985, 985], [987, 987], [989, 989], [991, 991], [993, 993],
    963         [995, 995], [997, 997], [999, 999], [1001, 1001], [1003, 1003],
    964         [1005, 1005], [1007, 1011], [1013, 1013], [1016, 1016],
    965         [1019, 1019], [1072, 1119], [1121, 1121], [1123, 1123],
    966         [1125, 1125], [1127, 1127], [1129, 1129], [1131, 1131],
    967         [1133, 1133], [1135, 1135], [1137, 1137], [1139, 1139],
    968         [1141, 1141], [1143, 1143], [1145, 1145], [1147, 1147],
    969         [1149, 1149], [1151, 1151], [1153, 1153], [1163, 1163],
    970         [1165, 1165], [1167, 1167], [1169, 1169], [1171, 1171],
    971         [1173, 1173], [1175, 1175], [1177, 1177], [1179, 1179],
    972         [1181, 1181], [1183, 1183], [1185, 1185], [1187, 1187],
    973         [1189, 1189], [1191, 1191], [1193, 1193], [1195, 1195],
    974         [1197, 1197], [1199, 1199], [1201, 1201], [1203, 1203],
    975         [1205, 1205], [1207, 1207], [1209, 1209], [1211, 1211],
    976         [1213, 1213], [1215, 1215], [1218, 1218], [1220, 1220],
    977         [1222, 1222], [1224, 1224], [1226, 1226], [1228, 1228],
    978         [1230, 1231], [1233, 1233], [1235, 1235], [1237, 1237],
    979         [1239, 1239], [1241, 1241], [1243, 1243], [1245, 1245],
    980         [1247, 1247], [1249, 1249], [1251, 1251], [1253, 1253],
    981         [1255, 1255], [1257, 1257], [1259, 1259], [1261, 1261],
    982         [1263, 1263], [1265, 1265], [1267, 1267], [1269, 1269],
    983         [1271, 1271], [1273, 1273], [1275, 1275], [1277, 1277],
    984         [1279, 1279], [1281, 1281], [1283, 1283], [1285, 1285],
    985         [1287, 1287], [1289, 1289], [1291, 1291], [1293, 1293],
    986         [1295, 1295], [1297, 1297], [1299, 1299], [1301, 1301],
    987         [1303, 1303], [1305, 1305], [1307, 1307], [1309, 1309],
    988         [1311, 1311], [1313, 1313], [1315, 1315], [1317, 1317],
    989         [1319, 1319], [1321, 1321], [1323, 1323], [1325, 1325],
    990         [1327, 1327], [1377, 1415], [5112, 5117], [7296, 7304],
    991         [7545, 7545], [7549, 7549], [7681, 7681], [7683, 7683],
    992         [7685, 7685], [7687, 7687], [7689, 7689], [7691, 7691],
    993         [7693, 7693], [7695, 7695], [7697, 7697], [7699, 7699],
    994         [7701, 7701], [7703, 7703], [7705, 7705], [7707, 7707],
    995         [7709, 7709], [7711, 7711], [7713, 7713], [7715, 7715],
    996         [7717, 7717], [7719, 7719], [7721, 7721], [7723, 7723],
    997         [7725, 7725], [7727, 7727], [7729, 7729], [7731, 7731],
    998         [7733, 7733], [7735, 7735], [7737, 7737], [7739, 7739],
    999         [7741, 7741], [7743, 7743], [7745, 7745], [7747, 7747],
    1000         [7749, 7749], [7751, 7751], [7753, 7753], [7755, 7755],
    1001         [7757, 7757], [7759, 7759], [7761, 7761], [7763, 7763],
    1002         [7765, 7765], [7767, 7767], [7769, 7769], [7771, 7771],
    1003         [7773, 7773], [7775, 7775], [7777, 7777], [7779, 7779],
    1004         [7781, 7781], [7783, 7783], [7785, 7785], [7787, 7787],
    1005         [7789, 7789], [7791, 7791], [7793, 7793], [7795, 7795],
    1006         [7797, 7797], [7799, 7799], [7801, 7801], [7803, 7803],
    1007         [7805, 7805], [7807, 7807], [7809, 7809], [7811, 7811],
    1008         [7813, 7813], [7815, 7815], [7817, 7817], [7819, 7819],
    1009         [7821, 7821], [7823, 7823], [7825, 7825], [7827, 7827],
    1010         [7829, 7835], [7841, 7841], [7843, 7843], [7845, 7845],
    1011         [7847, 7847], [7849, 7849], [7851, 7851], [7853, 7853],
    1012         [7855, 7855], [7857, 7857], [7859, 7859], [7861, 7861],
    1013         [7863, 7863], [7865, 7865], [7867, 7867], [7869, 7869],
    1014         [7871, 7871], [7873, 7873], [7875, 7875], [7877, 7877],
    1015         [7879, 7879], [7881, 7881], [7883, 7883], [7885, 7885],
    1016         [7887, 7887], [7889, 7889], [7891, 7891], [7893, 7893],
    1017         [7895, 7895], [7897, 7897], [7899, 7899], [7901, 7901],
    1018         [7903, 7903], [7905, 7905], [7907, 7907], [7909, 7909],
    1019         [7911, 7911], [7913, 7913], [7915, 7915], [7917, 7917],
    1020         [7919, 7919], [7921, 7921], [7923, 7923], [7925, 7925],
    1021         [7927, 7927], [7929, 7929], [7931, 7931], [7933, 7933],
    1022         [7935, 7943], [7952, 7957], [7968, 7975], [7984, 7991],
    1023         [8000, 8005], [8016, 8023], [8032, 8039], [8048, 8061],
    1024         [8064, 8071], [8080, 8087], [8096, 8103], [8112, 8116],
    1025         [8118, 8119], [8126, 8126], [8130, 8132], [8134, 8135],
    1026         [8144, 8147], [8150, 8151], [8160, 8167], [8178, 8180],
    1027         [8182, 8183], [8526, 8526], [8560, 8575], [8580, 8580],
    1028         [9424, 9449], [11312, 11358], [11361, 11361], [11365, 11366],
    1029         [11368, 11368], [11370, 11370], [11372, 11372], [11379, 11379],
    1030         [11382, 11382], [11393, 11393], [11395, 11395], [11397, 11397],
    1031         [11399, 11399], [11401, 11401], [11403, 11403], [11405, 11405],
    1032         [11407, 11407], [11409, 11409], [11411, 11411], [11413, 11413],
    1033         [11415, 11415], [11417, 11417], [11419, 11419], [11421, 11421],
    1034         [11423, 11423], [11425, 11425], [11427, 11427], [11429, 11429],
    1035         [11431, 11431], [11433, 11433], [11435, 11435], [11437, 11437],
    1036         [11439, 11439], [11441, 11441], [11443, 11443], [11445, 11445],
    1037         [11447, 11447], [11449, 11449], [11451, 11451], [11453, 11453],
    1038         [11455, 11455], [11457, 11457], [11459, 11459], [11461, 11461],
    1039         [11463, 11463], [11465, 11465], [11467, 11467], [11469, 11469],
    1040         [11471, 11471], [11473, 11473], [11475, 11475], [11477, 11477],
    1041         [11479, 11479], [11481, 11481], [11483, 11483], [11485, 11485],
    1042         [11487, 11487], [11489, 11489], [11491, 11491], [11500, 11500],
    1043         [11502, 11502], [11507, 11507], [11520, 11557], [11559, 11559],
    1044         [11565, 11565], [42561, 42561], [42563, 42563], [42565, 42565],
    1045         [42567, 42567], [42569, 42569], [42571, 42571], [42573, 42573],
    1046         [42575, 42575], [42577, 42577], [42579, 42579], [42581, 42581],
    1047         [42583, 42583], [42585, 42585], [42587, 42587], [42589, 42589],
    1048         [42591, 42591], [42593, 42593], [42595, 42595], [42597, 42597],
    1049         [42599, 42599], [42601, 42601], [42603, 42603], [42605, 42605],
    1050         [42625, 42625], [42627, 42627], [42629, 42629], [42631, 42631],
    1051         [42633, 42633], [42635, 42635], [42637, 42637], [42639, 42639],
    1052         [42641, 42641], [42643, 42643], [42645, 42645], [42647, 42647],
    1053         [42649, 42649], [42651, 42651], [42787, 42787], [42789, 42789],
    1054         [42791, 42791], [42793, 42793], [42795, 42795], [42797, 42797],
    1055         [42799, 42799], [42803, 42803], [42805, 42805], [42807, 42807],
    1056         [42809, 42809], [42811, 42811], [42813, 42813], [42815, 42815],
    1057         [42817, 42817], [42819, 42819], [42821, 42821], [42823, 42823],
    1058         [42825, 42825], [42827, 42827], [42829, 42829], [42831, 42831],
    1059         [42833, 42833], [42835, 42835], [42837, 42837], [42839, 42839],
    1060         [42841, 42841], [42843, 42843], [42845, 42845], [42847, 42847],
    1061         [42849, 42849], [42851, 42851], [42853, 42853], [42855, 42855],
    1062         [42857, 42857], [42859, 42859], [42861, 42861], [42863, 42863],
    1063         [42874, 42874], [42876, 42876], [42879, 42879], [42881, 42881],
    1064         [42883, 42883], [42885, 42885], [42887, 42887], [42892, 42892],
    1065         [42897, 42897], [42899, 42899], [42903, 42903], [42905, 42905],
    1066         [42907, 42907], [42909, 42909], [42911, 42911], [42913, 42913],
    1067         [42915, 42915], [42917, 42917], [42919, 42919], [42921, 42921],
    1068         [42933, 42933], [42935, 42935], [43859, 43859], [43888, 43967],
    1069         [64256, 64262], [64275, 64279], [65345, 65370], [66600, 66639],
    1070         [66776, 66811], [68800, 68850], [71872, 71903], [125218, 125251]**/
     939        [0061, 007a], [00b5, 00b5], [00df, 00f6], [00f8, 00ff],
     940        [0101, 0101], [0103, 0103], [0105, 0105], [0107, 0107],
     941        [0109, 0109], [010b, 010b], [010d, 010d], [010f, 010f],
     942        [0111, 0111], [0113, 0113], [0115, 0115], [0117, 0117],
     943        [0119, 0119], [011b, 011b], [011d, 011d], [011f, 011f],
     944        [0121, 0121], [0123, 0123], [0125, 0125], [0127, 0127],
     945        [0129, 0129], [012b, 012b], [012d, 012d], [012f, 012f],
     946        [0131, 0131], [0133, 0133], [0135, 0135], [0137, 0137],
     947        [013a, 013a], [013c, 013c], [013e, 013e], [0140, 0140],
     948        [0142, 0142], [0144, 0144], [0146, 0146], [0148, 0149],
     949        [014b, 014b], [014d, 014d], [014f, 014f], [0151, 0151],
     950        [0153, 0153], [0155, 0155], [0157, 0157], [0159, 0159],
     951        [015b, 015b], [015d, 015d], [015f, 015f], [0161, 0161],
     952        [0163, 0163], [0165, 0165], [0167, 0167], [0169, 0169],
     953        [016b, 016b], [016d, 016d], [016f, 016f], [0171, 0171],
     954        [0173, 0173], [0175, 0175], [0177, 0177], [017a, 017a],
     955        [017c, 017c], [017e, 0180], [0183, 0183], [0185, 0185],
     956        [0188, 0188], [018c, 018c], [0192, 0192], [0195, 0195],
     957        [0199, 019a], [019e, 019e], [01a1, 01a1], [01a3, 01a3],
     958        [01a5, 01a5], [01a8, 01a8], [01ad, 01ad], [01b0, 01b0],
     959        [01b4, 01b4], [01b6, 01b6], [01b9, 01b9], [01bd, 01bd],
     960        [01bf, 01bf], [01c4, 01c4], [01c6, 01c7], [01c9, 01ca],
     961        [01cc, 01cc], [01ce, 01ce], [01d0, 01d0], [01d2, 01d2],
     962        [01d4, 01d4], [01d6, 01d6], [01d8, 01d8], [01da, 01da],
     963        [01dc, 01dd], [01df, 01df], [01e1, 01e1], [01e3, 01e3],
     964        [01e5, 01e5], [01e7, 01e7], [01e9, 01e9], [01eb, 01eb],
     965        [01ed, 01ed], [01ef, 01f1], [01f3, 01f3], [01f5, 01f5],
     966        [01f9, 01f9], [01fb, 01fb], [01fd, 01fd], [01ff, 01ff],
     967        [0201, 0201], [0203, 0203], [0205, 0205], [0207, 0207],
     968        [0209, 0209], [020b, 020b], [020d, 020d], [020f, 020f],
     969        [0211, 0211], [0213, 0213], [0215, 0215], [0217, 0217],
     970        [0219, 0219], [021b, 021b], [021d, 021d], [021f, 021f],
     971        [0223, 0223], [0225, 0225], [0227, 0227], [0229, 0229],
     972        [022b, 022b], [022d, 022d], [022f, 022f], [0231, 0231],
     973        [0233, 0233], [023c, 023c], [023f, 0240], [0242, 0242],
     974        [0247, 0247], [0249, 0249], [024b, 024b], [024d, 024d],
     975        [024f, 0254], [0256, 0257], [0259, 0259], [025b, 025c],
     976        [0260, 0261], [0263, 0263], [0265, 0266], [0268, 026c],
     977        [026f, 026f], [0271, 0272], [0275, 0275], [027d, 027d],
     978        [0280, 0280], [0283, 0283], [0287, 028c], [0292, 0292],
     979        [029d, 029e], [0345, 0345], [0371, 0371], [0373, 0373],
     980        [0377, 0377], [037b, 037d], [0390, 0390], [03ac, 03ce],
     981        [03d0, 03d1], [03d5, 03d7], [03d9, 03d9], [03db, 03db],
     982        [03dd, 03dd], [03df, 03df], [03e1, 03e1], [03e3, 03e3],
     983        [03e5, 03e5], [03e7, 03e7], [03e9, 03e9], [03eb, 03eb],
     984        [03ed, 03ed], [03ef, 03f3], [03f5, 03f5], [03f8, 03f8],
     985        [03fb, 03fb], [0430, 045f], [0461, 0461], [0463, 0463],
     986        [0465, 0465], [0467, 0467], [0469, 0469], [046b, 046b],
     987        [046d, 046d], [046f, 046f], [0471, 0471], [0473, 0473],
     988        [0475, 0475], [0477, 0477], [0479, 0479], [047b, 047b],
     989        [047d, 047d], [047f, 047f], [0481, 0481], [048b, 048b],
     990        [048d, 048d], [048f, 048f], [0491, 0491], [0493, 0493],
     991        [0495, 0495], [0497, 0497], [0499, 0499], [049b, 049b],
     992        [049d, 049d], [049f, 049f], [04a1, 04a1], [04a3, 04a3],
     993        [04a5, 04a5], [04a7, 04a7], [04a9, 04a9], [04ab, 04ab],
     994        [04ad, 04ad], [04af, 04af], [04b1, 04b1], [04b3, 04b3],
     995        [04b5, 04b5], [04b7, 04b7], [04b9, 04b9], [04bb, 04bb],
     996        [04bd, 04bd], [04bf, 04bf], [04c2, 04c2], [04c4, 04c4],
     997        [04c6, 04c6], [04c8, 04c8], [04ca, 04ca], [04cc, 04cc],
     998        [04ce, 04cf], [04d1, 04d1], [04d3, 04d3], [04d5, 04d5],
     999        [04d7, 04d7], [04d9, 04d9], [04db, 04db], [04dd, 04dd],
     1000        [04df, 04df], [04e1, 04e1], [04e3, 04e3], [04e5, 04e5],
     1001        [04e7, 04e7], [04e9, 04e9], [04eb, 04eb], [04ed, 04ed],
     1002        [04ef, 04ef], [04f1, 04f1], [04f3, 04f3], [04f5, 04f5],
     1003        [04f7, 04f7], [04f9, 04f9], [04fb, 04fb], [04fd, 04fd],
     1004        [04ff, 04ff], [0501, 0501], [0503, 0503], [0505, 0505],
     1005        [0507, 0507], [0509, 0509], [050b, 050b], [050d, 050d],
     1006        [050f, 050f], [0511, 0511], [0513, 0513], [0515, 0515],
     1007        [0517, 0517], [0519, 0519], [051b, 051b], [051d, 051d],
     1008        [051f, 051f], [0521, 0521], [0523, 0523], [0525, 0525],
     1009        [0527, 0527], [0529, 0529], [052b, 052b], [052d, 052d],
     1010        [052f, 052f], [0561, 0587], [13f8, 13fd], [1c80, 1c88],
     1011        [1d79, 1d79], [1d7d, 1d7d], [1e01, 1e01], [1e03, 1e03],
     1012        [1e05, 1e05], [1e07, 1e07], [1e09, 1e09], [1e0b, 1e0b],
     1013        [1e0d, 1e0d], [1e0f, 1e0f], [1e11, 1e11], [1e13, 1e13],
     1014        [1e15, 1e15], [1e17, 1e17], [1e19, 1e19], [1e1b, 1e1b],
     1015        [1e1d, 1e1d], [1e1f, 1e1f], [1e21, 1e21], [1e23, 1e23],
     1016        [1e25, 1e25], [1e27, 1e27], [1e29, 1e29], [1e2b, 1e2b],
     1017        [1e2d, 1e2d], [1e2f, 1e2f], [1e31, 1e31], [1e33, 1e33],
     1018        [1e35, 1e35], [1e37, 1e37], [1e39, 1e39], [1e3b, 1e3b],
     1019        [1e3d, 1e3d], [1e3f, 1e3f], [1e41, 1e41], [1e43, 1e43],
     1020        [1e45, 1e45], [1e47, 1e47], [1e49, 1e49], [1e4b, 1e4b],
     1021        [1e4d, 1e4d], [1e4f, 1e4f], [1e51, 1e51], [1e53, 1e53],
     1022        [1e55, 1e55], [1e57, 1e57], [1e59, 1e59], [1e5b, 1e5b],
     1023        [1e5d, 1e5d], [1e5f, 1e5f], [1e61, 1e61], [1e63, 1e63],
     1024        [1e65, 1e65], [1e67, 1e67], [1e69, 1e69], [1e6b, 1e6b],
     1025        [1e6d, 1e6d], [1e6f, 1e6f], [1e71, 1e71], [1e73, 1e73],
     1026        [1e75, 1e75], [1e77, 1e77], [1e79, 1e79], [1e7b, 1e7b],
     1027        [1e7d, 1e7d], [1e7f, 1e7f], [1e81, 1e81], [1e83, 1e83],
     1028        [1e85, 1e85], [1e87, 1e87], [1e89, 1e89], [1e8b, 1e8b],
     1029        [1e8d, 1e8d], [1e8f, 1e8f], [1e91, 1e91], [1e93, 1e93],
     1030        [1e95, 1e9b], [1ea1, 1ea1], [1ea3, 1ea3], [1ea5, 1ea5],
     1031        [1ea7, 1ea7], [1ea9, 1ea9], [1eab, 1eab], [1ead, 1ead],
     1032        [1eaf, 1eaf], [1eb1, 1eb1], [1eb3, 1eb3], [1eb5, 1eb5],
     1033        [1eb7, 1eb7], [1eb9, 1eb9], [1ebb, 1ebb], [1ebd, 1ebd],
     1034        [1ebf, 1ebf], [1ec1, 1ec1], [1ec3, 1ec3], [1ec5, 1ec5],
     1035        [1ec7, 1ec7], [1ec9, 1ec9], [1ecb, 1ecb], [1ecd, 1ecd],
     1036        [1ecf, 1ecf], [1ed1, 1ed1], [1ed3, 1ed3], [1ed5, 1ed5],
     1037        [1ed7, 1ed7], [1ed9, 1ed9], [1edb, 1edb], [1edd, 1edd],
     1038        [1edf, 1edf], [1ee1, 1ee1], [1ee3, 1ee3], [1ee5, 1ee5],
     1039        [1ee7, 1ee7], [1ee9, 1ee9], [1eeb, 1eeb], [1eed, 1eed],
     1040        [1eef, 1eef], [1ef1, 1ef1], [1ef3, 1ef3], [1ef5, 1ef5],
     1041        [1ef7, 1ef7], [1ef9, 1ef9], [1efb, 1efb], [1efd, 1efd],
     1042        [1eff, 1f07], [1f10, 1f15], [1f20, 1f27], [1f30, 1f37],
     1043        [1f40, 1f45], [1f50, 1f57], [1f60, 1f67], [1f70, 1f7d],
     1044        [1f80, 1f87], [1f90, 1f97], [1fa0, 1fa7], [1fb0, 1fb4],
     1045        [1fb6, 1fb7], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fc7],
     1046        [1fd0, 1fd3], [1fd6, 1fd7], [1fe0, 1fe7], [1ff2, 1ff4],
     1047        [1ff6, 1ff7], [214e, 214e], [2170, 217f], [2184, 2184],
     1048        [24d0, 24e9], [2c30, 2c5e], [2c61, 2c61], [2c65, 2c66],
     1049        [2c68, 2c68], [2c6a, 2c6a], [2c6c, 2c6c], [2c73, 2c73],
     1050        [2c76, 2c76], [2c81, 2c81], [2c83, 2c83], [2c85, 2c85],
     1051        [2c87, 2c87], [2c89, 2c89], [2c8b, 2c8b], [2c8d, 2c8d],
     1052        [2c8f, 2c8f], [2c91, 2c91], [2c93, 2c93], [2c95, 2c95],
     1053        [2c97, 2c97], [2c99, 2c99], [2c9b, 2c9b], [2c9d, 2c9d],
     1054        [2c9f, 2c9f], [2ca1, 2ca1], [2ca3, 2ca3], [2ca5, 2ca5],
     1055        [2ca7, 2ca7], [2ca9, 2ca9], [2cab, 2cab], [2cad, 2cad],
     1056        [2caf, 2caf], [2cb1, 2cb1], [2cb3, 2cb3], [2cb5, 2cb5],
     1057        [2cb7, 2cb7], [2cb9, 2cb9], [2cbb, 2cbb], [2cbd, 2cbd],
     1058        [2cbf, 2cbf], [2cc1, 2cc1], [2cc3, 2cc3], [2cc5, 2cc5],
     1059        [2cc7, 2cc7], [2cc9, 2cc9], [2ccb, 2ccb], [2ccd, 2ccd],
     1060        [2ccf, 2ccf], [2cd1, 2cd1], [2cd3, 2cd3], [2cd5, 2cd5],
     1061        [2cd7, 2cd7], [2cd9, 2cd9], [2cdb, 2cdb], [2cdd, 2cdd],
     1062        [2cdf, 2cdf], [2ce1, 2ce1], [2ce3, 2ce3], [2cec, 2cec],
     1063        [2cee, 2cee], [2cf3, 2cf3], [2d00, 2d25], [2d27, 2d27],
     1064        [2d2d, 2d2d], [a641, a641], [a643, a643], [a645, a645],
     1065        [a647, a647], [a649, a649], [a64b, a64b], [a64d, a64d],
     1066        [a64f, a64f], [a651, a651], [a653, a653], [a655, a655],
     1067        [a657, a657], [a659, a659], [a65b, a65b], [a65d, a65d],
     1068        [a65f, a65f], [a661, a661], [a663, a663], [a665, a665],
     1069        [a667, a667], [a669, a669], [a66b, a66b], [a66d, a66d],
     1070        [a681, a681], [a683, a683], [a685, a685], [a687, a687],
     1071        [a689, a689], [a68b, a68b], [a68d, a68d], [a68f, a68f],
     1072        [a691, a691], [a693, a693], [a695, a695], [a697, a697],
     1073        [a699, a699], [a69b, a69b], [a723, a723], [a725, a725],
     1074        [a727, a727], [a729, a729], [a72b, a72b], [a72d, a72d],
     1075        [a72f, a72f], [a733, a733], [a735, a735], [a737, a737],
     1076        [a739, a739], [a73b, a73b], [a73d, a73d], [a73f, a73f],
     1077        [a741, a741], [a743, a743], [a745, a745], [a747, a747],
     1078        [a749, a749], [a74b, a74b], [a74d, a74d], [a74f, a74f],
     1079        [a751, a751], [a753, a753], [a755, a755], [a757, a757],
     1080        [a759, a759], [a75b, a75b], [a75d, a75d], [a75f, a75f],
     1081        [a761, a761], [a763, a763], [a765, a765], [a767, a767],
     1082        [a769, a769], [a76b, a76b], [a76d, a76d], [a76f, a76f],
     1083        [a77a, a77a], [a77c, a77c], [a77f, a77f], [a781, a781],
     1084        [a783, a783], [a785, a785], [a787, a787], [a78c, a78c],
     1085        [a791, a791], [a793, a793], [a797, a797], [a799, a799],
     1086        [a79b, a79b], [a79d, a79d], [a79f, a79f], [a7a1, a7a1],
     1087        [a7a3, a7a3], [a7a5, a7a5], [a7a7, a7a7], [a7a9, a7a9],
     1088        [a7b5, a7b5], [a7b7, a7b7], [ab53, ab53], [ab70, abbf],
     1089        [fb00, fb06], [fb13, fb17], [ff41, ff5a], [10428, 1044f],
     1090        [104d8, 104fb], [10cc0, 10cf2], [118c0, 118df], [1e922, 1e943]**/
    10711091        const UnicodeSet codepoint_set
    10721092            {{{Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 16}, {Empty, 5},
     
    11021122    namespace CWU_ns {
    11031123        /** Code Point Ranges for CWU
    1104         [97, 122], [181, 181], [223, 246], [248, 255], [257, 257],
    1105         [259, 259], [261, 261], [263, 263], [265, 265], [267, 267],
    1106         [269, 269], [271, 271], [273, 273], [275, 275], [277, 277],
    1107         [279, 279], [281, 281], [283, 283], [285, 285], [287, 287],
    1108         [289, 289], [291, 291], [293, 293], [295, 295], [297, 297],
    1109         [299, 299], [301, 301], [303, 303], [305, 305], [307, 307],
    1110         [309, 309], [311, 311], [314, 314], [316, 316], [318, 318],
    1111         [320, 320], [322, 322], [324, 324], [326, 326], [328, 329],
    1112         [331, 331], [333, 333], [335, 335], [337, 337], [339, 339],
    1113         [341, 341], [343, 343], [345, 345], [347, 347], [349, 349],
    1114         [351, 351], [353, 353], [355, 355], [357, 357], [359, 359],
    1115         [361, 361], [363, 363], [365, 365], [367, 367], [369, 369],
    1116         [371, 371], [373, 373], [375, 375], [378, 378], [380, 380],
    1117         [382, 384], [387, 387], [389, 389], [392, 392], [396, 396],
    1118         [402, 402], [405, 405], [409, 410], [414, 414], [417, 417],
    1119         [419, 419], [421, 421], [424, 424], [429, 429], [432, 432],
    1120         [436, 436], [438, 438], [441, 441], [445, 445], [447, 447],
    1121         [453, 454], [456, 457], [459, 460], [462, 462], [464, 464],
    1122         [466, 466], [468, 468], [470, 470], [472, 472], [474, 474],
    1123         [476, 477], [479, 479], [481, 481], [483, 483], [485, 485],
    1124         [487, 487], [489, 489], [491, 491], [493, 493], [495, 496],
    1125         [498, 499], [501, 501], [505, 505], [507, 507], [509, 509],
    1126         [511, 511], [513, 513], [515, 515], [517, 517], [519, 519],
    1127         [521, 521], [523, 523], [525, 525], [527, 527], [529, 529],
    1128         [531, 531], [533, 533], [535, 535], [537, 537], [539, 539],
    1129         [541, 541], [543, 543], [547, 547], [549, 549], [551, 551],
    1130         [553, 553], [555, 555], [557, 557], [559, 559], [561, 561],
    1131         [563, 563], [572, 572], [575, 576], [578, 578], [583, 583],
    1132         [585, 585], [587, 587], [589, 589], [591, 596], [598, 599],
    1133         [601, 601], [603, 604], [608, 609], [611, 611], [613, 614],
    1134         [616, 620], [623, 623], [625, 626], [629, 629], [637, 637],
    1135         [640, 640], [643, 643], [647, 652], [658, 658], [669, 670],
    1136         [837, 837], [881, 881], [883, 883], [887, 887], [891, 893],
    1137         [912, 912], [940, 974], [976, 977], [981, 983], [985, 985],
    1138         [987, 987], [989, 989], [991, 991], [993, 993], [995, 995],
    1139         [997, 997], [999, 999], [1001, 1001], [1003, 1003], [1005, 1005],
    1140         [1007, 1011], [1013, 1013], [1016, 1016], [1019, 1019],
    1141         [1072, 1119], [1121, 1121], [1123, 1123], [1125, 1125],
    1142         [1127, 1127], [1129, 1129], [1131, 1131], [1133, 1133],
    1143         [1135, 1135], [1137, 1137], [1139, 1139], [1141, 1141],
    1144         [1143, 1143], [1145, 1145], [1147, 1147], [1149, 1149],
    1145         [1151, 1151], [1153, 1153], [1163, 1163], [1165, 1165],
    1146         [1167, 1167], [1169, 1169], [1171, 1171], [1173, 1173],
    1147         [1175, 1175], [1177, 1177], [1179, 1179], [1181, 1181],
    1148         [1183, 1183], [1185, 1185], [1187, 1187], [1189, 1189],
    1149         [1191, 1191], [1193, 1193], [1195, 1195], [1197, 1197],
    1150         [1199, 1199], [1201, 1201], [1203, 1203], [1205, 1205],
    1151         [1207, 1207], [1209, 1209], [1211, 1211], [1213, 1213],
    1152         [1215, 1215], [1218, 1218], [1220, 1220], [1222, 1222],
    1153         [1224, 1224], [1226, 1226], [1228, 1228], [1230, 1231],
    1154         [1233, 1233], [1235, 1235], [1237, 1237], [1239, 1239],
    1155         [1241, 1241], [1243, 1243], [1245, 1245], [1247, 1247],
    1156         [1249, 1249], [1251, 1251], [1253, 1253], [1255, 1255],
    1157         [1257, 1257], [1259, 1259], [1261, 1261], [1263, 1263],
    1158         [1265, 1265], [1267, 1267], [1269, 1269], [1271, 1271],
    1159         [1273, 1273], [1275, 1275], [1277, 1277], [1279, 1279],
    1160         [1281, 1281], [1283, 1283], [1285, 1285], [1287, 1287],
    1161         [1289, 1289], [1291, 1291], [1293, 1293], [1295, 1295],
    1162         [1297, 1297], [1299, 1299], [1301, 1301], [1303, 1303],
    1163         [1305, 1305], [1307, 1307], [1309, 1309], [1311, 1311],
    1164         [1313, 1313], [1315, 1315], [1317, 1317], [1319, 1319],
    1165         [1321, 1321], [1323, 1323], [1325, 1325], [1327, 1327],
    1166         [1377, 1415], [5112, 5117], [7296, 7304], [7545, 7545],
    1167         [7549, 7549], [7681, 7681], [7683, 7683], [7685, 7685],
    1168         [7687, 7687], [7689, 7689], [7691, 7691], [7693, 7693],
    1169         [7695, 7695], [7697, 7697], [7699, 7699], [7701, 7701],
    1170         [7703, 7703], [7705, 7705], [7707, 7707], [7709, 7709],
    1171         [7711, 7711], [7713, 7713], [7715, 7715], [7717, 7717],
    1172         [7719, 7719], [7721, 7721], [7723, 7723], [7725, 7725],
    1173         [7727, 7727], [7729, 7729], [7731, 7731], [7733, 7733],
    1174         [7735, 7735], [7737, 7737], [7739, 7739], [7741, 7741],
    1175         [7743, 7743], [7745, 7745], [7747, 7747], [7749, 7749],
    1176         [7751, 7751], [7753, 7753], [7755, 7755], [7757, 7757],
    1177         [7759, 7759], [7761, 7761], [7763, 7763], [7765, 7765],
    1178         [7767, 7767], [7769, 7769], [7771, 7771], [7773, 7773],
    1179         [7775, 7775], [7777, 7777], [7779, 7779], [7781, 7781],
    1180         [7783, 7783], [7785, 7785], [7787, 7787], [7789, 7789],
    1181         [7791, 7791], [7793, 7793], [7795, 7795], [7797, 7797],
    1182         [7799, 7799], [7801, 7801], [7803, 7803], [7805, 7805],
    1183         [7807, 7807], [7809, 7809], [7811, 7811], [7813, 7813],
    1184         [7815, 7815], [7817, 7817], [7819, 7819], [7821, 7821],
    1185         [7823, 7823], [7825, 7825], [7827, 7827], [7829, 7835],
    1186         [7841, 7841], [7843, 7843], [7845, 7845], [7847, 7847],
    1187         [7849, 7849], [7851, 7851], [7853, 7853], [7855, 7855],
    1188         [7857, 7857], [7859, 7859], [7861, 7861], [7863, 7863],
    1189         [7865, 7865], [7867, 7867], [7869, 7869], [7871, 7871],
    1190         [7873, 7873], [7875, 7875], [7877, 7877], [7879, 7879],
    1191         [7881, 7881], [7883, 7883], [7885, 7885], [7887, 7887],
    1192         [7889, 7889], [7891, 7891], [7893, 7893], [7895, 7895],
    1193         [7897, 7897], [7899, 7899], [7901, 7901], [7903, 7903],
    1194         [7905, 7905], [7907, 7907], [7909, 7909], [7911, 7911],
    1195         [7913, 7913], [7915, 7915], [7917, 7917], [7919, 7919],
    1196         [7921, 7921], [7923, 7923], [7925, 7925], [7927, 7927],
    1197         [7929, 7929], [7931, 7931], [7933, 7933], [7935, 7943],
    1198         [7952, 7957], [7968, 7975], [7984, 7991], [8000, 8005],
    1199         [8016, 8023], [8032, 8039], [8048, 8061], [8064, 8116],
    1200         [8118, 8119], [8124, 8124], [8126, 8126], [8130, 8132],
    1201         [8134, 8135], [8140, 8140], [8144, 8147], [8150, 8151],
    1202         [8160, 8167], [8178, 8180], [8182, 8183], [8188, 8188],
    1203         [8526, 8526], [8560, 8575], [8580, 8580], [9424, 9449],
    1204         [11312, 11358], [11361, 11361], [11365, 11366], [11368, 11368],
    1205         [11370, 11370], [11372, 11372], [11379, 11379], [11382, 11382],
    1206         [11393, 11393], [11395, 11395], [11397, 11397], [11399, 11399],
    1207         [11401, 11401], [11403, 11403], [11405, 11405], [11407, 11407],
    1208         [11409, 11409], [11411, 11411], [11413, 11413], [11415, 11415],
    1209         [11417, 11417], [11419, 11419], [11421, 11421], [11423, 11423],
    1210         [11425, 11425], [11427, 11427], [11429, 11429], [11431, 11431],
    1211         [11433, 11433], [11435, 11435], [11437, 11437], [11439, 11439],
    1212         [11441, 11441], [11443, 11443], [11445, 11445], [11447, 11447],
    1213         [11449, 11449], [11451, 11451], [11453, 11453], [11455, 11455],
    1214         [11457, 11457], [11459, 11459], [11461, 11461], [11463, 11463],
    1215         [11465, 11465], [11467, 11467], [11469, 11469], [11471, 11471],
    1216         [11473, 11473], [11475, 11475], [11477, 11477], [11479, 11479],
    1217         [11481, 11481], [11483, 11483], [11485, 11485], [11487, 11487],
    1218         [11489, 11489], [11491, 11491], [11500, 11500], [11502, 11502],
    1219         [11507, 11507], [11520, 11557], [11559, 11559], [11565, 11565],
    1220         [42561, 42561], [42563, 42563], [42565, 42565], [42567, 42567],
    1221         [42569, 42569], [42571, 42571], [42573, 42573], [42575, 42575],
    1222         [42577, 42577], [42579, 42579], [42581, 42581], [42583, 42583],
    1223         [42585, 42585], [42587, 42587], [42589, 42589], [42591, 42591],
    1224         [42593, 42593], [42595, 42595], [42597, 42597], [42599, 42599],
    1225         [42601, 42601], [42603, 42603], [42605, 42605], [42625, 42625],
    1226         [42627, 42627], [42629, 42629], [42631, 42631], [42633, 42633],
    1227         [42635, 42635], [42637, 42637], [42639, 42639], [42641, 42641],
    1228         [42643, 42643], [42645, 42645], [42647, 42647], [42649, 42649],
    1229         [42651, 42651], [42787, 42787], [42789, 42789], [42791, 42791],
    1230         [42793, 42793], [42795, 42795], [42797, 42797], [42799, 42799],
    1231         [42803, 42803], [42805, 42805], [42807, 42807], [42809, 42809],
    1232         [42811, 42811], [42813, 42813], [42815, 42815], [42817, 42817],
    1233         [42819, 42819], [42821, 42821], [42823, 42823], [42825, 42825],
    1234         [42827, 42827], [42829, 42829], [42831, 42831], [42833, 42833],
    1235         [42835, 42835], [42837, 42837], [42839, 42839], [42841, 42841],
    1236         [42843, 42843], [42845, 42845], [42847, 42847], [42849, 42849],
    1237         [42851, 42851], [42853, 42853], [42855, 42855], [42857, 42857],
    1238         [42859, 42859], [42861, 42861], [42863, 42863], [42874, 42874],
    1239         [42876, 42876], [42879, 42879], [42881, 42881], [42883, 42883],
    1240         [42885, 42885], [42887, 42887], [42892, 42892], [42897, 42897],
    1241         [42899, 42899], [42903, 42903], [42905, 42905], [42907, 42907],
    1242         [42909, 42909], [42911, 42911], [42913, 42913], [42915, 42915],
    1243         [42917, 42917], [42919, 42919], [42921, 42921], [42933, 42933],
    1244         [42935, 42935], [43859, 43859], [43888, 43967], [64256, 64262],
    1245         [64275, 64279], [65345, 65370], [66600, 66639], [66776, 66811],
    1246         [68800, 68850], [71872, 71903], [125218, 125251]**/
     1124        [0061, 007a], [00b5, 00b5], [00df, 00f6], [00f8, 00ff],
     1125        [0101, 0101], [0103, 0103], [0105, 0105], [0107, 0107],
     1126        [0109, 0109], [010b, 010b], [010d, 010d], [010f, 010f],
     1127        [0111, 0111], [0113, 0113], [0115, 0115], [0117, 0117],
     1128        [0119, 0119], [011b, 011b], [011d, 011d], [011f, 011f],
     1129        [0121, 0121], [0123, 0123], [0125, 0125], [0127, 0127],
     1130        [0129, 0129], [012b, 012b], [012d, 012d], [012f, 012f],
     1131        [0131, 0131], [0133, 0133], [0135, 0135], [0137, 0137],
     1132        [013a, 013a], [013c, 013c], [013e, 013e], [0140, 0140],
     1133        [0142, 0142], [0144, 0144], [0146, 0146], [0148, 0149],
     1134        [014b, 014b], [014d, 014d], [014f, 014f], [0151, 0151],
     1135        [0153, 0153], [0155, 0155], [0157, 0157], [0159, 0159],
     1136        [015b, 015b], [015d, 015d], [015f, 015f], [0161, 0161],
     1137        [0163, 0163], [0165, 0165], [0167, 0167], [0169, 0169],
     1138        [016b, 016b], [016d, 016d], [016f, 016f], [0171, 0171],
     1139        [0173, 0173], [0175, 0175], [0177, 0177], [017a, 017a],
     1140        [017c, 017c], [017e, 0180], [0183, 0183], [0185, 0185],
     1141        [0188, 0188], [018c, 018c], [0192, 0192], [0195, 0195],
     1142        [0199, 019a], [019e, 019e], [01a1, 01a1], [01a3, 01a3],
     1143        [01a5, 01a5], [01a8, 01a8], [01ad, 01ad], [01b0, 01b0],
     1144        [01b4, 01b4], [01b6, 01b6], [01b9, 01b9], [01bd, 01bd],
     1145        [01bf, 01bf], [01c5, 01c6], [01c8, 01c9], [01cb, 01cc],
     1146        [01ce, 01ce], [01d0, 01d0], [01d2, 01d2], [01d4, 01d4],
     1147        [01d6, 01d6], [01d8, 01d8], [01da, 01da], [01dc, 01dd],
     1148        [01df, 01df], [01e1, 01e1], [01e3, 01e3], [01e5, 01e5],
     1149        [01e7, 01e7], [01e9, 01e9], [01eb, 01eb], [01ed, 01ed],
     1150        [01ef, 01f0], [01f2, 01f3], [01f5, 01f5], [01f9, 01f9],
     1151        [01fb, 01fb], [01fd, 01fd], [01ff, 01ff], [0201, 0201],
     1152        [0203, 0203], [0205, 0205], [0207, 0207], [0209, 0209],
     1153        [020b, 020b], [020d, 020d], [020f, 020f], [0211, 0211],
     1154        [0213, 0213], [0215, 0215], [0217, 0217], [0219, 0219],
     1155        [021b, 021b], [021d, 021d], [021f, 021f], [0223, 0223],
     1156        [0225, 0225], [0227, 0227], [0229, 0229], [022b, 022b],
     1157        [022d, 022d], [022f, 022f], [0231, 0231], [0233, 0233],
     1158        [023c, 023c], [023f, 0240], [0242, 0242], [0247, 0247],
     1159        [0249, 0249], [024b, 024b], [024d, 024d], [024f, 0254],
     1160        [0256, 0257], [0259, 0259], [025b, 025c], [0260, 0261],
     1161        [0263, 0263], [0265, 0266], [0268, 026c], [026f, 026f],
     1162        [0271, 0272], [0275, 0275], [027d, 027d], [0280, 0280],
     1163        [0283, 0283], [0287, 028c], [0292, 0292], [029d, 029e],
     1164        [0345, 0345], [0371, 0371], [0373, 0373], [0377, 0377],
     1165        [037b, 037d], [0390, 0390], [03ac, 03ce], [03d0, 03d1],
     1166        [03d5, 03d7], [03d9, 03d9], [03db, 03db], [03dd, 03dd],
     1167        [03df, 03df], [03e1, 03e1], [03e3, 03e3], [03e5, 03e5],
     1168        [03e7, 03e7], [03e9, 03e9], [03eb, 03eb], [03ed, 03ed],
     1169        [03ef, 03f3], [03f5, 03f5], [03f8, 03f8], [03fb, 03fb],
     1170        [0430, 045f], [0461, 0461], [0463, 0463], [0465, 0465],
     1171        [0467, 0467], [0469, 0469], [046b, 046b], [046d, 046d],
     1172        [046f, 046f], [0471, 0471], [0473, 0473], [0475, 0475],
     1173        [0477, 0477], [0479, 0479], [047b, 047b], [047d, 047d],
     1174        [047f, 047f], [0481, 0481], [048b, 048b], [048d, 048d],
     1175        [048f, 048f], [0491, 0491], [0493, 0493], [0495, 0495],
     1176        [0497, 0497], [0499, 0499], [049b, 049b], [049d, 049d],
     1177        [049f, 049f], [04a1, 04a1], [04a3, 04a3], [04a5, 04a5],
     1178        [04a7, 04a7], [04a9, 04a9], [04ab, 04ab], [04ad, 04ad],
     1179        [04af, 04af], [04b1, 04b1], [04b3, 04b3], [04b5, 04b5],
     1180        [04b7, 04b7], [04b9, 04b9], [04bb, 04bb], [04bd, 04bd],
     1181        [04bf, 04bf], [04c2, 04c2], [04c4, 04c4], [04c6, 04c6],
     1182        [04c8, 04c8], [04ca, 04ca], [04cc, 04cc], [04ce, 04cf],
     1183        [04d1, 04d1], [04d3, 04d3], [04d5, 04d5], [04d7, 04d7],
     1184        [04d9, 04d9], [04db, 04db], [04dd, 04dd], [04df, 04df],
     1185        [04e1, 04e1], [04e3, 04e3], [04e5, 04e5], [04e7, 04e7],
     1186        [04e9, 04e9], [04eb, 04eb], [04ed, 04ed], [04ef, 04ef],
     1187        [04f1, 04f1], [04f3, 04f3], [04f5, 04f5], [04f7, 04f7],
     1188        [04f9, 04f9], [04fb, 04fb], [04fd, 04fd], [04ff, 04ff],
     1189        [0501, 0501], [0503, 0503], [0505, 0505], [0507, 0507],
     1190        [0509, 0509], [050b, 050b], [050d, 050d], [050f, 050f],
     1191        [0511, 0511], [0513, 0513], [0515, 0515], [0517, 0517],
     1192        [0519, 0519], [051b, 051b], [051d, 051d], [051f, 051f],
     1193        [0521, 0521], [0523, 0523], [0525, 0525], [0527, 0527],
     1194        [0529, 0529], [052b, 052b], [052d, 052d], [052f, 052f],
     1195        [0561, 0587], [13f8, 13fd], [1c80, 1c88], [1d79, 1d79],
     1196        [1d7d, 1d7d], [1e01, 1e01], [1e03, 1e03], [1e05, 1e05],
     1197        [1e07, 1e07], [1e09, 1e09], [1e0b, 1e0b], [1e0d, 1e0d],
     1198        [1e0f, 1e0f], [1e11, 1e11], [1e13, 1e13], [1e15, 1e15],
     1199        [1e17, 1e17], [1e19, 1e19], [1e1b, 1e1b], [1e1d, 1e1d],
     1200        [1e1f, 1e1f], [1e21, 1e21], [1e23, 1e23], [1e25, 1e25],
     1201        [1e27, 1e27], [1e29, 1e29], [1e2b, 1e2b], [1e2d, 1e2d],
     1202        [1e2f, 1e2f], [1e31, 1e31], [1e33, 1e33], [1e35, 1e35],
     1203        [1e37, 1e37], [1e39, 1e39], [1e3b, 1e3b], [1e3d, 1e3d],
     1204        [1e3f, 1e3f], [1e41, 1e41], [1e43, 1e43], [1e45, 1e45],
     1205        [1e47, 1e47], [1e49, 1e49], [1e4b, 1e4b], [1e4d, 1e4d],
     1206        [1e4f, 1e4f], [1e51, 1e51], [1e53, 1e53], [1e55, 1e55],
     1207        [1e57, 1e57], [1e59, 1e59], [1e5b, 1e5b], [1e5d, 1e5d],
     1208        [1e5f, 1e5f], [1e61, 1e61], [1e63, 1e63], [1e65, 1e65],
     1209        [1e67, 1e67], [1e69, 1e69], [1e6b, 1e6b], [1e6d, 1e6d],
     1210        [1e6f, 1e6f], [1e71, 1e71], [1e73, 1e73], [1e75, 1e75],
     1211        [1e77, 1e77], [1e79, 1e79], [1e7b, 1e7b], [1e7d, 1e7d],
     1212        [1e7f, 1e7f], [1e81, 1e81], [1e83, 1e83], [1e85, 1e85],
     1213        [1e87, 1e87], [1e89, 1e89], [1e8b, 1e8b], [1e8d, 1e8d],
     1214        [1e8f, 1e8f], [1e91, 1e91], [1e93, 1e93], [1e95, 1e9b],
     1215        [1ea1, 1ea1], [1ea3, 1ea3], [1ea5, 1ea5], [1ea7, 1ea7],
     1216        [1ea9, 1ea9], [1eab, 1eab], [1ead, 1ead], [1eaf, 1eaf],
     1217        [1eb1, 1eb1], [1eb3, 1eb3], [1eb5, 1eb5], [1eb7, 1eb7],
     1218        [1eb9, 1eb9], [1ebb, 1ebb], [1ebd, 1ebd], [1ebf, 1ebf],
     1219        [1ec1, 1ec1], [1ec3, 1ec3], [1ec5, 1ec5], [1ec7, 1ec7],
     1220        [1ec9, 1ec9], [1ecb, 1ecb], [1ecd, 1ecd], [1ecf, 1ecf],
     1221        [1ed1, 1ed1], [1ed3, 1ed3], [1ed5, 1ed5], [1ed7, 1ed7],
     1222        [1ed9, 1ed9], [1edb, 1edb], [1edd, 1edd], [1edf, 1edf],
     1223        [1ee1, 1ee1], [1ee3, 1ee3], [1ee5, 1ee5], [1ee7, 1ee7],
     1224        [1ee9, 1ee9], [1eeb, 1eeb], [1eed, 1eed], [1eef, 1eef],
     1225        [1ef1, 1ef1], [1ef3, 1ef3], [1ef5, 1ef5], [1ef7, 1ef7],
     1226        [1ef9, 1ef9], [1efb, 1efb], [1efd, 1efd], [1eff, 1f07],
     1227        [1f10, 1f15], [1f20, 1f27], [1f30, 1f37], [1f40, 1f45],
     1228        [1f50, 1f57], [1f60, 1f67], [1f70, 1f7d], [1f80, 1fb4],
     1229        [1fb6, 1fb7], [1fbc, 1fbc], [1fbe, 1fbe], [1fc2, 1fc4],
     1230        [1fc6, 1fc7], [1fcc, 1fcc], [1fd0, 1fd3], [1fd6, 1fd7],
     1231        [1fe0, 1fe7], [1ff2, 1ff4], [1ff6, 1ff7], [1ffc, 1ffc],
     1232        [214e, 214e], [2170, 217f], [2184, 2184], [24d0, 24e9],
     1233        [2c30, 2c5e], [2c61, 2c61], [2c65, 2c66], [2c68, 2c68],
     1234        [2c6a, 2c6a], [2c6c, 2c6c], [2c73, 2c73], [2c76, 2c76],
     1235        [2c81, 2c81], [2c83, 2c83], [2c85, 2c85], [2c87, 2c87],
     1236        [2c89, 2c89], [2c8b, 2c8b], [2c8d, 2c8d], [2c8f, 2c8f],
     1237        [2c91, 2c91], [2c93, 2c93], [2c95, 2c95], [2c97, 2c97],
     1238        [2c99, 2c99], [2c9b, 2c9b], [2c9d, 2c9d], [2c9f, 2c9f],
     1239        [2ca1, 2ca1], [2ca3, 2ca3], [2ca5, 2ca5], [2ca7, 2ca7],
     1240        [2ca9, 2ca9], [2cab, 2cab], [2cad, 2cad], [2caf, 2caf],
     1241        [2cb1, 2cb1], [2cb3, 2cb3], [2cb5, 2cb5], [2cb7, 2cb7],
     1242        [2cb9, 2cb9], [2cbb, 2cbb], [2cbd, 2cbd], [2cbf, 2cbf],
     1243        [2cc1, 2cc1], [2cc3, 2cc3], [2cc5, 2cc5], [2cc7, 2cc7],
     1244        [2cc9, 2cc9], [2ccb, 2ccb], [2ccd, 2ccd], [2ccf, 2ccf],
     1245        [2cd1, 2cd1], [2cd3, 2cd3], [2cd5, 2cd5], [2cd7, 2cd7],
     1246        [2cd9, 2cd9], [2cdb, 2cdb], [2cdd, 2cdd], [2cdf, 2cdf],
     1247        [2ce1, 2ce1], [2ce3, 2ce3], [2cec, 2cec], [2cee, 2cee],
     1248        [2cf3, 2cf3], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d],
     1249        [a641, a641], [a643, a643], [a645, a645], [a647, a647],
     1250        [a649, a649], [a64b, a64b], [a64d, a64d], [a64f, a64f],
     1251        [a651, a651], [a653, a653], [a655, a655], [a657, a657],
     1252        [a659, a659], [a65b, a65b], [a65d, a65d], [a65f, a65f],
     1253        [a661, a661], [a663, a663], [a665, a665], [a667, a667],
     1254        [a669, a669], [a66b, a66b], [a66d, a66d], [a681, a681],
     1255        [a683, a683], [a685, a685], [a687, a687], [a689, a689],
     1256        [a68b, a68b], [a68d, a68d], [a68f, a68f], [a691, a691],
     1257        [a693, a693], [a695, a695], [a697, a697], [a699, a699],
     1258        [a69b, a69b], [a723, a723], [a725, a725], [a727, a727],
     1259        [a729, a729], [a72b, a72b], [a72d, a72d], [a72f, a72f],
     1260        [a733, a733], [a735, a735], [a737, a737], [a739, a739],
     1261        [a73b, a73b], [a73d, a73d], [a73f, a73f], [a741, a741],
     1262        [a743, a743], [a745, a745], [a747, a747], [a749, a749],
     1263        [a74b, a74b], [a74d, a74d], [a74f, a74f], [a751, a751],
     1264        [a753, a753], [a755, a755], [a757, a757], [a759, a759],
     1265        [a75b, a75b], [a75d, a75d], [a75f, a75f], [a761, a761],
     1266        [a763, a763], [a765, a765], [a767, a767], [a769, a769],
     1267        [a76b, a76b], [a76d, a76d], [a76f, a76f], [a77a, a77a],
     1268        [a77c, a77c], [a77f, a77f], [a781, a781], [a783, a783],
     1269        [a785, a785], [a787, a787], [a78c, a78c], [a791, a791],
     1270        [a793, a793], [a797, a797], [a799, a799], [a79b, a79b],
     1271        [a79d, a79d], [a79f, a79f], [a7a1, a7a1], [a7a3, a7a3],
     1272        [a7a5, a7a5], [a7a7, a7a7], [a7a9, a7a9], [a7b5, a7b5],
     1273        [a7b7, a7b7], [ab53, ab53], [ab70, abbf], [fb00, fb06],
     1274        [fb13, fb17], [ff41, ff5a], [10428, 1044f], [104d8, 104fb],
     1275        [10cc0, 10cf2], [118c0, 118df], [1e922, 1e943]**/
    12471276        const UnicodeSet codepoint_set
    12481277            {{{Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 16}, {Empty, 5},
     
    12781307    namespace CASED_ns {
    12791308        /** Code Point Ranges for Cased
    1280         [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
    1281         [216, 246], [248, 442], [444, 447], [452, 659], [661, 696],
    1282         [704, 705], [736, 740], [837, 837], [880, 883], [886, 887],
    1283         [890, 893], [895, 895], [902, 902], [904, 906], [908, 908],
    1284         [910, 929], [931, 1013], [1015, 1153], [1162, 1327], [1329, 1366],
    1285         [1377, 1415], [4256, 4293], [4295, 4295], [4301, 4301],
    1286         [5024, 5109], [5112, 5117], [7296, 7304], [7424, 7615],
    1287         [7680, 7957], [7960, 7965], [7968, 8005], [8008, 8013],
    1288         [8016, 8023], [8025, 8025], [8027, 8027], [8029, 8029],
    1289         [8031, 8061], [8064, 8116], [8118, 8124], [8126, 8126],
    1290         [8130, 8132], [8134, 8140], [8144, 8147], [8150, 8155],
    1291         [8160, 8172], [8178, 8180], [8182, 8188], [8305, 8305],
    1292         [8319, 8319], [8336, 8348], [8450, 8450], [8455, 8455],
    1293         [8458, 8467], [8469, 8469], [8473, 8477], [8484, 8484],
    1294         [8486, 8486], [8488, 8488], [8490, 8493], [8495, 8500],
    1295         [8505, 8505], [8508, 8511], [8517, 8521], [8526, 8526],
    1296         [8544, 8575], [8579, 8580], [9398, 9449], [11264, 11310],
    1297         [11312, 11358], [11360, 11492], [11499, 11502], [11506, 11507],
    1298         [11520, 11557], [11559, 11559], [11565, 11565], [42560, 42605],
    1299         [42624, 42653], [42786, 42887], [42891, 42894], [42896, 42926],
    1300         [42928, 42935], [43000, 43002], [43824, 43866], [43868, 43877],
    1301         [43888, 43967], [64256, 64262], [64275, 64279], [65313, 65338],
    1302         [65345, 65370], [66560, 66639], [66736, 66771], [66776, 66811],
    1303         [68736, 68786], [68800, 68850], [71840, 71903], [119808, 119892],
    1304         [119894, 119964], [119966, 119967], [119970, 119970],
    1305         [119973, 119974], [119977, 119980], [119982, 119993],
    1306         [119995, 119995], [119997, 120003], [120005, 120069],
    1307         [120071, 120074], [120077, 120084], [120086, 120092],
    1308         [120094, 120121], [120123, 120126], [120128, 120132],
    1309         [120134, 120134], [120138, 120144], [120146, 120485],
    1310         [120488, 120512], [120514, 120538], [120540, 120570],
    1311         [120572, 120596], [120598, 120628], [120630, 120654],
    1312         [120656, 120686], [120688, 120712], [120714, 120744],
    1313         [120746, 120770], [120772, 120779], [125184, 125251],
    1314         [127280, 127305], [127312, 127337], [127344, 127369]**/
     1309        [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5],
     1310        [00ba, 00ba], [00c0, 00d6], [00d8, 00f6], [00f8, 01ba],
     1311        [01bc, 01bf], [01c4, 0293], [0295, 02b8], [02c0, 02c1],
     1312        [02e0, 02e4], [0345, 0345], [0370, 0373], [0376, 0377],
     1313        [037a, 037d], [037f, 037f], [0386, 0386], [0388, 038a],
     1314        [038c, 038c], [038e, 03a1], [03a3, 03f5], [03f7, 0481],
     1315        [048a, 052f], [0531, 0556], [0561, 0587], [10a0, 10c5],
     1316        [10c7, 10c7], [10cd, 10cd], [13a0, 13f5], [13f8, 13fd],
     1317        [1c80, 1c88], [1d00, 1dbf], [1e00, 1f15], [1f18, 1f1d],
     1318        [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
     1319        [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
     1320        [1fb6, 1fbc], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc],
     1321        [1fd0, 1fd3], [1fd6, 1fdb], [1fe0, 1fec], [1ff2, 1ff4],
     1322        [1ff6, 1ffc], [2071, 2071], [207f, 207f], [2090, 209c],
     1323        [2102, 2102], [2107, 2107], [210a, 2113], [2115, 2115],
     1324        [2119, 211d], [2124, 2124], [2126, 2126], [2128, 2128],
     1325        [212a, 212d], [212f, 2134], [2139, 2139], [213c, 213f],
     1326        [2145, 2149], [214e, 214e], [2160, 217f], [2183, 2184],
     1327        [24b6, 24e9], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2ce4],
     1328        [2ceb, 2cee], [2cf2, 2cf3], [2d00, 2d25], [2d27, 2d27],
     1329        [2d2d, 2d2d], [a640, a66d], [a680, a69d], [a722, a787],
     1330        [a78b, a78e], [a790, a7ae], [a7b0, a7b7], [a7f8, a7fa],
     1331        [ab30, ab5a], [ab5c, ab65], [ab70, abbf], [fb00, fb06],
     1332        [fb13, fb17], [ff21, ff3a], [ff41, ff5a], [10400, 1044f],
     1333        [104b0, 104d3], [104d8, 104fb], [10c80, 10cb2], [10cc0, 10cf2],
     1334        [118a0, 118df], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
     1335        [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
     1336        [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
     1337        [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
     1338        [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
     1339        [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714],
     1340        [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788],
     1341        [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e900, 1e943],
     1342        [1f130, 1f149], [1f150, 1f169], [1f170, 1f189]**/
    13151343        const UnicodeSet codepoint_set
    13161344            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 5},
     
    13541382    namespace DI_ns {
    13551383        /** Code Point Ranges for DI
    1356         [173, 173], [847, 847], [1564, 1564], [4447, 4448], [6068, 6069],
    1357         [6155, 6158], [8203, 8207], [8234, 8238], [8288, 8303],
    1358         [12644, 12644], [65024, 65039], [65279, 65279], [65440, 65440],
    1359         [65520, 65528], [113824, 113827], [119155, 119162],
    1360         [917504, 921599]**/
     1384        [00ad, 00ad], [034f, 034f], [061c, 061c], [115f, 1160],
     1385        [17b4, 17b5], [180b, 180e], [200b, 200f], [202a, 202e],
     1386        [2060, 206f], [3164, 3164], [fe00, fe0f], [feff, feff],
     1387        [ffa0, ffa0], [fff0, fff8], [1bca0, 1bca3], [1d173, 1d17a],
     1388        [e0000, e0fff]**/
    13611389        const UnicodeSet codepoint_set
    13621390            {{{Empty, 5}, {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 21},
     
    13761404    namespace GR_BASE_ns {
    13771405        /** Code Point Ranges for Gr_Base
    1378         [32, 126], [160, 172], [174, 767], [880, 887], [890, 895],
    1379         [900, 906], [908, 908], [910, 929], [931, 1154], [1162, 1327],
    1380         [1329, 1366], [1369, 1375], [1377, 1415], [1417, 1418],
    1381         [1421, 1423], [1470, 1470], [1472, 1472], [1475, 1475],
    1382         [1478, 1478], [1488, 1514], [1520, 1524], [1542, 1551],
    1383         [1563, 1563], [1566, 1610], [1632, 1647], [1649, 1749],
    1384         [1758, 1758], [1765, 1766], [1769, 1769], [1774, 1805],
    1385         [1808, 1808], [1810, 1839], [1869, 1957], [1969, 1969],
    1386         [1984, 2026], [2036, 2042], [2048, 2069], [2074, 2074],
    1387         [2084, 2084], [2088, 2088], [2096, 2110], [2112, 2136],
    1388         [2142, 2142], [2208, 2228], [2230, 2237], [2307, 2361],
    1389         [2363, 2363], [2365, 2368], [2377, 2380], [2382, 2384],
    1390         [2392, 2401], [2404, 2432], [2434, 2435], [2437, 2444],
    1391         [2447, 2448], [2451, 2472], [2474, 2480], [2482, 2482],
    1392         [2486, 2489], [2493, 2493], [2495, 2496], [2503, 2504],
    1393         [2507, 2508], [2510, 2510], [2524, 2525], [2527, 2529],
    1394         [2534, 2555], [2563, 2563], [2565, 2570], [2575, 2576],
    1395         [2579, 2600], [2602, 2608], [2610, 2611], [2613, 2614],
    1396         [2616, 2617], [2622, 2624], [2649, 2652], [2654, 2654],
    1397         [2662, 2671], [2674, 2676], [2691, 2691], [2693, 2701],
    1398         [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
    1399         [2741, 2745], [2749, 2752], [2761, 2761], [2763, 2764],
    1400         [2768, 2768], [2784, 2785], [2790, 2801], [2809, 2809],
    1401         [2818, 2819], [2821, 2828], [2831, 2832], [2835, 2856],
    1402         [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2877],
    1403         [2880, 2880], [2887, 2888], [2891, 2892], [2908, 2909],
    1404         [2911, 2913], [2918, 2935], [2947, 2947], [2949, 2954],
    1405         [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972],
    1406         [2974, 2975], [2979, 2980], [2984, 2986], [2990, 3001],
    1407         [3007, 3007], [3009, 3010], [3014, 3016], [3018, 3020],
    1408         [3024, 3024], [3046, 3066], [3073, 3075], [3077, 3084],
    1409         [3086, 3088], [3090, 3112], [3114, 3129], [3133, 3133],
    1410         [3137, 3140], [3160, 3162], [3168, 3169], [3174, 3183],
    1411         [3192, 3200], [3202, 3203], [3205, 3212], [3214, 3216],
    1412         [3218, 3240], [3242, 3251], [3253, 3257], [3261, 3262],
    1413         [3264, 3265], [3267, 3268], [3271, 3272], [3274, 3275],
    1414         [3294, 3294], [3296, 3297], [3302, 3311], [3313, 3314],
    1415         [3330, 3331], [3333, 3340], [3342, 3344], [3346, 3386],
    1416         [3389, 3389], [3391, 3392], [3398, 3400], [3402, 3404],
    1417         [3406, 3407], [3412, 3414], [3416, 3425], [3430, 3455],
    1418         [3458, 3459], [3461, 3478], [3482, 3505], [3507, 3515],
    1419         [3517, 3517], [3520, 3526], [3536, 3537], [3544, 3550],
    1420         [3558, 3567], [3570, 3572], [3585, 3632], [3634, 3635],
    1421         [3647, 3654], [3663, 3675], [3713, 3714], [3716, 3716],
    1422         [3719, 3720], [3722, 3722], [3725, 3725], [3732, 3735],
    1423         [3737, 3743], [3745, 3747], [3749, 3749], [3751, 3751],
    1424         [3754, 3755], [3757, 3760], [3762, 3763], [3773, 3773],
    1425         [3776, 3780], [3782, 3782], [3792, 3801], [3804, 3807],
    1426         [3840, 3863], [3866, 3892], [3894, 3894], [3896, 3896],
    1427         [3898, 3911], [3913, 3948], [3967, 3967], [3973, 3973],
    1428         [3976, 3980], [4030, 4037], [4039, 4044], [4046, 4058],
    1429         [4096, 4140], [4145, 4145], [4152, 4152], [4155, 4156],
    1430         [4159, 4183], [4186, 4189], [4193, 4208], [4213, 4225],
    1431         [4227, 4228], [4231, 4236], [4238, 4252], [4254, 4293],
    1432         [4295, 4295], [4301, 4301], [4304, 4680], [4682, 4685],
    1433         [4688, 4694], [4696, 4696], [4698, 4701], [4704, 4744],
    1434         [4746, 4749], [4752, 4784], [4786, 4789], [4792, 4798],
    1435         [4800, 4800], [4802, 4805], [4808, 4822], [4824, 4880],
    1436         [4882, 4885], [4888, 4954], [4960, 4988], [4992, 5017],
    1437         [5024, 5109], [5112, 5117], [5120, 5788], [5792, 5880],
    1438         [5888, 5900], [5902, 5905], [5920, 5937], [5941, 5942],
    1439         [5952, 5969], [5984, 5996], [5998, 6000], [6016, 6067],
    1440         [6070, 6070], [6078, 6085], [6087, 6088], [6100, 6108],
    1441         [6112, 6121], [6128, 6137], [6144, 6154], [6160, 6169],
    1442         [6176, 6263], [6272, 6276], [6279, 6312], [6314, 6314],
    1443         [6320, 6389], [6400, 6430], [6435, 6438], [6441, 6443],
    1444         [6448, 6449], [6451, 6456], [6464, 6464], [6468, 6509],
    1445         [6512, 6516], [6528, 6571], [6576, 6601], [6608, 6618],
    1446         [6622, 6678], [6681, 6682], [6686, 6741], [6743, 6743],
    1447         [6753, 6753], [6755, 6756], [6765, 6770], [6784, 6793],
    1448         [6800, 6809], [6816, 6829], [6916, 6963], [6965, 6965],
    1449         [6971, 6971], [6973, 6977], [6979, 6987], [6992, 7018],
    1450         [7028, 7036], [7042, 7073], [7078, 7079], [7082, 7082],
    1451         [7086, 7141], [7143, 7143], [7146, 7148], [7150, 7150],
    1452         [7154, 7155], [7164, 7211], [7220, 7221], [7227, 7241],
    1453         [7245, 7304], [7360, 7367], [7379, 7379], [7393, 7393],
    1454         [7401, 7404], [7406, 7411], [7413, 7414], [7424, 7615],
    1455         [7680, 7957], [7960, 7965], [7968, 8005], [8008, 8013],
    1456         [8016, 8023], [8025, 8025], [8027, 8027], [8029, 8029],
    1457         [8031, 8061], [8064, 8116], [8118, 8132], [8134, 8147],
    1458         [8150, 8155], [8157, 8175], [8178, 8180], [8182, 8190],
    1459         [8192, 8202], [8208, 8231], [8239, 8287], [8304, 8305],
    1460         [8308, 8334], [8336, 8348], [8352, 8382], [8448, 8587],
    1461         [8592, 9214], [9216, 9254], [9280, 9290], [9312, 11123],
    1462         [11126, 11157], [11160, 11193], [11197, 11208], [11210, 11217],
    1463         [11244, 11247], [11264, 11310], [11312, 11358], [11360, 11502],
    1464         [11506, 11507], [11513, 11557], [11559, 11559], [11565, 11565],
    1465         [11568, 11623], [11631, 11632], [11648, 11670], [11680, 11686],
    1466         [11688, 11694], [11696, 11702], [11704, 11710], [11712, 11718],
    1467         [11720, 11726], [11728, 11734], [11736, 11742], [11776, 11844],
    1468         [11904, 11929], [11931, 12019], [12032, 12245], [12272, 12283],
    1469         [12288, 12329], [12336, 12351], [12353, 12438], [12443, 12543],
    1470         [12549, 12589], [12593, 12686], [12688, 12730], [12736, 12771],
    1471         [12784, 12830], [12832, 13054], [13056, 19893], [19904, 40917],
    1472         [40960, 42124], [42128, 42182], [42192, 42539], [42560, 42606],
    1473         [42611, 42611], [42622, 42653], [42656, 42735], [42738, 42743],
    1474         [42752, 42926], [42928, 42935], [42999, 43009], [43011, 43013],
    1475         [43015, 43018], [43020, 43044], [43047, 43051], [43056, 43065],
    1476         [43072, 43127], [43136, 43203], [43214, 43225], [43250, 43261],
    1477         [43264, 43301], [43310, 43334], [43346, 43347], [43359, 43388],
    1478         [43395, 43442], [43444, 43445], [43450, 43451], [43453, 43469],
    1479         [43471, 43481], [43486, 43492], [43494, 43518], [43520, 43560],
    1480         [43567, 43568], [43571, 43572], [43584, 43586], [43588, 43595],
    1481         [43597, 43597], [43600, 43609], [43612, 43643], [43645, 43695],
    1482         [43697, 43697], [43701, 43702], [43705, 43709], [43712, 43712],
    1483         [43714, 43714], [43739, 43755], [43758, 43765], [43777, 43782],
    1484         [43785, 43790], [43793, 43798], [43808, 43814], [43816, 43822],
    1485         [43824, 43877], [43888, 44004], [44006, 44007], [44009, 44012],
    1486         [44016, 44025], [44032, 55203], [55216, 55238], [55243, 55291],
    1487         [63744, 64109], [64112, 64217], [64256, 64262], [64275, 64279],
    1488         [64285, 64285], [64287, 64310], [64312, 64316], [64318, 64318],
    1489         [64320, 64321], [64323, 64324], [64326, 64449], [64467, 64831],
    1490         [64848, 64911], [64914, 64967], [65008, 65021], [65040, 65049],
    1491         [65072, 65106], [65108, 65126], [65128, 65131], [65136, 65140],
    1492         [65142, 65276], [65281, 65437], [65440, 65470], [65474, 65479],
    1493         [65482, 65487], [65490, 65495], [65498, 65500], [65504, 65510],
    1494         [65512, 65518], [65532, 65533], [65536, 65547], [65549, 65574],
    1495         [65576, 65594], [65596, 65597], [65599, 65613], [65616, 65629],
    1496         [65664, 65786], [65792, 65794], [65799, 65843], [65847, 65934],
    1497         [65936, 65947], [65952, 65952], [66000, 66044], [66176, 66204],
    1498         [66208, 66256], [66273, 66299], [66304, 66339], [66352, 66378],
    1499         [66384, 66421], [66432, 66461], [66463, 66499], [66504, 66517],
    1500         [66560, 66717], [66720, 66729], [66736, 66771], [66776, 66811],
    1501         [66816, 66855], [66864, 66915], [66927, 66927], [67072, 67382],
    1502         [67392, 67413], [67424, 67431], [67584, 67589], [67592, 67592],
    1503         [67594, 67637], [67639, 67640], [67644, 67644], [67647, 67669],
    1504         [67671, 67742], [67751, 67759], [67808, 67826], [67828, 67829],
    1505         [67835, 67867], [67871, 67897], [67903, 67903], [67968, 68023],
    1506         [68028, 68047], [68050, 68096], [68112, 68115], [68117, 68119],
    1507         [68121, 68147], [68160, 68167], [68176, 68184], [68192, 68255],
    1508         [68288, 68324], [68331, 68342], [68352, 68405], [68409, 68437],
    1509         [68440, 68466], [68472, 68497], [68505, 68508], [68521, 68527],
    1510         [68608, 68680], [68736, 68786], [68800, 68850], [68858, 68863],
    1511         [69216, 69246], [69632, 69632], [69634, 69687], [69703, 69709],
    1512         [69714, 69743], [69762, 69810], [69815, 69816], [69819, 69820],
    1513         [69822, 69825], [69840, 69864], [69872, 69881], [69891, 69926],
    1514         [69932, 69932], [69942, 69955], [69968, 70002], [70004, 70006],
    1515         [70018, 70069], [70079, 70089], [70093, 70093], [70096, 70111],
    1516         [70113, 70132], [70144, 70161], [70163, 70190], [70194, 70195],
    1517         [70197, 70197], [70200, 70205], [70272, 70278], [70280, 70280],
    1518         [70282, 70285], [70287, 70301], [70303, 70313], [70320, 70366],
    1519         [70368, 70370], [70384, 70393], [70402, 70403], [70405, 70412],
    1520         [70415, 70416], [70419, 70440], [70442, 70448], [70450, 70451],
    1521         [70453, 70457], [70461, 70461], [70463, 70463], [70465, 70468],
    1522         [70471, 70472], [70475, 70477], [70480, 70480], [70493, 70499],
    1523         [70656, 70711], [70720, 70721], [70725, 70725], [70727, 70745],
    1524         [70747, 70747], [70749, 70749], [70784, 70831], [70833, 70834],
    1525         [70841, 70841], [70843, 70844], [70846, 70846], [70849, 70849],
    1526         [70852, 70855], [70864, 70873], [71040, 71086], [71088, 71089],
    1527         [71096, 71099], [71102, 71102], [71105, 71131], [71168, 71218],
    1528         [71227, 71228], [71230, 71230], [71233, 71236], [71248, 71257],
    1529         [71264, 71276], [71296, 71338], [71340, 71340], [71342, 71343],
    1530         [71350, 71350], [71360, 71369], [71424, 71449], [71456, 71457],
    1531         [71462, 71462], [71472, 71487], [71840, 71922], [71935, 71935],
    1532         [72384, 72440], [72704, 72712], [72714, 72751], [72766, 72766],
    1533         [72768, 72773], [72784, 72812], [72816, 72847], [72873, 72873],
    1534         [72881, 72881], [72884, 72884], [73728, 74649], [74752, 74862],
    1535         [74864, 74868], [74880, 75075], [77824, 78894], [82944, 83526],
    1536         [92160, 92728], [92736, 92766], [92768, 92777], [92782, 92783],
    1537         [92880, 92909], [92917, 92917], [92928, 92975], [92983, 92997],
    1538         [93008, 93017], [93019, 93025], [93027, 93047], [93053, 93071],
    1539         [93952, 94020], [94032, 94078], [94099, 94111], [94176, 94176],
    1540         [94208, 100332], [100352, 101106], [110592, 110593],
    1541         [113664, 113770], [113776, 113788], [113792, 113800],
    1542         [113808, 113817], [113820, 113820], [113823, 113823],
    1543         [118784, 119029], [119040, 119078], [119081, 119140],
    1544         [119142, 119142], [119146, 119149], [119171, 119172],
    1545         [119180, 119209], [119214, 119272], [119296, 119361],
    1546         [119365, 119365], [119552, 119638], [119648, 119665],
    1547         [119808, 119892], [119894, 119964], [119966, 119967],
    1548         [119970, 119970], [119973, 119974], [119977, 119980],
    1549         [119982, 119993], [119995, 119995], [119997, 120003],
    1550         [120005, 120069], [120071, 120074], [120077, 120084],
    1551         [120086, 120092], [120094, 120121], [120123, 120126],
    1552         [120128, 120132], [120134, 120134], [120138, 120144],
    1553         [120146, 120485], [120488, 120779], [120782, 121343],
    1554         [121399, 121402], [121453, 121460], [121462, 121475],
    1555         [121477, 121483], [124928, 125124], [125127, 125135],
    1556         [125184, 125251], [125264, 125273], [125278, 125279],
    1557         [126464, 126467], [126469, 126495], [126497, 126498],
    1558         [126500, 126500], [126503, 126503], [126505, 126514],
    1559         [126516, 126519], [126521, 126521], [126523, 126523],
    1560         [126530, 126530], [126535, 126535], [126537, 126537],
    1561         [126539, 126539], [126541, 126543], [126545, 126546],
    1562         [126548, 126548], [126551, 126551], [126553, 126553],
    1563         [126555, 126555], [126557, 126557], [126559, 126559],
    1564         [126561, 126562], [126564, 126564], [126567, 126570],
    1565         [126572, 126578], [126580, 126583], [126585, 126588],
    1566         [126590, 126590], [126592, 126601], [126603, 126619],
    1567         [126625, 126627], [126629, 126633], [126635, 126651],
    1568         [126704, 126705], [126976, 127019], [127024, 127123],
    1569         [127136, 127150], [127153, 127167], [127169, 127183],
    1570         [127185, 127221], [127232, 127244], [127248, 127278],
    1571         [127280, 127339], [127344, 127404], [127462, 127490],
    1572         [127504, 127547], [127552, 127560], [127568, 127569],
    1573         [127744, 128722], [128736, 128748], [128752, 128758],
    1574         [128768, 128883], [128896, 128980], [129024, 129035],
    1575         [129040, 129095], [129104, 129113], [129120, 129159],
    1576         [129168, 129197], [129296, 129310], [129312, 129319],
    1577         [129328, 129328], [129331, 129342], [129344, 129355],
    1578         [129360, 129374], [129408, 129425], [129472, 129472],
    1579         [131072, 173782], [173824, 177972], [177984, 178205],
    1580         [178208, 183969], [194560, 195101]**/
     1406        [0020, 007e], [00a0, 00ac], [00ae, 02ff], [0370, 0377],
     1407        [037a, 037f], [0384, 038a], [038c, 038c], [038e, 03a1],
     1408        [03a3, 0482], [048a, 052f], [0531, 0556], [0559, 055f],
     1409        [0561, 0587], [0589, 058a], [058d, 058f], [05be, 05be],
     1410        [05c0, 05c0], [05c3, 05c3], [05c6, 05c6], [05d0, 05ea],
     1411        [05f0, 05f4], [0606, 060f], [061b, 061b], [061e, 064a],
     1412        [0660, 066f], [0671, 06d5], [06de, 06de], [06e5, 06e6],
     1413        [06e9, 06e9], [06ee, 070d], [0710, 0710], [0712, 072f],
     1414        [074d, 07a5], [07b1, 07b1], [07c0, 07ea], [07f4, 07fa],
     1415        [0800, 0815], [081a, 081a], [0824, 0824], [0828, 0828],
     1416        [0830, 083e], [0840, 0858], [085e, 085e], [08a0, 08b4],
     1417        [08b6, 08bd], [0903, 0939], [093b, 093b], [093d, 0940],
     1418        [0949, 094c], [094e, 0950], [0958, 0961], [0964, 0980],
     1419        [0982, 0983], [0985, 098c], [098f, 0990], [0993, 09a8],
     1420        [09aa, 09b0], [09b2, 09b2], [09b6, 09b9], [09bd, 09bd],
     1421        [09bf, 09c0], [09c7, 09c8], [09cb, 09cc], [09ce, 09ce],
     1422        [09dc, 09dd], [09df, 09e1], [09e6, 09fb], [0a03, 0a03],
     1423        [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30],
     1424        [0a32, 0a33], [0a35, 0a36], [0a38, 0a39], [0a3e, 0a40],
     1425        [0a59, 0a5c], [0a5e, 0a5e], [0a66, 0a6f], [0a72, 0a74],
     1426        [0a83, 0a83], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8],
     1427        [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0ac0],
     1428        [0ac9, 0ac9], [0acb, 0acc], [0ad0, 0ad0], [0ae0, 0ae1],
     1429        [0ae6, 0af1], [0af9, 0af9], [0b02, 0b03], [0b05, 0b0c],
     1430        [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
     1431        [0b35, 0b39], [0b3d, 0b3d], [0b40, 0b40], [0b47, 0b48],
     1432        [0b4b, 0b4c], [0b5c, 0b5d], [0b5f, 0b61], [0b66, 0b77],
     1433        [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95],
     1434        [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
     1435        [0ba8, 0baa], [0bae, 0bb9], [0bbf, 0bbf], [0bc1, 0bc2],
     1436        [0bc6, 0bc8], [0bca, 0bcc], [0bd0, 0bd0], [0be6, 0bfa],
     1437        [0c01, 0c03], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28],
     1438        [0c2a, 0c39], [0c3d, 0c3d], [0c41, 0c44], [0c58, 0c5a],
     1439        [0c60, 0c61], [0c66, 0c6f], [0c78, 0c80], [0c82, 0c83],
     1440        [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3],
     1441        [0cb5, 0cb9], [0cbd, 0cbe], [0cc0, 0cc1], [0cc3, 0cc4],
     1442        [0cc7, 0cc8], [0cca, 0ccb], [0cde, 0cde], [0ce0, 0ce1],
     1443        [0ce6, 0cef], [0cf1, 0cf2], [0d02, 0d03], [0d05, 0d0c],
     1444        [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d], [0d3f, 0d40],
     1445        [0d46, 0d48], [0d4a, 0d4c], [0d4e, 0d4f], [0d54, 0d56],
     1446        [0d58, 0d61], [0d66, 0d7f], [0d82, 0d83], [0d85, 0d96],
     1447        [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6],
     1448        [0dd0, 0dd1], [0dd8, 0dde], [0de6, 0def], [0df2, 0df4],
     1449        [0e01, 0e30], [0e32, 0e33], [0e3f, 0e46], [0e4f, 0e5b],
     1450        [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
     1451        [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
     1452        [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb0],
     1453        [0eb2, 0eb3], [0ebd, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6],
     1454        [0ed0, 0ed9], [0edc, 0edf], [0f00, 0f17], [0f1a, 0f34],
     1455        [0f36, 0f36], [0f38, 0f38], [0f3a, 0f47], [0f49, 0f6c],
     1456        [0f7f, 0f7f], [0f85, 0f85], [0f88, 0f8c], [0fbe, 0fc5],
     1457        [0fc7, 0fcc], [0fce, 0fda], [1000, 102c], [1031, 1031],
     1458        [1038, 1038], [103b, 103c], [103f, 1057], [105a, 105d],
     1459        [1061, 1070], [1075, 1081], [1083, 1084], [1087, 108c],
     1460        [108e, 109c], [109e, 10c5], [10c7, 10c7], [10cd, 10cd],
     1461        [10d0, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
     1462        [125a, 125d], [1260, 1288], [128a, 128d], [1290, 12b0],
     1463        [12b2, 12b5], [12b8, 12be], [12c0, 12c0], [12c2, 12c5],
     1464        [12c8, 12d6], [12d8, 1310], [1312, 1315], [1318, 135a],
     1465        [1360, 137c], [1380, 1399], [13a0, 13f5], [13f8, 13fd],
     1466        [1400, 169c], [16a0, 16f8], [1700, 170c], [170e, 1711],
     1467        [1720, 1731], [1735, 1736], [1740, 1751], [1760, 176c],
     1468        [176e, 1770], [1780, 17b3], [17b6, 17b6], [17be, 17c5],
     1469        [17c7, 17c8], [17d4, 17dc], [17e0, 17e9], [17f0, 17f9],
     1470        [1800, 180a], [1810, 1819], [1820, 1877], [1880, 1884],
     1471        [1887, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
     1472        [1923, 1926], [1929, 192b], [1930, 1931], [1933, 1938],
     1473        [1940, 1940], [1944, 196d], [1970, 1974], [1980, 19ab],
     1474        [19b0, 19c9], [19d0, 19da], [19de, 1a16], [1a19, 1a1a],
     1475        [1a1e, 1a55], [1a57, 1a57], [1a61, 1a61], [1a63, 1a64],
     1476        [1a6d, 1a72], [1a80, 1a89], [1a90, 1a99], [1aa0, 1aad],
     1477        [1b04, 1b33], [1b35, 1b35], [1b3b, 1b3b], [1b3d, 1b41],
     1478        [1b43, 1b4b], [1b50, 1b6a], [1b74, 1b7c], [1b82, 1ba1],
     1479        [1ba6, 1ba7], [1baa, 1baa], [1bae, 1be5], [1be7, 1be7],
     1480        [1bea, 1bec], [1bee, 1bee], [1bf2, 1bf3], [1bfc, 1c2b],
     1481        [1c34, 1c35], [1c3b, 1c49], [1c4d, 1c88], [1cc0, 1cc7],
     1482        [1cd3, 1cd3], [1ce1, 1ce1], [1ce9, 1cec], [1cee, 1cf3],
     1483        [1cf5, 1cf6], [1d00, 1dbf], [1e00, 1f15], [1f18, 1f1d],
     1484        [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
     1485        [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
     1486        [1fb6, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fef],
     1487        [1ff2, 1ff4], [1ff6, 1ffe], [2000, 200a], [2010, 2027],
     1488        [202f, 205f], [2070, 2071], [2074, 208e], [2090, 209c],
     1489        [20a0, 20be], [2100, 218b], [2190, 23fe], [2400, 2426],
     1490        [2440, 244a], [2460, 2b73], [2b76, 2b95], [2b98, 2bb9],
     1491        [2bbd, 2bc8], [2bca, 2bd1], [2bec, 2bef], [2c00, 2c2e],
     1492        [2c30, 2c5e], [2c60, 2cee], [2cf2, 2cf3], [2cf9, 2d25],
     1493        [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67], [2d6f, 2d70],
     1494        [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6],
     1495        [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6],
     1496        [2dd8, 2dde], [2e00, 2e44], [2e80, 2e99], [2e9b, 2ef3],
     1497        [2f00, 2fd5], [2ff0, 2ffb], [3000, 3029], [3030, 303f],
     1498        [3041, 3096], [309b, 30ff], [3105, 312d], [3131, 318e],
     1499        [3190, 31ba], [31c0, 31e3], [31f0, 321e], [3220, 32fe],
     1500        [3300, 4db5], [4dc0, 9fd5], [a000, a48c], [a490, a4c6],
     1501        [a4d0, a62b], [a640, a66e], [a673, a673], [a67e, a69d],
     1502        [a6a0, a6ef], [a6f2, a6f7], [a700, a7ae], [a7b0, a7b7],
     1503        [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a824],
     1504        [a827, a82b], [a830, a839], [a840, a877], [a880, a8c3],
     1505        [a8ce, a8d9], [a8f2, a8fd], [a900, a925], [a92e, a946],
     1506        [a952, a953], [a95f, a97c], [a983, a9b2], [a9b4, a9b5],
     1507        [a9ba, a9bb], [a9bd, a9cd], [a9cf, a9d9], [a9de, a9e4],
     1508        [a9e6, a9fe], [aa00, aa28], [aa2f, aa30], [aa33, aa34],
     1509        [aa40, aa42], [aa44, aa4b], [aa4d, aa4d], [aa50, aa59],
     1510        [aa5c, aa7b], [aa7d, aaaf], [aab1, aab1], [aab5, aab6],
     1511        [aab9, aabd], [aac0, aac0], [aac2, aac2], [aadb, aaeb],
     1512        [aaee, aaf5], [ab01, ab06], [ab09, ab0e], [ab11, ab16],
     1513        [ab20, ab26], [ab28, ab2e], [ab30, ab65], [ab70, abe4],
     1514        [abe6, abe7], [abe9, abec], [abf0, abf9], [ac00, d7a3],
     1515        [d7b0, d7c6], [d7cb, d7fb], [f900, fa6d], [fa70, fad9],
     1516        [fb00, fb06], [fb13, fb17], [fb1d, fb1d], [fb1f, fb36],
     1517        [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
     1518        [fb46, fbc1], [fbd3, fd3f], [fd50, fd8f], [fd92, fdc7],
     1519        [fdf0, fdfd], [fe10, fe19], [fe30, fe52], [fe54, fe66],
     1520        [fe68, fe6b], [fe70, fe74], [fe76, fefc], [ff01, ff9d],
     1521        [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
     1522        [ffda, ffdc], [ffe0, ffe6], [ffe8, ffee], [fffc, fffd],
     1523        [10000, 1000b], [1000d, 10026], [10028, 1003a], [1003c, 1003d],
     1524        [1003f, 1004d], [10050, 1005d], [10080, 100fa], [10100, 10102],
     1525        [10107, 10133], [10137, 1018e], [10190, 1019b], [101a0, 101a0],
     1526        [101d0, 101fc], [10280, 1029c], [102a0, 102d0], [102e1, 102fb],
     1527        [10300, 10323], [10330, 1034a], [10350, 10375], [10380, 1039d],
     1528        [1039f, 103c3], [103c8, 103d5], [10400, 1049d], [104a0, 104a9],
     1529        [104b0, 104d3], [104d8, 104fb], [10500, 10527], [10530, 10563],
     1530        [1056f, 1056f], [10600, 10736], [10740, 10755], [10760, 10767],
     1531        [10800, 10805], [10808, 10808], [1080a, 10835], [10837, 10838],
     1532        [1083c, 1083c], [1083f, 10855], [10857, 1089e], [108a7, 108af],
     1533        [108e0, 108f2], [108f4, 108f5], [108fb, 1091b], [1091f, 10939],
     1534        [1093f, 1093f], [10980, 109b7], [109bc, 109cf], [109d2, 10a00],
     1535        [10a10, 10a13], [10a15, 10a17], [10a19, 10a33], [10a40, 10a47],
     1536        [10a50, 10a58], [10a60, 10a9f], [10ac0, 10ae4], [10aeb, 10af6],
     1537        [10b00, 10b35], [10b39, 10b55], [10b58, 10b72], [10b78, 10b91],
     1538        [10b99, 10b9c], [10ba9, 10baf], [10c00, 10c48], [10c80, 10cb2],
     1539        [10cc0, 10cf2], [10cfa, 10cff], [10e60, 10e7e], [11000, 11000],
     1540        [11002, 11037], [11047, 1104d], [11052, 1106f], [11082, 110b2],
     1541        [110b7, 110b8], [110bb, 110bc], [110be, 110c1], [110d0, 110e8],
     1542        [110f0, 110f9], [11103, 11126], [1112c, 1112c], [11136, 11143],
     1543        [11150, 11172], [11174, 11176], [11182, 111b5], [111bf, 111c9],
     1544        [111cd, 111cd], [111d0, 111df], [111e1, 111f4], [11200, 11211],
     1545        [11213, 1122e], [11232, 11233], [11235, 11235], [11238, 1123d],
     1546        [11280, 11286], [11288, 11288], [1128a, 1128d], [1128f, 1129d],
     1547        [1129f, 112a9], [112b0, 112de], [112e0, 112e2], [112f0, 112f9],
     1548        [11302, 11303], [11305, 1130c], [1130f, 11310], [11313, 11328],
     1549        [1132a, 11330], [11332, 11333], [11335, 11339], [1133d, 1133d],
     1550        [1133f, 1133f], [11341, 11344], [11347, 11348], [1134b, 1134d],
     1551        [11350, 11350], [1135d, 11363], [11400, 11437], [11440, 11441],
     1552        [11445, 11445], [11447, 11459], [1145b, 1145b], [1145d, 1145d],
     1553        [11480, 114af], [114b1, 114b2], [114b9, 114b9], [114bb, 114bc],
     1554        [114be, 114be], [114c1, 114c1], [114c4, 114c7], [114d0, 114d9],
     1555        [11580, 115ae], [115b0, 115b1], [115b8, 115bb], [115be, 115be],
     1556        [115c1, 115db], [11600, 11632], [1163b, 1163c], [1163e, 1163e],
     1557        [11641, 11644], [11650, 11659], [11660, 1166c], [11680, 116aa],
     1558        [116ac, 116ac], [116ae, 116af], [116b6, 116b6], [116c0, 116c9],
     1559        [11700, 11719], [11720, 11721], [11726, 11726], [11730, 1173f],
     1560        [118a0, 118f2], [118ff, 118ff], [11ac0, 11af8], [11c00, 11c08],
     1561        [11c0a, 11c2f], [11c3e, 11c3e], [11c40, 11c45], [11c50, 11c6c],
     1562        [11c70, 11c8f], [11ca9, 11ca9], [11cb1, 11cb1], [11cb4, 11cb4],
     1563        [12000, 12399], [12400, 1246e], [12470, 12474], [12480, 12543],
     1564        [13000, 1342e], [14400, 14646], [16800, 16a38], [16a40, 16a5e],
     1565        [16a60, 16a69], [16a6e, 16a6f], [16ad0, 16aed], [16af5, 16af5],
     1566        [16b00, 16b2f], [16b37, 16b45], [16b50, 16b59], [16b5b, 16b61],
     1567        [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f7e],
     1568        [16f93, 16f9f], [16fe0, 16fe0], [17000, 187ec], [18800, 18af2],
     1569        [1b000, 1b001], [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88],
     1570        [1bc90, 1bc99], [1bc9c, 1bc9c], [1bc9f, 1bc9f], [1d000, 1d0f5],
     1571        [1d100, 1d126], [1d129, 1d164], [1d166, 1d166], [1d16a, 1d16d],
     1572        [1d183, 1d184], [1d18c, 1d1a9], [1d1ae, 1d1e8], [1d200, 1d241],
     1573        [1d245, 1d245], [1d300, 1d356], [1d360, 1d371], [1d400, 1d454],
     1574        [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
     1575        [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
     1576        [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
     1577        [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
     1578        [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d7cb], [1d7ce, 1d9ff],
     1579        [1da37, 1da3a], [1da6d, 1da74], [1da76, 1da83], [1da85, 1da8b],
     1580        [1e800, 1e8c4], [1e8c7, 1e8cf], [1e900, 1e943], [1e950, 1e959],
     1581        [1e95e, 1e95f], [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22],
     1582        [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37],
     1583        [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47],
     1584        [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52],
     1585        [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b],
     1586        [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64],
     1587        [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c],
     1588        [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3],
     1589        [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1], [1f000, 1f02b],
     1590        [1f030, 1f093], [1f0a0, 1f0ae], [1f0b1, 1f0bf], [1f0c1, 1f0cf],
     1591        [1f0d1, 1f0f5], [1f100, 1f10c], [1f110, 1f12e], [1f130, 1f16b],
     1592        [1f170, 1f1ac], [1f1e6, 1f202], [1f210, 1f23b], [1f240, 1f248],
     1593        [1f250, 1f251], [1f300, 1f6d2], [1f6e0, 1f6ec], [1f6f0, 1f6f6],
     1594        [1f700, 1f773], [1f780, 1f7d4], [1f800, 1f80b], [1f810, 1f847],
     1595        [1f850, 1f859], [1f860, 1f887], [1f890, 1f8ad], [1f910, 1f91e],
     1596        [1f920, 1f927], [1f930, 1f930], [1f933, 1f93e], [1f940, 1f94b],
     1597        [1f950, 1f95e], [1f980, 1f991], [1f9c0, 1f9c0], [20000, 2a6d6],
     1598        [2a700, 2b734], [2b740, 2b81d], [2b820, 2cea1], [2f800, 2fa1d]**/
    15811599        const UnicodeSet codepoint_set
    15821600            {{{Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     
    17411759    namespace GR_EXT_ns {
    17421760        /** Code Point Ranges for Gr_Ext
    1743         [768, 879], [1155, 1161], [1425, 1469], [1471, 1471], [1473, 1474],
    1744         [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631],
    1745         [1648, 1648], [1750, 1756], [1759, 1764], [1767, 1768],
    1746         [1770, 1773], [1809, 1809], [1840, 1866], [1958, 1968],
    1747         [2027, 2035], [2070, 2073], [2075, 2083], [2085, 2087],
    1748         [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2306],
    1749         [2362, 2362], [2364, 2364], [2369, 2376], [2381, 2381],
    1750         [2385, 2391], [2402, 2403], [2433, 2433], [2492, 2492],
    1751         [2494, 2494], [2497, 2500], [2509, 2509], [2519, 2519],
    1752         [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626],
    1753         [2631, 2632], [2635, 2637], [2641, 2641], [2672, 2673],
    1754         [2677, 2677], [2689, 2690], [2748, 2748], [2753, 2757],
    1755         [2759, 2760], [2765, 2765], [2786, 2787], [2817, 2817],
    1756         [2876, 2876], [2878, 2879], [2881, 2884], [2893, 2893],
    1757         [2902, 2903], [2914, 2915], [2946, 2946], [3006, 3006],
    1758         [3008, 3008], [3021, 3021], [3031, 3031], [3072, 3072],
    1759         [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158],
    1760         [3170, 3171], [3201, 3201], [3260, 3260], [3263, 3263],
    1761         [3266, 3266], [3270, 3270], [3276, 3277], [3285, 3286],
    1762         [3298, 3299], [3329, 3329], [3390, 3390], [3393, 3396],
    1763         [3405, 3405], [3415, 3415], [3426, 3427], [3530, 3530],
    1764         [3535, 3535], [3538, 3540], [3542, 3542], [3551, 3551],
    1765         [3633, 3633], [3636, 3642], [3655, 3662], [3761, 3761],
    1766         [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865],
    1767         [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966],
    1768         [3968, 3972], [3974, 3975], [3981, 3991], [3993, 4028],
    1769         [4038, 4038], [4141, 4144], [4146, 4151], [4153, 4154],
    1770         [4157, 4158], [4184, 4185], [4190, 4192], [4209, 4212],
    1771         [4226, 4226], [4229, 4230], [4237, 4237], [4253, 4253],
    1772         [4957, 4959], [5906, 5908], [5938, 5940], [5970, 5971],
    1773         [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086],
    1774         [6089, 6099], [6109, 6109], [6155, 6157], [6277, 6278],
    1775         [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450],
    1776         [6457, 6459], [6679, 6680], [6683, 6683], [6742, 6742],
    1777         [6744, 6750], [6752, 6752], [6754, 6754], [6757, 6764],
    1778         [6771, 6780], [6783, 6783], [6832, 6846], [6912, 6915],
    1779         [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978],
    1780         [7019, 7027], [7040, 7041], [7074, 7077], [7080, 7081],
    1781         [7083, 7085], [7142, 7142], [7144, 7145], [7149, 7149],
    1782         [7151, 7153], [7212, 7219], [7222, 7223], [7376, 7378],
    1783         [7380, 7392], [7394, 7400], [7405, 7405], [7412, 7412],
    1784         [7416, 7417], [7616, 7669], [7675, 7679], [8204, 8204],
    1785         [8400, 8432], [11503, 11505], [11647, 11647], [11744, 11775],
    1786         [12330, 12335], [12441, 12442], [42607, 42610], [42612, 42621],
    1787         [42654, 42655], [42736, 42737], [43010, 43010], [43014, 43014],
    1788         [43019, 43019], [43045, 43046], [43204, 43205], [43232, 43249],
    1789         [43302, 43309], [43335, 43345], [43392, 43394], [43443, 43443],
    1790         [43446, 43449], [43452, 43452], [43493, 43493], [43561, 43566],
    1791         [43569, 43570], [43573, 43574], [43587, 43587], [43596, 43596],
    1792         [43644, 43644], [43696, 43696], [43698, 43700], [43703, 43704],
    1793         [43710, 43711], [43713, 43713], [43756, 43757], [43766, 43766],
    1794         [44005, 44005], [44008, 44008], [44013, 44013], [64286, 64286],
    1795         [65024, 65039], [65056, 65071], [65438, 65439], [66045, 66045],
    1796         [66272, 66272], [66422, 66426], [68097, 68099], [68101, 68102],
    1797         [68108, 68111], [68152, 68154], [68159, 68159], [68325, 68326],
    1798         [69633, 69633], [69688, 69702], [69759, 69761], [69811, 69814],
    1799         [69817, 69818], [69888, 69890], [69927, 69931], [69933, 69940],
    1800         [70003, 70003], [70016, 70017], [70070, 70078], [70090, 70092],
    1801         [70191, 70193], [70196, 70196], [70198, 70199], [70206, 70206],
    1802         [70367, 70367], [70371, 70378], [70400, 70401], [70460, 70460],
    1803         [70462, 70462], [70464, 70464], [70487, 70487], [70502, 70508],
    1804         [70512, 70516], [70712, 70719], [70722, 70724], [70726, 70726],
    1805         [70832, 70832], [70835, 70840], [70842, 70842], [70845, 70845],
    1806         [70847, 70848], [70850, 70851], [71087, 71087], [71090, 71093],
    1807         [71100, 71101], [71103, 71104], [71132, 71133], [71219, 71226],
    1808         [71229, 71229], [71231, 71232], [71339, 71339], [71341, 71341],
    1809         [71344, 71349], [71351, 71351], [71453, 71455], [71458, 71461],
    1810         [71463, 71467], [72752, 72758], [72760, 72765], [72767, 72767],
    1811         [72850, 72871], [72874, 72880], [72882, 72883], [72885, 72886],
    1812         [92912, 92916], [92976, 92982], [94095, 94098], [113821, 113822],
    1813         [119141, 119141], [119143, 119145], [119150, 119154],
    1814         [119163, 119170], [119173, 119179], [119210, 119213],
    1815         [119362, 119364], [121344, 121398], [121403, 121452],
    1816         [121461, 121461], [121476, 121476], [121499, 121503],
    1817         [121505, 121519], [122880, 122886], [122888, 122904],
    1818         [122907, 122913], [122915, 122916], [122918, 122922],
    1819         [125136, 125142], [125252, 125258], [917536, 917631],
    1820         [917760, 917999]**/
     1761        [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf],
     1762        [05c1, 05c2], [05c4, 05c5], [05c7, 05c7], [0610, 061a],
     1763        [064b, 065f], [0670, 0670], [06d6, 06dc], [06df, 06e4],
     1764        [06e7, 06e8], [06ea, 06ed], [0711, 0711], [0730, 074a],
     1765        [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
     1766        [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1],
     1767        [08e3, 0902], [093a, 093a], [093c, 093c], [0941, 0948],
     1768        [094d, 094d], [0951, 0957], [0962, 0963], [0981, 0981],
     1769        [09bc, 09bc], [09be, 09be], [09c1, 09c4], [09cd, 09cd],
     1770        [09d7, 09d7], [09e2, 09e3], [0a01, 0a02], [0a3c, 0a3c],
     1771        [0a41, 0a42], [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51],
     1772        [0a70, 0a71], [0a75, 0a75], [0a81, 0a82], [0abc, 0abc],
     1773        [0ac1, 0ac5], [0ac7, 0ac8], [0acd, 0acd], [0ae2, 0ae3],
     1774        [0b01, 0b01], [0b3c, 0b3c], [0b3e, 0b3f], [0b41, 0b44],
     1775        [0b4d, 0b4d], [0b56, 0b57], [0b62, 0b63], [0b82, 0b82],
     1776        [0bbe, 0bbe], [0bc0, 0bc0], [0bcd, 0bcd], [0bd7, 0bd7],
     1777        [0c00, 0c00], [0c3e, 0c40], [0c46, 0c48], [0c4a, 0c4d],
     1778        [0c55, 0c56], [0c62, 0c63], [0c81, 0c81], [0cbc, 0cbc],
     1779        [0cbf, 0cbf], [0cc2, 0cc2], [0cc6, 0cc6], [0ccc, 0ccd],
     1780        [0cd5, 0cd6], [0ce2, 0ce3], [0d01, 0d01], [0d3e, 0d3e],
     1781        [0d41, 0d44], [0d4d, 0d4d], [0d57, 0d57], [0d62, 0d63],
     1782        [0dca, 0dca], [0dcf, 0dcf], [0dd2, 0dd4], [0dd6, 0dd6],
     1783        [0ddf, 0ddf], [0e31, 0e31], [0e34, 0e3a], [0e47, 0e4e],
     1784        [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc], [0ec8, 0ecd],
     1785        [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
     1786        [0f71, 0f7e], [0f80, 0f84], [0f86, 0f87], [0f8d, 0f97],
     1787        [0f99, 0fbc], [0fc6, 0fc6], [102d, 1030], [1032, 1037],
     1788        [1039, 103a], [103d, 103e], [1058, 1059], [105e, 1060],
     1789        [1071, 1074], [1082, 1082], [1085, 1086], [108d, 108d],
     1790        [109d, 109d], [135d, 135f], [1712, 1714], [1732, 1734],
     1791        [1752, 1753], [1772, 1773], [17b4, 17b5], [17b7, 17bd],
     1792        [17c6, 17c6], [17c9, 17d3], [17dd, 17dd], [180b, 180d],
     1793        [1885, 1886], [18a9, 18a9], [1920, 1922], [1927, 1928],
     1794        [1932, 1932], [1939, 193b], [1a17, 1a18], [1a1b, 1a1b],
     1795        [1a56, 1a56], [1a58, 1a5e], [1a60, 1a60], [1a62, 1a62],
     1796        [1a65, 1a6c], [1a73, 1a7c], [1a7f, 1a7f], [1ab0, 1abe],
     1797        [1b00, 1b03], [1b34, 1b34], [1b36, 1b3a], [1b3c, 1b3c],
     1798        [1b42, 1b42], [1b6b, 1b73], [1b80, 1b81], [1ba2, 1ba5],
     1799        [1ba8, 1ba9], [1bab, 1bad], [1be6, 1be6], [1be8, 1be9],
     1800        [1bed, 1bed], [1bef, 1bf1], [1c2c, 1c33], [1c36, 1c37],
     1801        [1cd0, 1cd2], [1cd4, 1ce0], [1ce2, 1ce8], [1ced, 1ced],
     1802        [1cf4, 1cf4], [1cf8, 1cf9], [1dc0, 1df5], [1dfb, 1dff],
     1803        [200c, 200c], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f],
     1804        [2de0, 2dff], [302a, 302f], [3099, 309a], [a66f, a672],
     1805        [a674, a67d], [a69e, a69f], [a6f0, a6f1], [a802, a802],
     1806        [a806, a806], [a80b, a80b], [a825, a826], [a8c4, a8c5],
     1807        [a8e0, a8f1], [a926, a92d], [a947, a951], [a980, a982],
     1808        [a9b3, a9b3], [a9b6, a9b9], [a9bc, a9bc], [a9e5, a9e5],
     1809        [aa29, aa2e], [aa31, aa32], [aa35, aa36], [aa43, aa43],
     1810        [aa4c, aa4c], [aa7c, aa7c], [aab0, aab0], [aab2, aab4],
     1811        [aab7, aab8], [aabe, aabf], [aac1, aac1], [aaec, aaed],
     1812        [aaf6, aaf6], [abe5, abe5], [abe8, abe8], [abed, abed],
     1813        [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [ff9e, ff9f],
     1814        [101fd, 101fd], [102e0, 102e0], [10376, 1037a], [10a01, 10a03],
     1815        [10a05, 10a06], [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f],
     1816        [10ae5, 10ae6], [11001, 11001], [11038, 11046], [1107f, 11081],
     1817        [110b3, 110b6], [110b9, 110ba], [11100, 11102], [11127, 1112b],
     1818        [1112d, 11134], [11173, 11173], [11180, 11181], [111b6, 111be],
     1819        [111ca, 111cc], [1122f, 11231], [11234, 11234], [11236, 11237],
     1820        [1123e, 1123e], [112df, 112df], [112e3, 112ea], [11300, 11301],
     1821        [1133c, 1133c], [1133e, 1133e], [11340, 11340], [11357, 11357],
     1822        [11366, 1136c], [11370, 11374], [11438, 1143f], [11442, 11444],
     1823        [11446, 11446], [114b0, 114b0], [114b3, 114b8], [114ba, 114ba],
     1824        [114bd, 114bd], [114bf, 114c0], [114c2, 114c3], [115af, 115af],
     1825        [115b2, 115b5], [115bc, 115bd], [115bf, 115c0], [115dc, 115dd],
     1826        [11633, 1163a], [1163d, 1163d], [1163f, 11640], [116ab, 116ab],
     1827        [116ad, 116ad], [116b0, 116b5], [116b7, 116b7], [1171d, 1171f],
     1828        [11722, 11725], [11727, 1172b], [11c30, 11c36], [11c38, 11c3d],
     1829        [11c3f, 11c3f], [11c92, 11ca7], [11caa, 11cb0], [11cb2, 11cb3],
     1830        [11cb5, 11cb6], [16af0, 16af4], [16b30, 16b36], [16f8f, 16f92],
     1831        [1bc9d, 1bc9e], [1d165, 1d165], [1d167, 1d169], [1d16e, 1d172],
     1832        [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [1d242, 1d244],
     1833        [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75], [1da84, 1da84],
     1834        [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006], [1e008, 1e018],
     1835        [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a], [1e8d0, 1e8d6],
     1836        [1e944, 1e94a], [e0020, e007f], [e0100, e01ef]**/
    18211837        const UnicodeSet codepoint_set
    18221838            {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     
    18951911    namespace GR_LINK_ns {
    18961912        /** Code Point Ranges for Gr_Link
    1897         [2381, 2381], [2509, 2509], [2637, 2637], [2765, 2765],
    1898         [2893, 2893], [3021, 3021], [3149, 3149], [3277, 3277],
    1899         [3405, 3405], [3530, 3530], [3642, 3642], [3972, 3972],
    1900         [4153, 4154], [5908, 5908], [5940, 5940], [6098, 6098],
    1901         [6752, 6752], [6980, 6980], [7082, 7083], [7154, 7155],
    1902         [11647, 11647], [43014, 43014], [43204, 43204], [43347, 43347],
    1903         [43456, 43456], [43766, 43766], [44013, 44013], [68159, 68159],
    1904         [69702, 69702], [69759, 69759], [69817, 69817], [69939, 69940],
    1905         [70080, 70080], [70197, 70197], [70378, 70378], [70477, 70477],
    1906         [70722, 70722], [70850, 70850], [71103, 71103], [71231, 71231],
    1907         [71350, 71350], [71467, 71467], [72767, 72767]**/
     1913        [094d, 094d], [09cd, 09cd], [0a4d, 0a4d], [0acd, 0acd],
     1914        [0b4d, 0b4d], [0bcd, 0bcd], [0c4d, 0c4d], [0ccd, 0ccd],
     1915        [0d4d, 0d4d], [0dca, 0dca], [0e3a, 0e3a], [0f84, 0f84],
     1916        [1039, 103a], [1714, 1714], [1734, 1734], [17d2, 17d2],
     1917        [1a60, 1a60], [1b44, 1b44], [1baa, 1bab], [1bf2, 1bf3],
     1918        [2d7f, 2d7f], [a806, a806], [a8c4, a8c4], [a953, a953],
     1919        [a9c0, a9c0], [aaf6, aaf6], [abed, abed], [10a3f, 10a3f],
     1920        [11046, 11046], [1107f, 1107f], [110b9, 110b9], [11133, 11134],
     1921        [111c0, 111c0], [11235, 11235], [112ea, 112ea], [1134d, 1134d],
     1922        [11442, 11442], [114c2, 114c2], [115bf, 115bf], [1163f, 1163f],
     1923        [116b6, 116b6], [1172b, 1172b], [11c3f, 11c3f]**/
    19081924        const UnicodeSet codepoint_set
    19091925            {{{Empty, 74}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
     
    19371953    namespace IDC_ns {
    19381954        /** Code Point Ranges for IDC
    1939         [48, 57], [65, 90], [95, 95], [97, 122], [170, 170], [181, 181],
    1940         [183, 183], [186, 186], [192, 214], [216, 246], [248, 705],
    1941         [710, 721], [736, 740], [748, 748], [750, 750], [768, 884],
    1942         [886, 887], [890, 893], [895, 895], [902, 906], [908, 908],
    1943         [910, 929], [931, 1013], [1015, 1153], [1155, 1159], [1162, 1327],
    1944         [1329, 1366], [1369, 1369], [1377, 1415], [1425, 1469],
    1945         [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479],
    1946         [1488, 1514], [1520, 1522], [1552, 1562], [1568, 1641],
    1947         [1646, 1747], [1749, 1756], [1759, 1768], [1770, 1788],
    1948         [1791, 1791], [1808, 1866], [1869, 1969], [1984, 2037],
    1949         [2042, 2042], [2048, 2093], [2112, 2139], [2208, 2228],
    1950         [2230, 2237], [2260, 2273], [2275, 2403], [2406, 2415],
    1951         [2417, 2435], [2437, 2444], [2447, 2448], [2451, 2472],
    1952         [2474, 2480], [2482, 2482], [2486, 2489], [2492, 2500],
    1953         [2503, 2504], [2507, 2510], [2519, 2519], [2524, 2525],
    1954         [2527, 2531], [2534, 2545], [2561, 2563], [2565, 2570],
    1955         [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
    1956         [2613, 2614], [2616, 2617], [2620, 2620], [2622, 2626],
    1957         [2631, 2632], [2635, 2637], [2641, 2641], [2649, 2652],
    1958         [2654, 2654], [2662, 2677], [2689, 2691], [2693, 2701],
    1959         [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
    1960         [2741, 2745], [2748, 2757], [2759, 2761], [2763, 2765],
    1961         [2768, 2768], [2784, 2787], [2790, 2799], [2809, 2809],
    1962         [2817, 2819], [2821, 2828], [2831, 2832], [2835, 2856],
    1963         [2858, 2864], [2866, 2867], [2869, 2873], [2876, 2884],
    1964         [2887, 2888], [2891, 2893], [2902, 2903], [2908, 2909],
    1965         [2911, 2915], [2918, 2927], [2929, 2929], [2946, 2947],
    1966         [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970],
    1967         [2972, 2972], [2974, 2975], [2979, 2980], [2984, 2986],
    1968         [2990, 3001], [3006, 3010], [3014, 3016], [3018, 3021],
    1969         [3024, 3024], [3031, 3031], [3046, 3055], [3072, 3075],
    1970         [3077, 3084], [3086, 3088], [3090, 3112], [3114, 3129],
    1971         [3133, 3140], [3142, 3144], [3146, 3149], [3157, 3158],
    1972         [3160, 3162], [3168, 3171], [3174, 3183], [3200, 3203],
    1973         [3205, 3212], [3214, 3216], [3218, 3240], [3242, 3251],
    1974         [3253, 3257], [3260, 3268], [3270, 3272], [3274, 3277],
    1975         [3285, 3286], [3294, 3294], [3296, 3299], [3302, 3311],
    1976         [3313, 3314], [3329, 3331], [3333, 3340], [3342, 3344],
    1977         [3346, 3386], [3389, 3396], [3398, 3400], [3402, 3406],
    1978         [3412, 3415], [3423, 3427], [3430, 3439], [3450, 3455],
    1979         [3458, 3459], [3461, 3478], [3482, 3505], [3507, 3515],
    1980         [3517, 3517], [3520, 3526], [3530, 3530], [3535, 3540],
    1981         [3542, 3542], [3544, 3551], [3558, 3567], [3570, 3571],
    1982         [3585, 3642], [3648, 3662], [3664, 3673], [3713, 3714],
    1983         [3716, 3716], [3719, 3720], [3722, 3722], [3725, 3725],
    1984         [3732, 3735], [3737, 3743], [3745, 3747], [3749, 3749],
    1985         [3751, 3751], [3754, 3755], [3757, 3769], [3771, 3773],
    1986         [3776, 3780], [3782, 3782], [3784, 3789], [3792, 3801],
    1987         [3804, 3807], [3840, 3840], [3864, 3865], [3872, 3881],
    1988         [3893, 3893], [3895, 3895], [3897, 3897], [3902, 3911],
    1989         [3913, 3948], [3953, 3972], [3974, 3991], [3993, 4028],
    1990         [4038, 4038], [4096, 4169], [4176, 4253], [4256, 4293],
    1991         [4295, 4295], [4301, 4301], [4304, 4346], [4348, 4680],
    1992         [4682, 4685], [4688, 4694], [4696, 4696], [4698, 4701],
    1993         [4704, 4744], [4746, 4749], [4752, 4784], [4786, 4789],
    1994         [4792, 4798], [4800, 4800], [4802, 4805], [4808, 4822],
    1995         [4824, 4880], [4882, 4885], [4888, 4954], [4957, 4959],
    1996         [4969, 4977], [4992, 5007], [5024, 5109], [5112, 5117],
    1997         [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
    1998         [5870, 5880], [5888, 5900], [5902, 5908], [5920, 5940],
    1999         [5952, 5971], [5984, 5996], [5998, 6000], [6002, 6003],
    2000         [6016, 6099], [6103, 6103], [6108, 6109], [6112, 6121],
    2001         [6155, 6157], [6160, 6169], [6176, 6263], [6272, 6314],
    2002         [6320, 6389], [6400, 6430], [6432, 6443], [6448, 6459],
    2003         [6470, 6509], [6512, 6516], [6528, 6571], [6576, 6601],
    2004         [6608, 6618], [6656, 6683], [6688, 6750], [6752, 6780],
    2005         [6783, 6793], [6800, 6809], [6823, 6823], [6832, 6845],
    2006         [6912, 6987], [6992, 7001], [7019, 7027], [7040, 7155],
    2007         [7168, 7223], [7232, 7241], [7245, 7293], [7296, 7304],
    2008         [7376, 7378], [7380, 7414], [7416, 7417], [7424, 7669],
    2009         [7675, 7957], [7960, 7965], [7968, 8005], [8008, 8013],
    2010         [8016, 8023], [8025, 8025], [8027, 8027], [8029, 8029],
    2011         [8031, 8061], [8064, 8116], [8118, 8124], [8126, 8126],
    2012         [8130, 8132], [8134, 8140], [8144, 8147], [8150, 8155],
    2013         [8160, 8172], [8178, 8180], [8182, 8188], [8255, 8256],
    2014         [8276, 8276], [8305, 8305], [8319, 8319], [8336, 8348],
    2015         [8400, 8412], [8417, 8417], [8421, 8432], [8450, 8450],
    2016         [8455, 8455], [8458, 8467], [8469, 8469], [8472, 8477],
    2017         [8484, 8484], [8486, 8486], [8488, 8488], [8490, 8505],
    2018         [8508, 8511], [8517, 8521], [8526, 8526], [8544, 8584],
    2019         [11264, 11310], [11312, 11358], [11360, 11492], [11499, 11507],
    2020         [11520, 11557], [11559, 11559], [11565, 11565], [11568, 11623],
    2021         [11631, 11631], [11647, 11670], [11680, 11686], [11688, 11694],
    2022         [11696, 11702], [11704, 11710], [11712, 11718], [11720, 11726],
    2023         [11728, 11734], [11736, 11742], [11744, 11775], [12293, 12295],
    2024         [12321, 12335], [12337, 12341], [12344, 12348], [12353, 12438],
    2025         [12441, 12447], [12449, 12538], [12540, 12543], [12549, 12589],
    2026         [12593, 12686], [12704, 12730], [12784, 12799], [13312, 19893],
    2027         [19968, 40917], [40960, 42124], [42192, 42237], [42240, 42508],
    2028         [42512, 42539], [42560, 42607], [42612, 42621], [42623, 42737],
    2029         [42775, 42783], [42786, 42888], [42891, 42926], [42928, 42935],
    2030         [42999, 43047], [43072, 43123], [43136, 43205], [43216, 43225],
    2031         [43232, 43255], [43259, 43259], [43261, 43261], [43264, 43309],
    2032         [43312, 43347], [43360, 43388], [43392, 43456], [43471, 43481],
    2033         [43488, 43518], [43520, 43574], [43584, 43597], [43600, 43609],
    2034         [43616, 43638], [43642, 43714], [43739, 43741], [43744, 43759],
    2035         [43762, 43766], [43777, 43782], [43785, 43790], [43793, 43798],
    2036         [43808, 43814], [43816, 43822], [43824, 43866], [43868, 43877],
    2037         [43888, 44010], [44012, 44013], [44016, 44025], [44032, 55203],
    2038         [55216, 55238], [55243, 55291], [63744, 64109], [64112, 64217],
    2039         [64256, 64262], [64275, 64279], [64285, 64296], [64298, 64310],
    2040         [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
    2041         [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
    2042         [65008, 65019], [65024, 65039], [65056, 65071], [65075, 65076],
    2043         [65101, 65103], [65136, 65140], [65142, 65276], [65296, 65305],
    2044         [65313, 65338], [65343, 65343], [65345, 65370], [65382, 65470],
    2045         [65474, 65479], [65482, 65487], [65490, 65495], [65498, 65500],
    2046         [65536, 65547], [65549, 65574], [65576, 65594], [65596, 65597],
    2047         [65599, 65613], [65616, 65629], [65664, 65786], [65856, 65908],
    2048         [66045, 66045], [66176, 66204], [66208, 66256], [66272, 66272],
    2049         [66304, 66335], [66352, 66378], [66384, 66426], [66432, 66461],
    2050         [66464, 66499], [66504, 66511], [66513, 66517], [66560, 66717],
    2051         [66720, 66729], [66736, 66771], [66776, 66811], [66816, 66855],
    2052         [66864, 66915], [67072, 67382], [67392, 67413], [67424, 67431],
    2053         [67584, 67589], [67592, 67592], [67594, 67637], [67639, 67640],
    2054         [67644, 67644], [67647, 67669], [67680, 67702], [67712, 67742],
    2055         [67808, 67826], [67828, 67829], [67840, 67861], [67872, 67897],
    2056         [67968, 68023], [68030, 68031], [68096, 68099], [68101, 68102],
    2057         [68108, 68115], [68117, 68119], [68121, 68147], [68152, 68154],
    2058         [68159, 68159], [68192, 68220], [68224, 68252], [68288, 68295],
    2059         [68297, 68326], [68352, 68405], [68416, 68437], [68448, 68466],
    2060         [68480, 68497], [68608, 68680], [68736, 68786], [68800, 68850],
    2061         [69632, 69702], [69734, 69743], [69759, 69818], [69840, 69864],
    2062         [69872, 69881], [69888, 69940], [69942, 69951], [69968, 70003],
    2063         [70006, 70006], [70016, 70084], [70090, 70092], [70096, 70106],
    2064         [70108, 70108], [70144, 70161], [70163, 70199], [70206, 70206],
    2065         [70272, 70278], [70280, 70280], [70282, 70285], [70287, 70301],
    2066         [70303, 70312], [70320, 70378], [70384, 70393], [70400, 70403],
    2067         [70405, 70412], [70415, 70416], [70419, 70440], [70442, 70448],
    2068         [70450, 70451], [70453, 70457], [70460, 70468], [70471, 70472],
    2069         [70475, 70477], [70480, 70480], [70487, 70487], [70493, 70499],
    2070         [70502, 70508], [70512, 70516], [70656, 70730], [70736, 70745],
    2071         [70784, 70853], [70855, 70855], [70864, 70873], [71040, 71093],
    2072         [71096, 71104], [71128, 71133], [71168, 71232], [71236, 71236],
    2073         [71248, 71257], [71296, 71351], [71360, 71369], [71424, 71449],
    2074         [71453, 71467], [71472, 71481], [71840, 71913], [71935, 71935],
    2075         [72384, 72440], [72704, 72712], [72714, 72758], [72760, 72768],
    2076         [72784, 72793], [72818, 72847], [72850, 72871], [72873, 72886],
    2077         [73728, 74649], [74752, 74862], [74880, 75075], [77824, 78894],
    2078         [82944, 83526], [92160, 92728], [92736, 92766], [92768, 92777],
    2079         [92880, 92909], [92912, 92916], [92928, 92982], [92992, 92995],
    2080         [93008, 93017], [93027, 93047], [93053, 93071], [93952, 94020],
    2081         [94032, 94078], [94095, 94111], [94176, 94176], [94208, 100332],
    2082         [100352, 101106], [110592, 110593], [113664, 113770],
    2083         [113776, 113788], [113792, 113800], [113808, 113817],
    2084         [113821, 113822], [119141, 119145], [119149, 119154],
    2085         [119163, 119170], [119173, 119179], [119210, 119213],
    2086         [119362, 119364], [119808, 119892], [119894, 119964],
    2087         [119966, 119967], [119970, 119970], [119973, 119974],
    2088         [119977, 119980], [119982, 119993], [119995, 119995],
    2089         [119997, 120003], [120005, 120069], [120071, 120074],
    2090         [120077, 120084], [120086, 120092], [120094, 120121],
    2091         [120123, 120126], [120128, 120132], [120134, 120134],
    2092         [120138, 120144], [120146, 120485], [120488, 120512],
    2093         [120514, 120538], [120540, 120570], [120572, 120596],
    2094         [120598, 120628], [120630, 120654], [120656, 120686],
    2095         [120688, 120712], [120714, 120744], [120746, 120770],
    2096         [120772, 120779], [120782, 120831], [121344, 121398],
    2097         [121403, 121452], [121461, 121461], [121476, 121476],
    2098         [121499, 121503], [121505, 121519], [122880, 122886],
    2099         [122888, 122904], [122907, 122913], [122915, 122916],
    2100         [122918, 122922], [124928, 125124], [125136, 125142],
    2101         [125184, 125258], [125264, 125273], [126464, 126467],
    2102         [126469, 126495], [126497, 126498], [126500, 126500],
    2103         [126503, 126503], [126505, 126514], [126516, 126519],
    2104         [126521, 126521], [126523, 126523], [126530, 126530],
    2105         [126535, 126535], [126537, 126537], [126539, 126539],
    2106         [126541, 126543], [126545, 126546], [126548, 126548],
    2107         [126551, 126551], [126553, 126553], [126555, 126555],
    2108         [126557, 126557], [126559, 126559], [126561, 126562],
    2109         [126564, 126564], [126567, 126570], [126572, 126578],
    2110         [126580, 126583], [126585, 126588], [126590, 126590],
    2111         [126592, 126601], [126603, 126619], [126625, 126627],
    2112         [126629, 126633], [126635, 126651], [131072, 173782],
    2113         [173824, 177972], [177984, 178205], [178208, 183969],
    2114         [194560, 195101], [917760, 917999]**/
     1955        [0030, 0039], [0041, 005a], [005f, 005f], [0061, 007a],
     1956        [00aa, 00aa], [00b5, 00b5], [00b7, 00b7], [00ba, 00ba],
     1957        [00c0, 00d6], [00d8, 00f6], [00f8, 02c1], [02c6, 02d1],
     1958        [02e0, 02e4], [02ec, 02ec], [02ee, 02ee], [0300, 0374],
     1959        [0376, 0377], [037a, 037d], [037f, 037f], [0386, 038a],
     1960        [038c, 038c], [038e, 03a1], [03a3, 03f5], [03f7, 0481],
     1961        [0483, 0487], [048a, 052f], [0531, 0556], [0559, 0559],
     1962        [0561, 0587], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
     1963        [05c4, 05c5], [05c7, 05c7], [05d0, 05ea], [05f0, 05f2],
     1964        [0610, 061a], [0620, 0669], [066e, 06d3], [06d5, 06dc],
     1965        [06df, 06e8], [06ea, 06fc], [06ff, 06ff], [0710, 074a],
     1966        [074d, 07b1], [07c0, 07f5], [07fa, 07fa], [0800, 082d],
     1967        [0840, 085b], [08a0, 08b4], [08b6, 08bd], [08d4, 08e1],
     1968        [08e3, 0963], [0966, 096f], [0971, 0983], [0985, 098c],
     1969        [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
     1970        [09b6, 09b9], [09bc, 09c4], [09c7, 09c8], [09cb, 09ce],
     1971        [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09f1],
     1972        [0a01, 0a03], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28],
     1973        [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39],
     1974        [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48], [0a4b, 0a4d],
     1975        [0a51, 0a51], [0a59, 0a5c], [0a5e, 0a5e], [0a66, 0a75],
     1976        [0a81, 0a83], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8],
     1977        [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9], [0abc, 0ac5],
     1978        [0ac7, 0ac9], [0acb, 0acd], [0ad0, 0ad0], [0ae0, 0ae3],
     1979        [0ae6, 0aef], [0af9, 0af9], [0b01, 0b03], [0b05, 0b0c],
     1980        [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
     1981        [0b35, 0b39], [0b3c, 0b44], [0b47, 0b48], [0b4b, 0b4d],
     1982        [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b66, 0b6f],
     1983        [0b71, 0b71], [0b82, 0b83], [0b85, 0b8a], [0b8e, 0b90],
     1984        [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f],
     1985        [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9], [0bbe, 0bc2],
     1986        [0bc6, 0bc8], [0bca, 0bcd], [0bd0, 0bd0], [0bd7, 0bd7],
     1987        [0be6, 0bef], [0c00, 0c03], [0c05, 0c0c], [0c0e, 0c10],
     1988        [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c44], [0c46, 0c48],
     1989        [0c4a, 0c4d], [0c55, 0c56], [0c58, 0c5a], [0c60, 0c63],
     1990        [0c66, 0c6f], [0c80, 0c83], [0c85, 0c8c], [0c8e, 0c90],
     1991        [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9], [0cbc, 0cc4],
     1992        [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6], [0cde, 0cde],
     1993        [0ce0, 0ce3], [0ce6, 0cef], [0cf1, 0cf2], [0d01, 0d03],
     1994        [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d44],
     1995        [0d46, 0d48], [0d4a, 0d4e], [0d54, 0d57], [0d5f, 0d63],
     1996        [0d66, 0d6f], [0d7a, 0d7f], [0d82, 0d83], [0d85, 0d96],
     1997        [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6],
     1998        [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf],
     1999        [0de6, 0def], [0df2, 0df3], [0e01, 0e3a], [0e40, 0e4e],
     2000        [0e50, 0e59], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88],
     2001        [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f],
     2002        [0ea1, 0ea3], [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab],
     2003        [0ead, 0eb9], [0ebb, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6],
     2004        [0ec8, 0ecd], [0ed0, 0ed9], [0edc, 0edf], [0f00, 0f00],
     2005        [0f18, 0f19], [0f20, 0f29], [0f35, 0f35], [0f37, 0f37],
     2006        [0f39, 0f39], [0f3e, 0f47], [0f49, 0f6c], [0f71, 0f84],
     2007        [0f86, 0f97], [0f99, 0fbc], [0fc6, 0fc6], [1000, 1049],
     2008        [1050, 109d], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
     2009        [10d0, 10fa], [10fc, 1248], [124a, 124d], [1250, 1256],
     2010        [1258, 1258], [125a, 125d], [1260, 1288], [128a, 128d],
     2011        [1290, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0],
     2012        [12c2, 12c5], [12c8, 12d6], [12d8, 1310], [1312, 1315],
     2013        [1318, 135a], [135d, 135f], [1369, 1371], [1380, 138f],
     2014        [13a0, 13f5], [13f8, 13fd], [1401, 166c], [166f, 167f],
     2015        [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c],
     2016        [170e, 1714], [1720, 1734], [1740, 1753], [1760, 176c],
     2017        [176e, 1770], [1772, 1773], [1780, 17d3], [17d7, 17d7],
     2018        [17dc, 17dd], [17e0, 17e9], [180b, 180d], [1810, 1819],
     2019        [1820, 1877], [1880, 18aa], [18b0, 18f5], [1900, 191e],
     2020        [1920, 192b], [1930, 193b], [1946, 196d], [1970, 1974],
     2021        [1980, 19ab], [19b0, 19c9], [19d0, 19da], [1a00, 1a1b],
     2022        [1a20, 1a5e], [1a60, 1a7c], [1a7f, 1a89], [1a90, 1a99],
     2023        [1aa7, 1aa7], [1ab0, 1abd], [1b00, 1b4b], [1b50, 1b59],
     2024        [1b6b, 1b73], [1b80, 1bf3], [1c00, 1c37], [1c40, 1c49],
     2025        [1c4d, 1c7d], [1c80, 1c88], [1cd0, 1cd2], [1cd4, 1cf6],
     2026        [1cf8, 1cf9], [1d00, 1df5], [1dfb, 1f15], [1f18, 1f1d],
     2027        [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
     2028        [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
     2029        [1fb6, 1fbc], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc],
     2030        [1fd0, 1fd3], [1fd6, 1fdb], [1fe0, 1fec], [1ff2, 1ff4],
     2031        [1ff6, 1ffc], [203f, 2040], [2054, 2054], [2071, 2071],
     2032        [207f, 207f], [2090, 209c], [20d0, 20dc], [20e1, 20e1],
     2033        [20e5, 20f0], [2102, 2102], [2107, 2107], [210a, 2113],
     2034        [2115, 2115], [2118, 211d], [2124, 2124], [2126, 2126],
     2035        [2128, 2128], [212a, 2139], [213c, 213f], [2145, 2149],
     2036        [214e, 214e], [2160, 2188], [2c00, 2c2e], [2c30, 2c5e],
     2037        [2c60, 2ce4], [2ceb, 2cf3], [2d00, 2d25], [2d27, 2d27],
     2038        [2d2d, 2d2d], [2d30, 2d67], [2d6f, 2d6f], [2d7f, 2d96],
     2039        [2da0, 2da6], [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe],
     2040        [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
     2041        [2de0, 2dff], [3005, 3007], [3021, 302f], [3031, 3035],
     2042        [3038, 303c], [3041, 3096], [3099, 309f], [30a1, 30fa],
     2043        [30fc, 30ff], [3105, 312d], [3131, 318e], [31a0, 31ba],
     2044        [31f0, 31ff], [3400, 4db5], [4e00, 9fd5], [a000, a48c],
     2045        [a4d0, a4fd], [a500, a60c], [a610, a62b], [a640, a66f],
     2046        [a674, a67d], [a67f, a6f1], [a717, a71f], [a722, a788],
     2047        [a78b, a7ae], [a7b0, a7b7], [a7f7, a827], [a840, a873],
     2048        [a880, a8c5], [a8d0, a8d9], [a8e0, a8f7], [a8fb, a8fb],
     2049        [a8fd, a8fd], [a900, a92d], [a930, a953], [a960, a97c],
     2050        [a980, a9c0], [a9cf, a9d9], [a9e0, a9fe], [aa00, aa36],
     2051        [aa40, aa4d], [aa50, aa59], [aa60, aa76], [aa7a, aac2],
     2052        [aadb, aadd], [aae0, aaef], [aaf2, aaf6], [ab01, ab06],
     2053        [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e],
     2054        [ab30, ab5a], [ab5c, ab65], [ab70, abea], [abec, abed],
     2055        [abf0, abf9], [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb],
     2056        [f900, fa6d], [fa70, fad9], [fb00, fb06], [fb13, fb17],
     2057        [fb1d, fb28], [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e],
     2058        [fb40, fb41], [fb43, fb44], [fb46, fbb1], [fbd3, fd3d],
     2059        [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb], [fe00, fe0f],
     2060        [fe20, fe2f], [fe33, fe34], [fe4d, fe4f], [fe70, fe74],
     2061        [fe76, fefc], [ff10, ff19], [ff21, ff3a], [ff3f, ff3f],
     2062        [ff41, ff5a], [ff66, ffbe], [ffc2, ffc7], [ffca, ffcf],
     2063        [ffd2, ffd7], [ffda, ffdc], [10000, 1000b], [1000d, 10026],
     2064        [10028, 1003a], [1003c, 1003d], [1003f, 1004d], [10050, 1005d],
     2065        [10080, 100fa], [10140, 10174], [101fd, 101fd], [10280, 1029c],
     2066        [102a0, 102d0], [102e0, 102e0], [10300, 1031f], [10330, 1034a],
     2067        [10350, 1037a], [10380, 1039d], [103a0, 103c3], [103c8, 103cf],
     2068        [103d1, 103d5], [10400, 1049d], [104a0, 104a9], [104b0, 104d3],
     2069        [104d8, 104fb], [10500, 10527], [10530, 10563], [10600, 10736],
     2070        [10740, 10755], [10760, 10767], [10800, 10805], [10808, 10808],
     2071        [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 10855],
     2072        [10860, 10876], [10880, 1089e], [108e0, 108f2], [108f4, 108f5],
     2073        [10900, 10915], [10920, 10939], [10980, 109b7], [109be, 109bf],
     2074        [10a00, 10a03], [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17],
     2075        [10a19, 10a33], [10a38, 10a3a], [10a3f, 10a3f], [10a60, 10a7c],
     2076        [10a80, 10a9c], [10ac0, 10ac7], [10ac9, 10ae6], [10b00, 10b35],
     2077        [10b40, 10b55], [10b60, 10b72], [10b80, 10b91], [10c00, 10c48],
     2078        [10c80, 10cb2], [10cc0, 10cf2], [11000, 11046], [11066, 1106f],
     2079        [1107f, 110ba], [110d0, 110e8], [110f0, 110f9], [11100, 11134],
     2080        [11136, 1113f], [11150, 11173], [11176, 11176], [11180, 111c4],
     2081        [111ca, 111cc], [111d0, 111da], [111dc, 111dc], [11200, 11211],
     2082        [11213, 11237], [1123e, 1123e], [11280, 11286], [11288, 11288],
     2083        [1128a, 1128d], [1128f, 1129d], [1129f, 112a8], [112b0, 112ea],
     2084        [112f0, 112f9], [11300, 11303], [11305, 1130c], [1130f, 11310],
     2085        [11313, 11328], [1132a, 11330], [11332, 11333], [11335, 11339],
     2086        [1133c, 11344], [11347, 11348], [1134b, 1134d], [11350, 11350],
     2087        [11357, 11357], [1135d, 11363], [11366, 1136c], [11370, 11374],
     2088        [11400, 1144a], [11450, 11459], [11480, 114c5], [114c7, 114c7],
     2089        [114d0, 114d9], [11580, 115b5], [115b8, 115c0], [115d8, 115dd],
     2090        [11600, 11640], [11644, 11644], [11650, 11659], [11680, 116b7],
     2091        [116c0, 116c9], [11700, 11719], [1171d, 1172b], [11730, 11739],
     2092        [118a0, 118e9], [118ff, 118ff], [11ac0, 11af8], [11c00, 11c08],
     2093        [11c0a, 11c36], [11c38, 11c40], [11c50, 11c59], [11c72, 11c8f],
     2094        [11c92, 11ca7], [11ca9, 11cb6], [12000, 12399], [12400, 1246e],
     2095        [12480, 12543], [13000, 1342e], [14400, 14646], [16800, 16a38],
     2096        [16a40, 16a5e], [16a60, 16a69], [16ad0, 16aed], [16af0, 16af4],
     2097        [16b00, 16b36], [16b40, 16b43], [16b50, 16b59], [16b63, 16b77],
     2098        [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f],
     2099        [16fe0, 16fe0], [17000, 187ec], [18800, 18af2], [1b000, 1b001],
     2100        [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
     2101        [1bc9d, 1bc9e], [1d165, 1d169], [1d16d, 1d172], [1d17b, 1d182],
     2102        [1d185, 1d18b], [1d1aa, 1d1ad], [1d242, 1d244], [1d400, 1d454],
     2103        [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
     2104        [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
     2105        [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
     2106        [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
     2107        [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d6c0], [1d6c2, 1d6da],
     2108        [1d6dc, 1d6fa], [1d6fc, 1d714], [1d716, 1d734], [1d736, 1d74e],
     2109        [1d750, 1d76e], [1d770, 1d788], [1d78a, 1d7a8], [1d7aa, 1d7c2],
     2110        [1d7c4, 1d7cb], [1d7ce, 1d7ff], [1da00, 1da36], [1da3b, 1da6c],
     2111        [1da75, 1da75], [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf],
     2112        [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024],
     2113        [1e026, 1e02a], [1e800, 1e8c4], [1e8d0, 1e8d6], [1e900, 1e94a],
     2114        [1e950, 1e959], [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22],
     2115        [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37],
     2116        [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47],
     2117        [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52],
     2118        [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b],
     2119        [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64],
     2120        [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c],
     2121        [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3],
     2122        [1eea5, 1eea9], [1eeab, 1eebb], [20000, 2a6d6], [2a700, 2b734],
     2123        [2b740, 2b81d], [2b820, 2cea1], [2f800, 2fa1d], [e0100, e01ef]**/
    21152124        const UnicodeSet codepoint_set
    21162125            {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Full, 14},
     
    22612270    namespace IDS_ns {
    22622271        /** Code Point Ranges for IDS
    2263         [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
    2264         [216, 246], [248, 705], [710, 721], [736, 740], [748, 748],
    2265         [750, 750], [880, 884], [886, 887], [890, 893], [895, 895],
    2266         [902, 902], [904, 906], [908, 908], [910, 929], [931, 1013],
    2267         [1015, 1153], [1162, 1327], [1329, 1366], [1369, 1369],
    2268         [1377, 1415], [1488, 1514], [1520, 1522], [1568, 1610],
    2269         [1646, 1647], [1649, 1747], [1749, 1749], [1765, 1766],
    2270         [1774, 1775], [1786, 1788], [1791, 1791], [1808, 1808],
    2271         [1810, 1839], [1869, 1957], [1969, 1969], [1994, 2026],
    2272         [2036, 2037], [2042, 2042], [2048, 2069], [2074, 2074],
    2273         [2084, 2084], [2088, 2088], [2112, 2136], [2208, 2228],
    2274         [2230, 2237], [2308, 2361], [2365, 2365], [2384, 2384],
    2275         [2392, 2401], [2417, 2432], [2437, 2444], [2447, 2448],
    2276         [2451, 2472], [2474, 2480], [2482, 2482], [2486, 2489],
    2277         [2493, 2493], [2510, 2510], [2524, 2525], [2527, 2529],
    2278         [2544, 2545], [2565, 2570], [2575, 2576], [2579, 2600],
    2279         [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617],
    2280         [2649, 2652], [2654, 2654], [2674, 2676], [2693, 2701],
    2281         [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
    2282         [2741, 2745], [2749, 2749], [2768, 2768], [2784, 2785],
    2283         [2809, 2809], [2821, 2828], [2831, 2832], [2835, 2856],
    2284         [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2877],
    2285         [2908, 2909], [2911, 2913], [2929, 2929], [2947, 2947],
    2286         [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970],
    2287         [2972, 2972], [2974, 2975], [2979, 2980], [2984, 2986],
    2288         [2990, 3001], [3024, 3024], [3077, 3084], [3086, 3088],
    2289         [3090, 3112], [3114, 3129], [3133, 3133], [3160, 3162],
    2290         [3168, 3169], [3200, 3200], [3205, 3212], [3214, 3216],
    2291         [3218, 3240], [3242, 3251], [3253, 3257], [3261, 3261],
    2292         [3294, 3294], [3296, 3297], [3313, 3314], [3333, 3340],
    2293         [3342, 3344], [3346, 3386], [3389, 3389], [3406, 3406],
    2294         [3412, 3414], [3423, 3425], [3450, 3455], [3461, 3478],
    2295         [3482, 3505], [3507, 3515], [3517, 3517], [3520, 3526],
    2296         [3585, 3632], [3634, 3635], [3648, 3654], [3713, 3714],
    2297         [3716, 3716], [3719, 3720], [3722, 3722], [3725, 3725],
    2298         [3732, 3735], [3737, 3743], [3745, 3747], [3749, 3749],
    2299         [3751, 3751], [3754, 3755], [3757, 3760], [3762, 3763],
    2300         [3773, 3773], [3776, 3780], [3782, 3782], [3804, 3807],
    2301         [3840, 3840], [3904, 3911], [3913, 3948], [3976, 3980],
    2302         [4096, 4138], [4159, 4159], [4176, 4181], [4186, 4189],
    2303         [4193, 4193], [4197, 4198], [4206, 4208], [4213, 4225],
    2304         [4238, 4238], [4256, 4293], [4295, 4295], [4301, 4301],
    2305         [4304, 4346], [4348, 4680], [4682, 4685], [4688, 4694],
    2306         [4696, 4696], [4698, 4701], [4704, 4744], [4746, 4749],
    2307         [4752, 4784], [4786, 4789], [4792, 4798], [4800, 4800],
    2308         [4802, 4805], [4808, 4822], [4824, 4880], [4882, 4885],
    2309         [4888, 4954], [4992, 5007], [5024, 5109], [5112, 5117],
    2310         [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
    2311         [5870, 5880], [5888, 5900], [5902, 5905], [5920, 5937],
    2312         [5952, 5969], [5984, 5996], [5998, 6000], [6016, 6067],
    2313         [6103, 6103], [6108, 6108], [6176, 6263], [6272, 6312],
    2314         [6314, 6314], [6320, 6389], [6400, 6430], [6480, 6509],
    2315         [6512, 6516], [6528, 6571], [6576, 6601], [6656, 6678],
    2316         [6688, 6740], [6823, 6823], [6917, 6963], [6981, 6987],
    2317         [7043, 7072], [7086, 7087], [7098, 7141], [7168, 7203],
    2318         [7245, 7247], [7258, 7293], [7296, 7304], [7401, 7404],
    2319         [7406, 7409], [7413, 7414], [7424, 7615], [7680, 7957],
    2320         [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
    2321         [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061],
    2322         [8064, 8116], [8118, 8124], [8126, 8126], [8130, 8132],
    2323         [8134, 8140], [8144, 8147], [8150, 8155], [8160, 8172],
    2324         [8178, 8180], [8182, 8188], [8305, 8305], [8319, 8319],
    2325         [8336, 8348], [8450, 8450], [8455, 8455], [8458, 8467],
    2326         [8469, 8469], [8472, 8477], [8484, 8484], [8486, 8486],
    2327         [8488, 8488], [8490, 8505], [8508, 8511], [8517, 8521],
    2328         [8526, 8526], [8544, 8584], [11264, 11310], [11312, 11358],
    2329         [11360, 11492], [11499, 11502], [11506, 11507], [11520, 11557],
    2330         [11559, 11559], [11565, 11565], [11568, 11623], [11631, 11631],
    2331         [11648, 11670], [11680, 11686], [11688, 11694], [11696, 11702],
    2332         [11704, 11710], [11712, 11718], [11720, 11726], [11728, 11734],
    2333         [11736, 11742], [12293, 12295], [12321, 12329], [12337, 12341],
    2334         [12344, 12348], [12353, 12438], [12443, 12447], [12449, 12538],
    2335         [12540, 12543], [12549, 12589], [12593, 12686], [12704, 12730],
    2336         [12784, 12799], [13312, 19893], [19968, 40917], [40960, 42124],
    2337         [42192, 42237], [42240, 42508], [42512, 42527], [42538, 42539],
    2338         [42560, 42606], [42623, 42653], [42656, 42735], [42775, 42783],
    2339         [42786, 42888], [42891, 42926], [42928, 42935], [42999, 43009],
    2340         [43011, 43013], [43015, 43018], [43020, 43042], [43072, 43123],
    2341         [43138, 43187], [43250, 43255], [43259, 43259], [43261, 43261],
    2342         [43274, 43301], [43312, 43334], [43360, 43388], [43396, 43442],
    2343         [43471, 43471], [43488, 43492], [43494, 43503], [43514, 43518],
    2344         [43520, 43560], [43584, 43586], [43588, 43595], [43616, 43638],
    2345         [43642, 43642], [43646, 43695], [43697, 43697], [43701, 43702],
    2346         [43705, 43709], [43712, 43712], [43714, 43714], [43739, 43741],
    2347         [43744, 43754], [43762, 43764], [43777, 43782], [43785, 43790],
    2348         [43793, 43798], [43808, 43814], [43816, 43822], [43824, 43866],
    2349         [43868, 43877], [43888, 44002], [44032, 55203], [55216, 55238],
    2350         [55243, 55291], [63744, 64109], [64112, 64217], [64256, 64262],
    2351         [64275, 64279], [64285, 64285], [64287, 64296], [64298, 64310],
    2352         [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
    2353         [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
    2354         [65008, 65019], [65136, 65140], [65142, 65276], [65313, 65338],
    2355         [65345, 65370], [65382, 65470], [65474, 65479], [65482, 65487],
    2356         [65490, 65495], [65498, 65500], [65536, 65547], [65549, 65574],
    2357         [65576, 65594], [65596, 65597], [65599, 65613], [65616, 65629],
    2358         [65664, 65786], [65856, 65908], [66176, 66204], [66208, 66256],
    2359         [66304, 66335], [66352, 66378], [66384, 66421], [66432, 66461],
    2360         [66464, 66499], [66504, 66511], [66513, 66517], [66560, 66717],
    2361         [66736, 66771], [66776, 66811], [66816, 66855], [66864, 66915],
    2362         [67072, 67382], [67392, 67413], [67424, 67431], [67584, 67589],
    2363         [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
    2364         [67647, 67669], [67680, 67702], [67712, 67742], [67808, 67826],
    2365         [67828, 67829], [67840, 67861], [67872, 67897], [67968, 68023],
    2366         [68030, 68031], [68096, 68096], [68112, 68115], [68117, 68119],
    2367         [68121, 68147], [68192, 68220], [68224, 68252], [68288, 68295],
    2368         [68297, 68324], [68352, 68405], [68416, 68437], [68448, 68466],
    2369         [68480, 68497], [68608, 68680], [68736, 68786], [68800, 68850],
    2370         [69635, 69687], [69763, 69807], [69840, 69864], [69891, 69926],
    2371         [69968, 70002], [70006, 70006], [70019, 70066], [70081, 70084],
    2372         [70106, 70106], [70108, 70108], [70144, 70161], [70163, 70187],
    2373         [70272, 70278], [70280, 70280], [70282, 70285], [70287, 70301],
    2374         [70303, 70312], [70320, 70366], [70405, 70412], [70415, 70416],
    2375         [70419, 70440], [70442, 70448], [70450, 70451], [70453, 70457],
    2376         [70461, 70461], [70480, 70480], [70493, 70497], [70656, 70708],
    2377         [70727, 70730], [70784, 70831], [70852, 70853], [70855, 70855],
    2378         [71040, 71086], [71128, 71131], [71168, 71215], [71236, 71236],
    2379         [71296, 71338], [71424, 71449], [71840, 71903], [71935, 71935],
    2380         [72384, 72440], [72704, 72712], [72714, 72750], [72768, 72768],
    2381         [72818, 72847], [73728, 74649], [74752, 74862], [74880, 75075],
    2382         [77824, 78894], [82944, 83526], [92160, 92728], [92736, 92766],
    2383         [92880, 92909], [92928, 92975], [92992, 92995], [93027, 93047],
    2384         [93053, 93071], [93952, 94020], [94032, 94032], [94099, 94111],
    2385         [94176, 94176], [94208, 100332], [100352, 101106], [110592, 110593],
    2386         [113664, 113770], [113776, 113788], [113792, 113800],
    2387         [113808, 113817], [119808, 119892], [119894, 119964],
    2388         [119966, 119967], [119970, 119970], [119973, 119974],
    2389         [119977, 119980], [119982, 119993], [119995, 119995],
    2390         [119997, 120003], [120005, 120069], [120071, 120074],
    2391         [120077, 120084], [120086, 120092], [120094, 120121],
    2392         [120123, 120126], [120128, 120132], [120134, 120134],
    2393         [120138, 120144], [120146, 120485], [120488, 120512],
    2394         [120514, 120538], [120540, 120570], [120572, 120596],
    2395         [120598, 120628], [120630, 120654], [120656, 120686],
    2396         [120688, 120712], [120714, 120744], [120746, 120770],
    2397         [120772, 120779], [124928, 125124], [125184, 125251],
    2398         [126464, 126467], [126469, 126495], [126497, 126498],
    2399         [126500, 126500], [126503, 126503], [126505, 126514],
    2400         [126516, 126519], [126521, 126521], [126523, 126523],
    2401         [126530, 126530], [126535, 126535], [126537, 126537],
    2402         [126539, 126539], [126541, 126543], [126545, 126546],
    2403         [126548, 126548], [126551, 126551], [126553, 126553],
    2404         [126555, 126555], [126557, 126557], [126559, 126559],
    2405         [126561, 126562], [126564, 126564], [126567, 126570],
    2406         [126572, 126578], [126580, 126583], [126585, 126588],
    2407         [126590, 126590], [126592, 126601], [126603, 126619],
    2408         [126625, 126627], [126629, 126633], [126635, 126651],
    2409         [131072, 173782], [173824, 177972], [177984, 178205],
    2410         [178208, 183969], [194560, 195101]**/
     2272        [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5],
     2273        [00ba, 00ba], [00c0, 00d6], [00d8, 00f6], [00f8, 02c1],
     2274        [02c6, 02d1], [02e0, 02e4], [02ec, 02ec], [02ee, 02ee],
     2275        [0370, 0374], [0376, 0377], [037a, 037d], [037f, 037f],
     2276        [0386, 0386], [0388, 038a], [038c, 038c], [038e, 03a1],
     2277        [03a3, 03f5], [03f7, 0481], [048a, 052f], [0531, 0556],
     2278        [0559, 0559], [0561, 0587], [05d0, 05ea], [05f0, 05f2],
     2279        [0620, 064a], [066e, 066f], [0671, 06d3], [06d5, 06d5],
     2280        [06e5, 06e6], [06ee, 06ef], [06fa, 06fc], [06ff, 06ff],
     2281        [0710, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1],
     2282        [07ca, 07ea], [07f4, 07f5], [07fa, 07fa], [0800, 0815],
     2283        [081a, 081a], [0824, 0824], [0828, 0828], [0840, 0858],
     2284        [08a0, 08b4], [08b6, 08bd], [0904, 0939], [093d, 093d],
     2285        [0950, 0950], [0958, 0961], [0971, 0980], [0985, 098c],
     2286        [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
     2287        [09b6, 09b9], [09bd, 09bd], [09ce, 09ce], [09dc, 09dd],
     2288        [09df, 09e1], [09f0, 09f1], [0a05, 0a0a], [0a0f, 0a10],
     2289        [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36],
     2290        [0a38, 0a39], [0a59, 0a5c], [0a5e, 0a5e], [0a72, 0a74],
     2291        [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
     2292        [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0],
     2293        [0ae0, 0ae1], [0af9, 0af9], [0b05, 0b0c], [0b0f, 0b10],
     2294        [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33], [0b35, 0b39],
     2295        [0b3d, 0b3d], [0b5c, 0b5d], [0b5f, 0b61], [0b71, 0b71],
     2296        [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95],
     2297        [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
     2298        [0ba8, 0baa], [0bae, 0bb9], [0bd0, 0bd0], [0c05, 0c0c],
     2299        [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c3d],
     2300        [0c58, 0c5a], [0c60, 0c61], [0c80, 0c80], [0c85, 0c8c],
     2301        [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
     2302        [0cbd, 0cbd], [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2],
     2303        [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d],
     2304        [0d4e, 0d4e], [0d54, 0d56], [0d5f, 0d61], [0d7a, 0d7f],
     2305        [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
     2306        [0dc0, 0dc6], [0e01, 0e30], [0e32, 0e33], [0e40, 0e46],
     2307        [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
     2308        [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
     2309        [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb0],
     2310        [0eb2, 0eb3], [0ebd, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6],
     2311        [0edc, 0edf], [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c],
     2312        [0f88, 0f8c], [1000, 102a], [103f, 103f], [1050, 1055],
     2313        [105a, 105d], [1061, 1061], [1065, 1066], [106e, 1070],
     2314        [1075, 1081], [108e, 108e], [10a0, 10c5], [10c7, 10c7],
     2315        [10cd, 10cd], [10d0, 10fa], [10fc, 1248], [124a, 124d],
     2316        [1250, 1256], [1258, 1258], [125a, 125d], [1260, 1288],
     2317        [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be],
     2318        [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310],
     2319        [1312, 1315], [1318, 135a], [1380, 138f], [13a0, 13f5],
     2320        [13f8, 13fd], [1401, 166c], [166f, 167f], [1681, 169a],
     2321        [16a0, 16ea], [16ee, 16f8], [1700, 170c], [170e, 1711],
     2322        [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770],
     2323        [1780, 17b3], [17d7, 17d7], [17dc, 17dc], [1820, 1877],
     2324        [1880, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
     2325        [1950, 196d], [1970, 1974], [1980, 19ab], [19b0, 19c9],
     2326        [1a00, 1a16], [1a20, 1a54], [1aa7, 1aa7], [1b05, 1b33],
     2327        [1b45, 1b4b], [1b83, 1ba0], [1bae, 1baf], [1bba, 1be5],
     2328        [1c00, 1c23], [1c4d, 1c4f], [1c5a, 1c7d], [1c80, 1c88],
     2329        [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6], [1d00, 1dbf],
     2330        [1e00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d],
     2331        [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
     2332        [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc], [1fbe, 1fbe],
     2333        [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3], [1fd6, 1fdb],
     2334        [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc], [2071, 2071],
     2335        [207f, 207f], [2090, 209c], [2102, 2102], [2107, 2107],
     2336        [210a, 2113], [2115, 2115], [2118, 211d], [2124, 2124],
     2337        [2126, 2126], [2128, 2128], [212a, 2139], [213c, 213f],
     2338        [2145, 2149], [214e, 214e], [2160, 2188], [2c00, 2c2e],
     2339        [2c30, 2c5e], [2c60, 2ce4], [2ceb, 2cee], [2cf2, 2cf3],
     2340        [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67],
     2341        [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae],
     2342        [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce],
     2343        [2dd0, 2dd6], [2dd8, 2dde], [3005, 3007], [3021, 3029],
     2344        [3031, 3035], [3038, 303c], [3041, 3096], [309b, 309f],
     2345        [30a1, 30fa], [30fc, 30ff], [3105, 312d], [3131, 318e],
     2346        [31a0, 31ba], [31f0, 31ff], [3400, 4db5], [4e00, 9fd5],
     2347        [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a61f],
     2348        [a62a, a62b], [a640, a66e], [a67f, a69d], [a6a0, a6ef],
     2349        [a717, a71f], [a722, a788], [a78b, a7ae], [a7b0, a7b7],
     2350        [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a822],
     2351        [a840, a873], [a882, a8b3], [a8f2, a8f7], [a8fb, a8fb],
     2352        [a8fd, a8fd], [a90a, a925], [a930, a946], [a960, a97c],
     2353        [a984, a9b2], [a9cf, a9cf], [a9e0, a9e4], [a9e6, a9ef],
     2354        [a9fa, a9fe], [aa00, aa28], [aa40, aa42], [aa44, aa4b],
     2355        [aa60, aa76], [aa7a, aa7a], [aa7e, aaaf], [aab1, aab1],
     2356        [aab5, aab6], [aab9, aabd], [aac0, aac0], [aac2, aac2],
     2357        [aadb, aadd], [aae0, aaea], [aaf2, aaf4], [ab01, ab06],
     2358        [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e],
     2359        [ab30, ab5a], [ab5c, ab65], [ab70, abe2], [ac00, d7a3],
     2360        [d7b0, d7c6], [d7cb, d7fb], [f900, fa6d], [fa70, fad9],
     2361        [fb00, fb06], [fb13, fb17], [fb1d, fb1d], [fb1f, fb28],
     2362        [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
     2363        [fb43, fb44], [fb46, fbb1], [fbd3, fd3d], [fd50, fd8f],
     2364        [fd92, fdc7], [fdf0, fdfb], [fe70, fe74], [fe76, fefc],
     2365        [ff21, ff3a], [ff41, ff5a], [ff66, ffbe], [ffc2, ffc7],
     2366        [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc], [10000, 1000b],
     2367        [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
     2368        [10050, 1005d], [10080, 100fa], [10140, 10174], [10280, 1029c],
     2369        [102a0, 102d0], [10300, 1031f], [10330, 1034a], [10350, 10375],
     2370        [10380, 1039d], [103a0, 103c3], [103c8, 103cf], [103d1, 103d5],
     2371        [10400, 1049d], [104b0, 104d3], [104d8, 104fb], [10500, 10527],
     2372        [10530, 10563], [10600, 10736], [10740, 10755], [10760, 10767],
     2373        [10800, 10805], [10808, 10808], [1080a, 10835], [10837, 10838],
     2374        [1083c, 1083c], [1083f, 10855], [10860, 10876], [10880, 1089e],
     2375        [108e0, 108f2], [108f4, 108f5], [10900, 10915], [10920, 10939],
     2376        [10980, 109b7], [109be, 109bf], [10a00, 10a00], [10a10, 10a13],
     2377        [10a15, 10a17], [10a19, 10a33], [10a60, 10a7c], [10a80, 10a9c],
     2378        [10ac0, 10ac7], [10ac9, 10ae4], [10b00, 10b35], [10b40, 10b55],
     2379        [10b60, 10b72], [10b80, 10b91], [10c00, 10c48], [10c80, 10cb2],
     2380        [10cc0, 10cf2], [11003, 11037], [11083, 110af], [110d0, 110e8],
     2381        [11103, 11126], [11150, 11172], [11176, 11176], [11183, 111b2],
     2382        [111c1, 111c4], [111da, 111da], [111dc, 111dc], [11200, 11211],
     2383        [11213, 1122b], [11280, 11286], [11288, 11288], [1128a, 1128d],
     2384        [1128f, 1129d], [1129f, 112a8], [112b0, 112de], [11305, 1130c],
     2385        [1130f, 11310], [11313, 11328], [1132a, 11330], [11332, 11333],
     2386        [11335, 11339], [1133d, 1133d], [11350, 11350], [1135d, 11361],
     2387        [11400, 11434], [11447, 1144a], [11480, 114af], [114c4, 114c5],
     2388        [114c7, 114c7], [11580, 115ae], [115d8, 115db], [11600, 1162f],
     2389        [11644, 11644], [11680, 116aa], [11700, 11719], [118a0, 118df],
     2390        [118ff, 118ff], [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c2e],
     2391        [11c40, 11c40], [11c72, 11c8f], [12000, 12399], [12400, 1246e],
     2392        [12480, 12543], [13000, 1342e], [14400, 14646], [16800, 16a38],
     2393        [16a40, 16a5e], [16ad0, 16aed], [16b00, 16b2f], [16b40, 16b43],
     2394        [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50],
     2395        [16f93, 16f9f], [16fe0, 16fe0], [17000, 187ec], [18800, 18af2],
     2396        [1b000, 1b001], [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88],
     2397        [1bc90, 1bc99], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
     2398        [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
     2399        [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
     2400        [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
     2401        [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
     2402        [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714],
     2403        [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788],
     2404        [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e800, 1e8c4],
     2405        [1e900, 1e943], [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22],
     2406        [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37],
     2407        [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47],
     2408        [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52],
     2409        [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b],
     2410        [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64],
     2411        [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c],
     2412        [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3],
     2413        [1eea5, 1eea9], [1eeab, 1eebb], [20000, 2a6d6], [2a700, 2b734],
     2414        [2b740, 2b81d], [2b820, 2cea1], [2f800, 2fa1d]**/
    24112415        const UnicodeSet codepoint_set
    24122416            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14},
     
    25522556    namespace LOWER_ns {
    25532557        /** Code Point Ranges for Lower
    2554         [97, 122], [170, 170], [181, 181], [186, 186], [223, 246],
    2555         [248, 255], [257, 257], [259, 259], [261, 261], [263, 263],
    2556         [265, 265], [267, 267], [269, 269], [271, 271], [273, 273],
    2557         [275, 275], [277, 277], [279, 279], [281, 281], [283, 283],
    2558         [285, 285], [287, 287], [289, 289], [291, 291], [293, 293],
    2559         [295, 295], [297, 297], [299, 299], [301, 301], [303, 303],
    2560         [305, 305], [307, 307], [309, 309], [311, 312], [314, 314],
    2561         [316, 316], [318, 318], [320, 320], [322, 322], [324, 324],
    2562         [326, 326], [328, 329], [331, 331], [333, 333], [335, 335],
    2563         [337, 337], [339, 339], [341, 341], [343, 343], [345, 345],
    2564         [347, 347], [349, 349], [351, 351], [353, 353], [355, 355],
    2565         [357, 357], [359, 359], [361, 361], [363, 363], [365, 365],
    2566         [367, 367], [369, 369], [371, 371], [373, 373], [375, 375],
    2567         [378, 378], [380, 380], [382, 384], [387, 387], [389, 389],
    2568         [392, 392], [396, 397], [402, 402], [405, 405], [409, 411],
    2569         [414, 414], [417, 417], [419, 419], [421, 421], [424, 424],
    2570         [426, 427], [429, 429], [432, 432], [436, 436], [438, 438],
    2571         [441, 442], [445, 447], [454, 454], [457, 457], [460, 460],
    2572         [462, 462], [464, 464], [466, 466], [468, 468], [470, 470],
    2573         [472, 472], [474, 474], [476, 477], [479, 479], [481, 481],
    2574         [483, 483], [485, 485], [487, 487], [489, 489], [491, 491],
    2575         [493, 493], [495, 496], [499, 499], [501, 501], [505, 505],
    2576         [507, 507], [509, 509], [511, 511], [513, 513], [515, 515],
    2577         [517, 517], [519, 519], [521, 521], [523, 523], [525, 525],
    2578         [527, 527], [529, 529], [531, 531], [533, 533], [535, 535],
    2579         [537, 537], [539, 539], [541, 541], [543, 543], [545, 545],
    2580         [547, 547], [549, 549], [551, 551], [553, 553], [555, 555],
    2581         [557, 557], [559, 559], [561, 561], [563, 569], [572, 572],
    2582         [575, 576], [578, 578], [583, 583], [585, 585], [587, 587],
    2583         [589, 589], [591, 659], [661, 696], [704, 705], [736, 740],
    2584         [837, 837], [881, 881], [883, 883], [887, 887], [890, 893],
    2585         [912, 912], [940, 974], [976, 977], [981, 983], [985, 985],
    2586         [987, 987], [989, 989], [991, 991], [993, 993], [995, 995],
    2587         [997, 997], [999, 999], [1001, 1001], [1003, 1003], [1005, 1005],
    2588         [1007, 1011], [1013, 1013], [1016, 1016], [1019, 1020],
    2589         [1072, 1119], [1121, 1121], [1123, 1123], [1125, 1125],
    2590         [1127, 1127], [1129, 1129], [1131, 1131], [1133, 1133],
    2591         [1135, 1135], [1137, 1137], [1139, 1139], [1141, 1141],
    2592         [1143, 1143], [1145, 1145], [1147, 1147], [1149, 1149],
    2593         [1151, 1151], [1153, 1153], [1163, 1163], [1165, 1165],
    2594         [1167, 1167], [1169, 1169], [1171, 1171], [1173, 1173],
    2595         [1175, 1175], [1177, 1177], [1179, 1179], [1181, 1181],
    2596         [1183, 1183], [1185, 1185], [1187, 1187], [1189, 1189],
    2597         [1191, 1191], [1193, 1193], [1195, 1195], [1197, 1197],
    2598         [1199, 1199], [1201, 1201], [1203, 1203], [1205, 1205],
    2599         [1207, 1207], [1209, 1209], [1211, 1211], [1213, 1213],
    2600         [1215, 1215], [1218, 1218], [1220, 1220], [1222, 1222],
    2601         [1224, 1224], [1226, 1226], [1228, 1228], [1230, 1231],
    2602         [1233, 1233], [1235, 1235], [1237, 1237], [1239, 1239],
    2603         [1241, 1241], [1243, 1243], [1245, 1245], [1247, 1247],
    2604         [1249, 1249], [1251, 1251], [1253, 1253], [1255, 1255],
    2605         [1257, 1257], [1259, 1259], [1261, 1261], [1263, 1263],
    2606         [1265, 1265], [1267, 1267], [1269, 1269], [1271, 1271],
    2607         [1273, 1273], [1275, 1275], [1277, 1277], [1279, 1279],
    2608         [1281, 1281], [1283, 1283], [1285, 1285], [1287, 1287],
    2609         [1289, 1289], [1291, 1291], [1293, 1293], [1295, 1295],
    2610         [1297, 1297], [1299, 1299], [1301, 1301], [1303, 1303],
    2611         [1305, 1305], [1307, 1307], [1309, 1309], [1311, 1311],
    2612         [1313, 1313], [1315, 1315], [1317, 1317], [1319, 1319],
    2613         [1321, 1321], [1323, 1323], [1325, 1325], [1327, 1327],
    2614         [1377, 1415], [5112, 5117], [7296, 7304], [7424, 7615],
    2615         [7681, 7681], [7683, 7683], [7685, 7685], [7687, 7687],
    2616         [7689, 7689], [7691, 7691], [7693, 7693], [7695, 7695],
    2617         [7697, 7697], [7699, 7699], [7701, 7701], [7703, 7703],
    2618         [7705, 7705], [7707, 7707], [7709, 7709], [7711, 7711],
    2619         [7713, 7713], [7715, 7715], [7717, 7717], [7719, 7719],
    2620         [7721, 7721], [7723, 7723], [7725, 7725], [7727, 7727],
    2621         [7729, 7729], [7731, 7731], [7733, 7733], [7735, 7735],
    2622         [7737, 7737], [7739, 7739], [7741, 7741], [7743, 7743],
    2623         [7745, 7745], [7747, 7747], [7749, 7749], [7751, 7751],
    2624         [7753, 7753], [7755, 7755], [7757, 7757], [7759, 7759],
    2625         [7761, 7761], [7763, 7763], [7765, 7765], [7767, 7767],
    2626         [7769, 7769], [7771, 7771], [7773, 7773], [7775, 7775],
    2627         [7777, 7777], [7779, 7779], [7781, 7781], [7783, 7783],
    2628         [7785, 7785], [7787, 7787], [7789, 7789], [7791, 7791],
    2629         [7793, 7793], [7795, 7795], [7797, 7797], [7799, 7799],
    2630         [7801, 7801], [7803, 7803], [7805, 7805], [7807, 7807],
    2631         [7809, 7809], [7811, 7811], [7813, 7813], [7815, 7815],
    2632         [7817, 7817], [7819, 7819], [7821, 7821], [7823, 7823],
    2633         [7825, 7825], [7827, 7827], [7829, 7837], [7839, 7839],
    2634         [7841, 7841], [7843, 7843], [7845, 7845], [7847, 7847],
    2635         [7849, 7849], [7851, 7851], [7853, 7853], [7855, 7855],
    2636         [7857, 7857], [7859, 7859], [7861, 7861], [7863, 7863],
    2637         [7865, 7865], [7867, 7867], [7869, 7869], [7871, 7871],
    2638         [7873, 7873], [7875, 7875], [7877, 7877], [7879, 7879],
    2639         [7881, 7881], [7883, 7883], [7885, 7885], [7887, 7887],
    2640         [7889, 7889], [7891, 7891], [7893, 7893], [7895, 7895],
    2641         [7897, 7897], [7899, 7899], [7901, 7901], [7903, 7903],
    2642         [7905, 7905], [7907, 7907], [7909, 7909], [7911, 7911],
    2643         [7913, 7913], [7915, 7915], [7917, 7917], [7919, 7919],
    2644         [7921, 7921], [7923, 7923], [7925, 7925], [7927, 7927],
    2645         [7929, 7929], [7931, 7931], [7933, 7933], [7935, 7943],
    2646         [7952, 7957], [7968, 7975], [7984, 7991], [8000, 8005],
    2647         [8016, 8023], [8032, 8039], [8048, 8061], [8064, 8071],
    2648         [8080, 8087], [8096, 8103], [8112, 8116], [8118, 8119],
    2649         [8126, 8126], [8130, 8132], [8134, 8135], [8144, 8147],
    2650         [8150, 8151], [8160, 8167], [8178, 8180], [8182, 8183],
    2651         [8305, 8305], [8319, 8319], [8336, 8348], [8458, 8458],
    2652         [8462, 8463], [8467, 8467], [8495, 8495], [8500, 8500],
    2653         [8505, 8505], [8508, 8509], [8518, 8521], [8526, 8526],
    2654         [8560, 8575], [8580, 8580], [9424, 9449], [11312, 11358],
    2655         [11361, 11361], [11365, 11366], [11368, 11368], [11370, 11370],
    2656         [11372, 11372], [11377, 11377], [11379, 11380], [11382, 11389],
    2657         [11393, 11393], [11395, 11395], [11397, 11397], [11399, 11399],
    2658         [11401, 11401], [11403, 11403], [11405, 11405], [11407, 11407],
    2659         [11409, 11409], [11411, 11411], [11413, 11413], [11415, 11415],
    2660         [11417, 11417], [11419, 11419], [11421, 11421], [11423, 11423],
    2661         [11425, 11425], [11427, 11427], [11429, 11429], [11431, 11431],
    2662         [11433, 11433], [11435, 11435], [11437, 11437], [11439, 11439],
    2663         [11441, 11441], [11443, 11443], [11445, 11445], [11447, 11447],
    2664         [11449, 11449], [11451, 11451], [11453, 11453], [11455, 11455],
    2665         [11457, 11457], [11459, 11459], [11461, 11461], [11463, 11463],
    2666         [11465, 11465], [11467, 11467], [11469, 11469], [11471, 11471],
    2667         [11473, 11473], [11475, 11475], [11477, 11477], [11479, 11479],
    2668         [11481, 11481], [11483, 11483], [11485, 11485], [11487, 11487],
    2669         [11489, 11489], [11491, 11492], [11500, 11500], [11502, 11502],
    2670         [11507, 11507], [11520, 11557], [11559, 11559], [11565, 11565],
    2671         [42561, 42561], [42563, 42563], [42565, 42565], [42567, 42567],
    2672         [42569, 42569], [42571, 42571], [42573, 42573], [42575, 42575],
    2673         [42577, 42577], [42579, 42579], [42581, 42581], [42583, 42583],
    2674         [42585, 42585], [42587, 42587], [42589, 42589], [42591, 42591],
    2675         [42593, 42593], [42595, 42595], [42597, 42597], [42599, 42599],
    2676         [42601, 42601], [42603, 42603], [42605, 42605], [42625, 42625],
    2677         [42627, 42627], [42629, 42629], [42631, 42631], [42633, 42633],
    2678         [42635, 42635], [42637, 42637], [42639, 42639], [42641, 42641],
    2679         [42643, 42643], [42645, 42645], [42647, 42647], [42649, 42649],
    2680         [42651, 42653], [42787, 42787], [42789, 42789], [42791, 42791],
    2681         [42793, 42793], [42795, 42795], [42797, 42797], [42799, 42801],
    2682         [42803, 42803], [42805, 42805], [42807, 42807], [42809, 42809],
    2683         [42811, 42811], [42813, 42813], [42815, 42815], [42817, 42817],
    2684         [42819, 42819], [42821, 42821], [42823, 42823], [42825, 42825],
    2685         [42827, 42827], [42829, 42829], [42831, 42831], [42833, 42833],
    2686         [42835, 42835], [42837, 42837], [42839, 42839], [42841, 42841],
    2687         [42843, 42843], [42845, 42845], [42847, 42847], [42849, 42849],
    2688         [42851, 42851], [42853, 42853], [42855, 42855], [42857, 42857],
    2689         [42859, 42859], [42861, 42861], [42863, 42872], [42874, 42874],
    2690         [42876, 42876], [42879, 42879], [42881, 42881], [42883, 42883],
    2691         [42885, 42885], [42887, 42887], [42892, 42892], [42894, 42894],
    2692         [42897, 42897], [42899, 42901], [42903, 42903], [42905, 42905],
    2693         [42907, 42907], [42909, 42909], [42911, 42911], [42913, 42913],
    2694         [42915, 42915], [42917, 42917], [42919, 42919], [42921, 42921],
    2695         [42933, 42933], [42935, 42935], [43000, 43002], [43824, 43866],
    2696         [43868, 43877], [43888, 43967], [64256, 64262], [64275, 64279],
    2697         [65345, 65370], [66600, 66639], [66776, 66811], [68800, 68850],
    2698         [71872, 71903], [119834, 119859], [119886, 119892],
    2699         [119894, 119911], [119938, 119963], [119990, 119993],
    2700         [119995, 119995], [119997, 120003], [120005, 120015],
    2701         [120042, 120067], [120094, 120119], [120146, 120171],
    2702         [120198, 120223], [120250, 120275], [120302, 120327],
    2703         [120354, 120379], [120406, 120431], [120458, 120485],
    2704         [120514, 120538], [120540, 120545], [120572, 120596],
    2705         [120598, 120603], [120630, 120654], [120656, 120661],
    2706         [120688, 120712], [120714, 120719], [120746, 120770],
    2707         [120772, 120777], [120779, 120779], [125218, 125251]**/
     2558        [0061, 007a], [00aa, 00aa], [00b5, 00b5], [00ba, 00ba],
     2559        [00df, 00f6], [00f8, 00ff], [0101, 0101], [0103, 0103],
     2560        [0105, 0105], [0107, 0107], [0109, 0109], [010b, 010b],
     2561        [010d, 010d], [010f, 010f], [0111, 0111], [0113, 0113],
     2562        [0115, 0115], [0117, 0117], [0119, 0119], [011b, 011b],
     2563        [011d, 011d], [011f, 011f], [0121, 0121], [0123, 0123],
     2564        [0125, 0125], [0127, 0127], [0129, 0129], [012b, 012b],
     2565        [012d, 012d], [012f, 012f], [0131, 0131], [0133, 0133],
     2566        [0135, 0135], [0137, 0138], [013a, 013a], [013c, 013c],
     2567        [013e, 013e], [0140, 0140], [0142, 0142], [0144, 0144],
     2568        [0146, 0146], [0148, 0149], [014b, 014b], [014d, 014d],
     2569        [014f, 014f], [0151, 0151], [0153, 0153], [0155, 0155],
     2570        [0157, 0157], [0159, 0159], [015b, 015b], [015d, 015d],
     2571        [015f, 015f], [0161, 0161], [0163, 0163], [0165, 0165],
     2572        [0167, 0167], [0169, 0169], [016b, 016b], [016d, 016d],
     2573        [016f, 016f], [0171, 0171], [0173, 0173], [0175, 0175],
     2574        [0177, 0177], [017a, 017a], [017c, 017c], [017e, 0180],
     2575        [0183, 0183], [0185, 0185], [0188, 0188], [018c, 018d],
     2576        [0192, 0192], [0195, 0195], [0199, 019b], [019e, 019e],
     2577        [01a1, 01a1], [01a3, 01a3], [01a5, 01a5], [01a8, 01a8],
     2578        [01aa, 01ab], [01ad, 01ad], [01b0, 01b0], [01b4, 01b4],
     2579        [01b6, 01b6], [01b9, 01ba], [01bd, 01bf], [01c6, 01c6],
     2580        [01c9, 01c9], [01cc, 01cc], [01ce, 01ce], [01d0, 01d0],
     2581        [01d2, 01d2], [01d4, 01d4], [01d6, 01d6], [01d8, 01d8],
     2582        [01da, 01da], [01dc, 01dd], [01df, 01df], [01e1, 01e1],
     2583        [01e3, 01e3], [01e5, 01e5], [01e7, 01e7], [01e9, 01e9],
     2584        [01eb, 01eb], [01ed, 01ed], [01ef, 01f0], [01f3, 01f3],
     2585        [01f5, 01f5], [01f9, 01f9], [01fb, 01fb], [01fd, 01fd],
     2586        [01ff, 01ff], [0201, 0201], [0203, 0203], [0205, 0205],
     2587        [0207, 0207], [0209, 0209], [020b, 020b], [020d, 020d],
     2588        [020f, 020f], [0211, 0211], [0213, 0213], [0215, 0215],
     2589        [0217, 0217], [0219, 0219], [021b, 021b], [021d, 021d],
     2590        [021f, 021f], [0221, 0221], [0223, 0223], [0225, 0225],
     2591        [0227, 0227], [0229, 0229], [022b, 022b], [022d, 022d],
     2592        [022f, 022f], [0231, 0231], [0233, 0239], [023c, 023c],
     2593        [023f, 0240], [0242, 0242], [0247, 0247], [0249, 0249],
     2594        [024b, 024b], [024d, 024d], [024f, 0293], [0295, 02b8],
     2595        [02c0, 02c1], [02e0, 02e4], [0345, 0345], [0371, 0371],
     2596        [0373, 0373], [0377, 0377], [037a, 037d], [0390, 0390],
     2597        [03ac, 03ce], [03d0, 03d1], [03d5, 03d7], [03d9, 03d9],
     2598        [03db, 03db], [03dd, 03dd], [03df, 03df], [03e1, 03e1],
     2599        [03e3, 03e3], [03e5, 03e5], [03e7, 03e7], [03e9, 03e9],
     2600        [03eb, 03eb], [03ed, 03ed], [03ef, 03f3], [03f5, 03f5],
     2601        [03f8, 03f8], [03fb, 03fc], [0430, 045f], [0461, 0461],
     2602        [0463, 0463], [0465, 0465], [0467, 0467], [0469, 0469],
     2603        [046b, 046b], [046d, 046d], [046f, 046f], [0471, 0471],
     2604        [0473, 0473], [0475, 0475], [0477, 0477], [0479, 0479],
     2605        [047b, 047b], [047d, 047d], [047f, 047f], [0481, 0481],
     2606        [048b, 048b], [048d, 048d], [048f, 048f], [0491, 0491],
     2607        [0493, 0493], [0495, 0495], [0497, 0497], [0499, 0499],
     2608        [049b, 049b], [049d, 049d], [049f, 049f], [04a1, 04a1],
     2609        [04a3, 04a3], [04a5, 04a5], [04a7, 04a7], [04a9, 04a9],
     2610        [04ab, 04ab], [04ad, 04ad], [04af, 04af], [04b1, 04b1],
     2611        [04b3, 04b3], [04b5, 04b5], [04b7, 04b7], [04b9, 04b9],
     2612        [04bb, 04bb], [04bd, 04bd], [04bf, 04bf], [04c2, 04c2],
     2613        [04c4, 04c4], [04c6, 04c6], [04c8, 04c8], [04ca, 04ca],
     2614        [04cc, 04cc], [04ce, 04cf], [04d1, 04d1], [04d3, 04d3],
     2615        [04d5, 04d5], [04d7, 04d7], [04d9, 04d9], [04db, 04db],
     2616        [04dd, 04dd], [04df, 04df], [04e1, 04e1], [04e3, 04e3],
     2617        [04e5, 04e5], [04e7, 04e7], [04e9, 04e9], [04eb, 04eb],
     2618        [04ed, 04ed], [04ef, 04ef], [04f1, 04f1], [04f3, 04f3],
     2619        [04f5, 04f5], [04f7, 04f7], [04f9, 04f9], [04fb, 04fb],
     2620        [04fd, 04fd], [04ff, 04ff], [0501, 0501], [0503, 0503],
     2621        [0505, 0505], [0507, 0507], [0509, 0509], [050b, 050b],
     2622        [050d, 050d], [050f, 050f], [0511, 0511], [0513, 0513],
     2623        [0515, 0515], [0517, 0517], [0519, 0519], [051b, 051b],
     2624        [051d, 051d], [051f, 051f], [0521, 0521], [0523, 0523],
     2625        [0525, 0525], [0527, 0527], [0529, 0529], [052b, 052b],
     2626        [052d, 052d], [052f, 052f], [0561, 0587], [13f8, 13fd],
     2627        [1c80, 1c88], [1d00, 1dbf], [1e01, 1e01], [1e03, 1e03],
     2628        [1e05, 1e05], [1e07, 1e07], [1e09, 1e09], [1e0b, 1e0b],
     2629        [1e0d, 1e0d], [1e0f, 1e0f], [1e11, 1e11], [1e13, 1e13],
     2630        [1e15, 1e15], [1e17, 1e17], [1e19, 1e19], [1e1b, 1e1b],
     2631        [1e1d, 1e1d], [1e1f, 1e1f], [1e21, 1e21], [1e23, 1e23],
     2632        [1e25, 1e25], [1e27, 1e27], [1e29, 1e29], [1e2b, 1e2b],
     2633        [1e2d, 1e2d], [1e2f, 1e2f], [1e31, 1e31], [1e33, 1e33],
     2634        [1e35, 1e35], [1e37, 1e37], [1e39, 1e39], [1e3b, 1e3b],
     2635        [1e3d, 1e3d], [1e3f, 1e3f], [1e41, 1e41], [1e43, 1e43],
     2636        [1e45, 1e45], [1e47, 1e47], [1e49, 1e49], [1e4b, 1e4b],
     2637        [1e4d, 1e4d], [1e4f, 1e4f], [1e51, 1e51], [1e53, 1e53],
     2638        [1e55, 1e55], [1e57, 1e57], [1e59, 1e59], [1e5b, 1e5b],
     2639        [1e5d, 1e5d], [1e5f, 1e5f], [1e61, 1e61], [1e63, 1e63],
     2640        [1e65, 1e65], [1e67, 1e67], [1e69, 1e69], [1e6b, 1e6b],
     2641        [1e6d, 1e6d], [1e6f, 1e6f], [1e71, 1e71], [1e73, 1e73],
     2642        [1e75, 1e75], [1e77, 1e77], [1e79, 1e79], [1e7b, 1e7b],
     2643        [1e7d, 1e7d], [1e7f, 1e7f], [1e81, 1e81], [1e83, 1e83],
     2644        [1e85, 1e85], [1e87, 1e87], [1e89, 1e89], [1e8b, 1e8b],
     2645        [1e8d, 1e8d], [1e8f, 1e8f], [1e91, 1e91], [1e93, 1e93],
     2646        [1e95, 1e9d], [1e9f, 1e9f], [1ea1, 1ea1], [1ea3, 1ea3],
     2647        [1ea5, 1ea5], [1ea7, 1ea7], [1ea9, 1ea9], [1eab, 1eab],
     2648        [1ead, 1ead], [1eaf, 1eaf], [1eb1, 1eb1], [1eb3, 1eb3],
     2649        [1eb5, 1eb5], [1eb7, 1eb7], [1eb9, 1eb9], [1ebb, 1ebb],
     2650        [1ebd, 1ebd], [1ebf, 1ebf], [1ec1, 1ec1], [1ec3, 1ec3],
     2651        [1ec5, 1ec5], [1ec7, 1ec7], [1ec9, 1ec9], [1ecb, 1ecb],
     2652        [1ecd, 1ecd], [1ecf, 1ecf], [1ed1, 1ed1], [1ed3, 1ed3],
     2653        [1ed5, 1ed5], [1ed7, 1ed7], [1ed9, 1ed9], [1edb, 1edb],
     2654        [1edd, 1edd], [1edf, 1edf], [1ee1, 1ee1], [1ee3, 1ee3],
     2655        [1ee5, 1ee5], [1ee7, 1ee7], [1ee9, 1ee9], [1eeb, 1eeb],
     2656        [1eed, 1eed], [1eef, 1eef], [1ef1, 1ef1], [1ef3, 1ef3],
     2657        [1ef5, 1ef5], [1ef7, 1ef7], [1ef9, 1ef9], [1efb, 1efb],
     2658        [1efd, 1efd], [1eff, 1f07], [1f10, 1f15], [1f20, 1f27],
     2659        [1f30, 1f37], [1f40, 1f45], [1f50, 1f57], [1f60, 1f67],
     2660        [1f70, 1f7d], [1f80, 1f87], [1f90, 1f97], [1fa0, 1fa7],
     2661        [1fb0, 1fb4], [1fb6, 1fb7], [1fbe, 1fbe], [1fc2, 1fc4],
     2662        [1fc6, 1fc7], [1fd0, 1fd3], [1fd6, 1fd7], [1fe0, 1fe7],
     2663        [1ff2, 1ff4], [1ff6, 1ff7], [2071, 2071], [207f, 207f],
     2664        [2090, 209c], [210a, 210a], [210e, 210f], [2113, 2113],
     2665        [212f, 212f], [2134, 2134], [2139, 2139], [213c, 213d],
     2666        [2146, 2149], [214e, 214e], [2170, 217f], [2184, 2184],
     2667        [24d0, 24e9], [2c30, 2c5e], [2c61, 2c61], [2c65, 2c66],
     2668        [2c68, 2c68], [2c6a, 2c6a], [2c6c, 2c6c], [2c71, 2c71],
     2669        [2c73, 2c74], [2c76, 2c7d], [2c81, 2c81], [2c83, 2c83],
     2670        [2c85, 2c85], [2c87, 2c87], [2c89, 2c89], [2c8b, 2c8b],
     2671        [2c8d, 2c8d], [2c8f, 2c8f], [2c91, 2c91], [2c93, 2c93],
     2672        [2c95, 2c95], [2c97, 2c97], [2c99, 2c99], [2c9b, 2c9b],
     2673        [2c9d, 2c9d], [2c9f, 2c9f], [2ca1, 2ca1], [2ca3, 2ca3],
     2674        [2ca5, 2ca5], [2ca7, 2ca7], [2ca9, 2ca9], [2cab, 2cab],
     2675        [2cad, 2cad], [2caf, 2caf], [2cb1, 2cb1], [2cb3, 2cb3],
     2676        [2cb5, 2cb5], [2cb7, 2cb7], [2cb9, 2cb9], [2cbb, 2cbb],
     2677        [2cbd, 2cbd], [2cbf, 2cbf], [2cc1, 2cc1], [2cc3, 2cc3],
     2678        [2cc5, 2cc5], [2cc7, 2cc7], [2cc9, 2cc9], [2ccb, 2ccb],
     2679        [2ccd, 2ccd], [2ccf, 2ccf], [2cd1, 2cd1], [2cd3, 2cd3],
     2680        [2cd5, 2cd5], [2cd7, 2cd7], [2cd9, 2cd9], [2cdb, 2cdb],
     2681        [2cdd, 2cdd], [2cdf, 2cdf], [2ce1, 2ce1], [2ce3, 2ce4],
     2682        [2cec, 2cec], [2cee, 2cee], [2cf3, 2cf3], [2d00, 2d25],
     2683        [2d27, 2d27], [2d2d, 2d2d], [a641, a641], [a643, a643],
     2684        [a645, a645], [a647, a647], [a649, a649], [a64b, a64b],
     2685        [a64d, a64d], [a64f, a64f], [a651, a651], [a653, a653],
     2686        [a655, a655], [a657, a657], [a659, a659], [a65b, a65b],
     2687        [a65d, a65d], [a65f, a65f], [a661, a661], [a663, a663],
     2688        [a665, a665], [a667, a667], [a669, a669], [a66b, a66b],
     2689        [a66d, a66d], [a681, a681], [a683, a683], [a685, a685],
     2690        [a687, a687], [a689, a689], [a68b, a68b], [a68d, a68d],
     2691        [a68f, a68f], [a691, a691], [a693, a693], [a695, a695],
     2692        [a697, a697], [a699, a699], [a69b, a69d], [a723, a723],
     2693        [a725, a725], [a727, a727], [a729, a729], [a72b, a72b],
     2694        [a72d, a72d], [a72f, a731], [a733, a733], [a735, a735],
     2695        [a737, a737], [a739, a739], [a73b, a73b], [a73d, a73d],
     2696        [a73f, a73f], [a741, a741], [a743, a743], [a745, a745],
     2697        [a747, a747], [a749, a749], [a74b, a74b], [a74d, a74d],
     2698        [a74f, a74f], [a751, a751], [a753, a753], [a755, a755],
     2699        [a757, a757], [a759, a759], [a75b, a75b], [a75d, a75d],
     2700        [a75f, a75f], [a761, a761], [a763, a763], [a765, a765],
     2701        [a767, a767], [a769, a769], [a76b, a76b], [a76d, a76d],
     2702        [a76f, a778], [a77a, a77a], [a77c, a77c], [a77f, a77f],
     2703        [a781, a781], [a783, a783], [a785, a785], [a787, a787],
     2704        [a78c, a78c], [a78e, a78e], [a791, a791], [a793, a795],
     2705        [a797, a797], [a799, a799], [a79b, a79b], [a79d, a79d],
     2706        [a79f, a79f], [a7a1, a7a1], [a7a3, a7a3], [a7a5, a7a5],
     2707        [a7a7, a7a7], [a7a9, a7a9], [a7b5, a7b5], [a7b7, a7b7],
     2708        [a7f8, a7fa], [ab30, ab5a], [ab5c, ab65], [ab70, abbf],
     2709        [fb00, fb06], [fb13, fb17], [ff41, ff5a], [10428, 1044f],
     2710        [104d8, 104fb], [10cc0, 10cf2], [118c0, 118df], [1d41a, 1d433],
     2711        [1d44e, 1d454], [1d456, 1d467], [1d482, 1d49b], [1d4b6, 1d4b9],
     2712        [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d4cf], [1d4ea, 1d503],
     2713        [1d51e, 1d537], [1d552, 1d56b], [1d586, 1d59f], [1d5ba, 1d5d3],
     2714        [1d5ee, 1d607], [1d622, 1d63b], [1d656, 1d66f], [1d68a, 1d6a5],
     2715        [1d6c2, 1d6da], [1d6dc, 1d6e1], [1d6fc, 1d714], [1d716, 1d71b],
     2716        [1d736, 1d74e], [1d750, 1d755], [1d770, 1d788], [1d78a, 1d78f],
     2717        [1d7aa, 1d7c2], [1d7c4, 1d7c9], [1d7cb, 1d7cb], [1e922, 1e943]**/
    27082718        const UnicodeSet codepoint_set
    27092719            {{{Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 14}, {Full, 1},
     
    27482758    namespace MATH_ns {
    27492759        /** Code Point Ranges for Math
    2750         [43, 43], [60, 62], [94, 94], [124, 124], [126, 126], [172, 172],
    2751         [177, 177], [215, 215], [247, 247], [976, 978], [981, 981],
    2752         [1008, 1009], [1012, 1014], [1542, 1544], [8214, 8214],
    2753         [8242, 8244], [8256, 8256], [8260, 8260], [8274, 8274],
    2754         [8289, 8292], [8314, 8318], [8330, 8334], [8400, 8412],
    2755         [8417, 8417], [8421, 8422], [8427, 8431], [8450, 8450],
    2756         [8455, 8455], [8458, 8467], [8469, 8469], [8472, 8477],
    2757         [8484, 8484], [8488, 8489], [8492, 8493], [8495, 8497],
    2758         [8499, 8504], [8508, 8521], [8523, 8523], [8592, 8615],
    2759         [8617, 8622], [8624, 8625], [8630, 8631], [8636, 8667],
    2760         [8669, 8669], [8676, 8677], [8692, 8959], [8968, 8971],
    2761         [8992, 8993], [9084, 9084], [9115, 9141], [9143, 9143],
    2762         [9168, 9168], [9180, 9186], [9632, 9633], [9646, 9655],
    2763         [9660, 9665], [9670, 9671], [9674, 9675], [9679, 9683],
    2764         [9698, 9698], [9700, 9700], [9703, 9708], [9720, 9727],
    2765         [9733, 9734], [9792, 9792], [9794, 9794], [9824, 9827],
    2766         [9837, 9839], [10176, 10239], [10496, 11007], [11056, 11076],
    2767         [11079, 11084], [64297, 64297], [65121, 65126], [65128, 65128],
    2768         [65291, 65291], [65308, 65310], [65340, 65340], [65342, 65342],
    2769         [65372, 65372], [65374, 65374], [65506, 65506], [65513, 65516],
    2770         [119808, 119892], [119894, 119964], [119966, 119967],
    2771         [119970, 119970], [119973, 119974], [119977, 119980],
    2772         [119982, 119993], [119995, 119995], [119997, 120003],
    2773         [120005, 120069], [120071, 120074], [120077, 120084],
    2774         [120086, 120092], [120094, 120121], [120123, 120126],
    2775         [120128, 120132], [120134, 120134], [120138, 120144],
    2776         [120146, 120485], [120488, 120779], [120782, 120831],
    2777         [126464, 126467], [126469, 126495], [126497, 126498],
    2778         [126500, 126500], [126503, 126503], [126505, 126514],
    2779         [126516, 126519], [126521, 126521], [126523, 126523],
    2780         [126530, 126530], [126535, 126535], [126537, 126537],
    2781         [126539, 126539], [126541, 126543], [126545, 126546],
    2782         [126548, 126548], [126551, 126551], [126553, 126553],
    2783         [126555, 126555], [126557, 126557], [126559, 126559],
    2784         [126561, 126562], [126564, 126564], [126567, 126570],
    2785         [126572, 126578], [126580, 126583], [126585, 126588],
    2786         [126590, 126590], [126592, 126601], [126603, 126619],
    2787         [126625, 126627], [126629, 126633], [126635, 126651],
    2788         [126704, 126705]**/
     2760        [002b, 002b], [003c, 003e], [005e, 005e], [007c, 007c],
     2761        [007e, 007e], [00ac, 00ac], [00b1, 00b1], [00d7, 00d7],
     2762        [00f7, 00f7], [03d0, 03d2], [03d5, 03d5], [03f0, 03f1],
     2763        [03f4, 03f6], [0606, 0608], [2016, 2016], [2032, 2034],
     2764        [2040, 2040], [2044, 2044], [2052, 2052], [2061, 2064],
     2765        [207a, 207e], [208a, 208e], [20d0, 20dc], [20e1, 20e1],
     2766        [20e5, 20e6], [20eb, 20ef], [2102, 2102], [2107, 2107],
     2767        [210a, 2113], [2115, 2115], [2118, 211d], [2124, 2124],
     2768        [2128, 2129], [212c, 212d], [212f, 2131], [2133, 2138],
     2769        [213c, 2149], [214b, 214b], [2190, 21a7], [21a9, 21ae],
     2770        [21b0, 21b1], [21b6, 21b7], [21bc, 21db], [21dd, 21dd],
     2771        [21e4, 21e5], [21f4, 22ff], [2308, 230b], [2320, 2321],
     2772        [237c, 237c], [239b, 23b5], [23b7, 23b7], [23d0, 23d0],
     2773        [23dc, 23e2], [25a0, 25a1], [25ae, 25b7], [25bc, 25c1],
     2774        [25c6, 25c7], [25ca, 25cb], [25cf, 25d3], [25e2, 25e2],
     2775        [25e4, 25e4], [25e7, 25ec], [25f8, 25ff], [2605, 2606],
     2776        [2640, 2640], [2642, 2642], [2660, 2663], [266d, 266f],
     2777        [27c0, 27ff], [2900, 2aff], [2b30, 2b44], [2b47, 2b4c],
     2778        [fb29, fb29], [fe61, fe66], [fe68, fe68], [ff0b, ff0b],
     2779        [ff1c, ff1e], [ff3c, ff3c], [ff3e, ff3e], [ff5c, ff5c],
     2780        [ff5e, ff5e], [ffe2, ffe2], [ffe9, ffec], [1d400, 1d454],
     2781        [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
     2782        [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
     2783        [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
     2784        [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
     2785        [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d7cb], [1d7ce, 1d7ff],
     2786        [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
     2787        [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
     2788        [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
     2789        [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
     2790        [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
     2791        [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
     2792        [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
     2793        [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
     2794        [1eeab, 1eebb], [1eef0, 1eef1]**/
    27892795        const UnicodeSet codepoint_set
    27902796            {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 22},
     
    28152821    namespace UPPER_ns {
    28162822        /** Code Point Ranges for Upper
    2817         [65, 90], [192, 214], [216, 222], [256, 256], [258, 258],
    2818         [260, 260], [262, 262], [264, 264], [266, 266], [268, 268],
    2819         [270, 270], [272, 272], [274, 274], [276, 276], [278, 278],
    2820         [280, 280], [282, 282], [284, 284], [286, 286], [288, 288],
    2821         [290, 290], [292, 292], [294, 294], [296, 296], [298, 298],
    2822         [300, 300], [302, 302], [304, 304], [306, 306], [308, 308],
    2823         [310, 310], [313, 313], [315, 315], [317, 317], [319, 319],
    2824         [321, 321], [323, 323], [325, 325], [327, 327], [330, 330],
    2825         [332, 332], [334, 334], [336, 336], [338, 338], [340, 340],
    2826         [342, 342], [344, 344], [346, 346], [348, 348], [350, 350],
    2827         [352, 352], [354, 354], [356, 356], [358, 358], [360, 360],
    2828         [362, 362], [364, 364], [366, 366], [368, 368], [370, 370],
    2829         [372, 372], [374, 374], [376, 377], [379, 379], [381, 381],
    2830         [385, 386], [388, 388], [390, 391], [393, 395], [398, 401],
    2831         [403, 404], [406, 408], [412, 413], [415, 416], [418, 418],
    2832         [420, 420], [422, 423], [425, 425], [428, 428], [430, 431],
    2833         [433, 435], [437, 437], [439, 440], [444, 444], [452, 452],
    2834         [455, 455], [458, 458], [461, 461], [463, 463], [465, 465],
    2835         [467, 467], [469, 469], [471, 471], [473, 473], [475, 475],
    2836         [478, 478], [480, 480], [482, 482], [484, 484], [486, 486],
    2837         [488, 488], [490, 490], [492, 492], [494, 494], [497, 497],
    2838         [500, 500], [502, 504], [506, 506], [508, 508], [510, 510],
    2839         [512, 512], [514, 514], [516, 516], [518, 518], [520, 520],
    2840         [522, 522], [524, 524], [526, 526], [528, 528], [530, 530],
    2841         [532, 532], [534, 534], [536, 536], [538, 538], [540, 540],
    2842         [542, 542], [544, 544], [546, 546], [548, 548], [550, 550],
    2843         [552, 552], [554, 554], [556, 556], [558, 558], [560, 560],
    2844         [562, 562], [570, 571], [573, 574], [577, 577], [579, 582],
    2845         [584, 584], [586, 586], [588, 588], [590, 590], [880, 880],
    2846         [882, 882], [886, 886], [895, 895], [902, 902], [904, 906],
    2847         [908, 908], [910, 911], [913, 929], [931, 939], [975, 975],
    2848         [978, 980], [984, 984], [986, 986], [988, 988], [990, 990],
    2849         [992, 992], [994, 994], [996, 996], [998, 998], [1000, 1000],
    2850         [1002, 1002], [1004, 1004], [1006, 1006], [1012, 1012],
    2851         [1015, 1015], [1017, 1018], [1021, 1071], [1120, 1120],
    2852         [1122, 1122], [1124, 1124], [1126, 1126], [1128, 1128],
    2853         [1130, 1130], [1132, 1132], [1134, 1134], [1136, 1136],
    2854         [1138, 1138], [1140, 1140], [1142, 1142], [1144, 1144],
    2855         [1146, 1146], [1148, 1148], [1150, 1150], [1152, 1152],
    2856         [1162, 1162], [1164, 1164], [1166, 1166], [1168, 1168],
    2857         [1170, 1170], [1172, 1172], [1174, 1174], [1176, 1176],
    2858         [1178, 1178], [1180, 1180], [1182, 1182], [1184, 1184],
    2859         [1186, 1186], [1188, 1188], [1190, 1190], [1192, 1192],
    2860         [1194, 1194], [1196, 1196], [1198, 1198], [1200, 1200],
    2861         [1202, 1202], [1204, 1204], [1206, 1206], [1208, 1208],
    2862         [1210, 1210], [1212, 1212], [1214, 1214], [1216, 1217],
    2863         [1219, 1219], [1221, 1221], [1223, 1223], [1225, 1225],
    2864         [1227, 1227], [1229, 1229], [1232, 1232], [1234, 1234],
    2865         [1236, 1236], [1238, 1238], [1240, 1240], [1242, 1242],
    2866         [1244, 1244], [1246, 1246], [1248, 1248], [1250, 1250],
    2867         [1252, 1252], [1254, 1254], [1256, 1256], [1258, 1258],
    2868         [1260, 1260], [1262, 1262], [1264, 1264], [1266, 1266],
    2869         [1268, 1268], [1270, 1270], [1272, 1272], [1274, 1274],
    2870         [1276, 1276], [1278, 1278], [1280, 1280], [1282, 1282],
    2871         [1284, 1284], [1286, 1286], [1288, 1288], [1290, 1290],
    2872         [1292, 1292], [1294, 1294], [1296, 1296], [1298, 1298],
    2873         [1300, 1300], [1302, 1302], [1304, 1304], [1306, 1306],
    2874         [1308, 1308], [1310, 1310], [1312, 1312], [1314, 1314],
    2875         [1316, 1316], [1318, 1318], [1320, 1320], [1322, 1322],
    2876         [1324, 1324], [1326, 1326], [1329, 1366], [4256, 4293],
    2877         [4295, 4295], [4301, 4301], [5024, 5109], [7680, 7680],
    2878         [7682, 7682], [7684, 7684], [7686, 7686], [7688, 7688],
    2879         [7690, 7690], [7692, 7692], [7694, 7694], [7696, 7696],
    2880         [7698, 7698], [7700, 7700], [7702, 7702], [7704, 7704],
    2881         [7706, 7706], [7708, 7708], [7710, 7710], [7712, 7712],
    2882         [7714, 7714], [7716, 7716], [7718, 7718], [7720, 7720],
    2883         [7722, 7722], [7724, 7724], [7726, 7726], [7728, 7728],
    2884         [7730, 7730], [7732, 7732], [7734, 7734], [7736, 7736],
    2885         [7738, 7738], [7740, 7740], [7742, 7742], [7744, 7744],
    2886         [7746, 7746], [7748, 7748], [7750, 7750], [7752, 7752],
    2887         [7754, 7754], [7756, 7756], [7758, 7758], [7760, 7760],
    2888         [7762, 7762], [7764, 7764], [7766, 7766], [7768, 7768],
    2889         [7770, 7770], [7772, 7772], [7774, 7774], [7776, 7776],
    2890         [7778, 7778], [7780, 7780], [7782, 7782], [7784, 7784],
    2891         [7786, 7786], [7788, 7788], [7790, 7790], [7792, 7792],
    2892         [7794, 7794], [7796, 7796], [7798, 7798], [7800, 7800],
    2893         [7802, 7802], [7804, 7804], [7806, 7806], [7808, 7808],
    2894         [7810, 7810], [7812, 7812], [7814, 7814], [7816, 7816],
    2895         [7818, 7818], [7820, 7820], [7822, 7822], [7824, 7824],
    2896         [7826, 7826], [7828, 7828], [7838, 7838], [7840, 7840],
    2897         [7842, 7842], [7844, 7844], [7846, 7846], [7848, 7848],
    2898         [7850, 7850], [7852, 7852], [7854, 7854], [7856, 7856],
    2899         [7858, 7858], [7860, 7860], [7862, 7862], [7864, 7864],
    2900         [7866, 7866], [7868, 7868], [7870, 7870], [7872, 7872],
    2901         [7874, 7874], [7876, 7876], [7878, 7878], [7880, 7880],
    2902         [7882, 7882], [7884, 7884], [7886, 7886], [7888, 7888],
    2903         [7890, 7890], [7892, 7892], [7894, 7894], [7896, 7896],
    2904         [7898, 7898], [7900, 7900], [7902, 7902], [7904, 7904],
    2905         [7906, 7906], [7908, 7908], [7910, 7910], [7912, 7912],
    2906         [7914, 7914], [7916, 7916], [7918, 7918], [7920, 7920],
    2907         [7922, 7922], [7924, 7924], [7926, 7926], [7928, 7928],
    2908         [7930, 7930], [7932, 7932], [7934, 7934], [7944, 7951],
    2909         [7960, 7965], [7976, 7983], [7992, 7999], [8008, 8013],
    2910         [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8031],
    2911         [8040, 8047], [8120, 8123], [8136, 8139], [8152, 8155],
    2912         [8168, 8172], [8184, 8187], [8450, 8450], [8455, 8455],
    2913         [8459, 8461], [8464, 8466], [8469, 8469], [8473, 8477],
    2914         [8484, 8484], [8486, 8486], [8488, 8488], [8490, 8493],
    2915         [8496, 8499], [8510, 8511], [8517, 8517], [8544, 8559],
    2916         [8579, 8579], [9398, 9423], [11264, 11310], [11360, 11360],
    2917         [11362, 11364], [11367, 11367], [11369, 11369], [11371, 11371],
    2918         [11373, 11376], [11378, 11378], [11381, 11381], [11390, 11392],
    2919         [11394, 11394], [11396, 11396], [11398, 11398], [11400, 11400],
    2920         [11402, 11402], [11404, 11404], [11406, 11406], [11408, 11408],
    2921         [11410, 11410], [11412, 11412], [11414, 11414], [11416, 11416],
    2922         [11418, 11418], [11420, 11420], [11422, 11422], [11424, 11424],
    2923         [11426, 11426], [11428, 11428], [11430, 11430], [11432, 11432],
    2924         [11434, 11434], [11436, 11436], [11438, 11438], [11440, 11440],
    2925         [11442, 11442], [11444, 11444], [11446, 11446], [11448, 11448],
    2926         [11450, 11450], [11452, 11452], [11454, 11454], [11456, 11456],
    2927         [11458, 11458], [11460, 11460], [11462, 11462], [11464, 11464],
    2928         [11466, 11466], [11468, 11468], [11470, 11470], [11472, 11472],
    2929         [11474, 11474], [11476, 11476], [11478, 11478], [11480, 11480],
    2930         [11482, 11482], [11484, 11484], [11486, 11486], [11488, 11488],
    2931         [11490, 11490], [11499, 11499], [11501, 11501], [11506, 11506],
    2932         [42560, 42560], [42562, 42562], [42564, 42564], [42566, 42566],
    2933         [42568, 42568], [42570, 42570], [42572, 42572], [42574, 42574],
    2934         [42576, 42576], [42578, 42578], [42580, 42580], [42582, 42582],
    2935         [42584, 42584], [42586, 42586], [42588, 42588], [42590, 42590],
    2936         [42592, 42592], [42594, 42594], [42596, 42596], [42598, 42598],
    2937         [42600, 42600], [42602, 42602], [42604, 42604], [42624, 42624],
    2938         [42626, 42626], [42628, 42628], [42630, 42630], [42632, 42632],
    2939         [42634, 42634], [42636, 42636], [42638, 42638], [42640, 42640],
    2940         [42642, 42642], [42644, 42644], [42646, 42646], [42648, 42648],
    2941         [42650, 42650], [42786, 42786], [42788, 42788], [42790, 42790],
    2942         [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
    2943         [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
    2944         [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
    2945         [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
    2946         [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
    2947         [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
    2948         [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
    2949         [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
    2950         [42858, 42858], [42860, 42860], [42862, 42862], [42873, 42873],
    2951         [42875, 42875], [42877, 42878], [42880, 42880], [42882, 42882],
    2952         [42884, 42884], [42886, 42886], [42891, 42891], [42893, 42893],
    2953         [42896, 42896], [42898, 42898], [42902, 42902], [42904, 42904],
    2954         [42906, 42906], [42908, 42908], [42910, 42910], [42912, 42912],
    2955         [42914, 42914], [42916, 42916], [42918, 42918], [42920, 42920],
    2956         [42922, 42926], [42928, 42932], [42934, 42934], [65313, 65338],
    2957         [66560, 66599], [66736, 66771], [68736, 68786], [71840, 71871],
    2958         [119808, 119833], [119860, 119885], [119912, 119937],
    2959         [119964, 119964], [119966, 119967], [119970, 119970],
    2960         [119973, 119974], [119977, 119980], [119982, 119989],
    2961         [120016, 120041], [120068, 120069], [120071, 120074],
    2962         [120077, 120084], [120086, 120092], [120120, 120121],
    2963         [120123, 120126], [120128, 120132], [120134, 120134],
    2964         [120138, 120144], [120172, 120197], [120224, 120249],
    2965         [120276, 120301], [120328, 120353], [120380, 120405],
    2966         [120432, 120457], [120488, 120512], [120546, 120570],
    2967         [120604, 120628], [120662, 120686], [120720, 120744],
    2968         [120778, 120778], [125184, 125217], [127280, 127305],
    2969         [127312, 127337], [127344, 127369]**/
     2823        [0041, 005a], [00c0, 00d6], [00d8, 00de], [0100, 0100],
     2824        [0102, 0102], [0104, 0104], [0106, 0106], [0108, 0108],
     2825        [010a, 010a], [010c, 010c], [010e, 010e], [0110, 0110],
     2826        [0112, 0112], [0114, 0114], [0116, 0116], [0118, 0118],
     2827        [011a, 011a], [011c, 011c], [011e, 011e], [0120, 0120],
     2828        [0122, 0122], [0124, 0124], [0126, 0126], [0128, 0128],
     2829        [012a, 012a], [012c, 012c], [012e, 012e], [0130, 0130],
     2830        [0132, 0132], [0134, 0134], [0136, 0136], [0139, 0139],
     2831        [013b, 013b], [013d, 013d], [013f, 013f], [0141, 0141],
     2832        [0143, 0143], [0145, 0145], [0147, 0147], [014a, 014a],
     2833        [014c, 014c], [014e, 014e], [0150, 0150], [0152, 0152],
     2834        [0154, 0154], [0156, 0156], [0158, 0158], [015a, 015a],
     2835        [015c, 015c], [015e, 015e], [0160, 0160], [0162, 0162],
     2836        [0164, 0164], [0166, 0166], [0168, 0168], [016a, 016a],
     2837        [016c, 016c], [016e, 016e], [0170, 0170], [0172, 0172],
     2838        [0174, 0174], [0176, 0176], [0178, 0179], [017b, 017b],
     2839        [017d, 017d], [0181, 0182], [0184, 0184], [0186, 0187],
     2840        [0189, 018b], [018e, 0191], [0193, 0194], [0196, 0198],
     2841        [019c, 019d], [019f, 01a0], [01a2, 01a2], [01a4, 01a4],
     2842        [01a6, 01a7], [01a9, 01a9], [01ac, 01ac], [01ae, 01af],
     2843        [01b1, 01b3], [01b5, 01b5], [01b7, 01b8], [01bc, 01bc],
     2844        [01c4, 01c4], [01c7, 01c7], [01ca, 01ca], [01cd, 01cd],
     2845        [01cf, 01cf], [01d1, 01d1], [01d3, 01d3], [01d5, 01d5],
     2846        [01d7, 01d7], [01d9, 01d9], [01db, 01db], [01de, 01de],
     2847        [01e0, 01e0], [01e2, 01e2], [01e4, 01e4], [01e6, 01e6],
     2848        [01e8, 01e8], [01ea, 01ea], [01ec, 01ec], [01ee, 01ee],
     2849        [01f1, 01f1], [01f4, 01f4], [01f6, 01f8], [01fa, 01fa],
     2850        [01fc, 01fc], [01fe, 01fe], [0200, 0200], [0202, 0202],
     2851        [0204, 0204], [0206, 0206], [0208, 0208], [020a, 020a],
     2852        [020c, 020c], [020e, 020e], [0210, 0210], [0212, 0212],
     2853        [0214, 0214], [0216, 0216], [0218, 0218], [021a, 021a],
     2854        [021c, 021c], [021e, 021e], [0220, 0220], [0222, 0222],
     2855        [0224, 0224], [0226, 0226], [0228, 0228], [022a, 022a],
     2856        [022c, 022c], [022e, 022e], [0230, 0230], [0232, 0232],
     2857        [023a, 023b], [023d, 023e], [0241, 0241], [0243, 0246],
     2858        [0248, 0248], [024a, 024a], [024c, 024c], [024e, 024e],
     2859        [0370, 0370], [0372, 0372], [0376, 0376], [037f, 037f],
     2860        [0386, 0386], [0388, 038a], [038c, 038c], [038e, 038f],
     2861        [0391, 03a1], [03a3, 03ab], [03cf, 03cf], [03d2, 03d4],
     2862        [03d8, 03d8], [03da, 03da], [03dc, 03dc], [03de, 03de],
     2863        [03e0, 03e0], [03e2, 03e2], [03e4, 03e4], [03e6, 03e6],
     2864        [03e8, 03e8], [03ea, 03ea], [03ec, 03ec], [03ee, 03ee],
     2865        [03f4, 03f4], [03f7, 03f7], [03f9, 03fa], [03fd, 042f],
     2866        [0460, 0460], [0462, 0462], [0464, 0464], [0466, 0466],
     2867        [0468, 0468], [046a, 046a], [046c, 046c], [046e, 046e],
     2868        [0470, 0470], [0472, 0472], [0474, 0474], [0476, 0476],
     2869        [0478, 0478], [047a, 047a], [047c, 047c], [047e, 047e],
     2870        [0480, 0480], [048a, 048a], [048c, 048c], [048e, 048e],
     2871        [0490, 0490], [0492, 0492], [0494, 0494], [0496, 0496],
     2872        [0498, 0498], [049a, 049a], [049c, 049c], [049e, 049e],
     2873        [04a0, 04a0], [04a2, 04a2], [04a4, 04a4], [04a6, 04a6],
     2874        [04a8, 04a8], [04aa, 04aa], [04ac, 04ac], [04ae, 04ae],
     2875        [04b0, 04b0], [04b2, 04b2], [04b4, 04b4], [04b6, 04b6],
     2876        [04b8, 04b8], [04ba, 04ba], [04bc, 04bc], [04be, 04be],
     2877        [04c0, 04c1], [04c3, 04c3], [04c5, 04c5], [04c7, 04c7],
     2878        [04c9, 04c9], [04cb, 04cb], [04cd, 04cd], [04d0, 04d0],
     2879        [04d2, 04d2], [04d4, 04d4], [04d6, 04d6], [04d8, 04d8],
     2880        [04da, 04da], [04dc, 04dc], [04de, 04de], [04e0, 04e0],
     2881        [04e2, 04e2], [04e4, 04e4], [04e6, 04e6], [04e8, 04e8],
     2882        [04ea, 04ea], [04ec, 04ec], [04ee, 04ee], [04f0, 04f0],
     2883        [04f2, 04f2], [04f4, 04f4], [04f6, 04f6], [04f8, 04f8],
     2884        [04fa, 04fa], [04fc, 04fc], [04fe, 04fe], [0500, 0500],
     2885        [0502, 0502], [0504, 0504], [0506, 0506], [0508, 0508],
     2886        [050a, 050a], [050c, 050c], [050e, 050e], [0510, 0510],
     2887        [0512, 0512], [0514, 0514], [0516, 0516], [0518, 0518],
     2888        [051a, 051a], [051c, 051c], [051e, 051e], [0520, 0520],
     2889        [0522, 0522], [0524, 0524], [0526, 0526], [0528, 0528],
     2890        [052a, 052a], [052c, 052c], [052e, 052e], [0531, 0556],
     2891        [10a0, 10c5], [10c7, 10c7], [10cd, 10cd], [13a0, 13f5],
     2892        [1e00, 1e00], [1e02, 1e02], [1e04, 1e04], [1e06, 1e06],
     2893        [1e08, 1e08], [1e0a, 1e0a], [1e0c, 1e0c], [1e0e, 1e0e],
     2894        [1e10, 1e10], [1e12, 1e12], [1e14, 1e14], [1e16, 1e16],
     2895        [1e18, 1e18], [1e1a, 1e1a], [1e1c, 1e1c], [1e1e, 1e1e],
     2896        [1e20, 1e20], [1e22, 1e22], [1e24, 1e24], [1e26, 1e26],
     2897        [1e28, 1e28], [1e2a, 1e2a], [1e2c, 1e2c], [1e2e, 1e2e],
     2898        [1e30, 1e30], [1e32, 1e32], [1e34, 1e34], [1e36, 1e36],
     2899        [1e38, 1e38], [1e3a, 1e3a], [1e3c, 1e3c], [1e3e, 1e3e],
     2900        [1e40, 1e40], [1e42, 1e42], [1e44, 1e44], [1e46, 1e46],
     2901        [1e48, 1e48], [1e4a, 1e4a], [1e4c, 1e4c], [1e4e, 1e4e],
     2902        [1e50, 1e50], [1e52, 1e52], [1e54, 1e54], [1e56, 1e56],
     2903        [1e58, 1e58], [1e5a, 1e5a], [1e5c, 1e5c], [1e5e, 1e5e],
     2904        [1e60, 1e60], [1e62, 1e62], [1e64, 1e64], [1e66, 1e66],
     2905        [1e68, 1e68], [1e6a, 1e6a], [1e6c, 1e6c], [1e6e, 1e6e],
     2906        [1e70, 1e70], [1e72, 1e72], [1e74, 1e74], [1e76, 1e76],
     2907        [1e78, 1e78], [1e7a, 1e7a], [1e7c, 1e7c], [1e7e, 1e7e],
     2908        [1e80, 1e80], [1e82, 1e82], [1e84, 1e84], [1e86, 1e86],
     2909        [1e88, 1e88], [1e8a, 1e8a], [1e8c, 1e8c], [1e8e, 1e8e],
     2910        [1e90, 1e90], [1e92, 1e92], [1e94, 1e94], [1e9e, 1e9e],
     2911        [1ea0, 1ea0], [1ea2, 1ea2], [1ea4, 1ea4], [1ea6, 1ea6],
     2912        [1ea8, 1ea8], [1eaa, 1eaa], [1eac, 1eac], [1eae, 1eae],
     2913        [1eb0, 1eb0], [1eb2, 1eb2], [1eb4, 1eb4], [1eb6, 1eb6],
     2914        [1eb8, 1eb8], [1eba, 1eba], [1ebc, 1ebc], [1ebe, 1ebe],
     2915        [1ec0, 1ec0], [1ec2, 1ec2], [1ec4, 1ec4], [1ec6, 1ec6],
     2916        [1ec8, 1ec8], [1eca, 1eca], [1ecc, 1ecc], [1ece, 1ece],
     2917        [1ed0, 1ed0], [1ed2, 1ed2], [1ed4, 1ed4], [1ed6, 1ed6],
     2918        [1ed8, 1ed8], [1eda, 1eda], [1edc, 1edc], [1ede, 1ede],
     2919        [1ee0, 1ee0], [1ee2, 1ee2], [1ee4, 1ee4], [1ee6, 1ee6],
     2920        [1ee8, 1ee8], [1eea, 1eea], [1eec, 1eec], [1eee, 1eee],
     2921        [1ef0, 1ef0], [1ef2, 1ef2], [1ef4, 1ef4], [1ef6, 1ef6],
     2922        [1ef8, 1ef8], [1efa, 1efa], [1efc, 1efc], [1efe, 1efe],
     2923        [1f08, 1f0f], [1f18, 1f1d], [1f28, 1f2f], [1f38, 1f3f],
     2924        [1f48, 1f4d], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
     2925        [1f5f, 1f5f], [1f68, 1f6f], [1fb8, 1fbb], [1fc8, 1fcb],
     2926        [1fd8, 1fdb], [1fe8, 1fec], [1ff8, 1ffb], [2102, 2102],
     2927        [2107, 2107], [210b, 210d], [2110, 2112], [2115, 2115],
     2928        [2119, 211d], [2124, 2124], [2126, 2126], [2128, 2128],
     2929        [212a, 212d], [2130, 2133], [213e, 213f], [2145, 2145],
     2930        [2160, 216f], [2183, 2183], [24b6, 24cf], [2c00, 2c2e],
     2931        [2c60, 2c60], [2c62, 2c64], [2c67, 2c67], [2c69, 2c69],
     2932        [2c6b, 2c6b], [2c6d, 2c70], [2c72, 2c72], [2c75, 2c75],
     2933        [2c7e, 2c80], [2c82, 2c82], [2c84, 2c84], [2c86, 2c86],
     2934        [2c88, 2c88], [2c8a, 2c8a], [2c8c, 2c8c], [2c8e, 2c8e],
     2935        [2c90, 2c90], [2c92, 2c92], [2c94, 2c94], [2c96, 2c96],
     2936        [2c98, 2c98], [2c9a, 2c9a], [2c9c, 2c9c], [2c9e, 2c9e],
     2937        [2ca0, 2ca0], [2ca2, 2ca2], [2ca4, 2ca4], [2ca6, 2ca6],
     2938        [2ca8, 2ca8], [2caa, 2caa], [2cac, 2cac], [2cae, 2cae],
     2939        [2cb0, 2cb0], [2cb2, 2cb2], [2cb4, 2cb4], [2cb6, 2cb6],
     2940        [2cb8, 2cb8], [2cba, 2cba], [2cbc, 2cbc], [2cbe, 2cbe],
     2941        [2cc0, 2cc0], [2cc2, 2cc2], [2cc4, 2cc4], [2cc6, 2cc6],
     2942        [2cc8, 2cc8], [2cca, 2cca], [2ccc, 2ccc], [2cce, 2cce],
     2943        [2cd0, 2cd0], [2cd2, 2cd2], [2cd4, 2cd4], [2cd6, 2cd6],
     2944        [2cd8, 2cd8], [2cda, 2cda], [2cdc, 2cdc], [2cde, 2cde],
     2945        [2ce0, 2ce0], [2ce2, 2ce2], [2ceb, 2ceb], [2ced, 2ced],
     2946        [2cf2, 2cf2], [a640, a640], [a642, a642], [a644, a644],
     2947        [a646, a646], [a648, a648], [a64a, a64a], [a64c, a64c],
     2948        [a64e, a64e], [a650, a650], [a652, a652], [a654, a654],
     2949        [a656, a656], [a658, a658], [a65a, a65a], [a65c, a65c],
     2950        [a65e, a65e], [a660, a660], [a662, a662], [a664, a664],
     2951        [a666, a666], [a668, a668], [a66a, a66a], [a66c, a66c],
     2952        [a680, a680], [a682, a682], [a684, a684], [a686, a686],
     2953        [a688, a688], [a68a, a68a], [a68c, a68c], [a68e, a68e],
     2954        [a690, a690], [a692, a692], [a694, a694], [a696, a696],
     2955        [a698, a698], [a69a, a69a], [a722, a722], [a724, a724],
     2956        [a726, a726], [a728, a728], [a72a, a72a], [a72c, a72c],
     2957        [a72e, a72e], [a732, a732], [a734, a734], [a736, a736],
     2958        [a738, a738], [a73a, a73a], [a73c, a73c], [a73e, a73e],
     2959        [a740, a740], [a742, a742], [a744, a744], [a746, a746],
     2960        [a748, a748], [a74a, a74a], [a74c, a74c], [a74e, a74e],
     2961        [a750, a750], [a752, a752], [a754, a754], [a756, a756],
     2962        [a758, a758], [a75a, a75a], [a75c, a75c], [a75e, a75e],
     2963        [a760, a760], [a762, a762], [a764, a764], [a766, a766],
     2964        [a768, a768], [a76a, a76a], [a76c, a76c], [a76e, a76e],
     2965        [a779, a779], [a77b, a77b], [a77d, a77e], [a780, a780],
     2966        [a782, a782], [a784, a784], [a786, a786], [a78b, a78b],
     2967        [a78d, a78d], [a790, a790], [a792, a792], [a796, a796],
     2968        [a798, a798], [a79a, a79a], [a79c, a79c], [a79e, a79e],
     2969        [a7a0, a7a0], [a7a2, a7a2], [a7a4, a7a4], [a7a6, a7a6],
     2970        [a7a8, a7a8], [a7aa, a7ae], [a7b0, a7b4], [a7b6, a7b6],
     2971        [ff21, ff3a], [10400, 10427], [104b0, 104d3], [10c80, 10cb2],
     2972        [118a0, 118bf], [1d400, 1d419], [1d434, 1d44d], [1d468, 1d481],
     2973        [1d49c, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
     2974        [1d4a9, 1d4ac], [1d4ae, 1d4b5], [1d4d0, 1d4e9], [1d504, 1d505],
     2975        [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c], [1d538, 1d539],
     2976        [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550],
     2977        [1d56c, 1d585], [1d5a0, 1d5b9], [1d5d4, 1d5ed], [1d608, 1d621],
     2978        [1d63c, 1d655], [1d670, 1d689], [1d6a8, 1d6c0], [1d6e2, 1d6fa],
     2979        [1d71c, 1d734], [1d756, 1d76e], [1d790, 1d7a8], [1d7ca, 1d7ca],
     2980        [1e900, 1e921], [1f130, 1f149], [1f150, 1f169], [1f170, 1f189]**/
    29702981        const UnicodeSet codepoint_set
    29712982            {{{Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
     
    30073018    namespace XIDC_ns {
    30083019        /** Code Point Ranges for XIDC
    3009         [48, 57], [65, 90], [95, 95], [97, 122], [170, 170], [181, 181],
    3010         [183, 183], [186, 186], [192, 214], [216, 246], [248, 705],
    3011         [710, 721], [736, 740], [748, 748], [750, 750], [768, 884],
    3012         [886, 887], [891, 893], [895, 895], [902, 906], [908, 908],
    3013         [910, 929], [931, 1013], [1015, 1153], [1155, 1159], [1162, 1327],
    3014         [1329, 1366], [1369, 1369], [1377, 1415], [1425, 1469],
    3015         [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479],
    3016         [1488, 1514], [1520, 1522], [1552, 1562], [1568, 1641],
    3017         [1646, 1747], [1749, 1756], [1759, 1768], [1770, 1788],
    3018         [1791, 1791], [1808, 1866], [1869, 1969], [1984, 2037],
    3019         [2042, 2042], [2048, 2093], [2112, 2139], [2208, 2228],
    3020         [2230, 2237], [2260, 2273], [2275, 2403], [2406, 2415],
    3021         [2417, 2435], [2437, 2444], [2447, 2448], [2451, 2472],
    3022         [2474, 2480], [2482, 2482], [2486, 2489], [2492, 2500],
    3023         [2503, 2504], [2507, 2510], [2519, 2519], [2524, 2525],
    3024         [2527, 2531], [2534, 2545], [2561, 2563], [2565, 2570],
    3025         [2575, 2576], [2579, 2600], [2602, 2608], [2610, 2611],
    3026         [2613, 2614], [2616, 2617], [2620, 2620], [2622, 2626],
    3027         [2631, 2632], [2635, 2637], [2641, 2641], [2649, 2652],
    3028         [2654, 2654], [2662, 2677], [2689, 2691], [2693, 2701],
    3029         [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
    3030         [2741, 2745], [2748, 2757], [2759, 2761], [2763, 2765],
    3031         [2768, 2768], [2784, 2787], [2790, 2799], [2809, 2809],
    3032         [2817, 2819], [2821, 2828], [2831, 2832], [2835, 2856],
    3033         [2858, 2864], [2866, 2867], [2869, 2873], [2876, 2884],
    3034         [2887, 2888], [2891, 2893], [2902, 2903], [2908, 2909],
    3035         [2911, 2915], [2918, 2927], [2929, 2929], [2946, 2947],
    3036         [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970],
    3037         [2972, 2972], [2974, 2975], [2979, 2980], [2984, 2986],
    3038         [2990, 3001], [3006, 3010], [3014, 3016], [3018, 3021],
    3039         [3024, 3024], [3031, 3031], [3046, 3055], [3072, 3075],
    3040         [3077, 3084], [3086, 3088], [3090, 3112], [3114, 3129],
    3041         [3133, 3140], [3142, 3144], [3146, 3149], [3157, 3158],
    3042         [3160, 3162], [3168, 3171], [3174, 3183], [3200, 3203],
    3043         [3205, 3212], [3214, 3216], [3218, 3240], [3242, 3251],
    3044         [3253, 3257], [3260, 3268], [3270, 3272], [3274, 3277],
    3045         [3285, 3286], [3294, 3294], [3296, 3299], [3302, 3311],
    3046         [3313, 3314], [3329, 3331], [3333, 3340], [3342, 3344],
    3047         [3346, 3386], [3389, 3396], [3398, 3400], [3402, 3406],
    3048         [3412, 3415], [3423, 3427], [3430, 3439], [3450, 3455],
    3049         [3458, 3459], [3461, 3478], [3482, 3505], [3507, 3515],
    3050         [3517, 3517], [3520, 3526], [3530, 3530], [3535, 3540],
    3051         [3542, 3542], [3544, 3551], [3558, 3567], [3570, 3571],
    3052         [3585, 3642], [3648, 3662], [3664, 3673], [3713, 3714],
    3053         [3716, 3716], [3719, 3720], [3722, 3722], [3725, 3725],
    3054         [3732, 3735], [3737, 3743], [3745, 3747], [3749, 3749],
    3055         [3751, 3751], [3754, 3755], [3757, 3769], [3771, 3773],
    3056         [3776, 3780], [3782, 3782], [3784, 3789], [3792, 3801],
    3057         [3804, 3807], [3840, 3840], [3864, 3865], [3872, 3881],
    3058         [3893, 3893], [3895, 3895], [3897, 3897], [3902, 3911],
    3059         [3913, 3948], [3953, 3972], [3974, 3991], [3993, 4028],
    3060         [4038, 4038], [4096, 4169], [4176, 4253], [4256, 4293],
    3061         [4295, 4295], [4301, 4301], [4304, 4346], [4348, 4680],
    3062         [4682, 4685], [4688, 4694], [4696, 4696], [4698, 4701],
    3063         [4704, 4744], [4746, 4749], [4752, 4784], [4786, 4789],
    3064         [4792, 4798], [4800, 4800], [4802, 4805], [4808, 4822],
    3065         [4824, 4880], [4882, 4885], [4888, 4954], [4957, 4959],
    3066         [4969, 4977], [4992, 5007], [5024, 5109], [5112, 5117],
    3067         [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
    3068         [5870, 5880], [5888, 5900], [5902, 5908], [5920, 5940],
    3069         [5952, 5971], [5984, 5996], [5998, 6000], [6002, 6003],
    3070         [6016, 6099], [6103, 6103], [6108, 6109], [6112, 6121],
    3071         [6155, 6157], [6160, 6169], [6176, 6263], [6272, 6314],
    3072         [6320, 6389], [6400, 6430], [6432, 6443], [6448, 6459],
    3073         [6470, 6509], [6512, 6516], [6528, 6571], [6576, 6601],
    3074         [6608, 6618], [6656, 6683], [6688, 6750], [6752, 6780],
    3075         [6783, 6793], [6800, 6809], [6823, 6823], [6832, 6845],
    3076         [6912, 6987], [6992, 7001], [7019, 7027], [7040, 7155],
    3077         [7168, 7223], [7232, 7241], [7245, 7293], [7296, 7304],
    3078         [7376, 7378], [7380, 7414], [7416, 7417], [7424, 7669],
    3079         [7675, 7957], [7960, 7965], [7968, 8005], [8008, 8013],
    3080         [8016, 8023], [8025, 8025], [8027, 8027], [8029, 8029],
    3081         [8031, 8061], [8064, 8116], [8118, 8124], [8126, 8126],
    3082         [8130, 8132], [8134, 8140], [8144, 8147], [8150, 8155],
    3083         [8160, 8172], [8178, 8180], [8182, 8188], [8255, 8256],
    3084         [8276, 8276], [8305, 8305], [8319, 8319], [8336, 8348],
    3085         [8400, 8412], [8417, 8417], [8421, 8432], [8450, 8450],
    3086         [8455, 8455], [8458, 8467], [8469, 8469], [8472, 8477],
    3087         [8484, 8484], [8486, 8486], [8488, 8488], [8490, 8505],
    3088         [8508, 8511], [8517, 8521], [8526, 8526], [8544, 8584],
    3089         [11264, 11310], [11312, 11358], [11360, 11492], [11499, 11507],
    3090         [11520, 11557], [11559, 11559], [11565, 11565], [11568, 11623],
    3091         [11631, 11631], [11647, 11670], [11680, 11686], [11688, 11694],
    3092         [11696, 11702], [11704, 11710], [11712, 11718], [11720, 11726],
    3093         [11728, 11734], [11736, 11742], [11744, 11775], [12293, 12295],
    3094         [12321, 12335], [12337, 12341], [12344, 12348], [12353, 12438],
    3095         [12441, 12442], [12445, 12447], [12449, 12538], [12540, 12543],
    3096         [12549, 12589], [12593, 12686], [12704, 12730], [12784, 12799],
    3097         [13312, 19893], [19968, 40917], [40960, 42124], [42192, 42237],
    3098         [42240, 42508], [42512, 42539], [42560, 42607], [42612, 42621],
    3099         [42623, 42737], [42775, 42783], [42786, 42888], [42891, 42926],
    3100         [42928, 42935], [42999, 43047], [43072, 43123], [43136, 43205],
    3101         [43216, 43225], [43232, 43255], [43259, 43259], [43261, 43261],
    3102         [43264, 43309], [43312, 43347], [43360, 43388], [43392, 43456],
    3103         [43471, 43481], [43488, 43518], [43520, 43574], [43584, 43597],
    3104         [43600, 43609], [43616, 43638], [43642, 43714], [43739, 43741],
    3105         [43744, 43759], [43762, 43766], [43777, 43782], [43785, 43790],
    3106         [43793, 43798], [43808, 43814], [43816, 43822], [43824, 43866],
    3107         [43868, 43877], [43888, 44010], [44012, 44013], [44016, 44025],
    3108         [44032, 55203], [55216, 55238], [55243, 55291], [63744, 64109],
    3109         [64112, 64217], [64256, 64262], [64275, 64279], [64285, 64296],
    3110         [64298, 64310], [64312, 64316], [64318, 64318], [64320, 64321],
    3111         [64323, 64324], [64326, 64433], [64467, 64605], [64612, 64829],
    3112         [64848, 64911], [64914, 64967], [65008, 65017], [65024, 65039],
    3113         [65056, 65071], [65075, 65076], [65101, 65103], [65137, 65137],
    3114         [65139, 65139], [65143, 65143], [65145, 65145], [65147, 65147],
    3115         [65149, 65149], [65151, 65276], [65296, 65305], [65313, 65338],
    3116         [65343, 65343], [65345, 65370], [65382, 65470], [65474, 65479],
    3117         [65482, 65487], [65490, 65495], [65498, 65500], [65536, 65547],
    3118         [65549, 65574], [65576, 65594], [65596, 65597], [65599, 65613],
    3119         [65616, 65629], [65664, 65786], [65856, 65908], [66045, 66045],
    3120         [66176, 66204], [66208, 66256], [66272, 66272], [66304, 66335],
    3121         [66352, 66378], [66384, 66426], [66432, 66461], [66464, 66499],
    3122         [66504, 66511], [66513, 66517], [66560, 66717], [66720, 66729],
    3123         [66736, 66771], [66776, 66811], [66816, 66855], [66864, 66915],
    3124         [67072, 67382], [67392, 67413], [67424, 67431], [67584, 67589],
    3125         [67592, 67592], [67594, 67637], [67639, 67640], [67644, 67644],
    3126         [67647, 67669], [67680, 67702], [67712, 67742], [67808, 67826],
    3127         [67828, 67829], [67840, 67861], [67872, 67897], [67968, 68023],
    3128         [68030, 68031], [68096, 68099], [68101, 68102], [68108, 68115],
    3129         [68117, 68119], [68121, 68147], [68152, 68154], [68159, 68159],
    3130         [68192, 68220], [68224, 68252], [68288, 68295], [68297, 68326],
    3131         [68352, 68405], [68416, 68437], [68448, 68466], [68480, 68497],
    3132         [68608, 68680], [68736, 68786], [68800, 68850], [69632, 69702],
    3133         [69734, 69743], [69759, 69818], [69840, 69864], [69872, 69881],
    3134         [69888, 69940], [69942, 69951], [69968, 70003], [70006, 70006],
    3135         [70016, 70084], [70090, 70092], [70096, 70106], [70108, 70108],
    3136         [70144, 70161], [70163, 70199], [70206, 70206], [70272, 70278],
    3137         [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70312],
    3138         [70320, 70378], [70384, 70393], [70400, 70403], [70405, 70412],
    3139         [70415, 70416], [70419, 70440], [70442, 70448], [70450, 70451],
    3140         [70453, 70457], [70460, 70468], [70471, 70472], [70475, 70477],
    3141         [70480, 70480], [70487, 70487], [70493, 70499], [70502, 70508],
    3142         [70512, 70516], [70656, 70730], [70736, 70745], [70784, 70853],
    3143         [70855, 70855], [70864, 70873], [71040, 71093], [71096, 71104],
    3144         [71128, 71133], [71168, 71232], [71236, 71236], [71248, 71257],
    3145         [71296, 71351], [71360, 71369], [71424, 71449], [71453, 71467],
    3146         [71472, 71481], [71840, 71913], [71935, 71935], [72384, 72440],
    3147         [72704, 72712], [72714, 72758], [72760, 72768], [72784, 72793],
    3148         [72818, 72847], [72850, 72871], [72873, 72886], [73728, 74649],
    3149         [74752, 74862], [74880, 75075], [77824, 78894], [82944, 83526],
    3150         [92160, 92728], [92736, 92766], [92768, 92777], [92880, 92909],
    3151         [92912, 92916], [92928, 92982], [92992, 92995], [93008, 93017],
    3152         [93027, 93047], [93053, 93071], [93952, 94020], [94032, 94078],
    3153         [94095, 94111], [94176, 94176], [94208, 100332], [100352, 101106],
    3154         [110592, 110593], [113664, 113770], [113776, 113788],
    3155         [113792, 113800], [113808, 113817], [113821, 113822],
    3156         [119141, 119145], [119149, 119154], [119163, 119170],
    3157         [119173, 119179], [119210, 119213], [119362, 119364],
    3158         [119808, 119892], [119894, 119964], [119966, 119967],
    3159         [119970, 119970], [119973, 119974], [119977, 119980],
    3160         [119982, 119993], [119995, 119995], [119997, 120003],
    3161         [120005, 120069], [120071, 120074], [120077, 120084],
    3162         [120086, 120092], [120094, 120121], [120123, 120126],
    3163         [120128, 120132], [120134, 120134], [120138, 120144],
    3164         [120146, 120485], [120488, 120512], [120514, 120538],
    3165         [120540, 120570], [120572, 120596], [120598, 120628],
    3166         [120630, 120654], [120656, 120686], [120688, 120712],
    3167         [120714, 120744], [120746, 120770], [120772, 120779],
    3168         [120782, 120831], [121344, 121398], [121403, 121452],
    3169         [121461, 121461], [121476, 121476], [121499, 121503],
    3170         [121505, 121519], [122880, 122886], [122888, 122904],
    3171         [122907, 122913], [122915, 122916], [122918, 122922],
    3172         [124928, 125124], [125136, 125142], [125184, 125258],
    3173         [125264, 125273], [126464, 126467], [126469, 126495],
    3174         [126497, 126498], [126500, 126500], [126503, 126503],
    3175         [126505, 126514], [126516, 126519], [126521, 126521],
    3176         [126523, 126523], [126530, 126530], [126535, 126535],
    3177         [126537, 126537], [126539, 126539], [126541, 126543],
    3178         [126545, 126546], [126548, 126548], [126551, 126551],
    3179         [126553, 126553], [126555, 126555], [126557, 126557],
    3180         [126559, 126559], [126561, 126562], [126564, 126564],
    3181         [126567, 126570], [126572, 126578], [126580, 126583],
    3182         [126585, 126588], [126590, 126590], [126592, 126601],
    3183         [126603, 126619], [126625, 126627], [126629, 126633],
    3184         [126635, 126651], [131072, 173782], [173824, 177972],
    3185         [177984, 178205], [178208, 183969], [194560, 195101],
    3186         [917760, 917999]**/
     3020        [0030, 0039], [0041, 005a], [005f, 005f], [0061, 007a],
     3021        [00aa, 00aa], [00b5, 00b5], [00b7, 00b7], [00ba, 00ba],
     3022        [00c0, 00d6], [00d8, 00f6], [00f8, 02c1], [02c6, 02d1],
     3023        [02e0, 02e4], [02ec, 02ec], [02ee, 02ee], [0300, 0374],
     3024        [0376, 0377], [037b, 037d], [037f, 037f], [0386, 038a],
     3025        [038c, 038c], [038e, 03a1], [03a3, 03f5], [03f7, 0481],
     3026        [0483, 0487], [048a, 052f], [0531, 0556], [0559, 0559],
     3027        [0561, 0587], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
     3028        [05c4, 05c5], [05c7, 05c7], [05d0, 05ea], [05f0, 05f2],
     3029        [0610, 061a], [0620, 0669], [066e, 06d3], [06d5, 06dc],
     3030        [06df, 06e8], [06ea, 06fc], [06ff, 06ff], [0710, 074a],
     3031        [074d, 07b1], [07c0, 07f5], [07fa, 07fa], [0800, 082d],
     3032        [0840, 085b], [08a0, 08b4], [08b6, 08bd], [08d4, 08e1],
     3033        [08e3, 0963], [0966, 096f], [0971, 0983], [0985, 098c],
     3034        [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
     3035        [09b6, 09b9], [09bc, 09c4], [09c7, 09c8], [09cb, 09ce],
     3036        [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09f1],
     3037        [0a01, 0a03], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28],
     3038        [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36], [0a38, 0a39],
     3039        [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48], [0a4b, 0a4d],
     3040        [0a51, 0a51], [0a59, 0a5c], [0a5e, 0a5e], [0a66, 0a75],
     3041        [0a81, 0a83], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8],
     3042        [0aaa, 0ab0], [0ab2, 0ab3], [0ab5, 0ab9], [0abc, 0ac5],
     3043        [0ac7, 0ac9], [0acb, 0acd], [0ad0, 0ad0], [0ae0, 0ae3],
     3044        [0ae6, 0aef], [0af9, 0af9], [0b01, 0b03], [0b05, 0b0c],
     3045        [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
     3046        [0b35, 0b39], [0b3c, 0b44], [0b47, 0b48], [0b4b, 0b4d],
     3047        [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b66, 0b6f],
     3048        [0b71, 0b71], [0b82, 0b83], [0b85, 0b8a], [0b8e, 0b90],
     3049        [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f],
     3050        [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9], [0bbe, 0bc2],
     3051        [0bc6, 0bc8], [0bca, 0bcd], [0bd0, 0bd0], [0bd7, 0bd7],
     3052        [0be6, 0bef], [0c00, 0c03], [0c05, 0c0c], [0c0e, 0c10],
     3053        [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c44], [0c46, 0c48],
     3054        [0c4a, 0c4d], [0c55, 0c56], [0c58, 0c5a], [0c60, 0c63],
     3055        [0c66, 0c6f], [0c80, 0c83], [0c85, 0c8c], [0c8e, 0c90],
     3056        [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9], [0cbc, 0cc4],
     3057        [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6], [0cde, 0cde],
     3058        [0ce0, 0ce3], [0ce6, 0cef], [0cf1, 0cf2], [0d01, 0d03],
     3059        [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d44],
     3060        [0d46, 0d48], [0d4a, 0d4e], [0d54, 0d57], [0d5f, 0d63],
     3061        [0d66, 0d6f], [0d7a, 0d7f], [0d82, 0d83], [0d85, 0d96],
     3062        [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6],
     3063        [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf],
     3064        [0de6, 0def], [0df2, 0df3], [0e01, 0e3a], [0e40, 0e4e],
     3065        [0e50, 0e59], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88],
     3066        [0e8a, 0e8a], [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f],
     3067        [0ea1, 0ea3], [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab],
     3068        [0ead, 0eb9], [0ebb, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6],
     3069        [0ec8, 0ecd], [0ed0, 0ed9], [0edc, 0edf], [0f00, 0f00],
     3070        [0f18, 0f19], [0f20, 0f29], [0f35, 0f35], [0f37, 0f37],
     3071        [0f39, 0f39], [0f3e, 0f47], [0f49, 0f6c], [0f71, 0f84],
     3072        [0f86, 0f97], [0f99, 0fbc], [0fc6, 0fc6], [1000, 1049],
     3073        [1050, 109d], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
     3074        [10d0, 10fa], [10fc, 1248], [124a, 124d], [1250, 1256],
     3075        [1258, 1258], [125a, 125d], [1260, 1288], [128a, 128d],
     3076        [1290, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0],
     3077        [12c2, 12c5], [12c8, 12d6], [12d8, 1310], [1312, 1315],
     3078        [1318, 135a], [135d, 135f], [1369, 1371], [1380, 138f],
     3079        [13a0, 13f5], [13f8, 13fd], [1401, 166c], [166f, 167f],
     3080        [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c],
     3081        [170e, 1714], [1720, 1734], [1740, 1753], [1760, 176c],
     3082        [176e, 1770], [1772, 1773], [1780, 17d3], [17d7, 17d7],
     3083        [17dc, 17dd], [17e0, 17e9], [180b, 180d], [1810, 1819],
     3084        [1820, 1877], [1880, 18aa], [18b0, 18f5], [1900, 191e],
     3085        [1920, 192b], [1930, 193b], [1946, 196d], [1970, 1974],
     3086        [1980, 19ab], [19b0, 19c9], [19d0, 19da], [1a00, 1a1b],
     3087        [1a20, 1a5e], [1a60, 1a7c], [1a7f, 1a89], [1a90, 1a99],
     3088        [1aa7, 1aa7], [1ab0, 1abd], [1b00, 1b4b], [1b50, 1b59],
     3089        [1b6b, 1b73], [1b80, 1bf3], [1c00, 1c37], [1c40, 1c49],
     3090        [1c4d, 1c7d], [1c80, 1c88], [1cd0, 1cd2], [1cd4, 1cf6],
     3091        [1cf8, 1cf9], [1d00, 1df5], [1dfb, 1f15], [1f18, 1f1d],
     3092        [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
     3093        [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4],
     3094        [1fb6, 1fbc], [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc],
     3095        [1fd0, 1fd3], [1fd6, 1fdb], [1fe0, 1fec], [1ff2, 1ff4],
     3096        [1ff6, 1ffc], [203f, 2040], [2054, 2054], [2071, 2071],
     3097        [207f, 207f], [2090, 209c], [20d0, 20dc], [20e1, 20e1],
     3098        [20e5, 20f0], [2102, 2102], [2107, 2107], [210a, 2113],
     3099        [2115, 2115], [2118, 211d], [2124, 2124], [2126, 2126],
     3100        [2128, 2128], [212a, 2139], [213c, 213f], [2145, 2149],
     3101        [214e, 214e], [2160, 2188], [2c00, 2c2e], [2c30, 2c5e],
     3102        [2c60, 2ce4], [2ceb, 2cf3], [2d00, 2d25], [2d27, 2d27],
     3103        [2d2d, 2d2d], [2d30, 2d67], [2d6f, 2d6f], [2d7f, 2d96],
     3104        [2da0, 2da6], [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe],
     3105        [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
     3106        [2de0, 2dff], [3005, 3007], [3021, 302f], [3031, 3035],
     3107        [3038, 303c], [3041, 3096], [3099, 309a], [309d, 309f],
     3108        [30a1, 30fa], [30fc, 30ff], [3105, 312d], [3131, 318e],
     3109        [31a0, 31ba], [31f0, 31ff], [3400, 4db5], [4e00, 9fd5],
     3110        [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a62b],
     3111        [a640, a66f], [a674, a67d], [a67f, a6f1], [a717, a71f],
     3112        [a722, a788], [a78b, a7ae], [a7b0, a7b7], [a7f7, a827],
     3113        [a840, a873], [a880, a8c5], [a8d0, a8d9], [a8e0, a8f7],
     3114        [a8fb, a8fb], [a8fd, a8fd], [a900, a92d], [a930, a953],
     3115        [a960, a97c], [a980, a9c0], [a9cf, a9d9], [a9e0, a9fe],
     3116        [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa60, aa76],
     3117        [aa7a, aac2], [aadb, aadd], [aae0, aaef], [aaf2, aaf6],
     3118        [ab01, ab06], [ab09, ab0e], [ab11, ab16], [ab20, ab26],
     3119        [ab28, ab2e], [ab30, ab5a], [ab5c, ab65], [ab70, abea],
     3120        [abec, abed], [abf0, abf9], [ac00, d7a3], [d7b0, d7c6],
     3121        [d7cb, d7fb], [f900, fa6d], [fa70, fad9], [fb00, fb06],
     3122        [fb13, fb17], [fb1d, fb28], [fb2a, fb36], [fb38, fb3c],
     3123        [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fbb1],
     3124        [fbd3, fc5d], [fc64, fd3d], [fd50, fd8f], [fd92, fdc7],
     3125        [fdf0, fdf9], [fe00, fe0f], [fe20, fe2f], [fe33, fe34],
     3126        [fe4d, fe4f], [fe71, fe71], [fe73, fe73], [fe77, fe77],
     3127        [fe79, fe79], [fe7b, fe7b], [fe7d, fe7d], [fe7f, fefc],
     3128        [ff10, ff19], [ff21, ff3a], [ff3f, ff3f], [ff41, ff5a],
     3129        [ff66, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
     3130        [ffda, ffdc], [10000, 1000b], [1000d, 10026], [10028, 1003a],
     3131        [1003c, 1003d], [1003f, 1004d], [10050, 1005d], [10080, 100fa],
     3132        [10140, 10174], [101fd, 101fd], [10280, 1029c], [102a0, 102d0],
     3133        [102e0, 102e0], [10300, 1031f], [10330, 1034a], [10350, 1037a],
     3134        [10380, 1039d], [103a0, 103c3], [103c8, 103cf], [103d1, 103d5],
     3135        [10400, 1049d], [104a0, 104a9], [104b0, 104d3], [104d8, 104fb],
     3136        [10500, 10527], [10530, 10563], [10600, 10736], [10740, 10755],
     3137        [10760, 10767], [10800, 10805], [10808, 10808], [1080a, 10835],
     3138        [10837, 10838], [1083c, 1083c], [1083f, 10855], [10860, 10876],
     3139        [10880, 1089e], [108e0, 108f2], [108f4, 108f5], [10900, 10915],
     3140        [10920, 10939], [10980, 109b7], [109be, 109bf], [10a00, 10a03],
     3141        [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17], [10a19, 10a33],
     3142        [10a38, 10a3a], [10a3f, 10a3f], [10a60, 10a7c], [10a80, 10a9c],
     3143        [10ac0, 10ac7], [10ac9, 10ae6], [10b00, 10b35], [10b40, 10b55],
     3144        [10b60, 10b72], [10b80, 10b91], [10c00, 10c48], [10c80, 10cb2],
     3145        [10cc0, 10cf2], [11000, 11046], [11066, 1106f], [1107f, 110ba],
     3146        [110d0, 110e8], [110f0, 110f9], [11100, 11134], [11136, 1113f],
     3147        [11150, 11173], [11176, 11176], [11180, 111c4], [111ca, 111cc],
     3148        [111d0, 111da], [111dc, 111dc], [11200, 11211], [11213, 11237],
     3149        [1123e, 1123e], [11280, 11286], [11288, 11288], [1128a, 1128d],
     3150        [1128f, 1129d], [1129f, 112a8], [112b0, 112ea], [112f0, 112f9],
     3151        [11300, 11303], [11305, 1130c], [1130f, 11310], [11313, 11328],
     3152        [1132a, 11330], [11332, 11333], [11335, 11339], [1133c, 11344],
     3153        [11347, 11348], [1134b, 1134d], [11350, 11350], [11357, 11357],
     3154        [1135d, 11363], [11366, 1136c], [11370, 11374], [11400, 1144a],
     3155        [11450, 11459], [11480, 114c5], [114c7, 114c7], [114d0, 114d9],
     3156        [11580, 115b5], [115b8, 115c0], [115d8, 115dd], [11600, 11640],
     3157        [11644, 11644], [11650, 11659], [11680, 116b7], [116c0, 116c9],
     3158        [11700, 11719], [1171d, 1172b], [11730, 11739], [118a0, 118e9],
     3159        [118ff, 118ff], [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c36],
     3160        [11c38, 11c40], [11c50, 11c59], [11c72, 11c8f], [11c92, 11ca7],
     3161        [11ca9, 11cb6], [12000, 12399], [12400, 1246e], [12480, 12543],
     3162        [13000, 1342e], [14400, 14646], [16800, 16a38], [16a40, 16a5e],
     3163        [16a60, 16a69], [16ad0, 16aed], [16af0, 16af4], [16b00, 16b36],
     3164        [16b40, 16b43], [16b50, 16b59], [16b63, 16b77], [16b7d, 16b8f],
     3165        [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f], [16fe0, 16fe0],
     3166        [17000, 187ec], [18800, 18af2], [1b000, 1b001], [1bc00, 1bc6a],
     3167        [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99], [1bc9d, 1bc9e],
     3168        [1d165, 1d169], [1d16d, 1d172], [1d17b, 1d182], [1d185, 1d18b],
     3169        [1d1aa, 1d1ad], [1d242, 1d244], [1d400, 1d454], [1d456, 1d49c],
     3170        [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac],
     3171        [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505],
     3172        [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539],
     3173        [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550],
     3174        [1d552, 1d6a5], [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa],
     3175        [1d6fc, 1d714], [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e],
     3176        [1d770, 1d788], [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb],
     3177        [1d7ce, 1d7ff], [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75],
     3178        [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006],
     3179        [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a],
     3180        [1e800, 1e8c4], [1e8d0, 1e8d6], [1e900, 1e94a], [1e950, 1e959],
     3181        [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
     3182        [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
     3183        [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
     3184        [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
     3185        [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
     3186        [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
     3187        [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
     3188        [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
     3189        [1eeab, 1eebb], [20000, 2a6d6], [2a700, 2b734], [2b740, 2b81d],
     3190        [2b820, 2cea1], [2f800, 2fa1d], [e0100, e01ef]**/
    31873191        const UnicodeSet codepoint_set
    31883192            {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Full, 14},
     
    33353339    namespace XIDS_ns {
    33363340        /** Code Point Ranges for XIDS
    3337         [65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214],
    3338         [216, 246], [248, 705], [710, 721], [736, 740], [748, 748],
    3339         [750, 750], [880, 884], [886, 887], [891, 893], [895, 895],
    3340         [902, 902], [904, 906], [908, 908], [910, 929], [931, 1013],
    3341         [1015, 1153], [1162, 1327], [1329, 1366], [1369, 1369],
    3342         [1377, 1415], [1488, 1514], [1520, 1522], [1568, 1610],
    3343         [1646, 1647], [1649, 1747], [1749, 1749], [1765, 1766],
    3344         [1774, 1775], [1786, 1788], [1791, 1791], [1808, 1808],
    3345         [1810, 1839], [1869, 1957], [1969, 1969], [1994, 2026],
    3346         [2036, 2037], [2042, 2042], [2048, 2069], [2074, 2074],
    3347         [2084, 2084], [2088, 2088], [2112, 2136], [2208, 2228],
    3348         [2230, 2237], [2308, 2361], [2365, 2365], [2384, 2384],
    3349         [2392, 2401], [2417, 2432], [2437, 2444], [2447, 2448],
    3350         [2451, 2472], [2474, 2480], [2482, 2482], [2486, 2489],
    3351         [2493, 2493], [2510, 2510], [2524, 2525], [2527, 2529],
    3352         [2544, 2545], [2565, 2570], [2575, 2576], [2579, 2600],
    3353         [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617],
    3354         [2649, 2652], [2654, 2654], [2674, 2676], [2693, 2701],
    3355         [2703, 2705], [2707, 2728], [2730, 2736], [2738, 2739],
    3356         [2741, 2745], [2749, 2749], [2768, 2768], [2784, 2785],
    3357         [2809, 2809], [2821, 2828], [2831, 2832], [2835, 2856],
    3358         [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2877],
    3359         [2908, 2909], [2911, 2913], [2929, 2929], [2947, 2947],
    3360         [2949, 2954], [2958, 2960], [2962, 2965], [2969, 2970],
    3361         [2972, 2972], [2974, 2975], [2979, 2980], [2984, 2986],
    3362         [2990, 3001], [3024, 3024], [3077, 3084], [3086, 3088],
    3363         [3090, 3112], [3114, 3129], [3133, 3133], [3160, 3162],
    3364         [3168, 3169], [3200, 3200], [3205, 3212], [3214, 3216],
    3365         [3218, 3240], [3242, 3251], [3253, 3257], [3261, 3261],
    3366         [3294, 3294], [3296, 3297], [3313, 3314], [3333, 3340],
    3367         [3342, 3344], [3346, 3386], [3389, 3389], [3406, 3406],
    3368         [3412, 3414], [3423, 3425], [3450, 3455], [3461, 3478],
    3369         [3482, 3505], [3507, 3515], [3517, 3517], [3520, 3526],
    3370         [3585, 3632], [3634, 3634], [3648, 3654], [3713, 3714],
    3371         [3716, 3716], [3719, 3720], [3722, 3722], [3725, 3725],
    3372         [3732, 3735], [3737, 3743], [3745, 3747], [3749, 3749],
    3373         [3751, 3751], [3754, 3755], [3757, 3760], [3762, 3762],
    3374         [3773, 3773], [3776, 3780], [3782, 3782], [3804, 3807],
    3375         [3840, 3840], [3904, 3911], [3913, 3948], [3976, 3980],
    3376         [4096, 4138], [4159, 4159], [4176, 4181], [4186, 4189],
    3377         [4193, 4193], [4197, 4198], [4206, 4208], [4213, 4225],
    3378         [4238, 4238], [4256, 4293], [4295, 4295], [4301, 4301],
    3379         [4304, 4346], [4348, 4680], [4682, 4685], [4688, 4694],
    3380         [4696, 4696], [4698, 4701], [4704, 4744], [4746, 4749],
    3381         [4752, 4784], [4786, 4789], [4792, 4798], [4800, 4800],
    3382         [4802, 4805], [4808, 4822], [4824, 4880], [4882, 4885],
    3383         [4888, 4954], [4992, 5007], [5024, 5109], [5112, 5117],
    3384         [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866],
    3385         [5870, 5880], [5888, 5900], [5902, 5905], [5920, 5937],
    3386         [5952, 5969], [5984, 5996], [5998, 6000], [6016, 6067],
    3387         [6103, 6103], [6108, 6108], [6176, 6263], [6272, 6312],
    3388         [6314, 6314], [6320, 6389], [6400, 6430], [6480, 6509],
    3389         [6512, 6516], [6528, 6571], [6576, 6601], [6656, 6678],
    3390         [6688, 6740], [6823, 6823], [6917, 6963], [6981, 6987],
    3391         [7043, 7072], [7086, 7087], [7098, 7141], [7168, 7203],
    3392         [7245, 7247], [7258, 7293], [7296, 7304], [7401, 7404],
    3393         [7406, 7409], [7413, 7414], [7424, 7615], [7680, 7957],
    3394         [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023],
    3395         [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061],
    3396         [8064, 8116], [8118, 8124], [8126, 8126], [8130, 8132],
    3397         [8134, 8140], [8144, 8147], [8150, 8155], [8160, 8172],
    3398         [8178, 8180], [8182, 8188], [8305, 8305], [8319, 8319],
    3399         [8336, 8348], [8450, 8450], [8455, 8455], [8458, 8467],
    3400         [8469, 8469], [8472, 8477], [8484, 8484], [8486, 8486],
    3401         [8488, 8488], [8490, 8505], [8508, 8511], [8517, 8521],
    3402         [8526, 8526], [8544, 8584], [11264, 11310], [11312, 11358],
    3403         [11360, 11492], [11499, 11502], [11506, 11507], [11520, 11557],
    3404         [11559, 11559], [11565, 11565], [11568, 11623], [11631, 11631],
    3405         [11648, 11670], [11680, 11686], [11688, 11694], [11696, 11702],
    3406         [11704, 11710], [11712, 11718], [11720, 11726], [11728, 11734],
    3407         [11736, 11742], [12293, 12295], [12321, 12329], [12337, 12341],
    3408         [12344, 12348], [12353, 12438], [12445, 12447], [12449, 12538],
    3409         [12540, 12543], [12549, 12589], [12593, 12686], [12704, 12730],
    3410         [12784, 12799], [13312, 19893], [19968, 40917], [40960, 42124],
    3411         [42192, 42237], [42240, 42508], [42512, 42527], [42538, 42539],
    3412         [42560, 42606], [42623, 42653], [42656, 42735], [42775, 42783],
    3413         [42786, 42888], [42891, 42926], [42928, 42935], [42999, 43009],
    3414         [43011, 43013], [43015, 43018], [43020, 43042], [43072, 43123],
    3415         [43138, 43187], [43250, 43255], [43259, 43259], [43261, 43261],
    3416         [43274, 43301], [43312, 43334], [43360, 43388], [43396, 43442],
    3417         [43471, 43471], [43488, 43492], [43494, 43503], [43514, 43518],
    3418         [43520, 43560], [43584, 43586], [43588, 43595], [43616, 43638],
    3419         [43642, 43642], [43646, 43695], [43697, 43697], [43701, 43702],
    3420         [43705, 43709], [43712, 43712], [43714, 43714], [43739, 43741],
    3421         [43744, 43754], [43762, 43764], [43777, 43782], [43785, 43790],
    3422         [43793, 43798], [43808, 43814], [43816, 43822], [43824, 43866],
    3423         [43868, 43877], [43888, 44002], [44032, 55203], [55216, 55238],
    3424         [55243, 55291], [63744, 64109], [64112, 64217], [64256, 64262],
    3425         [64275, 64279], [64285, 64285], [64287, 64296], [64298, 64310],
    3426         [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
    3427         [64326, 64433], [64467, 64605], [64612, 64829], [64848, 64911],
    3428         [64914, 64967], [65008, 65017], [65137, 65137], [65139, 65139],
    3429         [65143, 65143], [65145, 65145], [65147, 65147], [65149, 65149],
    3430         [65151, 65276], [65313, 65338], [65345, 65370], [65382, 65437],
    3431         [65440, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
    3432         [65498, 65500], [65536, 65547], [65549, 65574], [65576, 65594],
    3433         [65596, 65597], [65599, 65613], [65616, 65629], [65664, 65786],
    3434         [65856, 65908], [66176, 66204], [66208, 66256], [66304, 66335],
    3435         [66352, 66378], [66384, 66421], [66432, 66461], [66464, 66499],
    3436         [66504, 66511], [66513, 66517], [66560, 66717], [66736, 66771],
    3437         [66776, 66811], [66816, 66855], [66864, 66915], [67072, 67382],
    3438         [67392, 67413], [67424, 67431], [67584, 67589], [67592, 67592],
    3439         [67594, 67637], [67639, 67640], [67644, 67644], [67647, 67669],
    3440         [67680, 67702], [67712, 67742], [67808, 67826], [67828, 67829],
    3441         [67840, 67861], [67872, 67897], [67968, 68023], [68030, 68031],
    3442         [68096, 68096], [68112, 68115], [68117, 68119], [68121, 68147],
    3443         [68192, 68220], [68224, 68252], [68288, 68295], [68297, 68324],
    3444         [68352, 68405], [68416, 68437], [68448, 68466], [68480, 68497],
    3445         [68608, 68680], [68736, 68786], [68800, 68850], [69635, 69687],
    3446         [69763, 69807], [69840, 69864], [69891, 69926], [69968, 70002],
    3447         [70006, 70006], [70019, 70066], [70081, 70084], [70106, 70106],
    3448         [70108, 70108], [70144, 70161], [70163, 70187], [70272, 70278],
    3449         [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70312],
    3450         [70320, 70366], [70405, 70412], [70415, 70416], [70419, 70440],
    3451         [70442, 70448], [70450, 70451], [70453, 70457], [70461, 70461],
    3452         [70480, 70480], [70493, 70497], [70656, 70708], [70727, 70730],
    3453         [70784, 70831], [70852, 70853], [70855, 70855], [71040, 71086],
    3454         [71128, 71131], [71168, 71215], [71236, 71236], [71296, 71338],
    3455         [71424, 71449], [71840, 71903], [71935, 71935], [72384, 72440],
    3456         [72704, 72712], [72714, 72750], [72768, 72768], [72818, 72847],
    3457         [73728, 74649], [74752, 74862], [74880, 75075], [77824, 78894],
    3458         [82944, 83526], [92160, 92728], [92736, 92766], [92880, 92909],
    3459         [92928, 92975], [92992, 92995], [93027, 93047], [93053, 93071],
    3460         [93952, 94020], [94032, 94032], [94099, 94111], [94176, 94176],
    3461         [94208, 100332], [100352, 101106], [110592, 110593],
    3462         [113664, 113770], [113776, 113788], [113792, 113800],
    3463         [113808, 113817], [119808, 119892], [119894, 119964],
    3464         [119966, 119967], [119970, 119970], [119973, 119974],
    3465         [119977, 119980], [119982, 119993], [119995, 119995],
    3466         [119997, 120003], [120005, 120069], [120071, 120074],
    3467         [120077, 120084], [120086, 120092], [120094, 120121],
    3468         [120123, 120126], [120128, 120132], [120134, 120134],
    3469         [120138, 120144], [120146, 120485], [120488, 120512],
    3470         [120514, 120538], [120540, 120570], [120572, 120596],
    3471         [120598, 120628], [120630, 120654], [120656, 120686],
    3472         [120688, 120712], [120714, 120744], [120746, 120770],
    3473         [120772, 120779], [124928, 125124], [125184, 125251],
    3474         [126464, 126467], [126469, 126495], [126497, 126498],
    3475         [126500, 126500], [126503, 126503], [126505, 126514],
    3476         [126516, 126519], [126521, 126521], [126523, 126523],
    3477         [126530, 126530], [126535, 126535], [126537, 126537],
    3478         [126539, 126539], [126541, 126543], [126545, 126546],
    3479         [126548, 126548], [126551, 126551], [126553, 126553],
    3480         [126555, 126555], [126557, 126557], [126559, 126559],
    3481         [126561, 126562], [126564, 126564], [126567, 126570],
    3482         [126572, 126578], [126580, 126583], [126585, 126588],
    3483         [126590, 126590], [126592, 126601], [126603, 126619],
    3484         [126625, 126627], [126629, 126633], [126635, 126651],
    3485         [131072, 173782], [173824, 177972], [177984, 178205],
    3486         [178208, 183969], [194560, 195101]**/
     3341        [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5],
     3342        [00ba, 00ba], [00c0, 00d6], [00d8, 00f6], [00f8, 02c1],
     3343        [02c6, 02d1], [02e0, 02e4], [02ec, 02ec], [02ee, 02ee],
     3344        [0370, 0374], [0376, 0377], [037b, 037d], [037f, 037f],
     3345        [0386, 0386], [0388, 038a], [038c, 038c], [038e, 03a1],
     3346        [03a3, 03f5], [03f7, 0481], [048a, 052f], [0531, 0556],
     3347        [0559, 0559], [0561, 0587], [05d0, 05ea], [05f0, 05f2],
     3348        [0620, 064a], [066e, 066f], [0671, 06d3], [06d5, 06d5],
     3349        [06e5, 06e6], [06ee, 06ef], [06fa, 06fc], [06ff, 06ff],
     3350        [0710, 0710], [0712, 072f], [074d, 07a5], [07b1, 07b1],
     3351        [07ca, 07ea], [07f4, 07f5], [07fa, 07fa], [0800, 0815],
     3352        [081a, 081a], [0824, 0824], [0828, 0828], [0840, 0858],
     3353        [08a0, 08b4], [08b6, 08bd], [0904, 0939], [093d, 093d],
     3354        [0950, 0950], [0958, 0961], [0971, 0980], [0985, 098c],
     3355        [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
     3356        [09b6, 09b9], [09bd, 09bd], [09ce, 09ce], [09dc, 09dd],
     3357        [09df, 09e1], [09f0, 09f1], [0a05, 0a0a], [0a0f, 0a10],
     3358        [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33], [0a35, 0a36],
     3359        [0a38, 0a39], [0a59, 0a5c], [0a5e, 0a5e], [0a72, 0a74],
     3360        [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
     3361        [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0],
     3362        [0ae0, 0ae1], [0af9, 0af9], [0b05, 0b0c], [0b0f, 0b10],
     3363        [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33], [0b35, 0b39],
     3364        [0b3d, 0b3d], [0b5c, 0b5d], [0b5f, 0b61], [0b71, 0b71],
     3365        [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95],
     3366        [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
     3367        [0ba8, 0baa], [0bae, 0bb9], [0bd0, 0bd0], [0c05, 0c0c],
     3368        [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c3d],
     3369        [0c58, 0c5a], [0c60, 0c61], [0c80, 0c80], [0c85, 0c8c],
     3370        [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
     3371        [0cbd, 0cbd], [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2],
     3372        [0d05, 0d0c], [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d],
     3373        [0d4e, 0d4e], [0d54, 0d56], [0d5f, 0d61], [0d7a, 0d7f],
     3374        [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
     3375        [0dc0, 0dc6], [0e01, 0e30], [0e32, 0e32], [0e40, 0e46],
     3376        [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
     3377        [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
     3378        [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb0],
     3379        [0eb2, 0eb2], [0ebd, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6],
     3380        [0edc, 0edf], [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c],
     3381        [0f88, 0f8c], [1000, 102a], [103f, 103f], [1050, 1055],
     3382        [105a, 105d], [1061, 1061], [1065, 1066], [106e, 1070],
     3383        [1075, 1081], [108e, 108e], [10a0, 10c5], [10c7, 10c7],
     3384        [10cd, 10cd], [10d0, 10fa], [10fc, 1248], [124a, 124d],
     3385        [1250, 1256], [1258, 1258], [125a, 125d], [1260, 1288],
     3386        [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be],
     3387        [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310],
     3388        [1312, 1315], [1318, 135a], [1380, 138f], [13a0, 13f5],
     3389        [13f8, 13fd], [1401, 166c], [166f, 167f], [1681, 169a],
     3390        [16a0, 16ea], [16ee, 16f8], [1700, 170c], [170e, 1711],
     3391        [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770],
     3392        [1780, 17b3], [17d7, 17d7], [17dc, 17dc], [1820, 1877],
     3393        [1880, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
     3394        [1950, 196d], [1970, 1974], [1980, 19ab], [19b0, 19c9],
     3395        [1a00, 1a16], [1a20, 1a54], [1aa7, 1aa7], [1b05, 1b33],
     3396        [1b45, 1b4b], [1b83, 1ba0], [1bae, 1baf], [1bba, 1be5],
     3397        [1c00, 1c23], [1c4d, 1c4f], [1c5a, 1c7d], [1c80, 1c88],
     3398        [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6], [1d00, 1dbf],
     3399        [1e00, 1f15], [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d],
     3400        [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
     3401        [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc], [1fbe, 1fbe],
     3402        [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3], [1fd6, 1fdb],
     3403        [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc], [2071, 2071],
     3404        [207f, 207f], [2090, 209c], [2102, 2102], [2107, 2107],
     3405        [210a, 2113], [2115, 2115], [2118, 211d], [2124, 2124],
     3406        [2126, 2126], [2128, 2128], [212a, 2139], [213c, 213f],
     3407        [2145, 2149], [214e, 214e], [2160, 2188], [2c00, 2c2e],
     3408        [2c30, 2c5e], [2c60, 2ce4], [2ceb, 2cee], [2cf2, 2cf3],
     3409        [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67],
     3410        [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae],
     3411        [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce],
     3412        [2dd0, 2dd6], [2dd8, 2dde], [3005, 3007], [3021, 3029],
     3413        [3031, 3035], [3038, 303c], [3041, 3096], [309d, 309f],
     3414        [30a1, 30fa], [30fc, 30ff], [3105, 312d], [3131, 318e],
     3415        [31a0, 31ba], [31f0, 31ff], [3400, 4db5], [4e00, 9fd5],
     3416        [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a61f],
     3417        [a62a, a62b], [a640, a66e], [a67f, a69d], [a6a0, a6ef],
     3418        [a717, a71f], [a722, a788], [a78b, a7ae], [a7b0, a7b7],
     3419        [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a822],
     3420        [a840, a873], [a882, a8b3], [a8f2, a8f7], [a8fb, a8fb],
     3421        [a8fd, a8fd], [a90a, a925], [a930, a946], [a960, a97c],
     3422        [a984, a9b2], [a9cf, a9cf], [a9e0, a9e4], [a9e6, a9ef],
     3423        [a9fa, a9fe], [aa00, aa28], [aa40, aa42], [aa44, aa4b],
     3424        [aa60, aa76], [aa7a, aa7a], [aa7e, aaaf], [aab1, aab1],
     3425        [aab5, aab6], [aab9, aabd], [aac0, aac0], [aac2, aac2],
     3426        [aadb, aadd], [aae0, aaea], [aaf2, aaf4], [ab01, ab06],
     3427        [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e],
     3428        [ab30, ab5a], [ab5c, ab65], [ab70, abe2], [ac00, d7a3],
     3429        [d7b0, d7c6], [d7cb, d7fb], [f900, fa6d], [fa70, fad9],
     3430        [fb00, fb06], [fb13, fb17], [fb1d, fb1d], [fb1f, fb28],
     3431        [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
     3432        [fb43, fb44], [fb46, fbb1], [fbd3, fc5d], [fc64, fd3d],
     3433        [fd50, fd8f], [fd92, fdc7], [fdf0, fdf9], [fe71, fe71],
     3434        [fe73, fe73], [fe77, fe77], [fe79, fe79], [fe7b, fe7b],
     3435        [fe7d, fe7d], [fe7f, fefc], [ff21, ff3a], [ff41, ff5a],
     3436        [ff66, ff9d], [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf],
     3437        [ffd2, ffd7], [ffda, ffdc], [10000, 1000b], [1000d, 10026],
     3438        [10028, 1003a], [1003c, 1003d], [1003f, 1004d], [10050, 1005d],
     3439        [10080, 100fa], [10140, 10174], [10280, 1029c], [102a0, 102d0],
     3440        [10300, 1031f], [10330, 1034a], [10350, 10375], [10380, 1039d],
     3441        [103a0, 103c3], [103c8, 103cf], [103d1, 103d5], [10400, 1049d],
     3442        [104b0, 104d3], [104d8, 104fb], [10500, 10527], [10530, 10563],
     3443        [10600, 10736], [10740, 10755], [10760, 10767], [10800, 10805],
     3444        [10808, 10808], [1080a, 10835], [10837, 10838], [1083c, 1083c],
     3445        [1083f, 10855], [10860, 10876], [10880, 1089e], [108e0, 108f2],
     3446        [108f4, 108f5], [10900, 10915], [10920, 10939], [10980, 109b7],
     3447        [109be, 109bf], [10a00, 10a00], [10a10, 10a13], [10a15, 10a17],
     3448        [10a19, 10a33], [10a60, 10a7c], [10a80, 10a9c], [10ac0, 10ac7],
     3449        [10ac9, 10ae4], [10b00, 10b35], [10b40, 10b55], [10b60, 10b72],
     3450        [10b80, 10b91], [10c00, 10c48], [10c80, 10cb2], [10cc0, 10cf2],
     3451        [11003, 11037], [11083, 110af], [110d0, 110e8], [11103, 11126],
     3452        [11150, 11172], [11176, 11176], [11183, 111b2], [111c1, 111c4],
     3453        [111da, 111da], [111dc, 111dc], [11200, 11211], [11213, 1122b],
     3454        [11280, 11286], [11288, 11288], [1128a, 1128d], [1128f, 1129d],
     3455        [1129f, 112a8], [112b0, 112de], [11305, 1130c], [1130f, 11310],
     3456        [11313, 11328], [1132a, 11330], [11332, 11333], [11335, 11339],
     3457        [1133d, 1133d], [11350, 11350], [1135d, 11361], [11400, 11434],
     3458        [11447, 1144a], [11480, 114af], [114c4, 114c5], [114c7, 114c7],
     3459        [11580, 115ae], [115d8, 115db], [11600, 1162f], [11644, 11644],
     3460        [11680, 116aa], [11700, 11719], [118a0, 118df], [118ff, 118ff],
     3461        [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c2e], [11c40, 11c40],
     3462        [11c72, 11c8f], [12000, 12399], [12400, 1246e], [12480, 12543],
     3463        [13000, 1342e], [14400, 14646], [16800, 16a38], [16a40, 16a5e],
     3464        [16ad0, 16aed], [16b00, 16b2f], [16b40, 16b43], [16b63, 16b77],
     3465        [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50], [16f93, 16f9f],
     3466        [16fe0, 16fe0], [17000, 187ec], [18800, 18af2], [1b000, 1b001],
     3467        [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
     3468        [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2],
     3469        [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb],
     3470        [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514],
     3471        [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544],
     3472        [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d6c0],
     3473        [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714], [1d716, 1d734],
     3474        [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788], [1d78a, 1d7a8],
     3475        [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e800, 1e8c4], [1e900, 1e943],
     3476        [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
     3477        [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
     3478        [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
     3479        [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
     3480        [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
     3481        [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
     3482        [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
     3483        [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
     3484        [1eeab, 1eebb], [20000, 2a6d6], [2a700, 2b734], [2b740, 2b81d],
     3485        [2b820, 2cea1], [2f800, 2fa1d]**/
    34873486        const UnicodeSet codepoint_set
    34883487            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14},
Note: See TracChangeset for help on using the changeset viewer.