source: icGREP/icgrep-devel/icgrep/UCD/ScriptExtensions.h @ 5686

Last change on this file since 5686 was 5686, checked in by cameron, 20 months ago

Update to UCD 10.0.0

File size: 79.6 KB
Line 
1#ifndef SCRIPTEXTENSIONS_H
2#define SCRIPTEXTENSIONS_H
3/*
4 *  Copyright (c) 2017 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 "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "unicode_set.h"
15
16namespace UCD {
17    namespace SCX_ns {
18        /** Code Point Ranges for Zzzz
19        [0378, 0379], [0380, 0383], [038b, 038b], [038d, 038d],
20        [03a2, 03a2], [0530, 0530], [0557, 0558], [0560, 0560],
21        [0588, 0588], [058b, 058c], [0590, 0590], [05c8, 05cf],
22        [05eb, 05ef], [05f5, 05ff], [061d, 061d], [070e, 070e],
23        [074b, 074c], [07b2, 07bf], [07fb, 07ff], [082e, 082f],
24        [083f, 083f], [085c, 085d], [085f, 085f], [086b, 089f],
25        [08b5, 08b5], [08be, 08d3], [0984, 0984], [098d, 098e],
26        [0991, 0992], [09a9, 09a9], [09b1, 09b1], [09b3, 09b5],
27        [09ba, 09bb], [09c5, 09c6], [09c9, 09ca], [09cf, 09d6],
28        [09d8, 09db], [09de, 09de], [09e4, 09e5], [09fe, 0a00],
29        [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29],
30        [0a31, 0a31], [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b],
31        [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50],
32        [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65], [0a76, 0a80],
33        [0a84, 0a84], [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9],
34        [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6],
35        [0aca, 0aca], [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5],
36        [0af2, 0af8], [0b00, 0b00], [0b04, 0b04], [0b0d, 0b0e],
37        [0b11, 0b12], [0b29, 0b29], [0b31, 0b31], [0b34, 0b34],
38        [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55],
39        [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65], [0b78, 0b81],
40        [0b84, 0b84], [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98],
41        [0b9b, 0b9b], [0b9d, 0b9d], [0ba0, 0ba2], [0ba5, 0ba7],
42        [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9],
43        [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff],
44        [0c04, 0c04], [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29],
45        [0c3a, 0c3c], [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54],
46        [0c57, 0c57], [0c5b, 0c5f], [0c64, 0c65], [0c70, 0c77],
47        [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91], [0ca9, 0ca9],
48        [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9],
49        [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5],
50        [0cf0, 0cf0], [0cf3, 0cff], [0d04, 0d04], [0d0d, 0d0d],
51        [0d11, 0d11], [0d45, 0d45], [0d49, 0d49], [0d50, 0d53],
52        [0d64, 0d65], [0d80, 0d81], [0d84, 0d84], [0d97, 0d99],
53        [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
54        [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5],
55        [0df0, 0df1], [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80],
56        [0e83, 0e83], [0e85, 0e86], [0e89, 0e89], [0e8b, 0e8c],
57        [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0], [0ea4, 0ea4],
58        [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eba, 0eba],
59        [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf],
60        [0eda, 0edb], [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70],
61        [0f98, 0f98], [0fbd, 0fbd], [0fcd, 0fcd], [0fdb, 0fff],
62        [10c6, 10c6], [10c8, 10cc], [10ce, 10cf], [1249, 1249],
63        [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f],
64        [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7],
65        [12bf, 12bf], [12c1, 12c1], [12c6, 12c7], [12d7, 12d7],
66        [1311, 1311], [1316, 1317], [135b, 135c], [137d, 137f],
67        [139a, 139f], [13f6, 13f7], [13fe, 13ff], [169d, 169f],
68        [16f9, 16ff], [170d, 170d], [1715, 171f], [1737, 173f],
69        [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f],
70        [17de, 17df], [17ea, 17ef], [17fa, 17ff], [180f, 180f],
71        [181a, 181f], [1878, 187f], [18ab, 18af], [18f6, 18ff],
72        [191f, 191f], [192c, 192f], [193c, 193f], [1941, 1943],
73        [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
74        [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e],
75        [1a8a, 1a8f], [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff],
76        [1b4c, 1b4f], [1b7d, 1b7f], [1bf4, 1bfb], [1c38, 1c3a],
77        [1c4a, 1c4c], [1c89, 1cbf], [1cc8, 1ccf], [1cfa, 1cff],
78        [1dfa, 1dfa], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47],
79        [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c],
80        [1f5e, 1f5e], [1f7e, 1f7f], [1fb5, 1fb5], [1fc5, 1fc5],
81        [1fd4, 1fd5], [1fdc, 1fdc], [1ff0, 1ff1], [1ff5, 1ff5],
82        [1fff, 1fff], [2065, 2065], [2072, 2073], [208f, 208f],
83        [209d, 209f], [20c0, 20cf], [20f1, 20ff], [218c, 218f],
84        [2427, 243f], [244b, 245f], [2b74, 2b75], [2b96, 2b97],
85        [2bba, 2bbc], [2bc9, 2bc9], [2bd3, 2beb], [2bf0, 2bff],
86        [2c2f, 2c2f], [2c5f, 2c5f], [2cf4, 2cf8], [2d26, 2d26],
87        [2d28, 2d2c], [2d2e, 2d2f], [2d68, 2d6e], [2d71, 2d7e],
88        [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf], [2db7, 2db7],
89        [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7],
90        [2ddf, 2ddf], [2e4a, 2e7f], [2e9a, 2e9a], [2ef4, 2eff],
91        [2fd6, 2fef], [2ffc, 2fff], [3040, 3040], [3097, 3098],
92        [3100, 3104], [312f, 3130], [318f, 318f], [31bb, 31bf],
93        [31e4, 31ef], [321f, 321f], [32ff, 32ff], [4db6, 4dbf],
94        [9feb, 9fff], [a48d, a48f], [a4c7, a4cf], [a62c, a63f],
95        [a6f8, a6ff], [a7af, a7af], [a7b8, a7f6], [a82c, a82f],
96        [a83a, a83f], [a878, a87f], [a8c6, a8cd], [a8da, a8df],
97        [a8fe, a8ff], [a954, a95e], [a97d, a97f], [a9ce, a9ce],
98        [a9da, a9dd], [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f],
99        [aa5a, aa5b], [aac3, aada], [aaf7, ab00], [ab07, ab08],
100        [ab0f, ab10], [ab17, ab1f], [ab27, ab27], [ab2f, ab2f],
101        [ab66, ab6f], [abee, abef], [abfa, abff], [d7a4, d7af],
102        [d7c7, d7ca], [d7fc, f8ff], [fa6e, fa6f], [fada, faff],
103        [fb07, fb12], [fb18, fb1c], [fb37, fb37], [fb3d, fb3d],
104        [fb3f, fb3f], [fb42, fb42], [fb45, fb45], [fbc2, fbd2],
105        [fd40, fd4f], [fd90, fd91], [fdc8, fdef], [fdfe, fdff],
106        [fe1a, fe1f], [fe53, fe53], [fe67, fe67], [fe6c, fe6f],
107        [fe75, fe75], [fefd, fefe], [ff00, ff00], [ffbf, ffc1],
108        [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9], [ffdd, ffdf],
109        [ffe7, ffe7], [ffef, fff8], [fffe, ffff], [1000c, 1000c],
110        [10027, 10027], [1003b, 1003b], [1003e, 1003e], [1004e, 1004f],
111        [1005e, 1007f], [100fb, 100ff], [10103, 10106], [10134, 10136],
112        [1018f, 1018f], [1019c, 1019f], [101a1, 101cf], [101fe, 1027f],
113        [1029d, 1029f], [102d1, 102df], [102fc, 102ff], [10324, 1032c],
114        [1034b, 1034f], [1037b, 1037f], [1039e, 1039e], [103c4, 103c7],
115        [103d6, 103ff], [1049e, 1049f], [104aa, 104af], [104d4, 104d7],
116        [104fc, 104ff], [10528, 1052f], [10564, 1056e], [10570, 105ff],
117        [10737, 1073f], [10756, 1075f], [10768, 107ff], [10806, 10807],
118        [10809, 10809], [10836, 10836], [10839, 1083b], [1083d, 1083e],
119        [10856, 10856], [1089f, 108a6], [108b0, 108df], [108f3, 108f3],
120        [108f6, 108fa], [1091c, 1091e], [1093a, 1093e], [10940, 1097f],
121        [109b8, 109bb], [109d0, 109d1], [10a04, 10a04], [10a07, 10a0b],
122        [10a14, 10a14], [10a18, 10a18], [10a34, 10a37], [10a3b, 10a3e],
123        [10a48, 10a4f], [10a59, 10a5f], [10aa0, 10abf], [10ae7, 10aea],
124        [10af7, 10aff], [10b36, 10b38], [10b56, 10b57], [10b73, 10b77],
125        [10b92, 10b98], [10b9d, 10ba8], [10bb0, 10bff], [10c49, 10c7f],
126        [10cb3, 10cbf], [10cf3, 10cf9], [10d00, 10e5f], [10e7f, 10fff],
127        [1104e, 11051], [11070, 1107e], [110c2, 110cf], [110e9, 110ef],
128        [110fa, 110ff], [11135, 11135], [11144, 1114f], [11177, 1117f],
129        [111ce, 111cf], [111e0, 111e0], [111f5, 111ff], [11212, 11212],
130        [1123f, 1127f], [11287, 11287], [11289, 11289], [1128e, 1128e],
131        [1129e, 1129e], [112aa, 112af], [112eb, 112ef], [112fa, 112ff],
132        [11304, 11304], [1130d, 1130e], [11311, 11312], [11329, 11329],
133        [11331, 11331], [11334, 11334], [1133a, 1133b], [11345, 11346],
134        [11349, 1134a], [1134e, 1134f], [11351, 11356], [11358, 1135c],
135        [11364, 11365], [1136d, 1136f], [11375, 113ff], [1145a, 1145a],
136        [1145c, 1145c], [1145e, 1147f], [114c8, 114cf], [114da, 1157f],
137        [115b6, 115b7], [115de, 115ff], [11645, 1164f], [1165a, 1165f],
138        [1166d, 1167f], [116b8, 116bf], [116ca, 116ff], [1171a, 1171c],
139        [1172c, 1172f], [11740, 1189f], [118f3, 118fe], [11900, 119ff],
140        [11a48, 11a4f], [11a84, 11a85], [11a9d, 11a9d], [11aa3, 11abf],
141        [11af9, 11bff], [11c09, 11c09], [11c37, 11c37], [11c46, 11c4f],
142        [11c6d, 11c6f], [11c90, 11c91], [11ca8, 11ca8], [11cb7, 11cff],
143        [11d07, 11d07], [11d0a, 11d0a], [11d37, 11d39], [11d3b, 11d3b],
144        [11d3e, 11d3e], [11d48, 11d4f], [11d5a, 11fff], [1239a, 123ff],
145        [1246f, 1246f], [12475, 1247f], [12544, 12fff], [1342f, 143ff],
146        [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d],
147        [16a70, 16acf], [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f],
148        [16b5a, 16b5a], [16b62, 16b62], [16b78, 16b7c], [16b90, 16eff],
149        [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf], [16fe2, 16fff],
150        [187ed, 187ff], [18af3, 1afff], [1b11f, 1b16f], [1b2fc, 1bbff],
151        [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f], [1bc9a, 1bc9b],
152        [1bca4, 1cfff], [1d0f6, 1d0ff], [1d127, 1d128], [1d1e9, 1d1ff],
153        [1d246, 1d2ff], [1d357, 1d35f], [1d372, 1d3ff], [1d455, 1d455],
154        [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4], [1d4a7, 1d4a8],
155        [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc], [1d4c4, 1d4c4],
156        [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515], [1d51d, 1d51d],
157        [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545], [1d547, 1d549],
158        [1d551, 1d551], [1d6a6, 1d6a7], [1d7cc, 1d7cd], [1da8c, 1da9a],
159        [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a],
160        [1e022, 1e022], [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8c6],
161        [1e8d7, 1e8ff], [1e94b, 1e94f], [1e95a, 1e95d], [1e960, 1edff],
162        [1ee04, 1ee04], [1ee20, 1ee20], [1ee23, 1ee23], [1ee25, 1ee26],
163        [1ee28, 1ee28], [1ee33, 1ee33], [1ee38, 1ee38], [1ee3a, 1ee3a],
164        [1ee3c, 1ee41], [1ee43, 1ee46], [1ee48, 1ee48], [1ee4a, 1ee4a],
165        [1ee4c, 1ee4c], [1ee50, 1ee50], [1ee53, 1ee53], [1ee55, 1ee56],
166        [1ee58, 1ee58], [1ee5a, 1ee5a], [1ee5c, 1ee5c], [1ee5e, 1ee5e],
167        [1ee60, 1ee60], [1ee63, 1ee63], [1ee65, 1ee66], [1ee6b, 1ee6b],
168        [1ee73, 1ee73], [1ee78, 1ee78], [1ee7d, 1ee7d], [1ee7f, 1ee7f],
169        [1ee8a, 1ee8a], [1ee9c, 1eea0], [1eea4, 1eea4], [1eeaa, 1eeaa],
170        [1eebc, 1eeef], [1eef2, 1efff], [1f02c, 1f02f], [1f094, 1f09f],
171        [1f0af, 1f0b0], [1f0c0, 1f0c0], [1f0d0, 1f0d0], [1f0f6, 1f0ff],
172        [1f10d, 1f10f], [1f12f, 1f12f], [1f16c, 1f16f], [1f1ad, 1f1e5],
173        [1f203, 1f20f], [1f23c, 1f23f], [1f249, 1f24f], [1f252, 1f25f],
174        [1f266, 1f2ff], [1f6d5, 1f6df], [1f6ed, 1f6ef], [1f6f9, 1f6ff],
175        [1f774, 1f77f], [1f7d5, 1f7ff], [1f80c, 1f80f], [1f848, 1f84f],
176        [1f85a, 1f85f], [1f888, 1f88f], [1f8ae, 1f8ff], [1f90c, 1f90f],
177        [1f93f, 1f93f], [1f94d, 1f94f], [1f96c, 1f97f], [1f998, 1f9bf],
178        [1f9c1, 1f9cf], [1f9e7, 1ffff], [2a6d7, 2a6ff], [2b735, 2b73f],
179        [2b81e, 2b81f], [2cea2, 2ceaf], [2ebe1, 2f7ff], [2fa1e, e0000],
180        [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
181        const UnicodeSet zzzz_Ext
182            {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
183              {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
184              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
185              {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29},
186              {Empty, 1}, {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1},
187              {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1},
188              {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
189              {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1},
190              {Empty, 20}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2},
191              {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
192              {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
193              {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2},
194              {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
195              {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7},
196              {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
197              {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 1},
198              {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 2},
199              {Empty, 56}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
200              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
201              {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
202              {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
203              {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
204              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
205              {Empty, 213}, {Mixed, 1}, {Empty, 657}, {Mixed, 1},
206              {Empty, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10},
207              {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
208              {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
209              {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
210              {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
211              {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
212              {Empty, 349}, {Mixed, 3}, {Full, 264}, {Empty, 11},
213              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
214              {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1},
215              {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
216              {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6}, {Full, 1},
217              {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 4},
218              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
219              {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
220              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4},
221              {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3}, {Empty, 1},
222              {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2}, {Empty, 1},
223              {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Full, 1},
224              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Full, 2},
225              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1},
226              {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Full, 12},
227              {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
228              {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2}, {Mixed, 2},
229              {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2}, {Mixed, 1},
230              {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 1},
231              {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
232              {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2},
233              {Mixed, 1}, {Full, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
234              {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6},
235              {Full, 2}, {Mixed, 3}, {Full, 21}, {Empty, 28}, {Mixed, 1},
236              {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
237              {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
238              {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
239              {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
240              {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
241              {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8}, {Mixed, 1},
242              {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 72},
243              {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
244              {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
245              {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
246              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
247              {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
248              {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
249              {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
250              {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
251              {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
252              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5},
253              {Full, 4}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
254              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
255              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5},
256              {Full, 1}, {Mixed, 2}, {Full, 48}, {Empty, 1334}, {Mixed, 1},
257              {Full, 1}, {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
258              {Empty, 180}, {Mixed, 1}, {Empty, 233}, {Mixed, 1},
259              {Full, 96}, {Empty, 16}, {Mixed, 1}, {Full, 22575},
260              {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1},
261              {Full, 6128}},
262             {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
263              0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
264              0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
265              0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00066010,
266              0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811, 0x2c920200,
267              0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440,
268              0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030,
269              0x29c23813, 0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010,
270              0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200,
271              0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220, 0x00000030,
272              0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
273              0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
274              0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
275              0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
276              0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
277              0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
278              0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
279              0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
280              0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
281              0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
282              0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
283              0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
284              0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
285              0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
286              0x00300000, 0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff,
287              0x00008000, 0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00,
288              0xff800000, 0x80808080, 0x80808080, 0xfffffc00, 0x04000000,
289              0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001, 0x01800000,
290              0x0000001f, 0x00018000, 0x00008000, 0xf8000000, 0x0000fff0,
291              0x80000000, 0x80000000, 0xffc00000, 0xfffff800, 0x0000e000,
292              0x0000ff80, 0xfffff000, 0xff000000, 0xff008000, 0x007fffff,
293              0xfc00f000, 0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000,
294              0xe0000000, 0x3c004000, 0x80000000, 0xff800000, 0x0c00c000,
295              0x07fffff8, 0xff800000, 0xff818181, 0x00008080, 0x0000ffc0,
296              0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000, 0x0000c000,
297              0xfc000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
298              0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000,
299              0x00080000, 0x0020f080, 0x60000000, 0x00000001, 0x80000000,
300              0xe3030303, 0xc1ff8080, 0x00001000, 0x48000080, 0xc000c000,
301              0xf8000000, 0x00000078, 0x00700000, 0xf0008000, 0xfffffffe,
302              0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000,
303              0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
304              0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00,
305              0xffff7ff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
306              0x6e400000, 0x00400000, 0x80000000, 0xffff007f, 0x07c80000,
307              0x70000000, 0x7c000000, 0x0f000000, 0x00030000, 0x01100f90,
308              0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000, 0x00c00000,
309              0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
310              0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc,
311              0xfc00fe00, 0x00200000, 0x0000fff0, 0xff800000, 0x0000c000,
312              0xffe00001, 0x00040000, 0x80000000, 0x40004280, 0x0000fc00,
313              0xfc00f800, 0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030,
314              0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0,
315              0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000,
316              0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000,
317              0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000,
318              0xff800100, 0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000,
319              0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000,
320              0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0,
321              0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
322              0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff,
323              0xf0000000, 0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000,
324              0x00000180, 0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000,
325              0x00200000, 0x20000000, 0x1400219b, 0x00000010, 0x20201840,
326              0x84000000, 0x000203a0, 0x000000c0, 0x00003000, 0x07fff000,
327              0xffff0001, 0x06000080, 0xfffff824, 0xff800060, 0x3c00f800,
328              0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400,
329              0xf0000411, 0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000,
330              0x00010001, 0xffc00000, 0x0000e000, 0x00008000, 0x0000f000,
331              0xffffe000, 0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00,
332              0xffffffc0, 0xffe00000, 0xfe00e000, 0xfff00000, 0xffe00000,
333              0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000, 0x0000f000,
334              0x80000000, 0x0000e000, 0xfffff000, 0xff000000, 0x0000fffe,
335              0xffffff80, 0xff800000, 0xffe00000, 0xc0000000, 0x0000fffc,
336              0xfffffffe, 0xc0000000, 0xfffffffd, 0xffff0000}};
337        /** Code Point Ranges for Zyyy
338        [0000, 0040], [005b, 0060], [007b, 00a9], [00ab, 00b9],
339        [00bb, 00bf], [00d7, 00d7], [00f7, 00f7], [02b9, 02df],
340        [02e5, 02e9], [02ec, 02ff], [0374, 0374], [037e, 037e],
341        [0385, 0385], [0387, 0387], [0605, 0605], [06dd, 06dd],
342        [08e2, 08e2], [0e3f, 0e3f], [0fd5, 0fd8], [16eb, 16ed],
343        [2000, 200b], [200e, 2064], [2066, 2070], [2074, 207e],
344        [2080, 208e], [20a0, 20bf], [2100, 2125], [2127, 2129],
345        [212c, 2131], [2133, 214d], [214f, 215f], [2189, 218b],
346        [2190, 2426], [2440, 244a], [2460, 27ff], [2900, 2b73],
347        [2b76, 2b95], [2b98, 2bb9], [2bbd, 2bc8], [2bca, 2bd2],
348        [2bec, 2bef], [2e00, 2e42], [2e44, 2e49], [2ff0, 2ffb],
349        [3000, 3000], [3004, 3004], [3012, 3012], [3020, 3020],
350        [3036, 3036], [3248, 325f], [327f, 327f], [32b1, 32bf],
351        [32cc, 32cf], [3371, 337a], [3380, 33df], [33ff, 33ff],
352        [4dc0, 4dff], [a700, a721], [a788, a78a], [ab5b, ab5b],
353        [fd3e, fd3f], [fe10, fe19], [fe30, fe44], [fe47, fe52],
354        [fe54, fe66], [fe68, fe6b], [feff, feff], [ff01, ff20],
355        [ff3b, ff40], [ff5b, ff60], [ffe0, ffe6], [ffe8, ffee],
356        [fff9, fffd], [10190, 1019b], [101d0, 101fc], [1d000, 1d0f5],
357        [1d100, 1d126], [1d129, 1d166], [1d16a, 1d17a], [1d183, 1d184],
358        [1d18c, 1d1a9], [1d1ae, 1d1e8], [1d300, 1d356], [1d400, 1d454],
359        [1d456, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
360        [1d4a9, 1d4ac], [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
361        [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
362        [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
363        [1d54a, 1d550], [1d552, 1d6a5], [1d6a8, 1d7cb], [1d7ce, 1d7ff],
364        [1f000, 1f02b], [1f030, 1f093], [1f0a0, 1f0ae], [1f0b1, 1f0bf],
365        [1f0c1, 1f0cf], [1f0d1, 1f0f5], [1f100, 1f10c], [1f110, 1f12e],
366        [1f130, 1f16b], [1f170, 1f1ac], [1f1e6, 1f1ff], [1f201, 1f202],
367        [1f210, 1f23b], [1f240, 1f248], [1f260, 1f265], [1f300, 1f6d4],
368        [1f6e0, 1f6ec], [1f6f0, 1f6f8], [1f700, 1f773], [1f780, 1f7d4],
369        [1f800, 1f80b], [1f810, 1f847], [1f850, 1f859], [1f860, 1f887],
370        [1f890, 1f8ad], [1f900, 1f90b], [1f910, 1f93e], [1f940, 1f94c],
371        [1f950, 1f96b], [1f980, 1f997], [1f9c0, 1f9c0], [1f9d0, 1f9e6],
372        [e0001, e0001], [e0020, e007f]**/
373        const UnicodeSet zyyy_Ext
374            {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
375              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
376              {Empty, 19}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 16},
377              {Mixed, 1}, {Empty, 41}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
378              {Empty, 56}, {Mixed, 1}, {Empty, 72}, {Mixed, 1}, {Full, 2},
379              {Mixed, 2}, {Full, 1}, {Empty, 2}, {Full, 1}, {Mixed, 2},
380              {Empty, 1}, {Mixed, 1}, {Full, 20}, {Mixed, 2}, {Full, 29},
381              {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
382              {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 16}, {Mixed, 2},
383              {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Full, 3},
384              {Mixed, 1}, {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1},
385              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 29}, {Mixed, 1},
386              {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
387              {Mixed, 5}, {Empty, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
388              {Empty, 1}, {Mixed, 2}, {Empty, 1648}, {Full, 7}, {Mixed, 1},
389              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
390              {Mixed, 1}, {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 5},
391              {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
392              {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
393              {Full, 1}, {Empty, 192}, {Full, 1}, {Mixed, 1}, {Full, 2},
394              {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
395              {Empty, 1}, {Mixed, 5}, {Empty, 4}, {Full, 30}, {Mixed, 2},
396              {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
397              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
398              {Empty, 2}, {Mixed, 5}, {Empty, 1}, {Mixed, 2},
399              {Empty, 24624}, {Mixed, 1}, {Full, 3}, {Empty, 6140}},
400             {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
401              0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000020,
402              0x20000000, 0x00000004, 0x80000000, 0x01e00000, 0x00003800,
403              0xffffcfff, 0x7ff1ffdf, 0x00007fff, 0xfffbf3bf, 0xffffbfff,
404              0xffff0e00, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
405              0xe3ffffff, 0x0007fdff, 0x0000f000, 0x000003f7, 0x0fff0000,
406              0x00040011, 0x00400001, 0xffffff00, 0x80000000, 0xfffe0000,
407              0x0000f000, 0x07fe0000, 0x80000000, 0x00000003, 0x00000700,
408              0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ff9f,
409              0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
410              0x00000001, 0x3e007f7f, 0x0fff0000, 0xffff0000, 0x1fffffff,
411              0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
412              0x000001ff, 0x007fffff, 0xffdfffff, 0xdfffffff, 0xebffde64,
413              0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f,
414              0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff, 0xfffefffe,
415              0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff, 0x00001fff,
416              0xffffffc0, 0xffff0006, 0x0fffffff, 0x000001ff, 0x0000003f,
417              0x001fffff, 0x01ff1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
418              0x03ff00ff, 0xffff00ff, 0x00003fff, 0xffff0fff, 0x7fffffff,
419              0xffff1fff, 0x00000fff, 0x00ffffff, 0xffff0001, 0x0000007f,
420              0x00000002}};
421        /** Code Point Ranges for Latn
422        [0041, 005a], [0061, 007a], [00aa, 00aa], [00ba, 00ba],
423        [00c0, 00d6], [00d8, 00f6], [00f8, 02b8], [02e0, 02e4],
424        [0363, 036f], [0485, 0486], [0951, 0952], [10fb, 10fb],
425        [1d00, 1d25], [1d2c, 1d5c], [1d62, 1d65], [1d6b, 1d77],
426        [1d79, 1dbe], [1e00, 1eff], [2071, 2071], [207f, 207f],
427        [2090, 209c], [20f0, 20f0], [212a, 212b], [2132, 2132],
428        [214e, 214e], [2160, 2188], [2c60, 2c7f], [a722, a787],
429        [a78b, a7ae], [a7b0, a7b7], [a7f7, a7ff], [a92e, a92e],
430        [ab30, ab5a], [ab5c, ab64], [fb00, fb06], [ff21, ff3a],
431        [ff41, ff5a]**/
432        const UnicodeSet latn_Ext
433            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
434              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
435              {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
436              {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
437              {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
438              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
439              {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
440              {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
441              {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
442              {Empty, 32}, {Mixed, 2}, {Empty, 32773}},
443             {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
444              0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
445              0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
446              0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
447              0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
448              0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
449              0x07fffffe, 0x07fffffe}};
450        /** Code Point Ranges for Grek
451        [0342, 0342], [0345, 0345], [0370, 0373], [0375, 0377],
452        [037a, 037d], [037f, 037f], [0384, 0384], [0386, 0386],
453        [0388, 038a], [038c, 038c], [038e, 03a1], [03a3, 03e1],
454        [03f0, 03ff], [1d26, 1d2a], [1d5d, 1d61], [1d66, 1d6a],
455        [1dbf, 1dc1], [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45],
456        [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b],
457        [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fc4],
458        [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fef], [1ff2, 1ff4],
459        [1ff6, 1ffe], [2126, 2126], [ab65, ab65], [10140, 1018e],
460        [101a0, 101a0], [1d200, 1d245]**/
461        const UnicodeSet grek_Ext
462            {{{Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
463              {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
464              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
465              {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686},
466              {Full, 2}, {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1},
467              {Empty, 31085}},
468             {0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
469              0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
470              0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
471              0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
472              0x0000003f}};
473        /** Code Point Ranges for Cyrl
474        [0400, 052f], [1c80, 1c88], [1d2b, 1d2b], [1d78, 1d78],
475        [2de0, 2dff], [2e43, 2e43], [a640, a69f], [fe2e, fe2f]**/
476        const UnicodeSet cyrl_Ext
477            {{{Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
478              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
479              {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
480              {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
481             {0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
482              0x0000c000}};
483        /** Code Point Ranges for Armn
484        [0531, 0556], [0559, 055f], [0561, 0587], [0589, 058a],
485        [058d, 058f], [fb13, fb17]**/
486        const UnicodeSet armn_Ext
487            {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
488              {Empty, 32807}},
489             {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000}};
490        /** Code Point Ranges for Hebr
491        [0591, 05c7], [05d0, 05ea], [05f0, 05f4], [fb1d, fb36],
492        [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
493        [fb46, fb4f]**/
494        const UnicodeSet hebr_Ext
495            {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
496              {Mixed, 3}, {Empty, 32805}},
497             {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
498              0x0000ffdb}};
499        /** Code Point Ranges for Arab
500        [0600, 0604], [0606, 061c], [061e, 06dc], [06de, 06ff],
501        [0750, 077f], [08a0, 08b4], [08b6, 08bd], [08d4, 08e1],
502        [08e3, 08ff], [fb50, fbc1], [fbd3, fd3d], [fd50, fd8f],
503        [fd92, fdc7], [fdf0, fdfd], [fe70, fe74], [fe76, fefc],
504        [102e0, 102fb], [10e60, 10e7e], [1ee00, 1ee03], [1ee05, 1ee1f],
505        [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
506        [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
507        [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
508        [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
509        [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
510        [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
511        [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
512        [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1]**/
513        const UnicodeSet arab_Ext
514            {{{Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
515              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
516              {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
517              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
518              {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
519              {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788},
520              {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
521             {0xdfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
522              0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
523              0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
524              0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
525              0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
526        /** Code Point Ranges for Syrc
527        [060c, 060c], [061b, 061c], [061f, 061f], [0640, 0640],
528        [064b, 0655], [0670, 0670], [0700, 070d], [070f, 074a],
529        [074d, 074f], [0860, 086a]**/
530        const UnicodeSet syrc_Ext
531            {{{Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
532              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
533              {Empty, 34748}},
534             {0x98001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff,
535              0x000007ff}};
536        /** Code Point Ranges for Thaa
537        [060c, 060c], [061b, 061c], [061f, 061f], [0660, 0669],
538        [0780, 07b1], [fdf2, fdf2], [fdfd, fdfd]**/
539        const UnicodeSet thaa_Ext
540            {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
541              {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1},
542              {Empty, 32784}},
543             {0x98001000, 0x000003ff, 0x0003ffff, 0x20040000}};
544        /** Code Point Ranges for Deva
545        [0900, 097f], [1cd0, 1cf6], [1cf8, 1cf9], [20f0, 20f0],
546        [a830, a839], [a8e0, a8fd]**/
547        const UnicodeSet deva_Ext
548            {{{Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
549              {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
550              {Empty, 33464}},
551             {0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff}};
552        /** Code Point Ranges for Beng
553        [0951, 0952], [0964, 0965], [0980, 0983], [0985, 098c],
554        [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
555        [09b6, 09b9], [09bc, 09c4], [09c7, 09c8], [09cb, 09ce],
556        [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09fd],
557        [1cf7, 1cf7], [a8f1, a8f1]**/
558        const UnicodeSet beng_Ext
559            {{{Empty, 74}, {Mixed, 6}, {Empty, 151}, {Mixed, 1},
560              {Empty, 1119}, {Mixed, 1}, {Empty, 33464}},
561             {0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
562              0x3fffffcf, 0x00800000, 0x00020000}};
563        /** Code Point Ranges for Guru
564        [0951, 0952], [0964, 0965], [0a01, 0a03], [0a05, 0a0a],
565        [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
566        [0a35, 0a36], [0a38, 0a39], [0a3c, 0a3c], [0a3e, 0a42],
567        [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a59, 0a5c],
568        [0a5e, 0a5e], [0a66, 0a75], [a830, a839]**/
569        const UnicodeSet guru_Ext
570            {{{Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4},
571              {Empty, 1261}, {Mixed, 1}, {Empty, 33470}},
572             {0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
573              0x003fffc0, 0x03ff0000}};
574        /** Code Point Ranges for Gujr
575        [0951, 0952], [0964, 0965], [0a81, 0a83], [0a85, 0a8d],
576        [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3],
577        [0ab5, 0ab9], [0abc, 0ac5], [0ac7, 0ac9], [0acb, 0acd],
578        [0ad0, 0ad0], [0ae0, 0ae3], [0ae6, 0af1], [0af9, 0aff],
579        [a830, a839]**/
580        const UnicodeSet gujr_Ext
581            {{{Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
582              {Empty, 1257}, {Mixed, 1}, {Empty, 33470}},
583             {0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
584              0xfe03ffcf, 0x03ff0000}};
585        /** Code Point Ranges for Orya
586        [0951, 0952], [0964, 0965], [0b01, 0b03], [0b05, 0b0c],
587        [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
588        [0b35, 0b39], [0b3c, 0b44], [0b47, 0b48], [0b4b, 0b4d],
589        [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b66, 0b77]**/
590        const UnicodeSet orya_Ext
591            {{{Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4},
592              {Empty, 34724}},
593             {0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
594              0x00ffffcf}};
595        /** Code Point Ranges for Taml
596        [0951, 0952], [0964, 0965], [0b82, 0b83], [0b85, 0b8a],
597        [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c],
598        [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9],
599        [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcd], [0bd0, 0bd0],
600        [0bd7, 0bd7], [0be6, 0bfa], [1cda, 1cda], [a8f3, a8f3],
601        [11301, 11301], [11303, 11303], [1133c, 1133c]**/
602        const UnicodeSet taml_Ext
603            {{{Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4},
604              {Empty, 134}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
605              {Empty, 848}, {Mixed, 2}, {Empty, 32614}},
606             {0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
607              0x07ffffc0, 0x04000000, 0x00080000, 0x0000000a, 0x10000000}};
608        /** Code Point Ranges for Telu
609        [0951, 0952], [0964, 0965], [0c00, 0c03], [0c05, 0c0c],
610        [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c44],
611        [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c58, 0c5a],
612        [0c60, 0c63], [0c66, 0c6f], [0c78, 0c7f], [1cda, 1cda]**/
613        const UnicodeSet telu_Ext
614            {{{Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4},
615              {Empty, 130}, {Mixed, 1}, {Empty, 34585}},
616             {0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
617              0xff00ffcf, 0x04000000}};
618        /** Code Point Ranges for Knda
619        [0951, 0952], [0964, 0965], [0c80, 0c83], [0c85, 0c8c],
620        [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
621        [0cbc, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
622        [0cde, 0cde], [0ce0, 0ce3], [0ce6, 0cef], [0cf1, 0cf2],
623        [1cda, 1cda], [1cf5, 1cf5], [a830, a835]**/
624        const UnicodeSet knda_Ext
625            {{{Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4},
626              {Empty, 126}, {Mixed, 2}, {Empty, 1113}, {Mixed, 1},
627              {Empty, 33470}},
628             {0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
629              0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000}};
630        /** Code Point Ranges for Mlym
631        [0951, 0952], [0964, 0965], [0d00, 0d03], [0d05, 0d0c],
632        [0d0e, 0d10], [0d12, 0d44], [0d46, 0d48], [0d4a, 0d4f],
633        [0d54, 0d63], [0d66, 0d7f], [1cda, 1cda]**/
634        const UnicodeSet mlym_Ext
635            {{{Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 1}, {Full, 1},
636              {Mixed, 2}, {Empty, 122}, {Mixed, 1}, {Empty, 34585}},
637             {0x00060000, 0x00000030, 0xfffddfef, 0xfff0fddf, 0xffffffcf,
638              0x04000000}};
639        /** Code Point Ranges for Sinh
640        [0964, 0965], [0d82, 0d83], [0d85, 0d96], [0d9a, 0db1],
641        [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0dca, 0dca],
642        [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0de6, 0def],
643        [0df2, 0df4], [111e1, 111f4]**/
644        const UnicodeSet sinh_Ext
645            {{{Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4},
646              {Empty, 2079}, {Mixed, 1}, {Empty, 32624}},
647             {0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
648              0x001ffffe}};
649        /** Code Point Ranges for Thai
650        [0e01, 0e3a], [0e40, 0e5b]**/
651        const UnicodeSet thai_Ext
652            {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
653             {0xfffffffe, 0x07ffffff, 0x0fffffff}};
654        /** Code Point Ranges for Laoo
655        [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
656        [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
657        [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9],
658        [0ebb, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6], [0ec8, 0ecd],
659        [0ed0, 0ed9], [0edc, 0edf]**/
660        const UnicodeSet laoo_Ext
661            {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
662             {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
663        /** Code Point Ranges for Tibt
664        [0f00, 0f47], [0f49, 0f6c], [0f71, 0f97], [0f99, 0fbc],
665        [0fbe, 0fcc], [0fce, 0fd4], [0fd9, 0fda]**/
666        const UnicodeSet tibt_Ext
667            {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
668             {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
669        /** Code Point Ranges for Mymr
670        [1000, 109f], [a92e, a92e], [a9e0, a9fe], [aa60, aa7f]**/
671        const UnicodeSet mymr_Ext
672            {{{Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1},
673              {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}},
674             {0x00004000, 0x7fffffff}};
675        /** Code Point Ranges for Geor
676        [0589, 0589], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
677        [10d0, 10ff], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d]**/
678        const UnicodeSet geor_Ext
679            {{{Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
680              {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1},
681              {Empty, 34454}},
682             {0x00000200, 0xffff20bf, 0x000020bf}};
683        /** Code Point Ranges for Hang
684        [1100, 11ff], [3001, 3003], [3008, 3011], [3013, 301f],
685        [302e, 3030], [3037, 3037], [30fb, 30fb], [3131, 318e],
686        [3200, 321e], [3260, 327e], [a960, a97c], [ac00, d7a3],
687        [d7b0, d7c6], [d7cb, d7fb], [fe45, fe46], [ff61, ff65],
688        [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
689        [ffda, ffdc]**/
690        const UnicodeSet hang_Ext
691            {{{Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
692              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
693              {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
694              {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3},
695              {Empty, 306}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
696              {Mixed, 2}, {Empty, 32769}},
697             {0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
698              0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
699              0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc}};
700        /** Code Point Ranges for Ethi
701        [1200, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
702        [125a, 125d], [1260, 1288], [128a, 128d], [1290, 12b0],
703        [12b2, 12b5], [12b8, 12be], [12c0, 12c0], [12c2, 12c5],
704        [12c8, 12d6], [12d8, 1310], [1312, 1315], [1318, 135a],
705        [135d, 137c], [1380, 1399], [2d80, 2d96], [2da0, 2da6],
706        [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6],
707        [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde], [ab01, ab06],
708        [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e]**/
709        const UnicodeSet ethi_Ext
710            {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
711              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
712              {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
713             {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
714              0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
715              0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
716        /** Code Point Ranges for Cher
717        [13a0, 13f5], [13f8, 13fd], [ab70, abbf]**/
718        const UnicodeSet cher_Ext
719            {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211},
720              {Mixed, 1}, {Full, 2}, {Empty, 33442}},
721             {0x3f3fffff, 0xffff0000}};
722        /** Code Point Ranges for Cans
723        [1400, 167f], [18b0, 18f5]**/
724        const UnicodeSet cans_Ext
725            {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
726              {Mixed, 1}, {Empty, 34616}},
727             {0xffff0000, 0x003fffff}};
728        /** Code Point Ranges for Ogam
729        [1680, 169c]**/
730        const UnicodeSet ogam_Ext
731            {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
732             {0x1fffffff}};
733        /** Code Point Ranges for Runr
734        [16a0, 16ea], [16ee, 16f8]**/
735        const UnicodeSet runr_Ext
736            {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
737             {0x01ffc7ff}};
738        /** Code Point Ranges for Khmr
739        [1780, 17dd], [17e0, 17e9], [17f0, 17f9], [19e0, 19ff]**/
740        const UnicodeSet khmr_Ext
741            {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
742              {Empty, 34608}},
743             {0x3fffffff, 0x03ff03ff}};
744        /** Code Point Ranges for Mong
745        [1800, 180e], [1810, 1819], [1820, 1877], [1880, 18aa],
746        [11660, 1166c]**/
747        const UnicodeSet mong_Ext
748            {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
749              {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
750             {0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff}};
751        /** Code Point Ranges for Hira
752        [3001, 3003], [3008, 3011], [3013, 301f], [3030, 3035],
753        [3037, 3037], [303c, 303d], [3041, 3096], [3099, 30a0],
754        [30fb, 30fc], [fe45, fe46], [ff61, ff65], [ff70, ff70],
755        [ff9e, ff9f], [1b001, 1b11e], [1f200, 1f200]**/
756        const UnicodeSet hira_Ext
757            {{{Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
758              {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
759              {Empty, 1411}, {Mixed, 1}, {Full, 7}, {Mixed, 1},
760              {Empty, 519}, {Mixed, 1}, {Empty, 30831}},
761             {0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
762              0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0xfffffffe,
763              0x7fffffff, 0x00000001}};
764        /** Code Point Ranges for Kana
765        [3001, 3003], [3008, 3011], [3013, 301f], [3030, 3035],
766        [3037, 3037], [303c, 303d], [3099, 309c], [30a0, 30ff],
767        [31f0, 31ff], [32d0, 32fe], [3300, 3357], [fe45, fe46],
768        [ff61, ff9f], [1b000, 1b000]**/
769        const UnicodeSet kana_Ext
770            {{{Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
771              {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
772              {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
773              {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}},
774             {0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
775              0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001}};
776        /** Code Point Ranges for Bopo
777        [02ea, 02eb], [3001, 3003], [3008, 3011], [3013, 301f],
778        [302a, 302d], [3030, 3030], [3037, 3037], [30fb, 30fb],
779        [3105, 312e], [31a0, 31ba], [fe45, fe46], [ff61, ff65]**/
780        const UnicodeSet bopo_Ext
781            {{{Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
782              {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
783              {Empty, 8}, {Mixed, 1}, {Empty, 32772}},
784             {0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
785              0x00007fff, 0x07ffffff, 0x00000060, 0x0000003e}};
786        /** Code Point Ranges for Hani
787        [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [3001, 3003],
788        [3005, 3011], [3013, 301f], [3021, 302d], [3030, 3030],
789        [3037, 303f], [30fb, 30fb], [3190, 319f], [31c0, 31e3],
790        [3220, 3247], [3280, 32b0], [32c0, 32cb], [3358, 3370],
791        [337b, 337f], [33e0, 33fe], [3400, 4db5], [4e00, 9fea],
792        [f900, fa6d], [fa70, fad9], [fe45, fe46], [ff61, ff65],
793        [1d360, 1d371], [1f250, 1f251], [20000, 2a6d6], [2a700, 2b734],
794        [2b740, 2b81d], [2b820, 2cea1], [2ceb0, 2ebe0], [2f800, 2fa1d]**/
795        const UnicodeSet hani_Ext
796            {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
797              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
798              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
799              {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
800              {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
801              {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 655}, {Mixed, 1},
802              {Empty, 712}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
803              {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
804              {Empty, 1695}, {Mixed, 1}, {Empty, 246}, {Mixed, 1},
805              {Empty, 109}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
806              {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
807              {Mixed, 1}, {Full, 233}, {Mixed, 1}, {Empty, 96}, {Full, 16},
808              {Mixed, 1}, {Empty, 28719}},
809             {0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
810              0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
811              0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
812              0x000007ff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
813              0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
814              0xffff0003, 0x00000001, 0x3fffffff}};
815        /** Code Point Ranges for Yiii
816        [3001, 3002], [3008, 3011], [3014, 301b], [30fb, 30fb],
817        [a000, a48c], [a490, a4c6], [ff61, ff65]**/
818        const UnicodeSet yiii_Ext
819            {{{Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
820              {Empty, 888}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
821              {Empty, 724}, {Mixed, 1}, {Empty, 32772}},
822             {0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e}};
823        /** Code Point Ranges for Ital
824        [10300, 10323], [1032d, 1032f]**/
825        const UnicodeSet ital_Ext
826            {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
827             {0x0000e00f}};
828        /** Code Point Ranges for Goth
829        [10330, 1034a]**/
830        const UnicodeSet goth_Ext
831            {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
832             {0xffff0000, 0x000007ff}};
833        /** Code Point Ranges for Dsrt
834        [10400, 1044f]**/
835        const UnicodeSet dsrt_Ext
836            {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
837             {0x0000ffff}};
838        /** Code Point Ranges for Zinh
839        [0300, 0341], [0343, 0344], [0346, 0362], [1ab0, 1abe],
840        [1dc2, 1df9], [1dfb, 1dff], [200c, 200d], [20d0, 20ef],
841        [fe00, fe0f], [fe20, fe2d], [101fd, 101fd], [1d167, 1d169],
842        [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [e0100, e01ef]**/
843        const UnicodeSet zinh_Ext
844            {{{Empty, 24}, {Full, 2}, {Mixed, 2}, {Empty, 185}, {Mixed, 1},
845              {Empty, 24}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
846              {Mixed, 2}, {Empty, 1768}, {Mixed, 2}, {Empty, 29},
847              {Mixed, 1}, {Empty, 1659}, {Mixed, 3}, {Empty, 24954},
848              {Full, 7}, {Mixed, 1}, {Empty, 6128}},
849             {0xffffffdb, 0x00000007, 0x7fff0000, 0xfffffffc, 0xfbffffff,
850              0x00003000, 0xffff0000, 0x0000ffff, 0x0000ffff, 0x00003fff,
851              0x20000000, 0xf8000380, 0x00000fe7, 0x00003c00, 0x0000ffff}};
852        /** Code Point Ranges for Tglg
853        [1700, 170c], [170e, 1714], [1735, 1736]**/
854        const UnicodeSet tglg_Ext
855            {{{Empty, 184}, {Mixed, 2}, {Empty, 34630}},
856             {0x001fdfff, 0x00600000}};
857        /** Code Point Ranges for Hano
858        [1720, 1736]**/
859        const UnicodeSet hano_Ext
860            {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
861             {0x007fffff}};
862        /** Code Point Ranges for Buhd
863        [1735, 1736], [1740, 1753]**/
864        const UnicodeSet buhd_Ext
865            {{{Empty, 185}, {Mixed, 2}, {Empty, 34629}},
866             {0x00600000, 0x000fffff}};
867        /** Code Point Ranges for Tagb
868        [1735, 1736], [1760, 176c], [176e, 1770], [1772, 1773]**/
869        const UnicodeSet tagb_Ext
870            {{{Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
871              {Empty, 34628}},
872             {0x00600000, 0x000ddfff}};
873        /** Code Point Ranges for Limb
874        [0965, 0965], [1900, 191e], [1920, 192b], [1930, 193b],
875        [1940, 1940], [1944, 194f]**/
876        const UnicodeSet limb_Ext
877            {{{Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3},
878              {Empty, 34613}},
879             {0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1}};
880        /** Code Point Ranges for Tale
881        [1040, 1049], [1950, 196d], [1970, 1974]**/
882        const UnicodeSet tale_Ext
883            {{{Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2},
884              {Empty, 34612}},
885             {0x000003ff, 0xffff0000, 0x001f3fff}};
886        /** Code Point Ranges for Linb
887        [10000, 1000b], [1000d, 10026], [10028, 1003a], [1003c, 1003d],
888        [1003f, 1004d], [10050, 1005d], [10080, 100fa], [10100, 10102],
889        [10107, 10133], [10137, 1013f]**/
890        const UnicodeSet linb_Ext
891            {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
892              {Empty, 32758}},
893             {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
894              0xff8fffff}};
895        /** Code Point Ranges for Ugar
896        [10380, 1039d], [1039f, 1039f]**/
897        const UnicodeSet ugar_Ext
898            {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
899             {0xbfffffff}};
900        /** Code Point Ranges for Shaw
901        [10450, 1047f]**/
902        const UnicodeSet shaw_Ext
903            {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
904             {0xffff0000}};
905        /** Code Point Ranges for Osma
906        [10480, 1049d], [104a0, 104a9]**/
907        const UnicodeSet osma_Ext
908            {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
909             {0x3fffffff, 0x000003ff}};
910        /** Code Point Ranges for Cprt
911        [10100, 10102], [10107, 10133], [10137, 1013f], [10800, 10805],
912        [10808, 10808], [1080a, 10835], [10837, 10838], [1083c, 1083c],
913        [1083f, 1083f]**/
914        const UnicodeSet cprt_Ext
915            {{{Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2},
916              {Empty, 32702}},
917             {0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff}};
918        /** Code Point Ranges for Brai
919        [2800, 28ff]**/
920        const UnicodeSet brai_Ext
921            {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
922             {}};
923        /** Code Point Ranges for Bugi
924        [1a00, 1a1b], [1a1e, 1a1f], [a9cf, a9cf]**/
925        const UnicodeSet bugi_Ext
926            {{{Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1},
927              {Empty, 33457}},
928             {0xcfffffff, 0x00008000}};
929        /** Code Point Ranges for Copt
930        [03e2, 03ef], [2c80, 2cf3], [2cf9, 2cff], [102e0, 102fb]**/
931        const UnicodeSet copt_Ext
932            {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
933              {Empty, 1711}, {Mixed, 1}, {Empty, 32744}},
934             {0x0000fffc, 0xfe0fffff, 0x0fffffff}};
935        /** Code Point Ranges for Talu
936        [1980, 19ab], [19b0, 19c9], [19d0, 19da], [19de, 19df]**/
937        const UnicodeSet talu_Ext
938            {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
939             {0xffff0fff, 0xc7ff03ff}};
940        /** Code Point Ranges for Glag
941        [0484, 0484], [0487, 0487], [2c00, 2c2e], [2c30, 2c5e],
942        [2e43, 2e43], [a66f, a66f], [1e000, 1e006], [1e008, 1e018],
943        [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a]**/
944        const UnicodeSet glag_Ext
945            {{{Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
946              {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1},
947              {Empty, 2508}, {Mixed, 2}, {Empty, 30974}},
948             {0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
949              0xf9ffff7f, 0x000007db}};
950        /** Code Point Ranges for Tfng
951        [2d30, 2d67], [2d6f, 2d70], [2d7f, 2d7f]**/
952        const UnicodeSet tfng_Ext
953            {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
954              {Empty, 34452}},
955             {0xffff0000, 0x800180ff}};
956        /** Code Point Ranges for Sylo
957        [0964, 0965], [09e6, 09ef], [a800, a82b]**/
958        const UnicodeSet sylo_Ext
959            {{{Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
960              {Empty, 1264}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
961             {0x00000030, 0x0000ffc0, 0x00000fff}};
962        /** Code Point Ranges for Xpeo
963        [103a0, 103c3], [103c8, 103d5]**/
964        const UnicodeSet xpeo_Ext
965            {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
966             {0x003fff0f}};
967        /** Code Point Ranges for Khar
968        [10a00, 10a03], [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17],
969        [10a19, 10a33], [10a38, 10a3a], [10a3f, 10a47], [10a50, 10a58]**/
970        const UnicodeSet khar_Ext
971            {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
972             {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
973        /** Code Point Ranges for Bali
974        [1b00, 1b4b], [1b50, 1b7c]**/
975        const UnicodeSet bali_Ext
976            {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
977             {0xffff0fff, 0x1fffffff}};
978        /** Code Point Ranges for Xsux
979        [12000, 12399], [12400, 1246e], [12470, 12474], [12480, 12543]**/
980        const UnicodeSet xsux_Ext
981            {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
982              {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
983             {0x03ffffff, 0x001f7fff, 0x0000000f}};
984        /** Code Point Ranges for Phnx
985        [10900, 1091b], [1091f, 1091f]**/
986        const UnicodeSet phnx_Ext
987            {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
988             {0x8fffffff}};
989        /** Code Point Ranges for Phag
990        [1802, 1803], [1805, 1805], [a840, a877]**/
991        const UnicodeSet phag_Ext
992            {{{Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1},
993              {Mixed, 1}, {Empty, 33468}},
994             {0x0000002c, 0x00ffffff}};
995        /** Code Point Ranges for Nkoo
996        [07c0, 07fa]**/
997        const UnicodeSet nkoo_Ext
998            {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
999             {0x07ffffff}};
1000        /** Code Point Ranges for Sund
1001        [1b80, 1bbf], [1cc0, 1cc7]**/
1002        const UnicodeSet sund_Ext
1003            {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1},
1004              {Empty, 34585}},
1005             {0x000000ff}};
1006        /** Code Point Ranges for Lepc
1007        [1c00, 1c37], [1c3b, 1c49], [1c4d, 1c4f]**/
1008        const UnicodeSet lepc_Ext
1009            {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
1010             {0xf8ffffff, 0x0000e3ff}};
1011        /** Code Point Ranges for Olck
1012        [1c50, 1c7f]**/
1013        const UnicodeSet olck_Ext
1014            {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
1015             {0xffff0000}};
1016        /** Code Point Ranges for Vaii
1017        [a500, a62b]**/
1018        const UnicodeSet vaii_Ext
1019            {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
1020             {0x00000fff}};
1021        /** Code Point Ranges for Saur
1022        [a880, a8c5], [a8ce, a8d9]**/
1023        const UnicodeSet saur_Ext
1024            {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
1025             {0x03ffc03f}};
1026        /** Code Point Ranges for Kali
1027        [a900, a92f]**/
1028        const UnicodeSet kali_Ext
1029            {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
1030             {0x0000ffff}};
1031        /** Code Point Ranges for Rjng
1032        [a930, a953], [a95f, a95f]**/
1033        const UnicodeSet rjng_Ext
1034            {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
1035             {0xffff0000, 0x800fffff}};
1036        /** Code Point Ranges for Lyci
1037        [10280, 1029c]**/
1038        const UnicodeSet lyci_Ext
1039            {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
1040             {0x1fffffff}};
1041        /** Code Point Ranges for Cari
1042        [102a0, 102d0]**/
1043        const UnicodeSet cari_Ext
1044            {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
1045             {0x0001ffff}};
1046        /** Code Point Ranges for Lydi
1047        [10920, 10939], [1093f, 1093f]**/
1048        const UnicodeSet lydi_Ext
1049            {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
1050             {0x83ffffff}};
1051        /** Code Point Ranges for Cham
1052        [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa5c, aa5f]**/
1053        const UnicodeSet cham_Ext
1054            {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
1055             {0x007fffff, 0xf3ff3fff}};
1056        /** Code Point Ranges for Lana
1057        [1a20, 1a5e], [1a60, 1a7c], [1a7f, 1a89], [1a90, 1a99],
1058        [1aa0, 1aad]**/
1059        const UnicodeSet lana_Ext
1060            {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
1061             {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
1062        /** Code Point Ranges for Tavt
1063        [aa80, aac2], [aadb, aadf]**/
1064        const UnicodeSet tavt_Ext
1065            {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
1066             {0xf8000007}};
1067        /** Code Point Ranges for Avst
1068        [10b00, 10b35], [10b39, 10b3f]**/
1069        const UnicodeSet avst_Ext
1070            {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
1071             {0xfe3fffff}};
1072        /** Code Point Ranges for Egyp
1073        [13000, 1342e]**/
1074        const UnicodeSet egyp_Ext
1075            {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
1076             {0x00007fff}};
1077        /** Code Point Ranges for Samr
1078        [0800, 082d], [0830, 083e]**/
1079        const UnicodeSet samr_Ext
1080            {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
1081             {0x7fff3fff}};
1082        /** Code Point Ranges for Lisu
1083        [a4d0, a4ff]**/
1084        const UnicodeSet lisu_Ext
1085            {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
1086             {0xffff0000}};
1087        /** Code Point Ranges for Bamu
1088        [a6a0, a6f7], [16800, 16a38]**/
1089        const UnicodeSet bamu_Ext
1090            {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544},
1091              {Full, 17}, {Mixed, 1}, {Empty, 31918}},
1092             {0x00ffffff, 0x01ffffff}};
1093        /** Code Point Ranges for Java
1094        [a980, a9cd], [a9cf, a9d9], [a9de, a9df]**/
1095        const UnicodeSet java_Ext
1096            {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
1097             {0xc3ffbfff}};
1098        /** Code Point Ranges for Mtei
1099        [aae0, aaf6], [abc0, abed], [abf0, abf9]**/
1100        const UnicodeSet mtei_Ext
1101            {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
1102              {Empty, 33440}},
1103             {0x007fffff, 0x03ff3fff}};
1104        /** Code Point Ranges for Armi
1105        [10840, 10855], [10857, 1085f]**/
1106        const UnicodeSet armi_Ext
1107            {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
1108             {0xffbfffff}};
1109        /** Code Point Ranges for Sarb
1110        [10a60, 10a7f]**/
1111        const UnicodeSet sarb_Ext
1112            {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
1113             {}};
1114        /** Code Point Ranges for Prti
1115        [10b40, 10b55], [10b58, 10b5f]**/
1116        const UnicodeSet prti_Ext
1117            {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
1118             {0xff3fffff}};
1119        /** Code Point Ranges for Phli
1120        [10b60, 10b72], [10b78, 10b7f]**/
1121        const UnicodeSet phli_Ext
1122            {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
1123             {0xff07ffff}};
1124        /** Code Point Ranges for Orkh
1125        [10c00, 10c48]**/
1126        const UnicodeSet orkh_Ext
1127            {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
1128             {0x000001ff}};
1129        /** Code Point Ranges for Kthi
1130        [0966, 096f], [a830, a839], [11080, 110c1]**/
1131        const UnicodeSet kthi_Ext
1132            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1133              {Empty, 834}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
1134             {0x0000ffc0, 0x03ff0000, 0x00000003}};
1135        /** Code Point Ranges for Batk
1136        [1bc0, 1bf3], [1bfc, 1bff]**/
1137        const UnicodeSet batk_Ext
1138            {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
1139             {0xf00fffff}};
1140        /** Code Point Ranges for Brah
1141        [11000, 1104d], [11052, 1106f], [1107f, 1107f]**/
1142        const UnicodeSet brah_Ext
1143            {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
1144             {0xfffc3fff, 0x8000ffff}};
1145        /** Code Point Ranges for Mand
1146        [0640, 0640], [0840, 085b], [085e, 085e]**/
1147        const UnicodeSet mand_Ext
1148            {{{Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
1149              {Empty, 34749}},
1150             {0x00000001, 0x4fffffff}};
1151        /** Code Point Ranges for Cakm
1152        [09e6, 09ef], [1040, 1049], [11100, 11134], [11136, 11143]**/
1153        const UnicodeSet cakm_Ext
1154            {{{Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1},
1155              {Empty, 2053}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
1156             {0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f}};
1157        /** Code Point Ranges for Merc
1158        [109a0, 109b7], [109bc, 109cf], [109d2, 109ff]**/
1159        const UnicodeSet merc_Ext
1160            {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
1161             {0xf0ffffff, 0xfffcffff}};
1162        /** Code Point Ranges for Mero
1163        [10980, 1099f]**/
1164        const UnicodeSet mero_Ext
1165            {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
1166             {}};
1167        /** Code Point Ranges for Plrd
1168        [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f]**/
1169        const UnicodeSet plrd_Ext
1170            {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
1171             {0xffff001f, 0x7fffffff, 0xffff8000}};
1172        /** Code Point Ranges for Shrd
1173        [0951, 0951], [1cd7, 1cd7], [1cd9, 1cd9], [1cdc, 1cdd],
1174        [1ce0, 1ce0], [11180, 111cd], [111d0, 111df]**/
1175        const UnicodeSet shrd_Ext
1176            {{{Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2},
1177              {Empty, 1956}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
1178             {0x00020000, 0x32800000, 0x00000001, 0xffff3fff}};
1179        /** Code Point Ranges for Sora
1180        [110d0, 110e8], [110f0, 110f9]**/
1181        const UnicodeSet sora_Ext
1182            {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
1183             {0xffff0000, 0x03ff01ff}};
1184        /** Code Point Ranges for Takr
1185        [0964, 0965], [a830, a839], [11680, 116b7], [116c0, 116c9]**/
1186        const UnicodeSet takr_Ext
1187            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1188              {Empty, 882}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
1189             {0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff}};
1190        /** Code Point Ranges for Aghb
1191        [10530, 10563], [1056f, 1056f]**/
1192        const UnicodeSet aghb_Ext
1193            {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1194              {Empty, 32724}},
1195             {0xffff0000, 0x0000800f}};
1196        /** Code Point Ranges for Bass
1197        [16ad0, 16aed], [16af0, 16af5]**/
1198        const UnicodeSet bass_Ext
1199            {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
1200             {0xffff0000, 0x003f3fff}};
1201        /** Code Point Ranges for Dupl
1202        [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
1203        [1bc9c, 1bca3]**/
1204        const UnicodeSet dupl_Ext
1205            {{{Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}},
1206             {0x1fff07ff, 0xf3ff01ff, 0x0000000f}};
1207        /** Code Point Ranges for Elba
1208        [10500, 10527]**/
1209        const UnicodeSet elba_Ext
1210            {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
1211             {0x000000ff}};
1212        /** Code Point Ranges for Gran
1213        [0951, 0952], [0964, 0965], [0baa, 0baa], [0bb5, 0bb5],
1214        [0be6, 0bf2], [1cd0, 1cd0], [1cd2, 1cd3], [1cf2, 1cf4],
1215        [1cf8, 1cf9], [20f0, 20f0], [11300, 11303], [11305, 1130c],
1216        [1130f, 11310], [11313, 11328], [1132a, 11330], [11332, 11333],
1217        [11335, 11339], [1133c, 11344], [11347, 11348], [1134b, 1134d],
1218        [11350, 11350], [11357, 11357], [1135d, 11363], [11366, 1136c],
1219        [11370, 11374]**/
1220        const UnicodeSet gran_Ext
1221            {{{Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
1222              {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
1223              {Empty, 1936}, {Mixed, 4}, {Empty, 32612}},
1224             {0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
1225              0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
1226              0x001f1fcf}};
1227        /** Code Point Ranges for Hmng
1228        [16b00, 16b45], [16b50, 16b59], [16b5b, 16b61], [16b63, 16b77],
1229        [16b7d, 16b8f]**/
1230        const UnicodeSet hmng_Ext
1231            {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
1232             {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
1233        /** Code Point Ranges for Khoj
1234        [0ae6, 0aef], [11200, 11211], [11213, 1123e]**/
1235        const UnicodeSet khoj_Ext
1236            {{{Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2},
1237              {Empty, 32622}},
1238             {0x0000ffc0, 0xfffbffff, 0x7fffffff}};
1239        /** Code Point Ranges for Lina
1240        [10107, 10133], [10600, 10736], [10740, 10755], [10760, 10767]**/
1241        const UnicodeSet lina_Ext
1242            {{{Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
1243              {Empty, 32708}},
1244             {0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff}};
1245        /** Code Point Ranges for Mahj
1246        [0964, 096f], [a830, a839], [11150, 11176]**/
1247        const UnicodeSet mahj_Ext
1248            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1249              {Empty, 840}, {Mixed, 2}, {Empty, 32628}},
1250             {0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff}};
1251        /** Code Point Ranges for Mani
1252        [0640, 0640], [10ac0, 10ae6], [10aeb, 10af6]**/
1253        const UnicodeSet mani_Ext
1254            {{{Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
1255              {Empty, 32680}},
1256             {0x00000001, 0x007ff87f}};
1257        /** Code Point Ranges for Mend
1258        [1e800, 1e8c4], [1e8c7, 1e8d6]**/
1259        const UnicodeSet mend_Ext
1260            {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
1261             {0x007fff9f}};
1262        /** Code Point Ranges for Modi
1263        [a830, a839], [11600, 11644], [11650, 11659]**/
1264        const UnicodeSet modi_Ext
1265            {{{Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2},
1266              {Mixed, 1}, {Empty, 32589}},
1267             {0x03ff0000, 0x03ff001f}};
1268        /** Code Point Ranges for Mroo
1269        [16a40, 16a5e], [16a60, 16a69], [16a6e, 16a6f]**/
1270        const UnicodeSet mroo_Ext
1271            {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
1272             {0x7fffffff, 0x0000c3ff}};
1273        /** Code Point Ranges for Narb
1274        [10a80, 10a9f]**/
1275        const UnicodeSet narb_Ext
1276            {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
1277             {}};
1278        /** Code Point Ranges for Nbat
1279        [10880, 1089e], [108a7, 108af]**/
1280        const UnicodeSet nbat_Ext
1281            {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
1282             {0x7fffffff, 0x0000ff80}};
1283        /** Code Point Ranges for Palm
1284        [10860, 1087f]**/
1285        const UnicodeSet palm_Ext
1286            {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
1287             {}};
1288        /** Code Point Ranges for Pauc
1289        [11ac0, 11af8]**/
1290        const UnicodeSet pauc_Ext
1291            {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
1292             {0x01ffffff}};
1293        /** Code Point Ranges for Perm
1294        [0483, 0483], [10350, 1037a]**/
1295        const UnicodeSet perm_Ext
1296            {{{Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2},
1297              {Empty, 32740}},
1298             {0x00000008, 0xffff0000, 0x07ffffff}};
1299        /** Code Point Ranges for Phlp
1300        [0640, 0640], [10b80, 10b91], [10b99, 10b9c], [10ba9, 10baf]**/
1301        const UnicodeSet phlp_Ext
1302            {{{Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2},
1303              {Empty, 32674}},
1304             {0x00000001, 0x1e03ffff, 0x0000fe00}};
1305        /** Code Point Ranges for Sidd
1306        [11580, 115b5], [115b8, 115dd]**/
1307        const UnicodeSet sidd_Ext
1308            {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
1309             {0xff3fffff, 0x3fffffff}};
1310        /** Code Point Ranges for Sind
1311        [0964, 0965], [a830, a839], [112b0, 112ea], [112f0, 112f9]**/
1312        const UnicodeSet sind_Ext
1313            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1314              {Empty, 851}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1315              {Empty, 32616}},
1316             {0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff}};
1317        /** Code Point Ranges for Tirh
1318        [0964, 0965], [a830, a839], [11480, 114c7], [114d0, 114d9]**/
1319        const UnicodeSet tirh_Ext
1320            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1321              {Empty, 866}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
1322             {0x00000030, 0x03ff0000, 0x03ff00ff}};
1323        /** Code Point Ranges for Wara
1324        [118a0, 118f2], [118ff, 118ff]**/
1325        const UnicodeSet wara_Ext
1326            {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
1327             {0x8007ffff}};
1328        /** Code Point Ranges for Ahom
1329        [11700, 11719], [1171d, 1172b], [11730, 1173f]**/
1330        const UnicodeSet ahom_Ext
1331            {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
1332             {0xe3ffffff, 0xffff0fff}};
1333        /** Code Point Ranges for Hluw
1334        [14400, 14646]**/
1335        const UnicodeSet hluw_Ext
1336            {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
1337             {0x0000007f}};
1338        /** Code Point Ranges for Hatr
1339        [108e0, 108f2], [108f4, 108f5], [108fb, 108ff]**/
1340        const UnicodeSet hatr_Ext
1341            {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
1342             {0xf837ffff}};
1343        /** Code Point Ranges for Mult
1344        [0a66, 0a6f], [11280, 11286], [11288, 11288], [1128a, 1128d],
1345        [1128f, 1129d], [1129f, 112a9]**/
1346        const UnicodeSet mult_Ext
1347            {{{Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2},
1348              {Empty, 32618}},
1349             {0x0000ffc0, 0xbfffbd7f, 0x000003ff}};
1350        /** Code Point Ranges for Hung
1351        [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff]**/
1352        const UnicodeSet hung_Ext
1353            {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1354              {Empty, 32664}},
1355             {0x0007ffff, 0xfc07ffff}};
1356        /** Code Point Ranges for Sgnw
1357        [1d800, 1da8b], [1da9b, 1da9f], [1daa1, 1daaf]**/
1358        const UnicodeSet sgnw_Ext
1359            {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
1360             {0xf8000fff, 0x0000fffe}};
1361        /** Code Point Ranges for Adlm
1362        [0640, 0640], [1e900, 1e94a], [1e950, 1e959], [1e95e, 1e95f]**/
1363        const UnicodeSet adlm_Ext
1364            {{{Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
1365              {Empty, 30901}},
1366             {0x00000001, 0xc3ff07ff}};
1367        /** Code Point Ranges for Bhks
1368        [11c00, 11c08], [11c0a, 11c36], [11c38, 11c45], [11c50, 11c6c]**/
1369        const UnicodeSet bhks_Ext
1370            {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
1371             {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
1372        /** Code Point Ranges for Marc
1373        [11c70, 11c8f], [11c92, 11ca7], [11ca9, 11cb6]**/
1374        const UnicodeSet marc_Ext
1375            {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
1376             {0xffff0000, 0xfffcffff, 0x007ffeff}};
1377        /** Code Point Ranges for Newa
1378        [11400, 11459], [1145b, 1145b], [1145d, 1145d]**/
1379        const UnicodeSet newa_Ext
1380            {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
1381             {0x2bffffff}};
1382        /** Code Point Ranges for Osge
1383        [104b0, 104d3], [104d8, 104fb]**/
1384        const UnicodeSet osge_Ext
1385            {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
1386             {0xffff0000, 0xff0fffff, 0x0fffffff}};
1387        /** Code Point Ranges for Tang
1388        [16fe0, 16fe0], [17000, 187ec], [18800, 18af2]**/
1389        const UnicodeSet tang_Ext
1390            {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
1391              {Full, 23}, {Mixed, 1}, {Empty, 31656}},
1392             {0x00000001, 0x00001fff, 0x0007ffff}};
1393        /** Code Point Ranges for Gonm
1394        [11d00, 11d06], [11d08, 11d09], [11d0b, 11d36], [11d3a, 11d3a],
1395        [11d3c, 11d3d], [11d3f, 11d47], [11d50, 11d59]**/
1396        const UnicodeSet gonm_Ext
1397            {{{Empty, 2280}, {Mixed, 3}, {Empty, 32533}},
1398             {0xfffffb7f, 0xb47fffff, 0x03ff00ff}};
1399        /** Code Point Ranges for Nshu
1400        [16fe1, 16fe1], [1b170, 1b2fb]**/
1401        const UnicodeSet nshu_Ext
1402            {{{Empty, 2943}, {Mixed, 1}, {Empty, 523}, {Mixed, 1},
1403              {Full, 11}, {Mixed, 1}, {Empty, 31336}},
1404             {0x00000002, 0xffff0000, 0x0fffffff}};
1405        /** Code Point Ranges for Soyo
1406        [11a50, 11a83], [11a86, 11a9c], [11a9e, 11aa2]**/
1407        const UnicodeSet soyo_Ext
1408            {{{Empty, 2258}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
1409              {Empty, 32554}},
1410             {0xffff0000, 0xdfffffcf, 0x00000007}};
1411        /** Code Point Ranges for Zanb
1412        [11a00, 11a47]**/
1413        const UnicodeSet zanb_Ext
1414            {{{Empty, 2256}, {Full, 2}, {Mixed, 1}, {Empty, 32557}},
1415             {0x000000ff}};
1416        /** Code Point Ranges for Hrkt
1417        **/
1418        const UnicodeSet hrkt_Ext
1419            {{{Empty, 34816}},
1420             {}};
1421        static ExtensionPropertyObject property_object
1422       {scx,
1423        UCD::sc,
1424       {&zzzz_Ext, &zyyy_Ext, &latn_Ext, &grek_Ext, &cyrl_Ext, &armn_Ext,
1425        &hebr_Ext, &arab_Ext, &syrc_Ext, &thaa_Ext, &deva_Ext, &beng_Ext,
1426        &guru_Ext, &gujr_Ext, &orya_Ext, &taml_Ext, &telu_Ext, &knda_Ext,
1427        &mlym_Ext, &sinh_Ext, &thai_Ext, &laoo_Ext, &tibt_Ext, &mymr_Ext,
1428        &geor_Ext, &hang_Ext, &ethi_Ext, &cher_Ext, &cans_Ext, &ogam_Ext,
1429        &runr_Ext, &khmr_Ext, &mong_Ext, &hira_Ext, &kana_Ext, &bopo_Ext,
1430        &hani_Ext, &yiii_Ext, &ital_Ext, &goth_Ext, &dsrt_Ext, &zinh_Ext,
1431        &tglg_Ext, &hano_Ext, &buhd_Ext, &tagb_Ext, &limb_Ext, &tale_Ext,
1432        &linb_Ext, &ugar_Ext, &shaw_Ext, &osma_Ext, &cprt_Ext, &brai_Ext,
1433        &bugi_Ext, &copt_Ext, &talu_Ext, &glag_Ext, &tfng_Ext, &sylo_Ext,
1434        &xpeo_Ext, &khar_Ext, &bali_Ext, &xsux_Ext, &phnx_Ext, &phag_Ext,
1435        &nkoo_Ext, &sund_Ext, &lepc_Ext, &olck_Ext, &vaii_Ext, &saur_Ext,
1436        &kali_Ext, &rjng_Ext, &lyci_Ext, &cari_Ext, &lydi_Ext, &cham_Ext,
1437        &lana_Ext, &tavt_Ext, &avst_Ext, &egyp_Ext, &samr_Ext, &lisu_Ext,
1438        &bamu_Ext, &java_Ext, &mtei_Ext, &armi_Ext, &sarb_Ext, &prti_Ext,
1439        &phli_Ext, &orkh_Ext, &kthi_Ext, &batk_Ext, &brah_Ext, &mand_Ext,
1440        &cakm_Ext, &merc_Ext, &mero_Ext, &plrd_Ext, &shrd_Ext, &sora_Ext,
1441        &takr_Ext, &aghb_Ext, &bass_Ext, &dupl_Ext, &elba_Ext, &gran_Ext,
1442        &hmng_Ext, &khoj_Ext, &lina_Ext, &mahj_Ext, &mani_Ext, &mend_Ext,
1443        &modi_Ext, &mroo_Ext, &narb_Ext, &nbat_Ext, &palm_Ext, &pauc_Ext,
1444        &perm_Ext, &phlp_Ext, &sidd_Ext, &sind_Ext, &tirh_Ext, &wara_Ext,
1445        &ahom_Ext, &hluw_Ext, &hatr_Ext, &mult_Ext, &hung_Ext, &sgnw_Ext,
1446        &adlm_Ext, &bhks_Ext, &marc_Ext, &newa_Ext, &osge_Ext, &tang_Ext,
1447        &gonm_Ext, &nshu_Ext, &soyo_Ext, &zanb_Ext, &hrkt_Ext
1448        }};
1449    }
1450}
1451
1452#endif
Note: See TracBrowser for help on using the repository browser.