source: icGREP/icgrep-devel/icgrep/UCD/SentenceBreakProperty.h @ 5159

Last change on this file since 5159 was 5159, checked in by cameron, 3 years ago

Support for enumeration basis sets

File size: 81.9 KB
Line 
1#ifndef SENTENCEBREAKPROPERTY_H
2#define SENTENCEBREAKPROPERTY_H
3/*
4 *  Copyright (c) 2016 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyObjects.h"
12#include "PropertyValueAliases.h"
13#include "unicode_set.h"
14
15namespace UCD {
16  namespace SB_ns {
17    const unsigned independent_prop_values = 15;
18    /** Code Point Ranges for XX
19    [0, 8], [14, 31], [35, 38], [42, 43], [47, 47], [59, 62], [64, 64],
20    [92, 92], [94, 96], [124, 124], [126, 132], [134, 159], [161, 169],
21    [172, 172], [174, 180], [182, 185], [188, 191], [215, 215], [247, 247],
22    [706, 709], [722, 735], [741, 747], [749, 749], [751, 767], [885, 885],
23    [888, 889], [894, 894], [896, 901], [903, 903], [907, 907], [909, 909],
24    [930, 930], [1014, 1014], [1154, 1154], [1328, 1328], [1367, 1368],
25    [1370, 1372], [1374, 1376], [1416, 1416], [1418, 1424], [1470, 1470],
26    [1472, 1472], [1475, 1475], [1478, 1478], [1480, 1487], [1515, 1519],
27    [1524, 1535], [1542, 1547], [1550, 1551], [1563, 1563], [1565, 1566],
28    [1642, 1642], [1645, 1645], [1758, 1758], [1769, 1769], [1789, 1790],
29    [1795, 1806], [1867, 1868], [1970, 1983], [2038, 2039], [2043, 2047],
30    [2094, 2111], [2140, 2207], [2229, 2229], [2238, 2259], [2416, 2416],
31    [2436, 2436], [2445, 2446], [2449, 2450], [2473, 2473], [2481, 2481],
32    [2483, 2485], [2490, 2491], [2501, 2502], [2505, 2506], [2511, 2518],
33    [2520, 2523], [2526, 2526], [2532, 2533], [2546, 2560], [2564, 2564],
34    [2571, 2574], [2577, 2578], [2601, 2601], [2609, 2609], [2612, 2612],
35    [2615, 2615], [2618, 2619], [2621, 2621], [2627, 2630], [2633, 2634],
36    [2638, 2640], [2642, 2648], [2653, 2653], [2655, 2661], [2678, 2688],
37    [2692, 2692], [2702, 2702], [2706, 2706], [2729, 2729], [2737, 2737],
38    [2740, 2740], [2746, 2747], [2758, 2758], [2762, 2762], [2766, 2767],
39    [2769, 2783], [2788, 2789], [2800, 2808], [2810, 2816], [2820, 2820],
40    [2829, 2830], [2833, 2834], [2857, 2857], [2865, 2865], [2868, 2868],
41    [2874, 2875], [2885, 2886], [2889, 2890], [2894, 2901], [2904, 2907],
42    [2910, 2910], [2916, 2917], [2928, 2928], [2930, 2945], [2948, 2948],
43    [2955, 2957], [2961, 2961], [2966, 2968], [2971, 2971], [2973, 2973],
44    [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3005], [3011, 3013],
45    [3017, 3017], [3022, 3023], [3025, 3030], [3032, 3045], [3056, 3071],
46    [3076, 3076], [3085, 3085], [3089, 3089], [3113, 3113], [3130, 3132],
47    [3141, 3141], [3145, 3145], [3150, 3156], [3159, 3159], [3163, 3167],
48    [3172, 3173], [3184, 3199], [3204, 3204], [3213, 3213], [3217, 3217],
49    [3241, 3241], [3252, 3252], [3258, 3259], [3269, 3269], [3273, 3273],
50    [3278, 3284], [3287, 3293], [3295, 3295], [3300, 3301], [3312, 3312],
51    [3315, 3328], [3332, 3332], [3341, 3341], [3345, 3345], [3387, 3388],
52    [3397, 3397], [3401, 3401], [3407, 3411], [3416, 3422], [3428, 3429],
53    [3440, 3449], [3456, 3457], [3460, 3460], [3479, 3481], [3506, 3506],
54    [3516, 3516], [3518, 3519], [3527, 3529], [3531, 3534], [3541, 3541],
55    [3543, 3543], [3552, 3557], [3568, 3569], [3572, 3584], [3643, 3647],
56    [3663, 3663], [3674, 3712], [3715, 3715], [3717, 3718], [3721, 3721],
57    [3723, 3724], [3726, 3731], [3736, 3736], [3744, 3744], [3748, 3748],
58    [3750, 3750], [3752, 3753], [3756, 3756], [3770, 3770], [3774, 3775],
59    [3781, 3781], [3783, 3783], [3790, 3791], [3802, 3803], [3808, 3839],
60    [3841, 3863], [3866, 3871], [3882, 3892], [3894, 3894], [3896, 3896],
61    [3912, 3912], [3949, 3952], [3973, 3973], [3992, 3992], [4029, 4037],
62    [4039, 4095], [4172, 4175], [4254, 4255], [4294, 4294], [4296, 4300],
63    [4302, 4303], [4347, 4347], [4681, 4681], [4686, 4687], [4695, 4695],
64    [4697, 4697], [4702, 4703], [4745, 4745], [4750, 4751], [4785, 4785],
65    [4790, 4791], [4799, 4799], [4801, 4801], [4806, 4807], [4823, 4823],
66    [4881, 4881], [4886, 4887], [4955, 4956], [4960, 4961], [4963, 4966],
67    [4969, 4991], [5008, 5023], [5110, 5111], [5118, 5120], [5741, 5741],
68    [5789, 5791], [5867, 5869], [5881, 5887], [5901, 5901], [5909, 5919],
69    [5943, 5951], [5972, 5983], [5997, 5997], [6001, 6001], [6004, 6015],
70    [6100, 6102], [6104, 6107], [6110, 6111], [6122, 6145], [6148, 6151],
71    [6154, 6154], [6159, 6159], [6170, 6175], [6264, 6271], [6315, 6319],
72    [6390, 6399], [6431, 6431], [6444, 6447], [6460, 6467], [6510, 6511],
73    [6517, 6527], [6572, 6575], [6602, 6607], [6618, 6655], [6684, 6687],
74    [6751, 6751], [6781, 6782], [6794, 6799], [6810, 6822], [6828, 6831],
75    [6847, 6911], [6988, 6991], [7004, 7005], [7008, 7018], [7028, 7039],
76    [7156, 7167], [7224, 7226], [7229, 7231], [7242, 7244], [7305, 7375],
77    [7379, 7379], [7415, 7415], [7418, 7423], [7670, 7674], [7958, 7959],
78    [7966, 7967], [8006, 8007], [8014, 8015], [8024, 8024], [8026, 8026],
79    [8028, 8028], [8030, 8030], [8062, 8063], [8117, 8117], [8125, 8125],
80    [8127, 8129], [8133, 8133], [8141, 8143], [8148, 8149], [8156, 8159],
81    [8173, 8177], [8181, 8181], [8189, 8191], [8208, 8210], [8213, 8215],
82    [8224, 8227], [8229, 8231], [8240, 8248], [8251, 8251], [8254, 8260],
83    [8266, 8286], [8293, 8293], [8304, 8304], [8306, 8316], [8320, 8332],
84    [8335, 8335], [8349, 8399], [8433, 8449], [8451, 8454], [8456, 8457],
85    [8468, 8468], [8470, 8472], [8478, 8483], [8485, 8485], [8487, 8487],
86    [8489, 8489], [8494, 8494], [8506, 8507], [8512, 8516], [8522, 8525],
87    [8527, 8543], [8585, 8967], [8972, 9000], [9003, 9397], [9450, 10074],
88    [10081, 10087], [10102, 10180], [10183, 10213], [10224, 10626],
89    [10649, 10711], [10716, 10747], [10750, 11263], [11311, 11311],
90    [11359, 11359], [11493, 11498], [11508, 11519], [11558, 11558],
91    [11560, 11564], [11566, 11567], [11624, 11630], [11632, 11646],
92    [11671, 11679], [11687, 11687], [11695, 11695], [11703, 11703],
93    [11711, 11711], [11719, 11719], [11727, 11727], [11735, 11735],
94    [11743, 11743], [11790, 11803], [11806, 11807], [11818, 11821],
95    [11824, 11835], [11837, 11841], [11843, 12287], [12291, 12292],
96    [12306, 12307], [12316, 12316], [12320, 12320], [12336, 12336],
97    [12342, 12343], [12349, 12352], [12439, 12440], [12443, 12444],
98    [12448, 12448], [12539, 12539], [12544, 12548], [12590, 12592],
99    [12687, 12703], [12731, 12783], [12800, 13311], [19894, 19967],
100    [40918, 40959], [42125, 42191], [42238, 42238], [42509, 42509],
101    [42540, 42559], [42611, 42611], [42622, 42622], [42738, 42738],
102    [42740, 42742], [42744, 42774], [42784, 42785], [42889, 42890],
103    [42927, 42927], [42936, 42998], [43048, 43071], [43124, 43125],
104    [43128, 43135], [43206, 43213], [43226, 43231], [43256, 43258],
105    [43260, 43260], [43262, 43263], [43310, 43310], [43348, 43359],
106    [43389, 43391], [43457, 43463], [43466, 43470], [43482, 43487],
107    [43519, 43519], [43575, 43583], [43598, 43599], [43610, 43612],
108    [43639, 43641], [43715, 43738], [43742, 43743], [43767, 43776],
109    [43783, 43784], [43791, 43792], [43799, 43807], [43815, 43815],
110    [43823, 43823], [43867, 43867], [43878, 43887], [44014, 44015],
111    [44026, 44031], [55204, 55215], [55239, 55242], [55292, 63743],
112    [64110, 64111], [64218, 64255], [64263, 64274], [64280, 64284],
113    [64297, 64297], [64311, 64311], [64317, 64317], [64319, 64319],
114    [64322, 64322], [64325, 64325], [64434, 64466], [64832, 64847],
115    [64912, 64913], [64968, 65007], [65020, 65023], [65042, 65042],
116    [65044, 65046], [65049, 65055], [65072, 65072], [65075, 65076],
117    [65093, 65094], [65097, 65103], [65107, 65108], [65119, 65122],
118    [65124, 65135], [65141, 65141], [65277, 65278], [65280, 65280],
119    [65282, 65287], [65290, 65291], [65295, 65305], [65307, 65310],
120    [65312, 65312], [65340, 65340], [65342, 65344], [65372, 65372],
121    [65374, 65374], [65381, 65381], [65471, 65473], [65480, 65481],
122    [65488, 65489], [65496, 65497], [65501, 65528], [65532, 65535],
123    [65548, 65548], [65575, 65575], [65595, 65595], [65598, 65598],
124    [65614, 65615], [65630, 65663], [65787, 65855], [65909, 66044],
125    [66046, 66175], [66205, 66207], [66257, 66271], [66273, 66303],
126    [66336, 66351], [66379, 66383], [66427, 66431], [66462, 66463],
127    [66500, 66503], [66512, 66512], [66518, 66559], [66718, 66719],
128    [66730, 66735], [66772, 66775], [66812, 66815], [66856, 66863],
129    [66916, 67071], [67383, 67391], [67414, 67423], [67432, 67583],
130    [67590, 67591], [67593, 67593], [67638, 67638], [67641, 67643],
131    [67645, 67646], [67670, 67679], [67703, 67711], [67743, 67807],
132    [67827, 67827], [67830, 67839], [67862, 67871], [67898, 67967],
133    [68024, 68029], [68032, 68095], [68100, 68100], [68103, 68107],
134    [68116, 68116], [68120, 68120], [68148, 68151], [68155, 68158],
135    [68160, 68181], [68184, 68191], [68221, 68223], [68253, 68287],
136    [68296, 68296], [68327, 68351], [68406, 68415], [68438, 68447],
137    [68467, 68479], [68498, 68607], [68681, 68735], [68787, 68799],
138    [68851, 69631], [69705, 69733], [69744, 69758], [69819, 69820],
139    [69826, 69839], [69865, 69871], [69882, 69887], [69941, 69941],
140    [69952, 69952], [69956, 69967], [70004, 70005], [70007, 70015],
141    [70087, 70089], [70094, 70095], [70107, 70107], [70109, 70109],
142    [70112, 70143], [70162, 70162], [70202, 70202], [70205, 70205],
143    [70207, 70271], [70279, 70279], [70281, 70281], [70286, 70286],
144    [70302, 70302], [70314, 70319], [70379, 70383], [70394, 70399],
145    [70404, 70404], [70413, 70414], [70417, 70418], [70441, 70441],
146    [70449, 70449], [70452, 70452], [70458, 70459], [70469, 70470],
147    [70473, 70474], [70478, 70479], [70481, 70486], [70488, 70492],
148    [70500, 70501], [70509, 70511], [70517, 70655], [70733, 70735],
149    [70746, 70783], [70854, 70854], [70856, 70863], [70874, 71039],
150    [71094, 71095], [71105, 71105], [71108, 71112], [71134, 71167],
151    [71235, 71235], [71237, 71247], [71258, 71295], [71352, 71359],
152    [71370, 71423], [71450, 71452], [71468, 71471], [71482, 71483],
153    [71487, 71839], [71914, 71934], [71936, 72383], [72441, 72703],
154    [72713, 72713], [72759, 72759], [72771, 72783], [72794, 72817],
155    [72848, 72849], [72872, 72872], [72887, 73727], [74650, 74751],
156    [74863, 74879], [75076, 77823], [78895, 82943], [83527, 92159],
157    [92729, 92735], [92767, 92767], [92778, 92781], [92784, 92879],
158    [92910, 92911], [92918, 92927], [92985, 92991], [92997, 93007],
159    [93018, 93026], [93048, 93052], [93072, 93951], [94021, 94031],
160    [94079, 94094], [94112, 94175], [94177, 94207], [100333, 100351],
161    [101107, 110591], [110594, 113663], [113771, 113775], [113789, 113791],
162    [113801, 113807], [113818, 113820], [113828, 119140], [119146, 119148],
163    [119171, 119172], [119180, 119209], [119214, 119361], [119365, 119807],
164    [119893, 119893], [119965, 119965], [119968, 119969], [119971, 119972],
165    [119975, 119976], [119981, 119981], [119994, 119994], [119996, 119996],
166    [120004, 120004], [120070, 120070], [120075, 120076], [120085, 120085],
167    [120093, 120093], [120122, 120122], [120127, 120127], [120133, 120133],
168    [120135, 120137], [120145, 120145], [120486, 120487], [120513, 120513],
169    [120539, 120539], [120571, 120571], [120597, 120597], [120629, 120629],
170    [120655, 120655], [120687, 120687], [120713, 120713], [120745, 120745],
171    [120771, 120771], [120780, 120781], [120832, 121343], [121399, 121402],
172    [121453, 121460], [121462, 121475], [121477, 121479], [121481, 121498],
173    [121504, 121504], [121520, 122879], [122887, 122887], [122905, 122906],
174    [122914, 122914], [122917, 122917], [122923, 124927], [125125, 125135],
175    [125143, 125183], [125259, 125263], [125274, 126463], [126468, 126468],
176    [126496, 126496], [126499, 126499], [126501, 126502], [126504, 126504],
177    [126515, 126515], [126520, 126520], [126522, 126522], [126524, 126529],
178    [126531, 126534], [126536, 126536], [126538, 126538], [126540, 126540],
179    [126544, 126544], [126547, 126547], [126549, 126550], [126552, 126552],
180    [126554, 126554], [126556, 126556], [126558, 126558], [126560, 126560],
181    [126563, 126563], [126565, 126566], [126571, 126571], [126579, 126579],
182    [126584, 126584], [126589, 126589], [126591, 126591], [126602, 126602],
183    [126620, 126624], [126628, 126628], [126634, 126634], [126652, 127279],
184    [127306, 127311], [127338, 127343], [127370, 128629], [128633, 131071],
185    [173783, 173823], [177973, 177983], [178206, 178207], [183970, 194559],
186    [195102, 917504], [917506, 917535], [917632, 917759], [918000, 1114111]**/
187    const UnicodeSet xx_Set
188        {{{Mixed, 8}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 3},
189          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4},
190          {Mixed, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
191          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
192          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 2},
193          {Empty, 4}, {Mixed, 40}, {Full, 1}, {Mixed, 3}, {Full, 1},
194          {Mixed, 7}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
195          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
196          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
197          {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Empty, 18}, {Mixed, 2},
198          {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
199          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
200          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1},
201          {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
202          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
203          {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
204          {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 8},
205          {Full, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Full, 11},
206          {Mixed, 2}, {Full, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
207          {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 12},
208          {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 16}, {Empty, 1},
209          {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
210          {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Full, 13},
211          {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
212          {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 16},
213          {Empty, 205}, {Mixed, 1}, {Full, 2}, {Empty, 654}, {Mixed, 1},
214          {Full, 1}, {Empty, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
215          {Empty, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
216          {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
217          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
218          {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
219          {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 6}, {Empty, 3},
220          {Mixed, 1}, {Empty, 349}, {Mixed, 3}, {Full, 264}, {Empty, 11},
221          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
222          {Empty, 2}, {Mixed, 2}, {Empty, 11}, {Mixed, 1}, {Empty, 1},
223          {Mixed, 1}, {Empty, 1}, {Mixed, 6}, {Empty, 3}, {Mixed, 5},
224          {Empty, 1}, {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 1},
225          {Full, 2}, {Empty, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
226          {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
227          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
228          {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
229          {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 5},
230          {Full, 2}, {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 1},
231          {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1},
232          {Mixed, 4}, {Full, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1},
233          {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 24},
234          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
235          {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
236          {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
237          {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
238          {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
239          {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
240          {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 14},
241          {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 26},
242          {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
243          {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1},
244          {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17},
245          {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
246          {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1},
247          {Empty, 191}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Full, 296},
248          {Mixed, 1}, {Full, 95}, {Empty, 3}, {Mixed, 3}, {Full, 165},
249          {Mixed, 3}, {Full, 4}, {Mixed, 1}, {Full, 13}, {Empty, 2},
250          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
251          {Empty, 10}, {Mixed, 10}, {Empty, 1}, {Full, 16}, {Empty, 1},
252          {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 42}, {Mixed, 2},
253          {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
254          {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 19}, {Mixed, 4},
255          {Full, 38}, {Mixed, 1}, {Full, 76}, {Empty, 1334}, {Mixed, 1},
256          {Full, 1}, {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
257          {Empty, 180}, {Mixed, 1}, {Full, 330}, {Empty, 16}, {Mixed, 1},
258          {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7},
259          {Mixed, 1}, {Full, 6128}},
260         {0xffffc1ff, 0x78008c78, 0xd0000001, 0xd0000001, 0xffffffdf,
261          0xf3dfd3fe, 0x00800000, 0x00800000, 0xfffc003c, 0xffffafe0,
262          0x43200000, 0x000028bf, 0x00000004, 0x00400000, 0x00000004,
263          0x00010000, 0xdd800000, 0x00000001, 0x0001fd00, 0x40000000,
264          0x0000ff49, 0xfff0f800, 0x6800cfc0, 0x00002400, 0x40000000,
265          0x60000200, 0x00007ff8, 0x00001800, 0xfffc0000, 0xf8c00000,
266          0xffffc000, 0xf0000000, 0xc0200000, 0x000fffff, 0x00010000,
267          0x00066010, 0x0c3a0200, 0x4f7f8660, 0xfffc0030, 0x00067811,
268          0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200,
269          0xfffec440, 0xfdff0030, 0x00066011, 0x0c120200, 0x4f3fc660,
270          0xfffd0030, 0x29c23813, 0x3c0038e7, 0xff7ec238, 0xffff003f,
271          0x00022010, 0x1c000200, 0xf89fc220, 0xffff0030, 0x00022010,
272          0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022011, 0x18000000,
273          0x7f0f8220, 0x03ff0030, 0x03800013, 0xd0040000, 0x00a07b80,
274          0xfff3003f, 0x00000001, 0xf8000000, 0xfc008000, 0x010fda69,
275          0xc4001351, 0x0c00c0a0, 0xfcfffffe, 0x015ffc00, 0x00000100,
276          0x0001e000, 0x01000020, 0xe0000000, 0xffffffbf, 0x0000f000,
277          0xc0000000, 0x0000df40, 0x08000000, 0xc280c200, 0x0000c200,
278          0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xfffffe7b,
279          0xffff0000, 0xc0c00000, 0x00000001, 0x00002000, 0xe0000000,
280          0xfe003800, 0xffe02000, 0xff800000, 0xfff00000, 0xfff22000,
281          0xcf700000, 0xfffffc00, 0xfc0084f3, 0xff000000, 0x0000f800,
282          0xffc00000, 0x80000000, 0xf000f000, 0x0000000f, 0xffe0c000,
283          0x0000f000, 0xfc00fc00, 0xf0000000, 0x80000000, 0x60000000,
284          0xfc00fc00, 0x8000f07f, 0x3000f000, 0xfff007ff, 0xfff00000,
285          0xe7000000, 0x00001c00, 0xfffffe00, 0x0008ffff, 0xfc800000,
286          0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000, 0xa0200000,
287          0xf030e023, 0xe023e000, 0x00e70000, 0xc9ff00ef, 0x7ffffc1f,
288          0x1ffd0020, 0xe0009fff, 0x0000ffff, 0xfffe0000, 0xc1d0037b,
289          0x0c0042af, 0xffffbc1f, 0xfffffe00, 0xfffff0ff, 0xfffff9ff,
290          0x003fffff, 0xfffffc00, 0x07ffffff, 0xffc000fe, 0xffffff9f,
291          0xffff003f, 0xfe000007, 0xf0ffffff, 0xcfffffff, 0x00008000,
292          0x80000000, 0xfff007e0, 0x0000df40, 0x7fff7f00, 0xff800000,
293          0x80808080, 0x80808080, 0xcfffc000, 0xefff3c00, 0xfffffffb,
294          0x100c0018, 0xe0c10001, 0x00000001, 0x19800000, 0x00000001,
295          0x08000000, 0x0000001f, 0x0001c000, 0xffff8000, 0xf8000000,
296          0x0000ffff, 0xffc00000, 0xffc00000, 0xffffe000, 0x0000ffff,
297          0x40000000, 0x00002000, 0xfffff000, 0x40080000, 0xff740000,
298          0x007fffff, 0x00000003, 0x00000600, 0xff008000, 0x007fffff,
299          0xffffff00, 0xff300000, 0xfc003fc0, 0xd7000000, 0x00004000,
300          0xfff00000, 0xe0000000, 0xfc007cfe, 0x80000000, 0xff800000,
301          0x1c00c000, 0x03800000, 0xc7fffff8, 0xff800000, 0xff818181,
302          0x00008080, 0x08000000, 0x0000ffc0, 0xfc00c000, 0x0000fff0,
303          0x00000780, 0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80,
304          0xa0800200, 0x00000024, 0xfffc0000, 0x0007ffff, 0x0000ffff,
305          0x00030000, 0xffffff00, 0xf000ffff, 0xfe740000, 0x00190000,
306          0x8018fe60, 0x0020fff7, 0x60000000, 0x7bff8cfd, 0xd0000001,
307          0x50000001, 0x00000020, 0x80000000, 0xe3030303, 0xf1ffffff,
308          0x00001000, 0x48000080, 0xc000c000, 0xf8000000, 0xffe00000,
309          0xdfffffff, 0xe0000000, 0xfffe0000, 0xfffffffe, 0x0000ffff,
310          0x0000f800, 0xf8000000, 0xc0000000, 0xffc100f0, 0xc0000000,
311          0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00, 0xfffffff0,
312          0xff800000, 0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000,
313          0xffc00000, 0xff800000, 0x80000000, 0xffc80000, 0xffc00000,
314          0xfc000000, 0x3f000000, 0x01100f90, 0x78f00000, 0xff3fffff,
315          0xe0000000, 0xe0000000, 0x00000100, 0xffffff80, 0xffc00000,
316          0xffc00000, 0xfff80000, 0xfffc0000, 0xfffffe00, 0xfff80000,
317          0xfff80000, 0xfffffe00, 0x7fff003f, 0x18000000, 0x0000fffc,
318          0xfc00fe00, 0x00200000, 0x0000fff1, 0xffb00000, 0x2800c380,
319          0x00040000, 0xa4000000, 0x40004280, 0x0000fc00, 0xfc00f800,
320          0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xfc00e000,
321          0xfc00ff40, 0x00c00000, 0xc00001f2, 0xfc00ffe8, 0xff000000,
322          0xfffffc00, 0x1c000000, 0x8c00f000, 0x7ffffc00, 0xfe000000,
323          0x00000200, 0x00800000, 0xfc00fff8, 0x0003ffff, 0x00030000,
324          0xff800100, 0xfc000000, 0xffff8000, 0xfffffff0, 0xffff8000,
325          0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff,
326          0xffc0c000, 0xfe000000, 0xfc00ffe0, 0x1f000007, 0xffff0000,
327          0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffe, 0xffffe000,
328          0xfff80000, 0xfffffffc, 0xe000f800, 0x1c00fe00, 0xfffffff0,
329          0x00001c1f, 0xfffff018, 0xffffc3ff, 0xffffffe3, 0x00200000,
330          0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
331          0x000203a0, 0x000000c0, 0x08000002, 0x08000000, 0x00200000,
332          0x00200000, 0x00008000, 0x00008000, 0x00000200, 0x00000200,
333          0x00003008, 0x07800000, 0xffdfe000, 0x07fffeef, 0xffff0001,
334          0x06000080, 0xfffff824, 0xff80ffe0, 0xfc00f800, 0x00000010,
335          0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
336          0x0000ffff, 0x0000fc00, 0x0000fc00, 0xfffffc00, 0xfe3fffff,
337          0xff800000, 0xffe00000, 0xc0000000, 0xfffffffc, 0xc0000000,
338          0xfffffffd, 0xffff0000}};
339    /** Code Point Ranges for CR
340    [13, 13]**/
341    const UnicodeSet cr_Set
342        {{{Mixed, 1}, {Empty, 34815}},
343         {0x00002000}};
344    /** Code Point Ranges for LF
345    [10, 10]**/
346    const UnicodeSet lf_Set
347        {{{Mixed, 1}, {Empty, 34815}},
348         {0x00000400}};
349    /** Code Point Ranges for EX
350    [768, 879], [1155, 1161], [1425, 1469], [1471, 1471], [1473, 1474],
351    [1476, 1477], [1479, 1479], [1552, 1562], [1611, 1631], [1648, 1648],
352    [1750, 1756], [1759, 1764], [1767, 1768], [1770, 1773], [1809, 1809],
353    [1840, 1866], [1958, 1968], [2027, 2035], [2070, 2073], [2075, 2083],
354    [2085, 2087], [2089, 2093], [2137, 2139], [2260, 2273], [2275, 2307],
355    [2362, 2364], [2366, 2383], [2385, 2391], [2402, 2403], [2433, 2435],
356    [2492, 2492], [2494, 2500], [2503, 2504], [2507, 2509], [2519, 2519],
357    [2530, 2531], [2561, 2563], [2620, 2620], [2622, 2626], [2631, 2632],
358    [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2691],
359    [2748, 2748], [2750, 2757], [2759, 2761], [2763, 2765], [2786, 2787],
360    [2817, 2819], [2876, 2876], [2878, 2884], [2887, 2888], [2891, 2893],
361    [2902, 2903], [2914, 2915], [2946, 2946], [3006, 3010], [3014, 3016],
362    [3018, 3021], [3031, 3031], [3072, 3075], [3134, 3140], [3142, 3144],
363    [3146, 3149], [3157, 3158], [3170, 3171], [3201, 3203], [3260, 3260],
364    [3262, 3268], [3270, 3272], [3274, 3277], [3285, 3286], [3298, 3299],
365    [3329, 3331], [3390, 3396], [3398, 3400], [3402, 3405], [3415, 3415],
366    [3426, 3427], [3458, 3459], [3530, 3530], [3535, 3540], [3542, 3542],
367    [3544, 3551], [3570, 3571], [3633, 3633], [3636, 3642], [3655, 3662],
368    [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865],
369    [3893, 3893], [3895, 3895], [3897, 3897], [3902, 3903], [3953, 3972],
370    [3974, 3975], [3981, 3991], [3993, 4028], [4038, 4038], [4139, 4158],
371    [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], [4209, 4212],
372    [4226, 4237], [4239, 4239], [4250, 4253], [4957, 4959], [5906, 5908],
373    [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6099], [6109, 6109],
374    [6155, 6157], [6277, 6278], [6313, 6313], [6432, 6443], [6448, 6459],
375    [6679, 6683], [6741, 6750], [6752, 6780], [6783, 6783], [6832, 6846],
376    [6912, 6916], [6964, 6980], [7019, 7027], [7040, 7042], [7073, 7085],
377    [7142, 7155], [7204, 7223], [7376, 7378], [7380, 7400], [7405, 7405],
378    [7410, 7412], [7416, 7417], [7616, 7669], [7675, 7679], [8204, 8205],
379    [8400, 8432], [11503, 11505], [11647, 11647], [11744, 11775],
380    [12330, 12335], [12441, 12442], [42607, 42610], [42612, 42621],
381    [42654, 42655], [42736, 42737], [43010, 43010], [43014, 43014],
382    [43019, 43019], [43043, 43047], [43136, 43137], [43188, 43205],
383    [43232, 43249], [43302, 43309], [43335, 43347], [43392, 43395],
384    [43443, 43456], [43493, 43493], [43561, 43574], [43587, 43587],
385    [43596, 43597], [43643, 43645], [43696, 43696], [43698, 43700],
386    [43703, 43704], [43710, 43711], [43713, 43713], [43755, 43759],
387    [43765, 43766], [44003, 44010], [44012, 44013], [64286, 64286],
388    [65024, 65039], [65056, 65071], [65438, 65439], [66045, 66045],
389    [66272, 66272], [66422, 66426], [68097, 68099], [68101, 68102],
390    [68108, 68111], [68152, 68154], [68159, 68159], [68325, 68326],
391    [69632, 69634], [69688, 69702], [69759, 69762], [69808, 69818],
392    [69888, 69890], [69927, 69940], [70003, 70003], [70016, 70018],
393    [70067, 70080], [70090, 70092], [70188, 70199], [70206, 70206],
394    [70367, 70378], [70400, 70403], [70460, 70460], [70462, 70468],
395    [70471, 70472], [70475, 70477], [70487, 70487], [70498, 70499],
396    [70502, 70508], [70512, 70516], [70709, 70726], [70832, 70851],
397    [71087, 71093], [71096, 71104], [71132, 71133], [71216, 71232],
398    [71339, 71351], [71453, 71467], [72751, 72758], [72760, 72767],
399    [72850, 72871], [72873, 72886], [92912, 92916], [92976, 92982],
400    [94033, 94078], [94095, 94098], [113821, 113822], [119141, 119145],
401    [119149, 119154], [119163, 119170], [119173, 119179], [119210, 119213],
402    [119362, 119364], [121344, 121398], [121403, 121452], [121461, 121461],
403    [121476, 121476], [121499, 121503], [121505, 121519], [122880, 122886],
404    [122888, 122904], [122907, 122913], [122915, 122916], [122918, 122922],
405    [125136, 125142], [125252, 125258], [917536, 917631], [917760, 917999]**/
406    const UnicodeSet ex_Set
407        {{{Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
408          {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
409          {Mixed, 2}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
410          {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 25}, {Empty, 1},
411          {Mixed, 13}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
412          {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
413          {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
414          {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
415          {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
416          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
417          {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
418          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 6},
419          {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
420          {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
421          {Empty, 3}, {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2},
422          {Mixed, 1}, {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
423          {Empty, 8}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 1},
424          {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
425          {Empty, 1}, {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632},
426          {Mixed, 1}, {Empty, 23}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
427          {Empty, 18}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3},
428          {Mixed, 1}, {Empty, 52}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
429          {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
430          {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6},
431          {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
432          {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
433          {Empty, 2}, {Mixed, 2}, {Empty, 39}, {Mixed, 1}, {Empty, 2},
434          {Mixed, 2}, {Empty, 625}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
435          {Empty, 32}, {Mixed, 3}, {Empty, 615}, {Mixed, 1}, {Empty, 166},
436          {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1},
437          {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42}, {Mixed, 2},
438          {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 24758},
439          {Full, 3}, {Empty, 4}, {Full, 7}, {Mixed, 1}, {Empty, 6128}},
440         {0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6,
441          0x07ff0000, 0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f,
442          0x00020000, 0xffff0000, 0x000007ff, 0x0001ffc0, 0x000ff800,
443          0xfbc00000, 0x00003eef, 0x0e000000, 0xfff00000, 0xfffffffb,
444          0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c, 0x0000000e,
445          0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
446          0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf,
447          0x0000000c, 0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c,
448          0x00000004, 0xc0000000, 0x00803dc7, 0x0000000f, 0xc0000000,
449          0x00603ddf, 0x0000000c, 0x0000000e, 0xd0000000, 0x00603ddf,
450          0x0000000c, 0x0000000e, 0xc0000000, 0x00803ddf, 0x0000000c,
451          0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
452          0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000,
453          0xfeffe0df, 0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000,
454          0x001e3f9d, 0x3c00bffc, 0xe0000000, 0x001c0000, 0x001c0000,
455          0x000c0000, 0x000c0000, 0xfff00000, 0x200fffff, 0x00003800,
456          0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000, 0x7fe00000,
457          0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
458          0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0,
459          0xfff70000, 0x031c21ff, 0xf83fffff, 0x00003000, 0xffff0000,
460          0x0001ffff, 0x00038000, 0x80000000, 0x0000fc00, 0x06000000,
461          0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x000000f8,
462          0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff, 0x00003fc0,
463          0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x00000020,
464          0x007ffe00, 0x00003008, 0x38000000, 0xc19d0000, 0x00000002,
465          0x0060f800, 0x000037f8, 0x40000000, 0x0000ffff, 0x0000ffff,
466          0xc0000000, 0x20000000, 0x00000001, 0x07c00000, 0x0000f06e,
467          0x87000000, 0x00000060, 0x00000007, 0xff000000, 0x0000007f,
468          0x80000000, 0x00000007, 0x07ff0000, 0x00000007, 0x001fff80,
469          0x00080000, 0x00000007, 0xfff80000, 0x00001c01, 0x40fff000,
470          0x80000000, 0x000007ff, 0x0000000f, 0xd0000000, 0x0080399f,
471          0x001f1fcc, 0xffe00000, 0x0000007f, 0xffff0000, 0x0000000f,
472          0xff3f8000, 0x30000001, 0xffff0000, 0x00000001, 0x00fff800,
473          0xe0000000, 0x00000fff, 0xff7f8000, 0xfffc0000, 0x007ffeff,
474          0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff, 0x00078000,
475          0x60000000, 0xf807e3e0, 0x00000fe7, 0x00003c00, 0x0000001c,
476          0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f,
477          0x000007db, 0x007f0000, 0x000007f0, 0x0000ffff}};
478    /** Code Point Ranges for SE
479    [133, 133], [8232, 8233]**/
480    const UnicodeSet se_Set
481        {{{Empty, 4}, {Mixed, 1}, {Empty, 252}, {Mixed, 1}, {Empty, 34558}},
482         {0x00000020, 0x00000300}};
483    /** Code Point Ranges for FO
484    [173, 173], [1536, 1541], [1564, 1564], [1757, 1757], [1807, 1807],
485    [2274, 2274], [6158, 6158], [8203, 8203], [8206, 8207], [8234, 8238],
486    [8288, 8292], [8294, 8303], [65279, 65279], [65529, 65531],
487    [69821, 69821], [113824, 113827], [119155, 119162], [917505, 917505]**/
488    const UnicodeSet fo_Set
489        {{{Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5},
490          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
491          {Empty, 120}, {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1},
492          {Mixed, 1}, {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
493          {Empty, 133}, {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165},
494          {Mixed, 1}, {Empty, 24948}, {Mixed, 1}, {Empty, 6143}},
495         {0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004,
496          0x00004000, 0x0000c800, 0x00007c00, 0x0000ffdf, 0x80000000,
497          0x0e000000, 0x20000000, 0x0000000f, 0x07f80000, 0x00000002}};
498    /** Code Point Ranges for SP
499    [9, 9], [11, 12], [32, 32], [160, 160], [5760, 5760], [8192, 8202],
500    [8239, 8239], [8287, 8287], [12288, 12288]**/
501    const UnicodeSet sp_Set
502        {{{Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 174}, {Mixed, 1},
503          {Empty, 75}, {Mixed, 3}, {Empty, 125}, {Mixed, 1}, {Empty, 34431}},
504         {0x00001a00, 0x00000001, 0x00000001, 0x00000001, 0x000007ff,
505          0x00008000, 0x80000000, 0x00000001}};
506    /** Code Point Ranges for LO
507    [97, 122], [170, 170], [181, 181], [186, 186], [223, 246], [248, 255],
508    [257, 257], [259, 259], [261, 261], [263, 263], [265, 265], [267, 267],
509    [269, 269], [271, 271], [273, 273], [275, 275], [277, 277], [279, 279],
510    [281, 281], [283, 283], [285, 285], [287, 287], [289, 289], [291, 291],
511    [293, 293], [295, 295], [297, 297], [299, 299], [301, 301], [303, 303],
512    [305, 305], [307, 307], [309, 309], [311, 312], [314, 314], [316, 316],
513    [318, 318], [320, 320], [322, 322], [324, 324], [326, 326], [328, 329],
514    [331, 331], [333, 333], [335, 335], [337, 337], [339, 339], [341, 341],
515    [343, 343], [345, 345], [347, 347], [349, 349], [351, 351], [353, 353],
516    [355, 355], [357, 357], [359, 359], [361, 361], [363, 363], [365, 365],
517    [367, 367], [369, 369], [371, 371], [373, 373], [375, 375], [378, 378],
518    [380, 380], [382, 384], [387, 387], [389, 389], [392, 392], [396, 397],
519    [402, 402], [405, 405], [409, 411], [414, 414], [417, 417], [419, 419],
520    [421, 421], [424, 424], [426, 427], [429, 429], [432, 432], [436, 436],
521    [438, 438], [441, 442], [445, 447], [454, 454], [457, 457], [460, 460],
522    [462, 462], [464, 464], [466, 466], [468, 468], [470, 470], [472, 472],
523    [474, 474], [476, 477], [479, 479], [481, 481], [483, 483], [485, 485],
524    [487, 487], [489, 489], [491, 491], [493, 493], [495, 496], [499, 499],
525    [501, 501], [505, 505], [507, 507], [509, 509], [511, 511], [513, 513],
526    [515, 515], [517, 517], [519, 519], [521, 521], [523, 523], [525, 525],
527    [527, 527], [529, 529], [531, 531], [533, 533], [535, 535], [537, 537],
528    [539, 539], [541, 541], [543, 543], [545, 545], [547, 547], [549, 549],
529    [551, 551], [553, 553], [555, 555], [557, 557], [559, 559], [561, 561],
530    [563, 569], [572, 572], [575, 576], [578, 578], [583, 583], [585, 585],
531    [587, 587], [589, 589], [591, 659], [661, 696], [704, 705], [736, 740],
532    [881, 881], [883, 883], [887, 887], [890, 893], [912, 912], [940, 974],
533    [976, 977], [981, 983], [985, 985], [987, 987], [989, 989], [991, 991],
534    [993, 993], [995, 995], [997, 997], [999, 999], [1001, 1001],
535    [1003, 1003], [1005, 1005], [1007, 1011], [1013, 1013], [1016, 1016],
536    [1019, 1020], [1072, 1119], [1121, 1121], [1123, 1123], [1125, 1125],
537    [1127, 1127], [1129, 1129], [1131, 1131], [1133, 1133], [1135, 1135],
538    [1137, 1137], [1139, 1139], [1141, 1141], [1143, 1143], [1145, 1145],
539    [1147, 1147], [1149, 1149], [1151, 1151], [1153, 1153], [1163, 1163],
540    [1165, 1165], [1167, 1167], [1169, 1169], [1171, 1171], [1173, 1173],
541    [1175, 1175], [1177, 1177], [1179, 1179], [1181, 1181], [1183, 1183],
542    [1185, 1185], [1187, 1187], [1189, 1189], [1191, 1191], [1193, 1193],
543    [1195, 1195], [1197, 1197], [1199, 1199], [1201, 1201], [1203, 1203],
544    [1205, 1205], [1207, 1207], [1209, 1209], [1211, 1211], [1213, 1213],
545    [1215, 1215], [1218, 1218], [1220, 1220], [1222, 1222], [1224, 1224],
546    [1226, 1226], [1228, 1228], [1230, 1231], [1233, 1233], [1235, 1235],
547    [1237, 1237], [1239, 1239], [1241, 1241], [1243, 1243], [1245, 1245],
548    [1247, 1247], [1249, 1249], [1251, 1251], [1253, 1253], [1255, 1255],
549    [1257, 1257], [1259, 1259], [1261, 1261], [1263, 1263], [1265, 1265],
550    [1267, 1267], [1269, 1269], [1271, 1271], [1273, 1273], [1275, 1275],
551    [1277, 1277], [1279, 1279], [1281, 1281], [1283, 1283], [1285, 1285],
552    [1287, 1287], [1289, 1289], [1291, 1291], [1293, 1293], [1295, 1295],
553    [1297, 1297], [1299, 1299], [1301, 1301], [1303, 1303], [1305, 1305],
554    [1307, 1307], [1309, 1309], [1311, 1311], [1313, 1313], [1315, 1315],
555    [1317, 1317], [1319, 1319], [1321, 1321], [1323, 1323], [1325, 1325],
556    [1327, 1327], [1377, 1415], [5112, 5117], [7296, 7304], [7424, 7615],
557    [7681, 7681], [7683, 7683], [7685, 7685], [7687, 7687], [7689, 7689],
558    [7691, 7691], [7693, 7693], [7695, 7695], [7697, 7697], [7699, 7699],
559    [7701, 7701], [7703, 7703], [7705, 7705], [7707, 7707], [7709, 7709],
560    [7711, 7711], [7713, 7713], [7715, 7715], [7717, 7717], [7719, 7719],
561    [7721, 7721], [7723, 7723], [7725, 7725], [7727, 7727], [7729, 7729],
562    [7731, 7731], [7733, 7733], [7735, 7735], [7737, 7737], [7739, 7739],
563    [7741, 7741], [7743, 7743], [7745, 7745], [7747, 7747], [7749, 7749],
564    [7751, 7751], [7753, 7753], [7755, 7755], [7757, 7757], [7759, 7759],
565    [7761, 7761], [7763, 7763], [7765, 7765], [7767, 7767], [7769, 7769],
566    [7771, 7771], [7773, 7773], [7775, 7775], [7777, 7777], [7779, 7779],
567    [7781, 7781], [7783, 7783], [7785, 7785], [7787, 7787], [7789, 7789],
568    [7791, 7791], [7793, 7793], [7795, 7795], [7797, 7797], [7799, 7799],
569    [7801, 7801], [7803, 7803], [7805, 7805], [7807, 7807], [7809, 7809],
570    [7811, 7811], [7813, 7813], [7815, 7815], [7817, 7817], [7819, 7819],
571    [7821, 7821], [7823, 7823], [7825, 7825], [7827, 7827], [7829, 7837],
572    [7839, 7839], [7841, 7841], [7843, 7843], [7845, 7845], [7847, 7847],
573    [7849, 7849], [7851, 7851], [7853, 7853], [7855, 7855], [7857, 7857],
574    [7859, 7859], [7861, 7861], [7863, 7863], [7865, 7865], [7867, 7867],
575    [7869, 7869], [7871, 7871], [7873, 7873], [7875, 7875], [7877, 7877],
576    [7879, 7879], [7881, 7881], [7883, 7883], [7885, 7885], [7887, 7887],
577    [7889, 7889], [7891, 7891], [7893, 7893], [7895, 7895], [7897, 7897],
578    [7899, 7899], [7901, 7901], [7903, 7903], [7905, 7905], [7907, 7907],
579    [7909, 7909], [7911, 7911], [7913, 7913], [7915, 7915], [7917, 7917],
580    [7919, 7919], [7921, 7921], [7923, 7923], [7925, 7925], [7927, 7927],
581    [7929, 7929], [7931, 7931], [7933, 7933], [7935, 7943], [7952, 7957],
582    [7968, 7975], [7984, 7991], [8000, 8005], [8016, 8023], [8032, 8039],
583    [8048, 8061], [8064, 8071], [8080, 8087], [8096, 8103], [8112, 8116],
584    [8118, 8119], [8126, 8126], [8130, 8132], [8134, 8135], [8144, 8147],
585    [8150, 8151], [8160, 8167], [8178, 8180], [8182, 8183], [8305, 8305],
586    [8319, 8319], [8336, 8348], [8458, 8458], [8462, 8463], [8467, 8467],
587    [8495, 8495], [8500, 8500], [8505, 8505], [8508, 8509], [8518, 8521],
588    [8526, 8526], [8560, 8575], [8580, 8580], [9424, 9449], [11312, 11358],
589    [11361, 11361], [11365, 11366], [11368, 11368], [11370, 11370],
590    [11372, 11372], [11377, 11377], [11379, 11380], [11382, 11389],
591    [11393, 11393], [11395, 11395], [11397, 11397], [11399, 11399],
592    [11401, 11401], [11403, 11403], [11405, 11405], [11407, 11407],
593    [11409, 11409], [11411, 11411], [11413, 11413], [11415, 11415],
594    [11417, 11417], [11419, 11419], [11421, 11421], [11423, 11423],
595    [11425, 11425], [11427, 11427], [11429, 11429], [11431, 11431],
596    [11433, 11433], [11435, 11435], [11437, 11437], [11439, 11439],
597    [11441, 11441], [11443, 11443], [11445, 11445], [11447, 11447],
598    [11449, 11449], [11451, 11451], [11453, 11453], [11455, 11455],
599    [11457, 11457], [11459, 11459], [11461, 11461], [11463, 11463],
600    [11465, 11465], [11467, 11467], [11469, 11469], [11471, 11471],
601    [11473, 11473], [11475, 11475], [11477, 11477], [11479, 11479],
602    [11481, 11481], [11483, 11483], [11485, 11485], [11487, 11487],
603    [11489, 11489], [11491, 11492], [11500, 11500], [11502, 11502],
604    [11507, 11507], [11520, 11557], [11559, 11559], [11565, 11565],
605    [42561, 42561], [42563, 42563], [42565, 42565], [42567, 42567],
606    [42569, 42569], [42571, 42571], [42573, 42573], [42575, 42575],
607    [42577, 42577], [42579, 42579], [42581, 42581], [42583, 42583],
608    [42585, 42585], [42587, 42587], [42589, 42589], [42591, 42591],
609    [42593, 42593], [42595, 42595], [42597, 42597], [42599, 42599],
610    [42601, 42601], [42603, 42603], [42605, 42605], [42625, 42625],
611    [42627, 42627], [42629, 42629], [42631, 42631], [42633, 42633],
612    [42635, 42635], [42637, 42637], [42639, 42639], [42641, 42641],
613    [42643, 42643], [42645, 42645], [42647, 42647], [42649, 42649],
614    [42651, 42653], [42787, 42787], [42789, 42789], [42791, 42791],
615    [42793, 42793], [42795, 42795], [42797, 42797], [42799, 42801],
616    [42803, 42803], [42805, 42805], [42807, 42807], [42809, 42809],
617    [42811, 42811], [42813, 42813], [42815, 42815], [42817, 42817],
618    [42819, 42819], [42821, 42821], [42823, 42823], [42825, 42825],
619    [42827, 42827], [42829, 42829], [42831, 42831], [42833, 42833],
620    [42835, 42835], [42837, 42837], [42839, 42839], [42841, 42841],
621    [42843, 42843], [42845, 42845], [42847, 42847], [42849, 42849],
622    [42851, 42851], [42853, 42853], [42855, 42855], [42857, 42857],
623    [42859, 42859], [42861, 42861], [42863, 42872], [42874, 42874],
624    [42876, 42876], [42879, 42879], [42881, 42881], [42883, 42883],
625    [42885, 42885], [42887, 42887], [42892, 42892], [42894, 42894],
626    [42897, 42897], [42899, 42901], [42903, 42903], [42905, 42905],
627    [42907, 42907], [42909, 42909], [42911, 42911], [42913, 42913],
628    [42915, 42915], [42917, 42917], [42919, 42919], [42921, 42921],
629    [42933, 42933], [42935, 42935], [43000, 43002], [43824, 43866],
630    [43868, 43877], [43888, 43967], [64256, 64262], [64275, 64279],
631    [65345, 65370], [66600, 66639], [66776, 66811], [68800, 68850],
632    [71872, 71903], [119834, 119859], [119886, 119892], [119894, 119911],
633    [119938, 119963], [119990, 119993], [119995, 119995], [119997, 120003],
634    [120005, 120015], [120042, 120067], [120094, 120119], [120146, 120171],
635    [120198, 120223], [120250, 120275], [120302, 120327], [120354, 120379],
636    [120406, 120431], [120458, 120485], [120514, 120538], [120540, 120545],
637    [120572, 120596], [120598, 120603], [120630, 120654], [120656, 120661],
638    [120688, 120712], [120714, 120719], [120746, 120770], [120772, 120777],
639    [120779, 120779], [125218, 125251]**/
640    const UnicodeSet lo_Set
641        {{{Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 14}, {Full, 1},
642          {Mixed, 4}, {Empty, 3}, {Mixed, 5}, {Empty, 1}, {Mixed, 1},
643          {Full, 1}, {Mixed, 7}, {Empty, 1}, {Mixed, 2}, {Empty, 114},
644          {Mixed, 1}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Full, 6},
645          {Empty, 2}, {Mixed, 16}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
646          {Mixed, 5}, {Empty, 25}, {Mixed, 2}, {Empty, 57}, {Mixed, 7},
647          {Full, 1}, {Mixed, 1}, {Empty, 968}, {Mixed, 3}, {Empty, 4},
648          {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 3},
649          {Full, 2}, {Empty, 634}, {Mixed, 1}, {Empty, 33}, {Mixed, 1},
650          {Empty, 38}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 62},
651          {Full, 1}, {Mixed, 1}, {Empty, 94}, {Full, 1}, {Empty, 1497},
652          {Mixed, 31}, {Empty, 138}, {Mixed, 2}, {Empty, 30901}},
653         {0x07fffffe, 0x04200400, 0x80000000, 0xff7fffff, 0xaaaaaaaa,
654          0x55aaaaaa, 0xaaaaab55, 0xd4aaaaaa, 0x4e243129, 0xe6512d2a,
655          0xb5555240, 0xaa29aaaa, 0xaaaaaaaa, 0x93faaaaa, 0xffffaa85,
656          0xffefffff, 0x01ffffff, 0x00000003, 0x0000001f, 0x3c8a0000,
657          0x00010000, 0xfffff000, 0xaae37fff, 0x192faaaa, 0xffff0000,
658          0xaaaaaaaa, 0xaaaaa802, 0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa,
659          0xaaaaaaaa, 0x0000aaaa, 0xfffffffe, 0x000000ff, 0x3f000000,
660          0x000001ff, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
661          0xbfeaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0x003f00ff,
662          0x00ff00ff, 0x00ff003f, 0x3fff00ff, 0x00ff00ff, 0x40df00ff,
663          0x00cf00dc, 0x00dc00ff, 0x80020000, 0x1fff0000, 0x0008c400,
664          0x32108000, 0x000043c0, 0xffff0000, 0x00000010, 0xffff0000,
665          0x000003ff, 0xffff0000, 0x7fffffff, 0x3fda1562, 0xaaaaaaaa,
666          0xaaaaaaaa, 0xaaaaaaaa, 0x0008501a, 0x000020bf, 0xaaaaaaaa,
667          0x00002aaa, 0x3aaaaaaa, 0xaaabaaa8, 0xaaaaaaaa, 0x95ffaaaa,
668          0xaaba50aa, 0x00a002aa, 0x07000000, 0xffff0000, 0xf7ffffff,
669          0xffff003f, 0x00f8007f, 0x07fffffe, 0xffffff00, 0x0000ffff,
670          0xff000000, 0x0fffffff, 0x0007ffff, 0xfc000000, 0x000fffff,
671          0xffdfc000, 0x000000ff, 0x0ffffffc, 0xebc00000, 0x0000ffef,
672          0xfffffc00, 0xc000000f, 0x00ffffff, 0xfffc0000, 0x00000fff,
673          0xffffffc0, 0xfc000000, 0x000fffff, 0xffffc000, 0x000000ff,
674          0x0ffffffc, 0xffc00000, 0x0000ffff, 0xfffffc00, 0x0000003f,
675          0xf7fffffc, 0xf0000003, 0x0fdfffff, 0xffc00000, 0x003f7fff,
676          0xffff0000, 0x0000fdff, 0xfffffc00, 0x00000bf7, 0xfffffffc,
677          0x0000000f}};
678    /** Code Point Ranges for UP
679    [65, 90], [192, 214], [216, 222], [256, 256], [258, 258], [260, 260],
680    [262, 262], [264, 264], [266, 266], [268, 268], [270, 270], [272, 272],
681    [274, 274], [276, 276], [278, 278], [280, 280], [282, 282], [284, 284],
682    [286, 286], [288, 288], [290, 290], [292, 292], [294, 294], [296, 296],
683    [298, 298], [300, 300], [302, 302], [304, 304], [306, 306], [308, 308],
684    [310, 310], [313, 313], [315, 315], [317, 317], [319, 319], [321, 321],
685    [323, 323], [325, 325], [327, 327], [330, 330], [332, 332], [334, 334],
686    [336, 336], [338, 338], [340, 340], [342, 342], [344, 344], [346, 346],
687    [348, 348], [350, 350], [352, 352], [354, 354], [356, 356], [358, 358],
688    [360, 360], [362, 362], [364, 364], [366, 366], [368, 368], [370, 370],
689    [372, 372], [374, 374], [376, 377], [379, 379], [381, 381], [385, 386],
690    [388, 388], [390, 391], [393, 395], [398, 401], [403, 404], [406, 408],
691    [412, 413], [415, 416], [418, 418], [420, 420], [422, 423], [425, 425],
692    [428, 428], [430, 431], [433, 435], [437, 437], [439, 440], [444, 444],
693    [452, 453], [455, 456], [458, 459], [461, 461], [463, 463], [465, 465],
694    [467, 467], [469, 469], [471, 471], [473, 473], [475, 475], [478, 478],
695    [480, 480], [482, 482], [484, 484], [486, 486], [488, 488], [490, 490],
696    [492, 492], [494, 494], [497, 498], [500, 500], [502, 504], [506, 506],
697    [508, 508], [510, 510], [512, 512], [514, 514], [516, 516], [518, 518],
698    [520, 520], [522, 522], [524, 524], [526, 526], [528, 528], [530, 530],
699    [532, 532], [534, 534], [536, 536], [538, 538], [540, 540], [542, 542],
700    [544, 544], [546, 546], [548, 548], [550, 550], [552, 552], [554, 554],
701    [556, 556], [558, 558], [560, 560], [562, 562], [570, 571], [573, 574],
702    [577, 577], [579, 582], [584, 584], [586, 586], [588, 588], [590, 590],
703    [880, 880], [882, 882], [886, 886], [895, 895], [902, 902], [904, 906],
704    [908, 908], [910, 911], [913, 929], [931, 939], [975, 975], [978, 980],
705    [984, 984], [986, 986], [988, 988], [990, 990], [992, 992], [994, 994],
706    [996, 996], [998, 998], [1000, 1000], [1002, 1002], [1004, 1004],
707    [1006, 1006], [1012, 1012], [1015, 1015], [1017, 1018], [1021, 1071],
708    [1120, 1120], [1122, 1122], [1124, 1124], [1126, 1126], [1128, 1128],
709    [1130, 1130], [1132, 1132], [1134, 1134], [1136, 1136], [1138, 1138],
710    [1140, 1140], [1142, 1142], [1144, 1144], [1146, 1146], [1148, 1148],
711    [1150, 1150], [1152, 1152], [1162, 1162], [1164, 1164], [1166, 1166],
712    [1168, 1168], [1170, 1170], [1172, 1172], [1174, 1174], [1176, 1176],
713    [1178, 1178], [1180, 1180], [1182, 1182], [1184, 1184], [1186, 1186],
714    [1188, 1188], [1190, 1190], [1192, 1192], [1194, 1194], [1196, 1196],
715    [1198, 1198], [1200, 1200], [1202, 1202], [1204, 1204], [1206, 1206],
716    [1208, 1208], [1210, 1210], [1212, 1212], [1214, 1214], [1216, 1217],
717    [1219, 1219], [1221, 1221], [1223, 1223], [1225, 1225], [1227, 1227],
718    [1229, 1229], [1232, 1232], [1234, 1234], [1236, 1236], [1238, 1238],
719    [1240, 1240], [1242, 1242], [1244, 1244], [1246, 1246], [1248, 1248],
720    [1250, 1250], [1252, 1252], [1254, 1254], [1256, 1256], [1258, 1258],
721    [1260, 1260], [1262, 1262], [1264, 1264], [1266, 1266], [1268, 1268],
722    [1270, 1270], [1272, 1272], [1274, 1274], [1276, 1276], [1278, 1278],
723    [1280, 1280], [1282, 1282], [1284, 1284], [1286, 1286], [1288, 1288],
724    [1290, 1290], [1292, 1292], [1294, 1294], [1296, 1296], [1298, 1298],
725    [1300, 1300], [1302, 1302], [1304, 1304], [1306, 1306], [1308, 1308],
726    [1310, 1310], [1312, 1312], [1314, 1314], [1316, 1316], [1318, 1318],
727    [1320, 1320], [1322, 1322], [1324, 1324], [1326, 1326], [1329, 1366],
728    [4256, 4293], [4295, 4295], [4301, 4301], [5024, 5109], [7680, 7680],
729    [7682, 7682], [7684, 7684], [7686, 7686], [7688, 7688], [7690, 7690],
730    [7692, 7692], [7694, 7694], [7696, 7696], [7698, 7698], [7700, 7700],
731    [7702, 7702], [7704, 7704], [7706, 7706], [7708, 7708], [7710, 7710],
732    [7712, 7712], [7714, 7714], [7716, 7716], [7718, 7718], [7720, 7720],
733    [7722, 7722], [7724, 7724], [7726, 7726], [7728, 7728], [7730, 7730],
734    [7732, 7732], [7734, 7734], [7736, 7736], [7738, 7738], [7740, 7740],
735    [7742, 7742], [7744, 7744], [7746, 7746], [7748, 7748], [7750, 7750],
736    [7752, 7752], [7754, 7754], [7756, 7756], [7758, 7758], [7760, 7760],
737    [7762, 7762], [7764, 7764], [7766, 7766], [7768, 7768], [7770, 7770],
738    [7772, 7772], [7774, 7774], [7776, 7776], [7778, 7778], [7780, 7780],
739    [7782, 7782], [7784, 7784], [7786, 7786], [7788, 7788], [7790, 7790],
740    [7792, 7792], [7794, 7794], [7796, 7796], [7798, 7798], [7800, 7800],
741    [7802, 7802], [7804, 7804], [7806, 7806], [7808, 7808], [7810, 7810],
742    [7812, 7812], [7814, 7814], [7816, 7816], [7818, 7818], [7820, 7820],
743    [7822, 7822], [7824, 7824], [7826, 7826], [7828, 7828], [7838, 7838],
744    [7840, 7840], [7842, 7842], [7844, 7844], [7846, 7846], [7848, 7848],
745    [7850, 7850], [7852, 7852], [7854, 7854], [7856, 7856], [7858, 7858],
746    [7860, 7860], [7862, 7862], [7864, 7864], [7866, 7866], [7868, 7868],
747    [7870, 7870], [7872, 7872], [7874, 7874], [7876, 7876], [7878, 7878],
748    [7880, 7880], [7882, 7882], [7884, 7884], [7886, 7886], [7888, 7888],
749    [7890, 7890], [7892, 7892], [7894, 7894], [7896, 7896], [7898, 7898],
750    [7900, 7900], [7902, 7902], [7904, 7904], [7906, 7906], [7908, 7908],
751    [7910, 7910], [7912, 7912], [7914, 7914], [7916, 7916], [7918, 7918],
752    [7920, 7920], [7922, 7922], [7924, 7924], [7926, 7926], [7928, 7928],
753    [7930, 7930], [7932, 7932], [7934, 7934], [7944, 7951], [7960, 7965],
754    [7976, 7983], [7992, 7999], [8008, 8013], [8025, 8025], [8027, 8027],
755    [8029, 8029], [8031, 8031], [8040, 8047], [8072, 8079], [8088, 8095],
756    [8104, 8111], [8120, 8124], [8136, 8140], [8152, 8155], [8168, 8172],
757    [8184, 8188], [8450, 8450], [8455, 8455], [8459, 8461], [8464, 8466],
758    [8469, 8469], [8473, 8477], [8484, 8484], [8486, 8486], [8488, 8488],
759    [8490, 8493], [8496, 8499], [8510, 8511], [8517, 8517], [8544, 8559],
760    [8579, 8579], [9398, 9423], [11264, 11310], [11360, 11360],
761    [11362, 11364], [11367, 11367], [11369, 11369], [11371, 11371],
762    [11373, 11376], [11378, 11378], [11381, 11381], [11390, 11392],
763    [11394, 11394], [11396, 11396], [11398, 11398], [11400, 11400],
764    [11402, 11402], [11404, 11404], [11406, 11406], [11408, 11408],
765    [11410, 11410], [11412, 11412], [11414, 11414], [11416, 11416],
766    [11418, 11418], [11420, 11420], [11422, 11422], [11424, 11424],
767    [11426, 11426], [11428, 11428], [11430, 11430], [11432, 11432],
768    [11434, 11434], [11436, 11436], [11438, 11438], [11440, 11440],
769    [11442, 11442], [11444, 11444], [11446, 11446], [11448, 11448],
770    [11450, 11450], [11452, 11452], [11454, 11454], [11456, 11456],
771    [11458, 11458], [11460, 11460], [11462, 11462], [11464, 11464],
772    [11466, 11466], [11468, 11468], [11470, 11470], [11472, 11472],
773    [11474, 11474], [11476, 11476], [11478, 11478], [11480, 11480],
774    [11482, 11482], [11484, 11484], [11486, 11486], [11488, 11488],
775    [11490, 11490], [11499, 11499], [11501, 11501], [11506, 11506],
776    [42560, 42560], [42562, 42562], [42564, 42564], [42566, 42566],
777    [42568, 42568], [42570, 42570], [42572, 42572], [42574, 42574],
778    [42576, 42576], [42578, 42578], [42580, 42580], [42582, 42582],
779    [42584, 42584], [42586, 42586], [42588, 42588], [42590, 42590],
780    [42592, 42592], [42594, 42594], [42596, 42596], [42598, 42598],
781    [42600, 42600], [42602, 42602], [42604, 42604], [42624, 42624],
782    [42626, 42626], [42628, 42628], [42630, 42630], [42632, 42632],
783    [42634, 42634], [42636, 42636], [42638, 42638], [42640, 42640],
784    [42642, 42642], [42644, 42644], [42646, 42646], [42648, 42648],
785    [42650, 42650], [42786, 42786], [42788, 42788], [42790, 42790],
786    [42792, 42792], [42794, 42794], [42796, 42796], [42798, 42798],
787    [42802, 42802], [42804, 42804], [42806, 42806], [42808, 42808],
788    [42810, 42810], [42812, 42812], [42814, 42814], [42816, 42816],
789    [42818, 42818], [42820, 42820], [42822, 42822], [42824, 42824],
790    [42826, 42826], [42828, 42828], [42830, 42830], [42832, 42832],
791    [42834, 42834], [42836, 42836], [42838, 42838], [42840, 42840],
792    [42842, 42842], [42844, 42844], [42846, 42846], [42848, 42848],
793    [42850, 42850], [42852, 42852], [42854, 42854], [42856, 42856],
794    [42858, 42858], [42860, 42860], [42862, 42862], [42873, 42873],
795    [42875, 42875], [42877, 42878], [42880, 42880], [42882, 42882],
796    [42884, 42884], [42886, 42886], [42891, 42891], [42893, 42893],
797    [42896, 42896], [42898, 42898], [42902, 42902], [42904, 42904],
798    [42906, 42906], [42908, 42908], [42910, 42910], [42912, 42912],
799    [42914, 42914], [42916, 42916], [42918, 42918], [42920, 42920],
800    [42922, 42926], [42928, 42932], [42934, 42934], [65313, 65338],
801    [66560, 66599], [66736, 66771], [68736, 68786], [71840, 71871],
802    [119808, 119833], [119860, 119885], [119912, 119937], [119964, 119964],
803    [119966, 119967], [119970, 119970], [119973, 119974], [119977, 119980],
804    [119982, 119989], [120016, 120041], [120068, 120069], [120071, 120074],
805    [120077, 120084], [120086, 120092], [120120, 120121], [120123, 120126],
806    [120128, 120132], [120134, 120134], [120138, 120144], [120172, 120197],
807    [120224, 120249], [120276, 120301], [120328, 120353], [120380, 120405],
808    [120432, 120457], [120488, 120512], [120546, 120570], [120604, 120628],
809    [120662, 120686], [120720, 120744], [120778, 120778], [125184, 125217],
810    [127280, 127305], [127312, 127337], [127344, 127369]**/
811    const UnicodeSet up_Set
812        {{{Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
813          {Mixed, 11}, {Empty, 8}, {Mixed, 5}, {Full, 1}, {Mixed, 1},
814          {Empty, 1}, {Mixed, 8}, {Empty, 90}, {Full, 1}, {Mixed, 1},
815          {Empty, 22}, {Full, 2}, {Mixed, 1}, {Empty, 80}, {Mixed, 16},
816          {Empty, 8}, {Mixed, 5}, {Empty, 24}, {Mixed, 2}, {Empty, 57},
817          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 970},
818          {Mixed, 3}, {Empty, 4}, {Mixed, 5}, {Empty, 699}, {Mixed, 1},
819          {Empty, 38}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
820          {Empty, 61}, {Full, 1}, {Mixed, 1}, {Empty, 95}, {Full, 1},
821          {Empty, 1498}, {Mixed, 31}, {Empty, 137}, {Full, 1}, {Mixed, 1},
822          {Empty, 63}, {Mixed, 4}, {Empty, 30835}},
823         {0x07fffffe, 0x7f7fffff, 0x55555555, 0xaa555555, 0x555554aa,
824          0x2b555555, 0xb1dbced6, 0x11aed2d5, 0x4aaaadb0, 0x55d65555,
825          0x55555555, 0x6c055555, 0x0000557a, 0x80450000, 0xfffed740,
826          0x00000ffb, 0x551c8000, 0xe6905555, 0x0000ffff, 0x55555555,
827          0x55555401, 0x55555555, 0x55552aab, 0x55555555, 0x55555555,
828          0xfffe5555, 0x007fffff, 0x000020bf, 0x003fffff, 0x55555555,
829          0x55555555, 0x55555555, 0x55555555, 0x40155555, 0x55555555,
830          0x55555555, 0x55555555, 0x3f00ff00, 0xff00ff00, 0xaa003f00,
831          0x0000ff00, 0xff00ff00, 0x1f00ff00, 0x0f001f00, 0x1f001f00,
832          0x3e273884, 0xc00f3d50, 0x00000020, 0x0000ffff, 0x00000008,
833          0xffc00000, 0x0000ffff, 0x00007fff, 0xc025ea9d, 0x55555555,
834          0x55555555, 0x55555555, 0x00042805, 0x55555555, 0x00001555,
835          0x05555555, 0x55545554, 0x55555555, 0x6a005555, 0x55452855,
836          0x005f7d55, 0x07fffffe, 0x000000ff, 0xffff0000, 0x000fffff,
837          0x0007ffff, 0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00,
838          0xd0000003, 0x003fde64, 0xffff0000, 0x000003ff, 0x1fdfe7b0,
839          0x7b000000, 0x0001fc5f, 0xfffff000, 0x0000003f, 0x03ffffff,
840          0xfff00000, 0x00003fff, 0xffffff00, 0xf0000003, 0x003fffff,
841          0xffff0000, 0x000003ff, 0xffffff00, 0x00000001, 0x07fffffc,
842          0xf0000000, 0x001fffff, 0xffc00000, 0x00007fff, 0xffff0000,
843          0x000001ff, 0x00000400, 0x00000003, 0xffff0000, 0xffff03ff,
844          0xffff03ff, 0x000003ff}};
845    /** Code Point Ranges for LE
846    [443, 443], [448, 451], [660, 660], [697, 703], [710, 721], [748, 748],
847    [750, 750], [884, 884], [1369, 1369], [1488, 1514], [1520, 1523],
848    [1568, 1610], [1646, 1647], [1649, 1747], [1749, 1749], [1765, 1766],
849    [1774, 1775], [1786, 1788], [1791, 1791], [1808, 1808], [1810, 1839],
850    [1869, 1957], [1969, 1969], [1994, 2026], [2036, 2037], [2042, 2042],
851    [2048, 2069], [2074, 2074], [2084, 2084], [2088, 2088], [2112, 2136],
852    [2208, 2228], [2230, 2237], [2308, 2361], [2365, 2365], [2384, 2384],
853    [2392, 2401], [2417, 2432], [2437, 2444], [2447, 2448], [2451, 2472],
854    [2474, 2480], [2482, 2482], [2486, 2489], [2493, 2493], [2510, 2510],
855    [2524, 2525], [2527, 2529], [2544, 2545], [2565, 2570], [2575, 2576],
856    [2579, 2600], [2602, 2608], [2610, 2611], [2613, 2614], [2616, 2617],
857    [2649, 2652], [2654, 2654], [2674, 2676], [2693, 2701], [2703, 2705],
858    [2707, 2728], [2730, 2736], [2738, 2739], [2741, 2745], [2749, 2749],
859    [2768, 2768], [2784, 2785], [2809, 2809], [2821, 2828], [2831, 2832],
860    [2835, 2856], [2858, 2864], [2866, 2867], [2869, 2873], [2877, 2877],
861    [2908, 2909], [2911, 2913], [2929, 2929], [2947, 2947], [2949, 2954],
862    [2958, 2960], [2962, 2965], [2969, 2970], [2972, 2972], [2974, 2975],
863    [2979, 2980], [2984, 2986], [2990, 3001], [3024, 3024], [3077, 3084],
864    [3086, 3088], [3090, 3112], [3114, 3129], [3133, 3133], [3160, 3162],
865    [3168, 3169], [3200, 3200], [3205, 3212], [3214, 3216], [3218, 3240],
866    [3242, 3251], [3253, 3257], [3261, 3261], [3294, 3294], [3296, 3297],
867    [3313, 3314], [3333, 3340], [3342, 3344], [3346, 3386], [3389, 3389],
868    [3406, 3406], [3412, 3414], [3423, 3425], [3450, 3455], [3461, 3478],
869    [3482, 3505], [3507, 3515], [3517, 3517], [3520, 3526], [3585, 3632],
870    [3634, 3635], [3648, 3654], [3713, 3714], [3716, 3716], [3719, 3720],
871    [3722, 3722], [3725, 3725], [3732, 3735], [3737, 3743], [3745, 3747],
872    [3749, 3749], [3751, 3751], [3754, 3755], [3757, 3760], [3762, 3763],
873    [3773, 3773], [3776, 3780], [3782, 3782], [3804, 3807], [3840, 3840],
874    [3904, 3911], [3913, 3948], [3976, 3980], [4096, 4138], [4159, 4159],
875    [4176, 4181], [4186, 4189], [4193, 4193], [4197, 4198], [4206, 4208],
876    [4213, 4225], [4238, 4238], [4304, 4346], [4348, 4680], [4682, 4685],
877    [4688, 4694], [4696, 4696], [4698, 4701], [4704, 4744], [4746, 4749],
878    [4752, 4784], [4786, 4789], [4792, 4798], [4800, 4800], [4802, 4805],
879    [4808, 4822], [4824, 4880], [4882, 4885], [4888, 4954], [4992, 5007],
880    [5121, 5740], [5743, 5759], [5761, 5786], [5792, 5866], [5870, 5880],
881    [5888, 5900], [5902, 5905], [5920, 5937], [5952, 5969], [5984, 5996],
882    [5998, 6000], [6016, 6067], [6103, 6103], [6108, 6108], [6176, 6263],
883    [6272, 6276], [6279, 6312], [6314, 6314], [6320, 6389], [6400, 6430],
884    [6480, 6509], [6512, 6516], [6528, 6571], [6576, 6601], [6656, 6678],
885    [6688, 6740], [6823, 6823], [6917, 6963], [6981, 6987], [7043, 7072],
886    [7086, 7087], [7098, 7141], [7168, 7203], [7245, 7247], [7258, 7293],
887    [7401, 7404], [7406, 7409], [7413, 7414], [8501, 8504], [8576, 8578],
888    [8581, 8584], [11568, 11623], [11631, 11631], [11648, 11670],
889    [11680, 11686], [11688, 11694], [11696, 11702], [11704, 11710],
890    [11712, 11718], [11720, 11726], [11728, 11734], [11736, 11742],
891    [11823, 11823], [12293, 12295], [12321, 12329], [12337, 12341],
892    [12344, 12348], [12353, 12438], [12445, 12447], [12449, 12538],
893    [12540, 12543], [12549, 12589], [12593, 12686], [12704, 12730],
894    [12784, 12799], [13312, 19893], [19968, 40917], [40960, 42124],
895    [42192, 42237], [42240, 42508], [42512, 42527], [42538, 42539],
896    [42606, 42606], [42623, 42623], [42656, 42735], [42775, 42783],
897    [42888, 42888], [42895, 42895], [42999, 42999], [43003, 43009],
898    [43011, 43013], [43015, 43018], [43020, 43042], [43072, 43123],
899    [43138, 43187], [43250, 43255], [43259, 43259], [43261, 43261],
900    [43274, 43301], [43312, 43334], [43360, 43388], [43396, 43442],
901    [43471, 43471], [43488, 43492], [43494, 43503], [43514, 43518],
902    [43520, 43560], [43584, 43586], [43588, 43595], [43616, 43638],
903    [43642, 43642], [43646, 43695], [43697, 43697], [43701, 43702],
904    [43705, 43709], [43712, 43712], [43714, 43714], [43739, 43741],
905    [43744, 43754], [43762, 43764], [43777, 43782], [43785, 43790],
906    [43793, 43798], [43808, 43814], [43816, 43822], [43968, 44002],
907    [44032, 55203], [55216, 55238], [55243, 55291], [63744, 64109],
908    [64112, 64217], [64285, 64285], [64287, 64296], [64298, 64310],
909    [64312, 64316], [64318, 64318], [64320, 64321], [64323, 64324],
910    [64326, 64433], [64467, 64829], [64848, 64911], [64914, 64967],
911    [65008, 65019], [65136, 65140], [65142, 65276], [65382, 65437],
912    [65440, 65470], [65474, 65479], [65482, 65487], [65490, 65495],
913    [65498, 65500], [65536, 65547], [65549, 65574], [65576, 65594],
914    [65596, 65597], [65599, 65613], [65616, 65629], [65664, 65786],
915    [65856, 65908], [66176, 66204], [66208, 66256], [66304, 66335],
916    [66352, 66378], [66384, 66421], [66432, 66461], [66464, 66499],
917    [66504, 66511], [66513, 66517], [66640, 66717], [66816, 66855],
918    [66864, 66915], [67072, 67382], [67392, 67413], [67424, 67431],
919    [67584, 67589], [67592, 67592], [67594, 67637], [67639, 67640],
920    [67644, 67644], [67647, 67669], [67680, 67702], [67712, 67742],
921    [67808, 67826], [67828, 67829], [67840, 67861], [67872, 67897],
922    [67968, 68023], [68030, 68031], [68096, 68096], [68112, 68115],
923    [68117, 68119], [68121, 68147], [68192, 68220], [68224, 68252],
924    [68288, 68295], [68297, 68324], [68352, 68405], [68416, 68437],
925    [68448, 68466], [68480, 68497], [68608, 68680], [69635, 69687],
926    [69763, 69807], [69840, 69864], [69891, 69926], [69968, 70002],
927    [70006, 70006], [70019, 70066], [70081, 70084], [70106, 70106],
928    [70108, 70108], [70144, 70161], [70163, 70187], [70272, 70278],
929    [70280, 70280], [70282, 70285], [70287, 70301], [70303, 70312],
930    [70320, 70366], [70405, 70412], [70415, 70416], [70419, 70440],
931    [70442, 70448], [70450, 70451], [70453, 70457], [70461, 70461],
932    [70480, 70480], [70493, 70497], [70656, 70708], [70727, 70730],
933    [70784, 70831], [70852, 70853], [70855, 70855], [71040, 71086],
934    [71128, 71131], [71168, 71215], [71236, 71236], [71296, 71338],
935    [71424, 71449], [71935, 71935], [72384, 72440], [72704, 72712],
936    [72714, 72750], [72768, 72768], [72818, 72847], [73728, 74649],
937    [74752, 74862], [74880, 75075], [77824, 78894], [82944, 83526],
938    [92160, 92728], [92736, 92766], [92880, 92909], [92928, 92975],
939    [92992, 92995], [93027, 93047], [93053, 93071], [93952, 94020],
940    [94032, 94032], [94099, 94111], [94176, 94176], [94208, 100332],
941    [100352, 101106], [110592, 110593], [113664, 113770], [113776, 113788],
942    [113792, 113800], [113808, 113817], [124928, 125124], [126464, 126467],
943    [126469, 126495], [126497, 126498], [126500, 126500], [126503, 126503],
944    [126505, 126514], [126516, 126519], [126521, 126521], [126523, 126523],
945    [126530, 126530], [126535, 126535], [126537, 126537], [126539, 126539],
946    [126541, 126543], [126545, 126546], [126548, 126548], [126551, 126551],
947    [126553, 126553], [126555, 126555], [126557, 126557], [126559, 126559],
948    [126561, 126562], [126564, 126564], [126567, 126570], [126572, 126578],
949    [126580, 126583], [126585, 126588], [126590, 126590], [126592, 126601],
950    [126603, 126619], [126625, 126627], [126629, 126633], [126635, 126651],
951    [131072, 173782], [173824, 177972], [177984, 178205], [178208, 183969],
952    [194560, 195101]**/
953    const UnicodeSet le_Set
954        {{{Empty, 13}, {Mixed, 2}, {Empty, 5}, {Mixed, 4}, {Empty, 3},
955          {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
956          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5},
957          {Full, 2}, {Mixed, 6}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
958          {Mixed, 23}, {Empty, 1}, {Mixed, 15}, {Empty, 1}, {Mixed, 3},
959          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
960          {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4}, {Empty, 1},
961          {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
962          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
963          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 18}, {Mixed, 2},
964          {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Empty, 2},
965          {Full, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
966          {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
967          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
968          {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
969          {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 33},
970          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 92}, {Mixed, 1},
971          {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 14},
972          {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
973          {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16},
974          {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1},
975          {Empty, 1}, {Full, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
976          {Full, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
977          {Full, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
978          {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 9},
979          {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 5}, {Empty, 4},
980          {Full, 1}, {Mixed, 1}, {Full, 349}, {Mixed, 3}, {Empty, 264},
981          {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
982          {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
983          {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3},
984          {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
985          {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 1},
986          {Empty, 2}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
987          {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 4},
988          {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 1},
989          {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
990          {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4},
991          {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1},
992          {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
993          {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 3},
994          {Full, 2}, {Mixed, 1}, {Empty, 29}, {Mixed, 2}, {Empty, 2},
995          {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3},
996          {Empty, 1}, {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2},
997          {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1},
998          {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1},
999          {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 14},
1000          {Mixed, 1}, {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 8},
1001          {Mixed, 5}, {Empty, 27}, {Full, 28}, {Mixed, 1}, {Empty, 3},
1002          {Full, 3}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 85},
1003          {Full, 33}, {Mixed, 1}, {Empty, 126}, {Full, 18}, {Mixed, 1},
1004          {Empty, 269}, {Full, 17}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
1005          {Full, 1}, {Mixed, 4}, {Empty, 27}, {Full, 2}, {Mixed, 1},
1006          {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 191},
1007          {Mixed, 1}, {Full, 23}, {Mixed, 1}, {Empty, 296}, {Mixed, 1},
1008          {Empty, 95}, {Full, 3}, {Mixed, 2}, {Empty, 347}, {Full, 6},
1009          {Mixed, 1}, {Empty, 41}, {Mixed, 6}, {Empty, 138}, {Full, 1334},
1010          {Mixed, 1}, {Empty, 1}, {Full, 129}, {Mixed, 1}, {Full, 6},
1011          {Mixed, 1}, {Full, 180}, {Mixed, 1}, {Empty, 330}, {Full, 16},
1012          {Mixed, 1}, {Empty, 28719}},
1013         {0x08000000, 0x0000000f, 0x00100000, 0xfe000000, 0x0003ffc0,
1014          0x00005000, 0x00100000, 0x02000000, 0xffff0000, 0x000f07ff,
1015          0x000007ff, 0xfffec000, 0x002fffff, 0x9c00c060, 0xfffd0000,
1016          0x0000ffff, 0xffffe000, 0x0002003f, 0xfffffc00, 0x043007ff,
1017          0x043fffff, 0x00000110, 0x01ffffff, 0x3fdfffff, 0xfffffff0,
1018          0x23ffffff, 0xff010000, 0xfffe0003, 0xfff99fe1, 0x23c5fdff,
1019          0xb0004000, 0x00030003, 0xfff987e0, 0x036dfdff, 0x5e000000,
1020          0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02000003,
1021          0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8,
1022          0x03ffc718, 0x00010000, 0xfffddfe0, 0x23fffdff, 0x07000000,
1023          0x00000003, 0xfffddfe1, 0x23effdff, 0x40000000, 0x00060003,
1024          0xfffddfe0, 0x27ffffff, 0x80704000, 0xfc000003, 0xfc7fffe0,
1025          0x2ffbffff, 0x0000007f, 0xfffffffe, 0x000dffff, 0x0000007f,
1026          0xfef02596, 0x200decae, 0xf000005f, 0x00000001, 0xfffffeff,
1027          0x00001fff, 0x00001f00, 0x800007ff, 0x3c3f0000, 0xffe1c062,
1028          0x00004003, 0xffff0000, 0xf7ffffff, 0x3d7f3dff, 0xffff3dff,
1029          0x7f3dffff, 0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x0000ffff,
1030          0xfffffffe, 0xffff9fff, 0x07fffffe, 0x01ffc7ff, 0x0003dfff,
1031          0x0003ffff, 0x0003ffff, 0x0001dfff, 0x000fffff, 0x10800000,
1032          0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff, 0x7fffffff,
1033          0xffff0000, 0x001f3fff, 0xffff0fff, 0x000003ff, 0x007fffff,
1034          0x001fffff, 0x00000080, 0xffffffe0, 0x000fffff, 0x00000fe0,
1035          0xfffffff8, 0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000,
1036          0x3fffffff, 0x0063de00, 0x01e00000, 0x000001e7, 0xffff0000,
1037          0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00008000,
1038          0x000000e0, 0x1f3e03fe, 0xfffffffe, 0xe07fffff, 0xfffffffe,
1039          0xf7ffffff, 0xffffffe0, 0xfffe3fff, 0x00007fff, 0x07ffffff,
1040          0xffff0000, 0x003fffff, 0x003fffff, 0x00001fff, 0xffff0000,
1041          0x3fffffff, 0xffff1fff, 0x00000c00, 0x80004000, 0x0000ffff,
1042          0xff800000, 0x00008100, 0xf8800000, 0xfffff7bb, 0x00000007,
1043          0x000fffff, 0xfffffffc, 0x000fffff, 0x28fc0000, 0xfffffc00,
1044          0xffff003f, 0x0000007f, 0x1fffffff, 0xfffffff0, 0x0007ffff,
1045          0x00008000, 0x7c00ffdf, 0x000001ff, 0x00000ff7, 0xc47fffff,
1046          0x3e62ffff, 0x38000005, 0x001c07ff, 0x007e7e7e, 0x00007f7f,
1047          0x00000007, 0xffff000f, 0xfffff87f, 0x0fffffff, 0xffff3fff,
1048          0x03ffffff, 0xa0000000, 0x5f7ffdff, 0xffffffdb, 0x0003ffff,
1049          0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
1050          0x0fff0000, 0xffdf0000, 0x1fffffff, 0xffffffc0, 0x3fffffff,
1051          0x7fffffff, 0x1cfcfcfc, 0xffffefff, 0xb7ffff7f, 0x3fff3fff,
1052          0x07ffffff, 0x001fffff, 0x1fffffff, 0x0001ffff, 0xffff0000,
1053          0xffff07ff, 0x003fffff, 0x3fffffff, 0x003eff0f, 0xffff0000,
1054          0x3fffffff, 0xffff00ff, 0x0000000f, 0x007fffff, 0x003fffff,
1055          0x000000ff, 0xfffffd3f, 0x91bfffff, 0x003fffff, 0x007fffff,
1056          0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff, 0xc0ffffff,
1057          0xfeef0001, 0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff,
1058          0x0000001f, 0x003fffff, 0x003fffff, 0x0007ffff, 0x0003ffff,
1059          0x000001ff, 0xfffffff8, 0x00ffffff, 0xfffffff8, 0x0000ffff,
1060          0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f, 0xffff0000,
1061          0x0047ffff, 0xfffffff8, 0x0007ffff, 0x1400001e, 0xfffbffff,
1062          0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff, 0xfff99fe0,
1063          0x23edfdff, 0xe0010000, 0x00000003, 0x001fffff, 0x00000780,
1064          0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000, 0x0000ffff,
1065          0x00000010, 0x000007ff, 0x03ffffff, 0x80000000, 0x01ffffff,
1066          0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000, 0x0000ffff,
1067          0x03ffffff, 0x00007fff, 0x0000000f, 0x00007fff, 0x0000007f,
1068          0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0x0000ffff,
1069          0x0000000f, 0xe0fffff8, 0x0000ffff, 0x0001001f, 0xfff80000,
1070          0x00000001, 0x00001fff, 0x0007ffff, 0x00000003, 0x1fff07ff,
1071          0x03ff01ff, 0x0000001f, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
1072          0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x007fffff, 0x001fffff,
1073          0x3fffffff, 0x00000003, 0x3fffffff}};
1074    /** Code Point Ranges for NU
1075    [48, 57], [1632, 1641], [1643, 1644], [1776, 1785], [1984, 1993],
1076    [2406, 2415], [2534, 2543], [2662, 2671], [2790, 2799], [2918, 2927],
1077    [3046, 3055], [3174, 3183], [3302, 3311], [3430, 3439], [3558, 3567],
1078    [3664, 3673], [3792, 3801], [3872, 3881], [4160, 4169], [4240, 4249],
1079    [6112, 6121], [6160, 6169], [6470, 6479], [6608, 6617], [6784, 6793],
1080    [6800, 6809], [6992, 7001], [7088, 7097], [7232, 7241], [7248, 7257],
1081    [42528, 42537], [43216, 43225], [43264, 43273], [43472, 43481],
1082    [43504, 43513], [43600, 43609], [44016, 44025], [66720, 66729],
1083    [69734, 69743], [69872, 69881], [69942, 69951], [70096, 70105],
1084    [70384, 70393], [70736, 70745], [70864, 70873], [71248, 71257],
1085    [71360, 71369], [71472, 71481], [71904, 71913], [72784, 72793],
1086    [92768, 92777], [93008, 93017], [120782, 120831], [125264, 125273]**/
1087    const UnicodeSet nu_Set
1088        {{{Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3},
1089          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1090          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1091          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1092          {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1093          {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1094          {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
1095          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2},
1096          {Empty, 9}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5},
1097          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1098          {Empty, 4}, {Mixed, 1}, {Empty, 1102}, {Mixed, 1}, {Empty, 20},
1099          {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
1100          {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 709},
1101          {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1102          {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
1103          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1104          {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
1105          {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1},
1106          {Empty, 624}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 867},
1107          {Mixed, 1}, {Full, 1}, {Empty, 138}, {Mixed, 1}, {Empty, 30901}},
1108         {0x03ff0000, 0x00001bff, 0x03ff0000, 0x000003ff, 0x0000ffc0,
1109          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
1110          0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x03ff0000,
1111          0x03ff0000, 0x000003ff, 0x000003ff, 0x03ff0000, 0x000003ff,
1112          0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff, 0x03ff0000,
1113          0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
1114          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff,
1115          0x0000ffc0, 0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000,
1116          0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x03ff0000,
1117          0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000, 0xffffc000,
1118          0x03ff0000}};
1119    /** Code Point Ranges for AT
1120    [46, 46], [8228, 8228], [65106, 65106], [65294, 65294]**/
1121    const UnicodeSet at_Set
1122        {{{Empty, 1}, {Mixed, 1}, {Empty, 255}, {Mixed, 1}, {Empty, 1776},
1123          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}},
1124         {0x00004000, 0x00000010, 0x00040000, 0x00004000}};
1125    /** Code Point Ranges for ST
1126    [33, 33], [63, 63], [1417, 1417], [1567, 1567], [1748, 1748],
1127    [1792, 1794], [2041, 2041], [2404, 2405], [4170, 4171], [4962, 4962],
1128    [4967, 4968], [5742, 5742], [5941, 5942], [6147, 6147], [6153, 6153],
1129    [6468, 6469], [6824, 6827], [7002, 7003], [7006, 7007], [7227, 7228],
1130    [7294, 7295], [8252, 8253], [8263, 8265], [11822, 11822],
1131    [11836, 11836], [12290, 12290], [42239, 42239], [42510, 42511],
1132    [42739, 42739], [42743, 42743], [43126, 43127], [43214, 43215],
1133    [43311, 43311], [43464, 43465], [43613, 43615], [43760, 43761],
1134    [44011, 44011], [65110, 65111], [65281, 65281], [65311, 65311],
1135    [65377, 65377], [68182, 68183], [69703, 69704], [69822, 69825],
1136    [69953, 69955], [70085, 70086], [70093, 70093], [70110, 70111],
1137    [70200, 70201], [70203, 70204], [70313, 70313], [70731, 70732],
1138    [71106, 71107], [71113, 71127], [71233, 71234], [71484, 71486],
1139    [72769, 72770], [92782, 92783], [92917, 92917], [92983, 92984],
1140    [92996, 92996], [113823, 113823], [121480, 121480]**/
1141    const UnicodeSet st_Set
1142        {{{Empty, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 3},
1143          {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1144          {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 54},
1145          {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
1146          {Empty, 5}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 9},
1147          {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
1148          {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 29},
1149          {Mixed, 2}, {Empty, 110}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
1150          {Empty, 934}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 6},
1151          {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1152          {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3},
1153          {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1154          {Empty, 658}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
1155          {Mixed, 1}, {Empty, 86}, {Mixed, 1}, {Empty, 47}, {Mixed, 1},
1156          {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
1157          {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1158          {Empty, 12}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
1159          {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 40}, {Mixed, 1},
1160          {Empty, 624}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1},
1161          {Mixed, 2}, {Empty, 649}, {Mixed, 1}, {Empty, 239}, {Mixed, 1},
1162          {Empty, 31019}},
1163         {0x80000002, 0x00000200, 0x80000000, 0x00100000, 0x00000007,
1164          0x02000000, 0x00000030, 0x00000c00, 0x00000184, 0x00004000,
1165          0x00600000, 0x00000208, 0x00000030, 0x00000f00, 0xcc000000,
1166          0x18000000, 0xc0000000, 0x30000000, 0x00000380, 0x10004000,
1167          0x00000004, 0x80000000, 0x0000c000, 0x00880000, 0x00c00000,
1168          0x0000c000, 0x00008000, 0x00000300, 0xe0000000, 0x00030000,
1169          0x00000800, 0x00c00000, 0x80000002, 0x00000002, 0x00c00000,
1170          0x00000180, 0xc0000000, 0x00000003, 0x0000000e, 0xc0002060,
1171          0x1b000000, 0x00000200, 0x00001800, 0x00fffe0c, 0x00000006,
1172          0x70000000, 0x00000006, 0x0000c000, 0x00200000, 0x01800000,
1173          0x00000010, 0x80000000, 0x00000100}};
1174    /** Code Point Ranges for CL
1175    [34, 34], [39, 41], [91, 91], [93, 93], [123, 123], [125, 125],
1176    [171, 171], [187, 187], [3898, 3901], [5787, 5788], [8216, 8223],
1177    [8249, 8250], [8261, 8262], [8317, 8318], [8333, 8334], [8968, 8971],
1178    [9001, 9002], [10075, 10080], [10088, 10101], [10181, 10182],
1179    [10214, 10223], [10627, 10648], [10712, 10715], [10748, 10749],
1180    [11776, 11789], [11804, 11805], [11808, 11817], [11842, 11842],
1181    [12296, 12305], [12308, 12315], [12317, 12319], [64830, 64831],
1182    [65047, 65048], [65077, 65092], [65095, 65096], [65113, 65118],
1183    [65288, 65289], [65339, 65339], [65341, 65341], [65371, 65371],
1184    [65373, 65373], [65375, 65376], [65378, 65379], [128630, 128632]**/
1185    const UnicodeSet cl_Set
1186        {{{Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 115},
1187          {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 75}, {Mixed, 5},
1188          {Empty, 19}, {Mixed, 2}, {Empty, 32}, {Mixed, 2}, {Empty, 2},
1189          {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1190          {Empty, 32}, {Mixed, 3}, {Empty, 13}, {Mixed, 1}, {Empty, 1640},
1191          {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 5}, {Mixed, 4},
1192          {Empty, 1975}, {Mixed, 1}, {Empty, 30796}},
1193         {0x00000384, 0x28000000, 0x28000000, 0x08000800, 0x3c000000,
1194          0x18000000, 0xff000000, 0x06000000, 0x00000060, 0x60000000,
1195          0x00006000, 0x00000f00, 0x00000600, 0xf8000000, 0x003fff01,
1196          0x00000060, 0x0000ffc0, 0x01fffff8, 0x0f000000, 0x30000000,
1197          0x30003fff, 0x000003ff, 0x00000004, 0xeff3ff00, 0xc0000000,
1198          0x01800000, 0xffe00000, 0x7e00019f, 0x00000300, 0x28000000,
1199          0xa8000000, 0x0000000d, 0x01c00000}};
1200    /** Code Point Ranges for SC
1201    [44, 45], [58, 58], [1373, 1373], [1548, 1549], [2040, 2040],
1202    [6146, 6146], [6152, 6152], [8211, 8212], [12289, 12289],
1203    [65040, 65041], [65043, 65043], [65073, 65074], [65104, 65105],
1204    [65109, 65109], [65112, 65112], [65123, 65123], [65292, 65293],
1205    [65306, 65306], [65380, 65380]**/
1206    const UnicodeSet sc_Set
1207        {{{Empty, 1}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 5},
1208          {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 128}, {Mixed, 1},
1209          {Empty, 63}, {Mixed, 1}, {Empty, 127}, {Mixed, 1}, {Empty, 1647},
1210          {Mixed, 4}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1211          {Empty, 32772}},
1212         {0x04003000, 0x20000000, 0x00003000, 0x01000000, 0x00000104,
1213          0x00180000, 0x00000002, 0x000b0000, 0x00060000, 0x01230000,
1214          0x00000008, 0x04003000, 0x00000010}};
1215    static EnumeratedPropertyObject property_object
1216        {SB,
1217         SB_ns::independent_prop_values,
1218         SB_ns::enum_names,
1219         SB_ns::value_names,
1220         SB_ns::aliases_only_map,
1221         {&xx_Set, &cr_Set, &lf_Set, &ex_Set, &se_Set, &fo_Set, &sp_Set,
1222        &lo_Set, &up_Set, &le_Set, &nu_Set, &at_Set, &st_Set, &cl_Set,
1223        &sc_Set
1224         }};
1225    }
1226}
1227
1228#endif
Note: See TracBrowser for help on using the repository browser.