source: icGREP/icgrep-devel/icgrep/UCD/DerivedAge.h @ 6132

Last change on this file since 6132 was 5751, checked in by cameron, 21 months ago

LLVM_ALIGNAS placement, eliminate std::move of temp objects to allow copy elision

File size: 78.8 KB
Line 
1#ifndef DERIVEDAGE_H
2#define DERIVEDAGE_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 AGE_ns {
18    const unsigned independent_prop_values = 20;
19    /** Code Point Ranges for Unassigned
20    [0378, 0379], [0380, 0383], [038b, 038b], [038d, 038d], [03a2, 03a2],
21    [0530, 0530], [0557, 0558], [0560, 0560], [0588, 0588], [058b, 058c],
22    [0590, 0590], [05c8, 05cf], [05eb, 05ef], [05f5, 05ff], [061d, 061d],
23    [070e, 070e], [074b, 074c], [07b2, 07bf], [07fb, 07ff], [082e, 082f],
24    [083f, 083f], [085c, 085d], [085f, 085f], [086b, 089f], [08b5, 08b5],
25    [08be, 08d3], [0984, 0984], [098d, 098e], [0991, 0992], [09a9, 09a9],
26    [09b1, 09b1], [09b3, 09b5], [09ba, 09bb], [09c5, 09c6], [09c9, 09ca],
27    [09cf, 09d6], [09d8, 09db], [09de, 09de], [09e4, 09e5], [09fe, 0a00],
28    [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29], [0a31, 0a31],
29    [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46],
30    [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65],
31    [0a76, 0a80], [0a84, 0a84], [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9],
32    [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca],
33    [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5], [0af2, 0af8], [0b00, 0b00],
34    [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12], [0b29, 0b29], [0b31, 0b31],
35    [0b34, 0b34], [0b3a, 0b3b], [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55],
36    [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65], [0b78, 0b81], [0b84, 0b84],
37    [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d],
38    [0ba0, 0ba2], [0ba5, 0ba7], [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5],
39    [0bc9, 0bc9], [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff],
40    [0c04, 0c04], [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c],
41    [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f],
42    [0c64, 0c65], [0c70, 0c77], [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91],
43    [0ca9, 0ca9], [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9],
44    [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0],
45    [0cf3, 0cff], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11], [0d45, 0d45],
46    [0d49, 0d49], [0d50, 0d53], [0d64, 0d65], [0d80, 0d81], [0d84, 0d84],
47    [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
48    [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5], [0df0, 0df1],
49    [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80], [0e83, 0e83], [0e85, 0e86],
50    [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0],
51    [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eba, 0eba],
52    [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf], [0eda, 0edb],
53    [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70], [0f98, 0f98], [0fbd, 0fbd],
54    [0fcd, 0fcd], [0fdb, 0fff], [10c6, 10c6], [10c8, 10cc], [10ce, 10cf],
55    [1249, 1249], [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f],
56    [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7], [12bf, 12bf],
57    [12c1, 12c1], [12c6, 12c7], [12d7, 12d7], [1311, 1311], [1316, 1317],
58    [135b, 135c], [137d, 137f], [139a, 139f], [13f6, 13f7], [13fe, 13ff],
59    [169d, 169f], [16f9, 16ff], [170d, 170d], [1715, 171f], [1737, 173f],
60    [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f], [17de, 17df],
61    [17ea, 17ef], [17fa, 17ff], [180f, 180f], [181a, 181f], [1878, 187f],
62    [18ab, 18af], [18f6, 18ff], [191f, 191f], [192c, 192f], [193c, 193f],
63    [1941, 1943], [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
64    [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f],
65    [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff], [1b4c, 1b4f], [1b7d, 1b7f],
66    [1bf4, 1bfb], [1c38, 1c3a], [1c4a, 1c4c], [1c89, 1cbf], [1cc8, 1ccf],
67    [1cfa, 1cff], [1dfa, 1dfa], [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47],
68    [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e],
69    [1f7e, 1f7f], [1fb5, 1fb5], [1fc5, 1fc5], [1fd4, 1fd5], [1fdc, 1fdc],
70    [1ff0, 1ff1], [1ff5, 1ff5], [1fff, 1fff], [2065, 2065], [2072, 2073],
71    [208f, 208f], [209d, 209f], [20c0, 20cf], [20f1, 20ff], [218c, 218f],
72    [2427, 243f], [244b, 245f], [2b74, 2b75], [2b96, 2b97], [2bba, 2bbc],
73    [2bc9, 2bc9], [2bd3, 2beb], [2bf0, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
74    [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f], [2d68, 2d6e],
75    [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf], [2db7, 2db7],
76    [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7], [2ddf, 2ddf],
77    [2e4a, 2e7f], [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef], [2ffc, 2fff],
78    [3040, 3040], [3097, 3098], [3100, 3104], [312f, 3130], [318f, 318f],
79    [31bb, 31bf], [31e4, 31ef], [321f, 321f], [32ff, 32ff], [4db6, 4dbf],
80    [9feb, 9fff], [a48d, a48f], [a4c7, a4cf], [a62c, a63f], [a6f8, a6ff],
81    [a7af, a7af], [a7b8, a7f6], [a82c, a82f], [a83a, a83f], [a878, a87f],
82    [a8c6, a8cd], [a8da, a8df], [a8fe, a8ff], [a954, a95e], [a97d, a97f],
83    [a9ce, a9ce], [a9da, a9dd], [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f],
84    [aa5a, aa5b], [aac3, aada], [aaf7, ab00], [ab07, ab08], [ab0f, ab10],
85    [ab17, ab1f], [ab27, ab27], [ab2f, ab2f], [ab66, ab6f], [abee, abef],
86    [abfa, abff], [d7a4, d7af], [d7c7, d7ca], [d7fc, d7ff], [fa6e, fa6f],
87    [fada, faff], [fb07, fb12], [fb18, fb1c], [fb37, fb37], [fb3d, fb3d],
88    [fb3f, fb3f], [fb42, fb42], [fb45, fb45], [fbc2, fbd2], [fd40, fd4f],
89    [fd90, fd91], [fdc8, fdcf], [fdfe, fdff], [fe1a, fe1f], [fe53, fe53],
90    [fe67, fe67], [fe6c, fe6f], [fe75, fe75], [fefd, fefe], [ff00, ff00],
91    [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9], [ffdd, ffdf],
92    [ffe7, ffe7], [ffef, fff8], [1000c, 1000c], [10027, 10027],
93    [1003b, 1003b], [1003e, 1003e], [1004e, 1004f], [1005e, 1007f],
94    [100fb, 100ff], [10103, 10106], [10134, 10136], [1018f, 1018f],
95    [1019c, 1019f], [101a1, 101cf], [101fe, 1027f], [1029d, 1029f],
96    [102d1, 102df], [102fc, 102ff], [10324, 1032c], [1034b, 1034f],
97    [1037b, 1037f], [1039e, 1039e], [103c4, 103c7], [103d6, 103ff],
98    [1049e, 1049f], [104aa, 104af], [104d4, 104d7], [104fc, 104ff],
99    [10528, 1052f], [10564, 1056e], [10570, 105ff], [10737, 1073f],
100    [10756, 1075f], [10768, 107ff], [10806, 10807], [10809, 10809],
101    [10836, 10836], [10839, 1083b], [1083d, 1083e], [10856, 10856],
102    [1089f, 108a6], [108b0, 108df], [108f3, 108f3], [108f6, 108fa],
103    [1091c, 1091e], [1093a, 1093e], [10940, 1097f], [109b8, 109bb],
104    [109d0, 109d1], [10a04, 10a04], [10a07, 10a0b], [10a14, 10a14],
105    [10a18, 10a18], [10a34, 10a37], [10a3b, 10a3e], [10a48, 10a4f],
106    [10a59, 10a5f], [10aa0, 10abf], [10ae7, 10aea], [10af7, 10aff],
107    [10b36, 10b38], [10b56, 10b57], [10b73, 10b77], [10b92, 10b98],
108    [10b9d, 10ba8], [10bb0, 10bff], [10c49, 10c7f], [10cb3, 10cbf],
109    [10cf3, 10cf9], [10d00, 10e5f], [10e7f, 10fff], [1104e, 11051],
110    [11070, 1107e], [110c2, 110cf], [110e9, 110ef], [110fa, 110ff],
111    [11135, 11135], [11144, 1114f], [11177, 1117f], [111ce, 111cf],
112    [111e0, 111e0], [111f5, 111ff], [11212, 11212], [1123f, 1127f],
113    [11287, 11287], [11289, 11289], [1128e, 1128e], [1129e, 1129e],
114    [112aa, 112af], [112eb, 112ef], [112fa, 112ff], [11304, 11304],
115    [1130d, 1130e], [11311, 11312], [11329, 11329], [11331, 11331],
116    [11334, 11334], [1133a, 1133b], [11345, 11346], [11349, 1134a],
117    [1134e, 1134f], [11351, 11356], [11358, 1135c], [11364, 11365],
118    [1136d, 1136f], [11375, 113ff], [1145a, 1145a], [1145c, 1145c],
119    [1145e, 1147f], [114c8, 114cf], [114da, 1157f], [115b6, 115b7],
120    [115de, 115ff], [11645, 1164f], [1165a, 1165f], [1166d, 1167f],
121    [116b8, 116bf], [116ca, 116ff], [1171a, 1171c], [1172c, 1172f],
122    [11740, 1189f], [118f3, 118fe], [11900, 119ff], [11a48, 11a4f],
123    [11a84, 11a85], [11a9d, 11a9d], [11aa3, 11abf], [11af9, 11bff],
124    [11c09, 11c09], [11c37, 11c37], [11c46, 11c4f], [11c6d, 11c6f],
125    [11c90, 11c91], [11ca8, 11ca8], [11cb7, 11cff], [11d07, 11d07],
126    [11d0a, 11d0a], [11d37, 11d39], [11d3b, 11d3b], [11d3e, 11d3e],
127    [11d48, 11d4f], [11d5a, 11fff], [1239a, 123ff], [1246f, 1246f],
128    [12475, 1247f], [12544, 12fff], [1342f, 143ff], [14647, 167ff],
129    [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d], [16a70, 16acf],
130    [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f], [16b5a, 16b5a],
131    [16b62, 16b62], [16b78, 16b7c], [16b90, 16eff], [16f45, 16f4f],
132    [16f7f, 16f8e], [16fa0, 16fdf], [16fe2, 16fff], [187ed, 187ff],
133    [18af3, 1afff], [1b11f, 1b16f], [1b2fc, 1bbff], [1bc6b, 1bc6f],
134    [1bc7d, 1bc7f], [1bc89, 1bc8f], [1bc9a, 1bc9b], [1bca4, 1cfff],
135    [1d0f6, 1d0ff], [1d127, 1d128], [1d1e9, 1d1ff], [1d246, 1d2ff],
136    [1d357, 1d35f], [1d372, 1d3ff], [1d455, 1d455], [1d49d, 1d49d],
137    [1d4a0, 1d4a1], [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad],
138    [1d4ba, 1d4ba], [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506],
139    [1d50b, 1d50c], [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a],
140    [1d53f, 1d53f], [1d545, 1d545], [1d547, 1d549], [1d551, 1d551],
141    [1d6a6, 1d6a7], [1d7cc, 1d7cd], [1da8c, 1da9a], [1daa0, 1daa0],
142    [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022],
143    [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8c6], [1e8d7, 1e8ff],
144    [1e94b, 1e94f], [1e95a, 1e95d], [1e960, 1edff], [1ee04, 1ee04],
145    [1ee20, 1ee20], [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28],
146    [1ee33, 1ee33], [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41],
147    [1ee43, 1ee46], [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c],
148    [1ee50, 1ee50], [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58],
149    [1ee5a, 1ee5a], [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60],
150    [1ee63, 1ee63], [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73],
151    [1ee78, 1ee78], [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a],
152    [1ee9c, 1eea0], [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1eeef],
153    [1eef2, 1efff], [1f02c, 1f02f], [1f094, 1f09f], [1f0af, 1f0b0],
154    [1f0c0, 1f0c0], [1f0d0, 1f0d0], [1f0f6, 1f0ff], [1f10d, 1f10f],
155    [1f12f, 1f12f], [1f16c, 1f16f], [1f1ad, 1f1e5], [1f203, 1f20f],
156    [1f23c, 1f23f], [1f249, 1f24f], [1f252, 1f25f], [1f266, 1f2ff],
157    [1f6d5, 1f6df], [1f6ed, 1f6ef], [1f6f9, 1f6ff], [1f774, 1f77f],
158    [1f7d5, 1f7ff], [1f80c, 1f80f], [1f848, 1f84f], [1f85a, 1f85f],
159    [1f888, 1f88f], [1f8ae, 1f8ff], [1f90c, 1f90f], [1f93f, 1f93f],
160    [1f94d, 1f94f], [1f96c, 1f97f], [1f998, 1f9bf], [1f9c1, 1f9cf],
161    [1f9e7, 1fffd], [2a6d7, 2a6ff], [2b735, 2b73f], [2b81e, 2b81f],
162    [2cea2, 2ceaf], [2ebe1, 2f7ff], [2fa1e, 2fffd], [30000, 3fffd],
163    [40000, 4fffd], [50000, 5fffd], [60000, 6fffd], [70000, 7fffd],
164    [80000, 8fffd], [90000, 9fffd], [a0000, afffd], [b0000, bfffd],
165    [c0000, cfffd], [d0000, dfffd], [e0000, e0000], [e0002, e001f],
166    [e0080, e00ff], [e01f0, efffd]**/
167
168
169    namespace {
170    const static UnicodeSet::run_t __unassigned_Set_runs[] = {
171    {Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
172    {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
173    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
174    {Mixed, 2}, {Empty, 5}, {Mixed, 29}, {Empty, 1}, {Mixed, 9}, {Full, 1},
175    {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6},
176    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
177    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20},
178    {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
179    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 1},
180    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2},
181    {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
182    {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
183    {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
184    {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
185    {Empty, 20}, {Mixed, 2}, {Empty, 56}, {Mixed, 5}, {Empty, 1},
186    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
187    {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
188    {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
189    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
190    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
191    {Empty, 657}, {Mixed, 1}, {Empty, 36}, {Mixed, 1}, {Empty, 1},
192    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5},
193    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
194    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
195    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
196    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
197    {Empty, 275}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
198    {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
199    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
200    {Empty, 4}, {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
201    {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
202    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
203    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4}, {Empty, 9},
204    {Mixed, 3}, {Full, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1},
205    {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
206    {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
207    {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1},
208    {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Full, 12}, {Empty, 2},
209    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
210    {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
211    {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
212    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
213    {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1},
214    {Full, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
215    {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 21},
216    {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
217    {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126},
218    {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3},
219    {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
220    {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
221    {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8}, {Mixed, 1}, {Full, 2},
222    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 72}, {Empty, 3}, {Mixed, 3},
223    {Full, 154}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
224    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
225    {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
226    {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
227    {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 6},
228    {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 37}, {Mixed, 6},
229    {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
230    {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
231    {Mixed, 5}, {Full, 4}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
232    {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
233    {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2},
234    {Full, 47}, {Mixed, 1}, {Empty, 1334}, {Mixed, 1}, {Full, 1},
235    {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180},
236    {Mixed, 1}, {Empty, 233}, {Mixed, 1}, {Full, 96}, {Empty, 16},
237    {Mixed, 1}, {Full, 46}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
238    {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
239    {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
240    {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
241    {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 2},
242    {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 2031}, {Mixed, 1},
243    {Empty, 4096}};
244    const static UnicodeSet::bitquad_t  __unassigned_Set_quads[] = {
245    0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000, 0x00000001,
246    0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000, 0x00004000, 0x00001800,
247    0xfffc0000, 0xf8000000, 0x8000c000, 0xb0000000, 0xfffff800, 0xc0200000,
248    0x000fffff, 0x00066010, 0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811,
249    0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440,
250    0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
251    0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200, 0xf89fc220,
252    0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010,
253    0x000f0220, 0x00000030, 0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f,
254    0x00000001, 0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
255    0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000, 0x0000df40,
256    0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2, 0x00c20000, 0x18000000,
257    0xe0000000, 0xfc000000, 0xc0c00000, 0xe0000000, 0xfe000000, 0xffe02000,
258    0xff800000, 0xfff00000, 0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000,
259    0xff000000, 0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
260    0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000, 0x60000000,
261    0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000, 0x0ff00000, 0x07000000,
262    0x00001c00, 0xfffffe00, 0x0000ff00, 0xfc000000, 0x04000000, 0xc0c00000,
263    0x5500c0c0, 0xc0000000, 0x00200000, 0x10300020, 0x80230000, 0x000c0020,
264    0xe0008000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
265    0x00300000, 0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff, 0x00008000,
266    0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080,
267    0x80808080, 0xfffffc00, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
268    0x00000001, 0x01800000, 0x0000001f, 0x00018000, 0x00008000, 0xf8000000,
269    0x0000fff0, 0x80000000, 0x80000000, 0xffc00000, 0xfffff800, 0x0000e000,
270    0x0000ff80, 0xfffff000, 0xff000000, 0xff008000, 0x007fffff, 0xfc00f000,
271    0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000,
272    0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
273    0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000,
274    0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
275    0x0000ffff, 0x00030000, 0x0000ff00, 0xc0000000, 0xfc000000, 0x00080000,
276    0x0020f080, 0x60000000, 0x00000001, 0x80000000, 0xe3030303, 0x01ff8080,
277    0x00001000, 0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
278    0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000,
279    0xf0000000, 0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
280    0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0,
281    0xff800000, 0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000, 0x00400000,
282    0x80000000, 0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
283    0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000,
284    0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
285    0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc, 0xfc00fe00,
286    0x00200000, 0x0000fff0, 0xff800000, 0x0000c000, 0xffe00001, 0x00040000,
287    0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
288    0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000,
289    0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000,
290    0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000, 0x00000200,
291    0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100, 0x00000480,
292    0x4b800000, 0xfc00ff00, 0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000,
293    0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
294    0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
295    0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff, 0xf0000000,
296    0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180, 0xfffffe00,
297    0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000, 0x20000000, 0x1400219b,
298    0x00000010, 0x20201840, 0x84000000, 0x000203a0, 0x000000c0, 0x00003000,
299    0x07fff000, 0xffff0001, 0x06000080, 0xfffff824, 0xff800060, 0x3c00f800,
300    0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
301    0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001, 0xffc00000,
302    0x0000e000, 0x00008000, 0x0000f000, 0xffffe000, 0x0000003f, 0x0000fff8,
303    0xf0000000, 0xfffcfe00, 0xffffffc0, 0xffe00000, 0xfe00e000, 0xfff00000,
304    0xffe00000, 0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000, 0x0000f000,
305    0x80000000, 0x0000e000, 0xfffff000, 0xff000000, 0x0000fffe, 0xffffff80,
306    0x3fffffff, 0xff800000, 0xffe00000, 0xc0000000, 0x0000fffc, 0xfffffffe,
307    0xc0000000, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
308    0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
309    0x3fffffff, 0xfffffffd, 0xffff0000, 0x3fffffff};
310    }
311
312    const static UnicodeSet unassigned_Set{const_cast<UnicodeSet::run_t *>(__unassigned_Set_runs), 416, 0, const_cast<UnicodeSet::bitquad_t *>(__unassigned_Set_quads), 388, 0};
313
314    /** Code Point Ranges for V1_1
315    [0000, 01f5], [01fa, 0217], [0250, 02a8], [02b0, 02de], [02e0, 02e9],
316    [0300, 0345], [0360, 0361], [0374, 0375], [037a, 037a], [037e, 037e],
317    [0384, 038a], [038c, 038c], [038e, 03a1], [03a3, 03ce], [03d0, 03d6],
318    [03da, 03da], [03dc, 03dc], [03de, 03de], [03e0, 03e0], [03e2, 03f3],
319    [0401, 040c], [040e, 044f], [0451, 045c], [045e, 0486], [0490, 04c4],
320    [04c7, 04c8], [04cb, 04cc], [04d0, 04eb], [04ee, 04f5], [04f8, 04f9],
321    [0531, 0556], [0559, 055f], [0561, 0587], [0589, 0589], [05b0, 05b9],
322    [05bb, 05c3], [05d0, 05ea], [05f0, 05f4], [060c, 060c], [061b, 061b],
323    [061f, 061f], [0621, 063a], [0640, 0652], [0660, 066d], [0670, 06b7],
324    [06ba, 06be], [06c0, 06ce], [06d0, 06ed], [06f0, 06f9], [0901, 0903],
325    [0905, 0939], [093c, 094d], [0950, 0954], [0958, 0970], [0981, 0983],
326    [0985, 098c], [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
327    [09b6, 09b9], [09bc, 09bc], [09be, 09c4], [09c7, 09c8], [09cb, 09cd],
328    [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09fa], [0a02, 0a02],
329    [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
330    [0a35, 0a36], [0a38, 0a39], [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48],
331    [0a4b, 0a4d], [0a59, 0a5c], [0a5e, 0a5e], [0a66, 0a74], [0a81, 0a83],
332    [0a85, 0a8b], [0a8d, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
333    [0ab2, 0ab3], [0ab5, 0ab9], [0abc, 0ac5], [0ac7, 0ac9], [0acb, 0acd],
334    [0ad0, 0ad0], [0ae0, 0ae0], [0ae6, 0aef], [0b01, 0b03], [0b05, 0b0c],
335    [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33], [0b36, 0b39],
336    [0b3c, 0b43], [0b47, 0b48], [0b4b, 0b4d], [0b56, 0b57], [0b5c, 0b5d],
337    [0b5f, 0b61], [0b66, 0b70], [0b82, 0b83], [0b85, 0b8a], [0b8e, 0b90],
338    [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
339    [0ba8, 0baa], [0bae, 0bb5], [0bb7, 0bb9], [0bbe, 0bc2], [0bc6, 0bc8],
340    [0bca, 0bcd], [0bd7, 0bd7], [0be7, 0bf2], [0c01, 0c03], [0c05, 0c0c],
341    [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c33], [0c35, 0c39], [0c3e, 0c44],
342    [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c60, 0c61], [0c66, 0c6f],
343    [0c82, 0c83], [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3],
344    [0cb5, 0cb9], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
345    [0cde, 0cde], [0ce0, 0ce1], [0ce6, 0cef], [0d02, 0d03], [0d05, 0d0c],
346    [0d0e, 0d10], [0d12, 0d28], [0d2a, 0d39], [0d3e, 0d43], [0d46, 0d48],
347    [0d4a, 0d4d], [0d57, 0d57], [0d60, 0d61], [0d66, 0d6f], [0e01, 0e3a],
348    [0e3f, 0e5b], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
349    [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5],
350    [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9], [0ebb, 0ebd], [0ec0, 0ec4],
351    [0ec6, 0ec6], [0ec8, 0ecd], [0ed0, 0ed9], [0edc, 0edd], [10a0, 10c5],
352    [10d0, 10f6], [10fb, 10fb], [1100, 1159], [115f, 11a2], [11a8, 11f9],
353    [1e00, 1e9a], [1ea0, 1ef9], [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45],
354    [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
355    [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb],
356    [1fdd, 1fef], [1ff2, 1ff4], [1ff6, 1ffe], [2000, 202e], [2030, 2046],
357    [206a, 2070], [2074, 208e], [20a0, 20aa], [20d0, 20e1], [2100, 2138],
358    [2153, 2182], [2190, 21ea], [2200, 22f1], [2300, 2300], [2302, 237a],
359    [2400, 2424], [2440, 244a], [2460, 24ea], [2500, 2595], [25a0, 25ef],
360    [2600, 2613], [261a, 266f], [2701, 2704], [2706, 2709], [270c, 2727],
361    [2729, 274b], [274d, 274d], [274f, 2752], [2756, 2756], [2758, 275e],
362    [2761, 2767], [2776, 2794], [2798, 27af], [27b1, 27be], [3000, 3037],
363    [303f, 303f], [3041, 3094], [3099, 309e], [30a1, 30fe], [3105, 312c],
364    [3131, 318e], [3190, 319f], [3200, 321c], [3220, 3243], [3260, 327b],
365    [327f, 32b0], [32c0, 32cb], [32d0, 32fe], [3300, 3376], [337b, 33dd],
366    [33e0, 33fe], [4e00, 9fa5], [e000, fa2d], [fb00, fb06], [fb13, fb17],
367    [fb1e, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
368    [fb46, fbb1], [fbd3, fd3f], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb],
369    [fe20, fe23], [fe30, fe44], [fe49, fe52], [fe54, fe66], [fe68, fe6b],
370    [fe70, fe72], [fe74, fe74], [fe76, fefc], [feff, feff], [ff01, ff5e],
371    [ff61, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc],
372    [ffe0, ffe6], [ffe8, ffee], [fffd, ffff]**/
373
374
375    namespace {
376    const static UnicodeSet::run_t __v1_1_Set_runs[] = {
377    {Full, 15}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 3},
378    {Full, 2}, {Mixed, 7}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
379    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 11}, {Full, 1}, {Mixed, 3},
380    {Empty, 16}, {Mixed, 36}, {Empty, 4}, {Mixed, 3}, {Empty, 1},
381    {Mixed, 3}, {Empty, 14}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
382    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 96}, {Full, 4},
383    {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1},
384    {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Full, 1}, {Mixed, 2}, {Full, 1},
385    {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 7}, {Mixed, 2}, {Full, 2},
386    {Mixed, 1}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1},
387    {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
388    {Empty, 4}, {Mixed, 6}, {Empty, 66}, {Full, 1}, {Mixed, 2}, {Full, 1},
389    {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 3},
390    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 3},
391    {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Empty, 208}, {Full, 653},
392    {Mixed, 1}, {Empty, 514}, {Full, 209}, {Mixed, 1}, {Empty, 6},
393    {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 11}, {Mixed, 1}, {Full, 1},
394    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 3},
395    {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
396    {Empty, 32768}};
397    const static UnicodeSet::bitquad_t  __v1_1_Set_quads[] = {
398    0xfc3fffff, 0x00ffffff, 0xffff0000, 0xffff01ff, 0x7fffffff, 0x000003ff,
399    0x0000003f, 0x44300003, 0xffffd7f0, 0xfffffffb, 0x547f7fff, 0x000ffffd,
400    0xffffdffe, 0xdffeffff, 0xffff007f, 0xffff199f, 0x033fcfff, 0xfffe0000,
401    0xfe7fffff, 0xfffffffe, 0x000002ff, 0xfbff0000, 0xffff000f, 0x001f07ff,
402    0x88001000, 0x07fffffe, 0x0007ffff, 0xffff3fff, 0x7cffffff, 0xffff7fff,
403    0x03ff3fff, 0xffffffee, 0xf3ffffff, 0xff1f3fff, 0x0001ffff, 0xfff99fee,
404    0xd3c5fdff, 0xb080399f, 0x07ffffcf, 0xfff987e4, 0xd36dfdff, 0x5e003987,
405    0x001fffc0, 0xfffbafee, 0xf3edfdff, 0x00013bbf, 0x0000ffc1, 0xfff99fee,
406    0xf3cdfdff, 0xb0c0398f, 0x0001ffc3, 0xd63dc7ec, 0xc3bfc718, 0x00803dc7,
407    0x0007ff80, 0xfffddfee, 0xc3effdff, 0x00603ddf, 0x0000ffc3, 0xfffddfec,
408    0xc3effdff, 0x40603ddf, 0x0000ffc3, 0xfffddfec, 0xc3fffdff, 0x00803dcf,
409    0x0000ffc3, 0xfffffffe, 0x87ffffff, 0x0fffffff, 0xfef02596, 0x3bffecae,
410    0x33ff3f5f, 0xffff003f, 0x087fffff, 0x83ffffff, 0xffffff07, 0x03ffffff,
411    0x07ffffff, 0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff,
412    0xefcfffdf, 0x7fdcffff, 0xffff7fff, 0x0000007f, 0xfff1fc00, 0x00007fff,
413    0x000007ff, 0xffff0000, 0x00000003, 0x01ffffff, 0xfff80000, 0xffff0007,
414    0x000007ff, 0x0003ffff, 0xfffffffd, 0x07ffffff, 0x0000001f, 0x000007ff,
415    0x000007ff, 0x003fffff, 0x0000ffff, 0xfc0fffff, 0x0000ffff, 0xfffff3de,
416    0xfffffeff, 0x7f47afff, 0xffc000fe, 0xff1fffff, 0x7ffeffff, 0x80ffffff,
417    0xfffffffe, 0x7e1fffff, 0xfffffffe, 0x7fffffff, 0xffffffe0, 0xfffe1fff,
418    0xffff7fff, 0x1fffffff, 0x0000000f, 0x8fffffff, 0x0001ffff, 0xffff0fff,
419    0x7fffffff, 0xf87fffff, 0x3fffffff, 0x7fffffff, 0x0000003f, 0x00003fff,
420    0xc0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff, 0xfff80000, 0xffff0000,
421    0xfffcffff, 0x000000ff, 0x0fff0000, 0xffff000f, 0xfff7fe1f, 0xffd70f7f,
422    0x9fffffff, 0xfffffffe, 0x7fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc,
423    0xe0007f7f};
424    }
425
426    const static UnicodeSet v1_1_Set{const_cast<UnicodeSet::run_t *>(__v1_1_Set_runs), 111, 0, const_cast<UnicodeSet::bitquad_t *>(__v1_1_Set_quads), 151, 0};
427
428    /** Code Point Ranges for V2_0
429    [0591, 05a1], [05a3, 05af], [05c4, 05c4], [0f00, 0f47], [0f49, 0f69],
430    [0f71, 0f8b], [0f90, 0f95], [0f97, 0f97], [0f99, 0fad], [0fb1, 0fb7],
431    [0fb9, 0fb9], [1e9b, 1e9b], [20ab, 20ab], [ac00, d7a3], [d800, dfff],
432    [1fffe, 1ffff], [2fffe, 2ffff], [3fffe, 3ffff], [4fffe, 4ffff],
433    [5fffe, 5ffff], [6fffe, 6ffff], [7fffe, 7ffff], [8fffe, 8ffff],
434    [9fffe, 9ffff], [afffe, affff], [bfffe, bffff], [cfffe, cffff],
435    [dfffe, dffff], [efffe, 10ffff]**/
436
437
438    namespace {
439    const static UnicodeSet::run_t __v2_0_Set_runs[] = {
440    {Empty, 44}, {Mixed, 3}, {Empty, 73}, {Full, 2}, {Mixed, 4},
441    {Empty, 118}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 1114},
442    {Full, 349}, {Mixed, 1}, {Empty, 2}, {Full, 64}, {Empty, 2303},
443    {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
444    {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047},
445    {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
446    {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047},
447    {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
448    {Empty, 2047}, {Mixed, 1}, {Full, 4096}};
449    const static UnicodeSet::bitquad_t  __v2_0_Set_quads[] = {
450    0xfffe0000, 0x0000fffb, 0x00000010, 0xfffffeff, 0xfffe03ff, 0xfebf0fff,
451    0x02fe3fff, 0x08000000, 0x00000800, 0x0000000f, 0xc0000000, 0xc0000000,
452    0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
453    0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000};
454    }
455
456    const static UnicodeSet v2_0_Set{const_cast<UnicodeSet::run_t *>(__v2_0_Set_runs), 43, 0, const_cast<UnicodeSet::bitquad_t *>(__v2_0_Set_quads), 24, 0};
457
458    /** Code Point Ranges for V2_1
459    [20ac, 20ac], [fffc, fffc]**/
460
461
462    namespace {
463    const static UnicodeSet::run_t __v2_1_Set_runs[] = {
464    {Empty, 261}, {Mixed, 1}, {Empty, 1785}, {Mixed, 1}, {Empty, 32768}};
465    const static UnicodeSet::bitquad_t  __v2_1_Set_quads[] = {
466    0x00001000, 0x10000000};
467    }
468
469    const static UnicodeSet v2_1_Set{const_cast<UnicodeSet::run_t *>(__v2_1_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__v2_1_Set_quads), 2, 0};
470
471    /** Code Point Ranges for V3_0
472    [01f6, 01f9], [0218, 021f], [0222, 0233], [02a9, 02ad], [02df, 02df],
473    [02ea, 02ee], [0346, 034e], [0362, 0362], [03d7, 03d7], [03db, 03db],
474    [03dd, 03dd], [03df, 03df], [03e1, 03e1], [0400, 0400], [040d, 040d],
475    [0450, 0450], [045d, 045d], [0488, 0489], [048c, 048f], [04ec, 04ed],
476    [058a, 058a], [0653, 0655], [06b8, 06b9], [06bf, 06bf], [06cf, 06cf],
477    [06fa, 06fe], [0700, 070d], [070f, 072c], [0730, 074a], [0780, 07b0],
478    [0d82, 0d83], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
479    [0dc0, 0dc6], [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf],
480    [0df2, 0df4], [0f6a, 0f6a], [0f96, 0f96], [0fae, 0fb0], [0fb8, 0fb8],
481    [0fba, 0fbc], [0fbe, 0fcc], [0fcf, 0fcf], [1000, 1021], [1023, 1027],
482    [1029, 102a], [102c, 1032], [1036, 1039], [1040, 1059], [1200, 1206],
483    [1208, 1246], [1248, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
484    [125a, 125d], [1260, 1286], [1288, 1288], [128a, 128d], [1290, 12ae],
485    [12b0, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0], [12c2, 12c5],
486    [12c8, 12ce], [12d0, 12d6], [12d8, 12ee], [12f0, 130e], [1310, 1310],
487    [1312, 1315], [1318, 131e], [1320, 1346], [1348, 135a], [1361, 137c],
488    [13a0, 13f4], [1401, 1676], [1680, 169c], [16a0, 16f0], [1780, 17dc],
489    [17e0, 17e9], [1800, 180e], [1810, 1819], [1820, 1877], [1880, 18a9],
490    [202f, 202f], [2048, 204d], [20ad, 20af], [20e2, 20e3], [2139, 213a],
491    [2183, 2183], [21eb, 21f3], [2301, 2301], [237b, 237b], [237d, 239a],
492    [2425, 2426], [25f0, 25f7], [2619, 2619], [2670, 2671], [2800, 28ff],
493    [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [2ff0, 2ffb], [3038, 303a],
494    [303e, 303e], [31a0, 31b7], [3400, 4db5], [a000, a48c], [a490, a4a1],
495    [a4a4, a4b3], [a4b5, a4c0], [a4c2, a4c4], [a4c6, a4c6], [fb1d, fb1d],
496    [fff9, fffb]**/
497
498
499    namespace {
500    const static UnicodeSet::run_t __v3_0_Set_runs[] = {
501    {Empty, 15}, {Mixed, 3}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
502    {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
503    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
504    {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 46},
505    {Mixed, 4}, {Empty, 11}, {Mixed, 4}, {Empty, 1}, {Full, 1}, {Mixed, 2},
506    {Empty, 13}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5},
507    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2}, {Mixed, 2}, {Full, 18},
508    {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 4}, {Full, 2}, {Mixed, 3},
509    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 59}, {Mixed, 2},
510    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
511    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
512    {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 13}, {Mixed, 2},
513    {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Full, 8}, {Empty, 44}, {Mixed, 1},
514    {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
515    {Empty, 11}, {Mixed, 1}, {Empty, 18}, {Full, 205}, {Mixed, 1},
516    {Empty, 658}, {Full, 36}, {Mixed, 3}, {Empty, 689}, {Mixed, 1},
517    {Empty, 38}, {Mixed, 1}, {Empty, 32768}};
518    const static UnicodeSet::bitquad_t  __v3_0_Set_quads[] = {
519    0x03c00000, 0xff000000, 0x000ffffc, 0x00003e00, 0x80000000, 0x00007c00,
520    0x00007fc0, 0x00000004, 0xa8800000, 0x00000002, 0x00002001, 0x20010000,
521    0x0000f300, 0x00003000, 0x00000400, 0x00380000, 0x83000000, 0x00008000,
522    0x7c000000, 0xffffbfff, 0xffff1fff, 0x000007ff, 0x0001ffff, 0xfc7fffec,
523    0x2ffbffff, 0xff5f847f, 0x001c0000, 0x00000400, 0x00400000, 0xdd01c000,
524    0x00009fff, 0x03c7f6fb, 0x03ffffff, 0xffffff7f, 0x3d7f3d7f, 0xffff3d7f,
525    0x7f3d7fff, 0xff7f7f3d, 0xffff7fff, 0x7f3d7fff, 0x07ffff7f, 0x1ffffffe,
526    0x001fffff, 0xfffffffe, 0x007fffff, 0x1fffffff, 0x0001ffff, 0x1fffffff,
527    0x000003ff, 0x03ff7fff, 0x00ffffff, 0x000003ff, 0x00008000, 0x00003f00,
528    0x0000e000, 0x0000000c, 0x06000000, 0x00000008, 0x000ff800, 0x00000002,
529    0xe8000000, 0x07ffffff, 0x00000060, 0x00ff0000, 0x02000000, 0x00030000,
530    0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000, 0x47000000, 0x00ffffff,
531    0x003fffff, 0xffff1fff, 0xffeffff3, 0x0000005d, 0x20000000, 0x0e000000};
532    }
533
534    const static UnicodeSet v3_0_Set{const_cast<UnicodeSet::run_t *>(__v3_0_Set_runs), 97, 0, const_cast<UnicodeSet::bitquad_t *>(__v3_0_Set_quads), 78, 0};
535
536    /** Code Point Ranges for V3_1
537    [03f4, 03f5], [fdd0, fdef], [10300, 1031e], [10320, 10323],
538    [10330, 1034a], [10400, 10425], [10428, 1044d], [1d000, 1d0f5],
539    [1d100, 1d126], [1d12a, 1d1dd], [1d400, 1d454], [1d456, 1d49c],
540    [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac],
541    [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c0], [1d4c2, 1d4c3],
542    [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
543    [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
544    [1d54a, 1d550], [1d552, 1d6a3], [1d6a8, 1d7c9], [1d7ce, 1d7ff],
545    [20000, 2a6d6], [2f800, 2fa1d], [e0001, e0001], [e0020, e007f]**/
546
547
548    namespace {
549    const static UnicodeSet::run_t __v3_1_Set_runs[] = {
550    {Empty, 31}, {Mixed, 1}, {Empty, 1998}, {Mixed, 2}, {Empty, 40},
551    {Mixed, 3}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1629}, {Full, 7},
552    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Empty, 17},
553    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3},
554    {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 320},
555    {Full, 1334}, {Mixed, 1}, {Empty, 649}, {Full, 16}, {Mixed, 1},
556    {Empty, 22575}, {Mixed, 1}, {Full, 3}, {Empty, 6140}};
557    const static UnicodeSet::bitquad_t  __v3_1_Set_quads[] = {
558    0x00300000, 0xffff0000, 0x0000ffff, 0x7fffffff, 0xffff000f, 0x000007ff,
559    0xffffff3f, 0x00003fff, 0x003fffff, 0xfffffc7f, 0x3fffffff, 0xffdfffff,
560    0xdfffffff, 0xebffde64, 0xffffffed, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
561    0xffffff0f, 0xffffc3ff, 0x007fffff, 0x3fffffff, 0x00000002};
562    }
563
564    const static UnicodeSet v3_1_Set{const_cast<UnicodeSet::run_t *>(__v3_1_Set_runs), 38, 0, const_cast<UnicodeSet::bitquad_t *>(__v3_1_Set_quads), 23, 0};
565
566    /** Code Point Ranges for V3_2
567    [0220, 0220], [034f, 034f], [0363, 036f], [03d8, 03d9], [03f6, 03f6],
568    [048a, 048b], [04c5, 04c6], [04c9, 04ca], [04cd, 04ce], [0500, 050f],
569    [066e, 066f], [07b1, 07b1], [10f7, 10f8], [1700, 170c], [170e, 1714],
570    [1720, 1736], [1740, 1753], [1760, 176c], [176e, 1770], [1772, 1773],
571    [2047, 2047], [204e, 2052], [2057, 2057], [205f, 2063], [2071, 2071],
572    [20b0, 20b1], [20e4, 20ea], [213d, 214b], [21f4, 21ff], [22f2, 22ff],
573    [237c, 237c], [239b, 23ce], [24eb, 24fe], [2596, 259f], [25f8, 25ff],
574    [2616, 2617], [2672, 267d], [2680, 2689], [2768, 2775], [27d0, 27eb],
575    [27f0, 27ff], [2900, 2aff], [303b, 303d], [3095, 3096], [309f, 30a0],
576    [30ff, 30ff], [31f0, 31ff], [3251, 325f], [32b1, 32bf], [a4a2, a4a3],
577    [a4b4, a4b4], [a4c1, a4c1], [a4c5, a4c5], [fa30, fa6a], [fdfc, fdfc],
578    [fe00, fe0f], [fe45, fe46], [fe73, fe73], [ff5f, ff60]**/
579
580
581    namespace {
582    const static UnicodeSet::run_t __v3_2_Set_runs[] = {
583    {Empty, 17}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
584    {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
585    {Empty, 10}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 73},
586    {Mixed, 1}, {Empty, 48}, {Mixed, 4}, {Empty, 70}, {Mixed, 2},
587    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
588    {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
589    {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
590    {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
591    {Empty, 2}, {Mixed, 2}, {Empty, 8}, {Full, 16}, {Empty, 41}, {Mixed, 1},
592    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
593    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 911},
594    {Mixed, 2}, {Empty, 682}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
595    {Empty, 27}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
596    {Empty, 32772}};
597    const static UnicodeSet::bitquad_t  __v3_2_Set_quads[] = {
598    0x00000001, 0x00008000, 0x0000fff8, 0x03000000, 0x00400000, 0x00000c00,
599    0x00006660, 0x0000ffff, 0x0000c000, 0x00020000, 0x01800000, 0x001fdfff,
600    0x007fffff, 0x000fffff, 0x000ddfff, 0x8087c080, 0x0002000f, 0x00030000,
601    0x000007f0, 0xe0000000, 0x00000fff, 0xfff00000, 0xfffc0000, 0x10000000,
602    0xf8000000, 0x00007fff, 0x7ffff800, 0xffc00000, 0xff000000, 0x00c00000,
603    0x3ffc0000, 0x000003ff, 0x003fff00, 0xffff0000, 0xffff0fff, 0x38000000,
604    0x80600000, 0x00000001, 0x80000000, 0xffff0000, 0xfffe0000, 0xfffe0000,
605    0x0010000c, 0x00000022, 0xffff0000, 0x000007ff, 0x10000000, 0x0000ffff,
606    0x00000060, 0x00080000, 0x80000000, 0x00000001};
607    }
608
609    const static UnicodeSet v3_2_Set{const_cast<UnicodeSet::run_t *>(__v3_2_Set_runs), 75, 0, const_cast<UnicodeSet::bitquad_t *>(__v3_2_Set_quads), 52, 0};
610
611    /** Code Point Ranges for V4_0
612    [0221, 0221], [0234, 0236], [02ae, 02af], [02ef, 02ff], [0350, 0357],
613    [035d, 035f], [03f7, 03fb], [0600, 0603], [060d, 0615], [0656, 0658],
614    [06ee, 06ef], [06ff, 06ff], [072d, 072f], [074d, 074f], [0904, 0904],
615    [09bd, 09bd], [0a01, 0a01], [0a03, 0a03], [0a8c, 0a8c], [0ae1, 0ae3],
616    [0af1, 0af1], [0b35, 0b35], [0b71, 0b71], [0bf3, 0bfa], [0cbc, 0cbd],
617    [17dd, 17dd], [17f0, 17f9], [1900, 191c], [1920, 192b], [1930, 193b],
618    [1940, 1940], [1944, 196d], [1970, 1974], [19e0, 19ff], [1d00, 1d6b],
619    [2053, 2054], [213b, 213b], [23cf, 23d0], [24ff, 24ff], [2614, 2615],
620    [268a, 2691], [26a0, 26a1], [2b00, 2b0d], [321d, 321e], [3250, 3250],
621    [327c, 327d], [32cc, 32cf], [3377, 337a], [33de, 33df], [33ff, 33ff],
622    [4dc0, 4dff], [fdfd, fdfd], [fe47, fe48], [10000, 1000b],
623    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
624    [10050, 1005d], [10080, 100fa], [10100, 10102], [10107, 10133],
625    [10137, 1013f], [10380, 1039d], [1039f, 1039f], [10426, 10427],
626    [1044e, 1049d], [104a0, 104a9], [10800, 10805], [10808, 10808],
627    [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 1083f],
628    [1d300, 1d356], [1d4c1, 1d4c1], [e0100, e01ef]**/
629
630
631    namespace {
632    const static UnicodeSet::run_t __v4_0_Set_runs[] = {
633    {Empty, 17}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
634    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
635    {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
636    {Empty, 13}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
637    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
638    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
639    {Empty, 88}, {Mixed, 2}, {Empty, 8}, {Mixed, 4}, {Empty, 3}, {Full, 1},
640    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 22}, {Mixed, 1}, {Empty, 6},
641    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 8},
642    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 34}, {Mixed, 1},
643    {Empty, 55}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
644    {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206}, {Full, 2},
645    {Empty, 1407}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 13},
646    {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3}, {Empty, 18}, {Mixed, 1},
647    {Empty, 4}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 26}, {Mixed, 2},
648    {Empty, 1622}, {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
649    {Empty, 24929}, {Full, 7}, {Mixed, 1}, {Empty, 6128}};
650    const static UnicodeSet::bitquad_t  __v4_0_Set_quads[] = {
651    0x00700002, 0x0000c000, 0xffff8000, 0xe0ff0000, 0x0f800000, 0x003fe00f,
652    0x01c00000, 0x8000c000, 0x0000e000, 0x0000e000, 0x00000010, 0x20000000,
653    0x0000000a, 0x00001000, 0x0002000e, 0x00200000, 0x00020000, 0x07f80000,
654    0x30000000, 0x20000000, 0x03ff0000, 0x1fffffff, 0x0fff0fff, 0xfffffff1,
655    0x001f3fff, 0x00000fff, 0x00180000, 0x08000000, 0x00018000, 0x80000000,
656    0x00300000, 0x0003fc00, 0x00000003, 0x00003fff, 0x60000000, 0x00010000,
657    0x30000000, 0x0000f000, 0x07800000, 0xc0000000, 0x80000000, 0x20000000,
658    0x00000180, 0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
659    0xff8fffff, 0xbfffffff, 0x000000c0, 0xffffc000, 0x3fffffff, 0x000003ff,
660    0xfffffd3f, 0x91bfffff, 0x007fffff, 0x00000002, 0x0000ffff};
661    }
662
663    const static UnicodeSet v4_0_Set{const_cast<UnicodeSet::run_t *>(__v4_0_Set_runs), 97, 0, const_cast<UnicodeSet::bitquad_t *>(__v4_0_Set_quads), 59, 0};
664
665    /** Code Point Ranges for V4_1
666    [0237, 0241], [0358, 035c], [03fc, 03ff], [04f6, 04f7], [05a2, 05a2],
667    [05c5, 05c7], [060b, 060b], [061e, 061e], [0659, 065e], [0750, 076d],
668    [097d, 097d], [09ce, 09ce], [0bb6, 0bb6], [0be6, 0be6], [0fd0, 0fd1],
669    [10f9, 10fa], [10fc, 10fc], [1207, 1207], [1247, 1247], [1287, 1287],
670    [12af, 12af], [12cf, 12cf], [12ef, 12ef], [130f, 130f], [131f, 131f],
671    [1347, 1347], [135f, 1360], [1380, 1399], [1980, 19a9], [19b0, 19c9],
672    [19d0, 19d9], [19de, 19df], [1a00, 1a1b], [1a1e, 1a1f], [1d6c, 1dc3],
673    [2055, 2056], [2058, 205e], [2090, 2094], [20b2, 20b5], [20eb, 20eb],
674    [213c, 213c], [214c, 214c], [23d1, 23db], [2618, 2618], [267e, 267f],
675    [2692, 269c], [26a2, 26b1], [27c0, 27c6], [2b0e, 2b13], [2c00, 2c2e],
676    [2c30, 2c5e], [2c80, 2cea], [2cf9, 2d25], [2d30, 2d65], [2d6f, 2d6f],
677    [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe],
678    [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde], [2e00, 2e17],
679    [2e1c, 2e1d], [31c0, 31cf], [327e, 327e], [9fa6, 9fbb], [a700, a716],
680    [a800, a82b], [fa70, fad9], [fe10, fe19], [10140, 1018a],
681    [103a0, 103c3], [103c8, 103d5], [10a00, 10a03], [10a05, 10a06],
682    [10a0c, 10a13], [10a15, 10a17], [10a19, 10a33], [10a38, 10a3a],
683    [10a3f, 10a47], [10a50, 10a58], [1d200, 1d245], [1d6a4, 1d6a5]**/
684
685
686    namespace {
687    const static UnicodeSet::run_t __v4_1_Set_runs[] = {
688    {Empty, 17}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
689    {Empty, 7}, {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
690    {Empty, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 15}, {Mixed, 1},
691    {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
692    {Empty, 30}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
693    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 3},
694    {Empty, 47}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 26},
695    {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 1},
696    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 19},
697    {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 8},
698    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 7}, {Full, 1}, {Mixed, 2},
699    {Empty, 1}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
700    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 29}, {Mixed, 1}, {Empty, 4},
701    {Mixed, 1}, {Empty, 873}, {Mixed, 1}, {Empty, 58}, {Mixed, 1},
702    {Empty, 7}, {Full, 1}, {Mixed, 1}, {Empty, 657}, {Mixed, 1}, {Full, 2},
703    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 25}, {Full, 2}, {Mixed, 1},
704    {Empty, 16}, {Full, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 3},
705    {Empty, 1597}, {Full, 2}, {Mixed, 1}, {Empty, 34}, {Mixed, 1},
706    {Empty, 31050}};
707    const static UnicodeSet::bitquad_t  __v4_1_Set_quads[] = {
708    0xff800000, 0x00000003, 0x1f000000, 0xf0000000, 0x00c00000, 0x00000004,
709    0x000000e0, 0x40000800, 0x7e000000, 0xffff0000, 0x00003fff, 0x20000000,
710    0x00004000, 0x00400000, 0x00000040, 0x00030000, 0x16000000, 0x00000080,
711    0x00000080, 0x00000080, 0x00008000, 0x00008000, 0x00008000, 0x80008000,
712    0x80000080, 0x00000001, 0x03ffffff, 0xffff03ff, 0xc3ff03ff, 0xcfffffff,
713    0xfffff000, 0x0000000f, 0x7f600000, 0x001f0000, 0x003c0000, 0x00000800,
714    0x10000000, 0x00001000, 0x0ffe0000, 0x01000000, 0xc0000000, 0x1ffc0000,
715    0x0003fffc, 0x0000007f, 0x000fc000, 0xffff7fff, 0x7fffffff, 0xfe0007ff,
716    0xffff003f, 0x0000803f, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x30ffffff,
717    0x0000ffff, 0x40000000, 0x0fffffc0, 0x007fffff, 0x00000fff, 0xffff0000,
718    0x03ffffff, 0x03ff0000, 0x000007ff, 0x003fff0f, 0xfeeff06f, 0x870fffff,
719    0x01ff00ff, 0x0000003f, 0x00000030};
720    }
721
722    const static UnicodeSet v4_1_Set{const_cast<UnicodeSet::run_t *>(__v4_1_Set_runs), 106, 0, const_cast<UnicodeSet::bitquad_t *>(__v4_1_Set_quads), 69, 0};
723
724    /** Code Point Ranges for V5_0
725    [0242, 024f], [037b, 037d], [04cf, 04cf], [04fa, 04ff], [0510, 0513],
726    [05ba, 05ba], [07c0, 07fa], [097b, 097c], [097e, 097f], [0ce2, 0ce3],
727    [0cf1, 0cf2], [1b00, 1b4b], [1b50, 1b7c], [1dc4, 1dca], [1dfe, 1dff],
728    [20ec, 20ef], [214d, 214e], [2184, 2184], [23dc, 23e7], [26b2, 26b2],
729    [27c7, 27ca], [2b14, 2b1a], [2b20, 2b23], [2c60, 2c6c], [2c74, 2c77],
730    [a717, a71a], [a720, a721], [a840, a877], [10900, 10919],
731    [1091f, 1091f], [12000, 1236e], [12400, 12462], [12470, 12473],
732    [1d360, 1d371], [1d7ca, 1d7cb]**/
733
734
735    namespace {
736    const static UnicodeSet::run_t __v5_0_Set_runs[] = {
737    {Empty, 18}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 10},
738    {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 16}, {Full, 1}, {Mixed, 1},
739    {Empty, 11}, {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 112},
740    {Full, 2}, {Mixed, 2}, {Empty, 18}, {Mixed, 2}, {Empty, 23}, {Mixed, 1},
741    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 17}, {Mixed, 2},
742    {Empty, 21}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 25},
743    {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 980}, {Mixed, 2},
744    {Empty, 8}, {Full, 1}, {Mixed, 1}, {Empty, 772}, {Mixed, 1},
745    {Empty, 183}, {Full, 27}, {Mixed, 1}, {Empty, 4}, {Full, 3}, {Mixed, 1},
746    {Empty, 1399}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 31041}};
747    const static UnicodeSet::bitquad_t  __v5_0_Set_quads[] = {
748    0x0000fffc, 0x38000000, 0x00008000, 0xfc000000, 0x000f0000, 0x04000000,
749    0x07ffffff, 0xd8000000, 0x0006000c, 0xffff0fff, 0x1fffffff, 0x000007f0,
750    0xc0000000, 0x0000f000, 0x00006000, 0x00000010, 0xf0000000, 0x000000ff,
751    0x00040000, 0x00000780, 0x07f00000, 0x0000000f, 0x00f01fff, 0x07800000,
752    0x00000003, 0x00ffffff, 0x83ffffff, 0x00007fff, 0x000f0007, 0x0003ffff,
753    0x00000c00};
754    }
755
756    const static UnicodeSet v5_0_Set{const_cast<UnicodeSet::run_t *>(__v5_0_Set_runs), 54, 0, const_cast<UnicodeSet::bitquad_t *>(__v5_0_Set_quads), 31, 0};
757
758    /** Code Point Ranges for V5_1
759    [0370, 0373], [0376, 0377], [03cf, 03cf], [0487, 0487], [0514, 0523],
760    [0606, 060a], [0616, 061a], [063b, 063f], [076e, 077f], [0971, 0972],
761    [0a51, 0a51], [0a75, 0a75], [0b44, 0b44], [0b62, 0b63], [0bd0, 0bd0],
762    [0c3d, 0c3d], [0c58, 0c59], [0c62, 0c63], [0c78, 0c7f], [0d3d, 0d3d],
763    [0d44, 0d44], [0d62, 0d63], [0d70, 0d75], [0d79, 0d7f], [0f6b, 0f6c],
764    [0fce, 0fce], [0fd2, 0fd4], [1022, 1022], [1028, 1028], [102b, 102b],
765    [1033, 1035], [103a, 103f], [105a, 1099], [109e, 109f], [18aa, 18aa],
766    [1b80, 1baa], [1bae, 1bb9], [1c00, 1c37], [1c3b, 1c49], [1c4d, 1c7f],
767    [1dcb, 1de6], [1e9c, 1e9f], [1efa, 1eff], [2064, 2064], [20f0, 20f0],
768    [214f, 214f], [2185, 2188], [269d, 269d], [26b3, 26bc], [26c0, 26c3],
769    [27cc, 27cc], [27ec, 27ef], [2b1b, 2b1f], [2b24, 2b4c], [2b50, 2b54],
770    [2c6d, 2c6f], [2c71, 2c73], [2c78, 2c7d], [2de0, 2dff], [2e18, 2e1b],
771    [2e1e, 2e30], [312d, 312d], [31d0, 31e3], [9fbc, 9fc3], [a500, a62b],
772    [a640, a65f], [a662, a673], [a67c, a697], [a71b, a71f], [a722, a78c],
773    [a7fb, a7ff], [a880, a8c4], [a8ce, a8d9], [a900, a953], [a95f, a95f],
774    [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa5c, aa5f], [fe24, fe26],
775    [10190, 1019b], [101d0, 101fd], [10280, 1029c], [102a0, 102d0],
776    [10920, 10939], [1093f, 1093f], [1d129, 1d129], [1f000, 1f02b],
777    [1f030, 1f093]**/
778
779
780    namespace {
781    const static UnicodeSet::run_t __v5_1_Set_runs[] = {
782    {Empty, 27}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
783    {Empty, 3}, {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
784    {Empty, 15}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
785    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 5}, {Mixed, 3},
786    {Empty, 15}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
787    {Full, 1}, {Mixed, 1}, {Empty, 64}, {Mixed, 1}, {Empty, 22}, {Full, 1},
788    {Mixed, 1}, {Empty, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Empty, 10},
789    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 11},
790    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
791    {Mixed, 1}, {Empty, 39}, {Mixed, 3}, {Empty, 7}, {Mixed, 2},
792    {Empty, 24}, {Mixed, 3}, {Empty, 8}, {Mixed, 1}, {Empty, 11}, {Full, 1},
793    {Mixed, 2}, {Empty, 23}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
794    {Empty, 877}, {Mixed, 2}, {Empty, 41}, {Full, 9}, {Mixed, 1}, {Full, 1},
795    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 2},
796    {Mixed, 1}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 2},
797    {Mixed, 1}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 670}, {Mixed, 1},
798    {Empty, 26}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
799    {Full, 1}, {Mixed, 1}, {Empty, 50}, {Mixed, 1}, {Empty, 1599},
800    {Mixed, 1}, {Empty, 246}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
801    {Empty, 30843}};
802    const static UnicodeSet::bitquad_t  __v5_1_Set_quads[] = {
803    0x00cf0000, 0x00008000, 0x00000080, 0xfff00000, 0x0000000f, 0x07c007c0,
804    0xf8000000, 0xffffc000, 0x00060000, 0x00020000, 0x00200000, 0x00000010,
805    0x0000000c, 0x00010000, 0x20000000, 0x03000000, 0xff00000c, 0x20000000,
806    0x00000010, 0xfe3f000c, 0x00001800, 0x001c4000, 0xfc380904, 0xfc000000,
807    0xc3ffffff, 0x00000400, 0x03ffc7ff, 0xf8ffffff, 0xffffe3ff, 0xfffff800,
808    0x0000007f, 0xf0000000, 0xfc000000, 0x00000010, 0x00010000, 0x00008000,
809    0x000001e0, 0x20000000, 0x1ff80000, 0x0000000f, 0x00001000, 0x0000f000,
810    0xf8000000, 0xfffffff0, 0x001f1fff, 0x3f0ee000, 0xcf000000, 0x0001ffff,
811    0x00002000, 0xffff0000, 0x0000000f, 0xf0000000, 0x0000000f, 0x00000fff,
812    0xf00ffffc, 0x00ffffff, 0xf8000000, 0xfffffffc, 0x00001fff, 0xf8000000,
813    0x03ffc01f, 0x800fffff, 0x007fffff, 0xf3ff3fff, 0x00000070, 0x0fff0000,
814    0xffff0000, 0x3fffffff, 0x1fffffff, 0x0001ffff, 0x83ffffff, 0x00000200,
815    0xffff0fff, 0x000fffff};
816    }
817
818    const static UnicodeSet v5_1_Set{const_cast<UnicodeSet::run_t *>(__v5_1_Set_runs), 112, 0, const_cast<UnicodeSet::bitquad_t *>(__v5_1_Set_quads), 74, 0};
819
820    /** Code Point Ranges for V5_2
821    [0524, 0525], [0800, 082d], [0830, 083e], [0900, 0900], [094e, 094e],
822    [0955, 0955], [0979, 097a], [09fb, 09fb], [0fd5, 0fd8], [109a, 109d],
823    [115a, 115e], [11a3, 11a7], [11fa, 11ff], [1400, 1400], [1677, 167f],
824    [18b0, 18f5], [19aa, 19ab], [19da, 19da], [1a20, 1a5e], [1a60, 1a7c],
825    [1a7f, 1a89], [1a90, 1a99], [1aa0, 1aad], [1cd0, 1cf2], [1dfd, 1dfd],
826    [20b6, 20b8], [2150, 2152], [2189, 2189], [23e8, 23e8], [269e, 269f],
827    [26bd, 26bf], [26c4, 26cd], [26cf, 26e1], [26e3, 26e3], [26e8, 26ff],
828    [2757, 2757], [2b55, 2b59], [2c70, 2c70], [2c7e, 2c7f], [2ceb, 2cf1],
829    [2e31, 2e31], [3244, 324f], [9fc4, 9fcb], [a4d0, a4ff], [a6a0, a6f7],
830    [a830, a839], [a8e0, a8fb], [a960, a97c], [a980, a9cd], [a9cf, a9d9],
831    [a9de, a9df], [aa60, aa7b], [aa80, aac2], [aadb, aadf], [abc0, abed],
832    [abf0, abf9], [d7b0, d7c6], [d7cb, d7fb], [fa6b, fa6d], [10840, 10855],
833    [10857, 1085f], [1091a, 1091b], [10a60, 10a7f], [10b00, 10b35],
834    [10b39, 10b55], [10b58, 10b72], [10b78, 10b7f], [10c00, 10c48],
835    [10e60, 10e7e], [11080, 110c1], [13000, 1342e], [1f100, 1f10a],
836    [1f110, 1f12e], [1f131, 1f131], [1f13d, 1f13d], [1f13f, 1f13f],
837    [1f142, 1f142], [1f146, 1f146], [1f14a, 1f14e], [1f157, 1f157],
838    [1f15f, 1f15f], [1f179, 1f179], [1f17b, 1f17c], [1f17f, 1f17f],
839    [1f18a, 1f18d], [1f190, 1f190], [1f200, 1f200], [1f210, 1f231],
840    [1f240, 1f248], [2a700, 2b734]**/
841
842
843    namespace {
844    const static UnicodeSet::run_t __v5_2_Set_runs[] = {
845    {Empty, 41}, {Mixed, 1}, {Empty, 22}, {Full, 1}, {Mixed, 1}, {Empty, 6},
846    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 46},
847    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
848    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
849    {Empty, 18}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
850    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Full, 1}, {Mixed, 4}, {Empty, 16},
851    {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 4},
852    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 18}, {Mixed, 1},
853    {Empty, 20}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 31},
854    {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 9},
855    {Mixed, 1}, {Empty, 32}, {Mixed, 1}, {Empty, 875}, {Mixed, 1},
856    {Empty, 39}, {Mixed, 1}, {Full, 1}, {Empty, 13}, {Full, 2}, {Mixed, 1},
857    {Empty, 9}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
858    {Full, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
859    {Empty, 7}, {Full, 1}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
860    {Empty, 275}, {Mixed, 1}, {Empty, 110}, {Mixed, 1}, {Empty, 5},
861    {Mixed, 1}, {Empty, 10}, {Full, 1}, {Empty, 4}, {Full, 1}, {Mixed, 3},
862    {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 16},
863    {Full, 2}, {Mixed, 1}, {Empty, 249}, {Full, 33}, {Mixed, 1},
864    {Empty, 1510}, {Mixed, 5}, {Empty, 3}, {Mixed, 3}, {Empty, 1445},
865    {Full, 129}, {Mixed, 1}, {Empty, 29254}};
866    const static UnicodeSet::bitquad_t  __v5_2_Set_quads[] = {
867    0x00000030, 0x7fff3fff, 0x00000001, 0x00204000, 0x06000000, 0x08000000,
868    0x01e00000, 0x3c000000, 0x7c000000, 0x000000f8, 0xfc000000, 0x00000001,
869    0xff800000, 0xffff0000, 0x003fffff, 0x00000c00, 0x04000000, 0x7fffffff,
870    0x9fffffff, 0x03ff03ff, 0x00003fff, 0xffff0000, 0x0007ffff, 0x20000000,
871    0x01c00000, 0x00070000, 0x00000200, 0x00000100, 0xc0000000, 0xe0000000,
872    0xffffbff0, 0xffffff0b, 0x00800000, 0x03e00000, 0xc0010000, 0x0003f800,
873    0x00020000, 0x0000fff0, 0x00000ff0, 0xffff0000, 0x00ffffff, 0x03ff0000,
874    0x0fffffff, 0x1fffffff, 0xc3ffbfff, 0x0fffffff, 0xf8000007, 0x03ff3fff,
875    0xffff0000, 0xfffff87f, 0x0fffffff, 0x00003800, 0xffbfffff, 0x0c000000,
876    0xfe3fffff, 0xff3fffff, 0xff07ffff, 0x000001ff, 0x7fffffff, 0x00000003,
877    0x00007fff, 0xffff07ff, 0xa0027fff, 0x80807c44, 0x9a000000, 0x00013c00,
878    0xffff0001, 0x0003ffff, 0x000001ff, 0x001fffff};
879    }
880
881    const static UnicodeSet v5_2_Set{const_cast<UnicodeSet::run_t *>(__v5_2_Set_runs), 115, 0, const_cast<UnicodeSet::bitquad_t *>(__v5_2_Set_quads), 70, 0};
882
883    /** Code Point Ranges for V6_0
884    [0526, 0527], [0620, 0620], [065f, 065f], [0840, 085b], [085e, 085e],
885    [093a, 093b], [094f, 094f], [0956, 0957], [0973, 0977], [0b72, 0b77],
886    [0d29, 0d29], [0d3a, 0d3a], [0d4e, 0d4e], [0f8c, 0f8f], [0fd9, 0fda],
887    [135d, 135e], [1bc0, 1bf3], [1bfc, 1bff], [1dfc, 1dfc], [2095, 209c],
888    [20b9, 20b9], [23e9, 23f3], [26ce, 26ce], [26e2, 26e2], [26e4, 26e7],
889    [2705, 2705], [270a, 270b], [2728, 2728], [274c, 274c], [274e, 274e],
890    [2753, 2755], [275f, 2760], [2795, 2797], [27b0, 27b0], [27bf, 27bf],
891    [27ce, 27cf], [2d70, 2d70], [2d7f, 2d7f], [31b8, 31ba], [a660, a661],
892    [a78d, a78e], [a790, a791], [a7a0, a7a9], [a7fa, a7fa], [ab01, ab06],
893    [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e], [fbb2, fbc1],
894    [11000, 1104d], [11052, 1106f], [16800, 16a38], [1b000, 1b001],
895    [1f0a0, 1f0ae], [1f0b1, 1f0be], [1f0c1, 1f0cf], [1f0d1, 1f0df],
896    [1f130, 1f130], [1f132, 1f13c], [1f13e, 1f13e], [1f140, 1f141],
897    [1f143, 1f145], [1f147, 1f149], [1f14f, 1f156], [1f158, 1f15e],
898    [1f160, 1f169], [1f170, 1f178], [1f17a, 1f17a], [1f17d, 1f17e],
899    [1f180, 1f189], [1f18e, 1f18f], [1f191, 1f19a], [1f1e6, 1f1ff],
900    [1f201, 1f202], [1f232, 1f23a], [1f250, 1f251], [1f300, 1f320],
901    [1f330, 1f335], [1f337, 1f37c], [1f380, 1f393], [1f3a0, 1f3c4],
902    [1f3c6, 1f3ca], [1f3e0, 1f3f0], [1f400, 1f43e], [1f440, 1f440],
903    [1f442, 1f4f7], [1f4f9, 1f4fc], [1f500, 1f53d], [1f550, 1f567],
904    [1f5fb, 1f5ff], [1f601, 1f610], [1f612, 1f614], [1f616, 1f616],
905    [1f618, 1f618], [1f61a, 1f61a], [1f61c, 1f61e], [1f620, 1f625],
906    [1f628, 1f62b], [1f62d, 1f62d], [1f630, 1f633], [1f635, 1f640],
907    [1f645, 1f64f], [1f680, 1f6c5], [1f700, 1f773], [2b740, 2b81d]**/
908
909
910    namespace {
911    const static UnicodeSet::run_t __v6_0_Set_runs[] = {
912    {Empty, 41}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 15},
913    {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 15}, {Mixed, 1},
914    {Empty, 13}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
915    {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 67}, {Full, 1}, {Mixed, 1},
916    {Empty, 15}, {Mixed, 1}, {Empty, 20}, {Mixed, 2}, {Empty, 25},
917    {Mixed, 1}, {Empty, 22}, {Mixed, 9}, {Empty, 44}, {Mixed, 1},
918    {Empty, 33}, {Mixed, 1}, {Empty, 933}, {Mixed, 1}, {Empty, 8},
919    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2},
920    {Empty, 643}, {Mixed, 2}, {Empty, 161}, {Full, 2}, {Mixed, 2},
921    {Empty, 700}, {Full, 17}, {Mixed, 1}, {Empty, 558}, {Mixed, 1},
922    {Empty, 516}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 2},
923    {Mixed, 4}, {Empty, 5}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
924    {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1},
925    {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 4}, {Empty, 1}, {Full, 2},
926    {Mixed, 1}, {Empty, 1}, {Full, 3}, {Mixed, 1}, {Empty, 1534}, {Full, 6},
927    {Mixed, 1}, {Empty, 29247}};
928    const static UnicodeSet::bitquad_t  __v6_0_Set_quads[] = {
929    0x000000c0, 0x00000001, 0x80000000, 0x4fffffff, 0x0c000000, 0x00c08000,
930    0x00f80000, 0x00fc0000, 0x04000200, 0x00004000, 0x0000f000, 0x06000000,
931    0x60000000, 0xf00fffff, 0x10000000, 0x1fe00000, 0x02000000, 0x000ffe00,
932    0x00004000, 0x000000f4, 0x00000c20, 0x00000100, 0x80385000, 0x00000001,
933    0x00e00000, 0x80010000, 0x0000c000, 0x80010000, 0x07000000, 0x00000003,
934    0x00036000, 0x000003ff, 0x04000000, 0x007e7e7e, 0x00007f7f, 0xfffc0000,
935    0x00000003, 0xfffc3fff, 0x0000ffff, 0x01ffffff, 0x00000003, 0x7ffe7fff,
936    0xfffefffe, 0x5ffd0000, 0x7f7f83bb, 0x65ff03ff, 0x07fec3ff, 0xffffffc0,
937    0x00000006, 0x07fc0000, 0x00030000, 0xffbf0001, 0x1fffffff, 0x000fffff,
938    0x000007df, 0x0001ffff, 0x7fffffff, 0xfffffffd, 0x1effffff, 0x3fffffff,
939    0xffff0000, 0x000000ff, 0xf8000000, 0x755dfffe, 0xffef2f3f, 0x0000ffe1,
940    0x0000003f, 0x000fffff, 0x3fffffff};
941    }
942
943    const static UnicodeSet v6_0_Set{const_cast<UnicodeSet::run_t *>(__v6_0_Set_runs), 82, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_0_Set_quads), 69, 0};
944
945    /** Code Point Ranges for V6_1
946    [058f, 058f], [0604, 0604], [08a0, 08a0], [08a2, 08ac], [08e4, 08fe],
947    [0af0, 0af0], [0ede, 0edf], [10c7, 10c7], [10cd, 10cd], [10fd, 10ff],
948    [1bab, 1bad], [1bba, 1bbf], [1cc0, 1cc7], [1cf3, 1cf6], [27cb, 27cb],
949    [27cd, 27cd], [2cf2, 2cf3], [2d27, 2d27], [2d2d, 2d2d], [2d66, 2d67],
950    [2e32, 2e3b], [9fcc, 9fcc], [a674, a67b], [a69f, a69f], [a792, a793],
951    [a7aa, a7aa], [a7f8, a7f9], [aae0, aaf6], [fa2e, fa2f], [10980, 109b7],
952    [109be, 109bf], [110d0, 110e8], [110f0, 110f9], [11100, 11134],
953    [11136, 11143], [11180, 111c8], [111d0, 111d9], [11680, 116b7],
954    [116c0, 116c9], [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f],
955    [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
956    [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
957    [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
958    [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
959    [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
960    [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
961    [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
962    [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
963    [1eeab, 1eebb], [1eef0, 1eef1], [1f16a, 1f16b], [1f540, 1f543],
964    [1f600, 1f600], [1f611, 1f611], [1f615, 1f615], [1f617, 1f617],
965    [1f619, 1f619], [1f61b, 1f61b], [1f61f, 1f61f], [1f626, 1f627],
966    [1f62c, 1f62c], [1f62e, 1f62f], [1f634, 1f634]**/
967
968
969    namespace {
970    const static UnicodeSet::run_t __v6_1_Set_runs[] = {
971    {Empty, 44}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 20},
972    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
973    {Empty, 30}, {Mixed, 1}, {Empty, 15}, {Mixed, 2}, {Empty, 85},
974    {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 86}, {Mixed, 1},
975    {Empty, 40}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
976    {Empty, 5}, {Mixed, 1}, {Empty, 908}, {Mixed, 1}, {Empty, 52},
977    {Mixed, 2}, {Empty, 7}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 23},
978    {Mixed, 1}, {Empty, 633}, {Mixed, 1}, {Empty, 122}, {Full, 1},
979    {Mixed, 1}, {Empty, 56}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1},
980    {Full, 2}, {Mixed, 1}, {Empty, 37}, {Full, 1}, {Mixed, 2}, {Empty, 705},
981    {Full, 2}, {Mixed, 3}, {Empty, 1011}, {Mixed, 6}, {Empty, 1},
982    {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 30}, {Mixed, 1},
983    {Empty, 5}, {Mixed, 2}, {Empty, 30798}};
984    const static UnicodeSet::bitquad_t  __v6_1_Set_quads[] = {
985    0x00008000, 0x00000010, 0x00001ffd, 0x7ffffff0, 0x00010000, 0xc0000000,
986    0x00002080, 0xe0000000, 0xfc003800, 0x000000ff, 0x00780000, 0x00002800,
987    0x000c0000, 0x00002080, 0x000000c0, 0x0ffc0000, 0x00001000, 0x0ff00000,
988    0x80000000, 0x000c0000, 0x00000400, 0x03000000, 0x007fffff, 0x0000c000,
989    0xc0ffffff, 0xffff0000, 0x03ff01ff, 0xffdfffff, 0x0000000f, 0x03ff01ff,
990    0x00ffffff, 0x000003ff, 0xffff001f, 0x7fffffff, 0xffff8000, 0xffffffef,
991    0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000,
992    0x00000c00, 0x0000000f, 0x8aa20001, 0x0010d0c0};
993    }
994
995    const static UnicodeSet v6_1_Set{const_cast<UnicodeSet::run_t *>(__v6_1_Set_runs), 67, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_1_Set_quads), 46, 0};
996
997    /** Code Point Ranges for V6_2
998    [20ba, 20ba]**/
999
1000
1001    namespace {
1002    const static UnicodeSet::run_t __v6_2_Set_runs[] = {
1003    {Empty, 261}, {Mixed, 1}, {Empty, 34554}};
1004    const static UnicodeSet::bitquad_t  __v6_2_Set_quads[] = {
1005    0x04000000};
1006    }
1007
1008    const static UnicodeSet v6_2_Set{const_cast<UnicodeSet::run_t *>(__v6_2_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_2_Set_quads), 1, 0};
1009
1010    /** Code Point Ranges for V6_3
1011    [061c, 061c], [2066, 2069]**/
1012
1013
1014    namespace {
1015    const static UnicodeSet::run_t __v6_3_Set_runs[] = {
1016    {Empty, 48}, {Mixed, 1}, {Empty, 210}, {Mixed, 1}, {Empty, 34556}};
1017    const static UnicodeSet::bitquad_t  __v6_3_Set_quads[] = {
1018    0x10000000, 0x000003c0};
1019    }
1020
1021    const static UnicodeSet v6_3_Set{const_cast<UnicodeSet::run_t *>(__v6_3_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_3_Set_quads), 2, 0};
1022
1023    /** Code Point Ranges for V7_0
1024    [037f, 037f], [0528, 052f], [058d, 058e], [0605, 0605], [08a1, 08a1],
1025    [08ad, 08b2], [08ff, 08ff], [0978, 0978], [0980, 0980], [0c00, 0c00],
1026    [0c34, 0c34], [0c81, 0c81], [0d01, 0d01], [0de6, 0def], [16f1, 16f8],
1027    [191d, 191e], [1ab0, 1abe], [1cf8, 1cf9], [1de7, 1df5], [20bb, 20bd],
1028    [23f4, 23fa], [2700, 2700], [2b4d, 2b4f], [2b5a, 2b73], [2b76, 2b95],
1029    [2b98, 2bb9], [2bbd, 2bc8], [2bca, 2bd1], [2e3c, 2e42], [a698, a69d],
1030    [a794, a79f], [a7ab, a7ad], [a7b0, a7b1], [a7f7, a7f7], [a9e0, a9fe],
1031    [aa7c, aa7f], [ab30, ab5f], [ab64, ab65], [fe27, fe2d], [1018b, 1018c],
1032    [101a0, 101a0], [102e0, 102fb], [1031f, 1031f], [10350, 1037a],
1033    [10500, 10527], [10530, 10563], [1056f, 1056f], [10600, 10736],
1034    [10740, 10755], [10760, 10767], [10860, 1089e], [108a7, 108af],
1035    [10a80, 10a9f], [10ac0, 10ae6], [10aeb, 10af6], [10b80, 10b91],
1036    [10b99, 10b9c], [10ba9, 10baf], [1107f, 1107f], [11150, 11176],
1037    [111cd, 111cd], [111da, 111da], [111e1, 111f4], [11200, 11211],
1038    [11213, 1123d], [112b0, 112ea], [112f0, 112f9], [11301, 11303],
1039    [11305, 1130c], [1130f, 11310], [11313, 11328], [1132a, 11330],
1040    [11332, 11333], [11335, 11339], [1133c, 11344], [11347, 11348],
1041    [1134b, 1134d], [11357, 11357], [1135d, 11363], [11366, 1136c],
1042    [11370, 11374], [11480, 114c7], [114d0, 114d9], [11580, 115b5],
1043    [115b8, 115c9], [11600, 11644], [11650, 11659], [118a0, 118f2],
1044    [118ff, 118ff], [11ac0, 11af8], [1236f, 12398], [12463, 1246e],
1045    [12474, 12474], [16a40, 16a5e], [16a60, 16a69], [16a6e, 16a6f],
1046    [16ad0, 16aed], [16af0, 16af5], [16b00, 16b45], [16b50, 16b59],
1047    [16b5b, 16b61], [16b63, 16b77], [16b7d, 16b8f], [1bc00, 1bc6a],
1048    [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99], [1bc9c, 1bca3],
1049    [1e800, 1e8c4], [1e8c7, 1e8d6], [1f0bf, 1f0bf], [1f0e0, 1f0f5],
1050    [1f10b, 1f10c], [1f321, 1f32c], [1f336, 1f336], [1f37d, 1f37d],
1051    [1f394, 1f39f], [1f3c5, 1f3c5], [1f3cb, 1f3ce], [1f3d4, 1f3df],
1052    [1f3f1, 1f3f7], [1f43f, 1f43f], [1f441, 1f441], [1f4f8, 1f4f8],
1053    [1f4fd, 1f4fe], [1f53e, 1f53f], [1f544, 1f54a], [1f568, 1f579],
1054    [1f57b, 1f5a3], [1f5a5, 1f5fa], [1f641, 1f642], [1f650, 1f67f],
1055    [1f6c6, 1f6cf], [1f6e0, 1f6ec], [1f6f0, 1f6f3], [1f780, 1f7d4],
1056    [1f800, 1f80b], [1f810, 1f847], [1f850, 1f859], [1f860, 1f887],
1057    [1f890, 1f8ad]**/
1058
1059
1060    namespace {
1061    const static UnicodeSet::run_t __v7_0_Set_runs[] = {
1062    {Empty, 27}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 2},
1063    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 1},
1064    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 19}, {Mixed, 2}, {Empty, 2},
1065    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 71},
1066    {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1067    {Empty, 17}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 21},
1068    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 24}, {Mixed, 1},
1069    {Empty, 33}, {Mixed, 5}, {Empty, 18}, {Mixed, 2}, {Empty, 961},
1070    {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 15},
1071    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1},
1072    {Mixed, 1}, {Empty, 661}, {Mixed, 1}, {Empty, 26}, {Mixed, 2},
1073    {Empty, 9}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 12}, {Full, 1},
1074    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3},
1075    {Empty, 7}, {Full, 1}, {Mixed, 2}, {Empty, 14}, {Full, 1}, {Empty, 1},
1076    {Full, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 37}, {Mixed, 1},
1077    {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
1078    {Full, 1}, {Mixed, 5}, {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 5},
1079    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 18},
1080    {Full, 2}, {Mixed, 1}, {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 67},
1081    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 558}, {Mixed, 2},
1082    {Empty, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 3}, {Empty, 643}, {Full, 3},
1083    {Mixed, 3}, {Empty, 346}, {Full, 6}, {Mixed, 1}, {Empty, 62},
1084    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 1},
1085    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
1086    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
1087    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 2},
1088    {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
1089    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 30778}};
1090    const static UnicodeSet::bitquad_t  __v7_0_Set_quads[] = {
1091    0x80000000, 0x0000ff00, 0x00006000, 0x00000020, 0x0007e002, 0x80000000,
1092    0x01000000, 0x00000001, 0x00000001, 0x00100000, 0x00000002, 0x00000002,
1093    0x0000ffc0, 0x01fe0000, 0x60000000, 0x7fff0000, 0x03000000, 0x003fff80,
1094    0x38000000, 0x07f00000, 0x00000001, 0xfc00e000, 0xffcfffff, 0xff3fffff,
1095    0xe3ffffff, 0x0003fdff, 0xf0000000, 0x00000007, 0x3f000000, 0xfff00000,
1096    0x00033800, 0x00800000, 0x7fffffff, 0xf0000000, 0xffff0000, 0x00000030,
1097    0x00003f80, 0x00001800, 0x00000001, 0x0fffffff, 0x80000000, 0xffff0000,
1098    0x07ffffff, 0xffff00ff, 0x0000800f, 0x007fffff, 0x003fffff, 0x000000ff,
1099    0x7fffffff, 0x0000ff80, 0x007ff87f, 0x1e03ffff, 0x0000fe00, 0x80000000,
1100    0xffff0000, 0x007fffff, 0x04002000, 0x001ffffe, 0xfffbffff, 0x3fffffff,
1101    0xffff0000, 0x03ff07ff, 0xfff99fee, 0xf3edfdff, 0xe080399f, 0x001f1fcf,
1102    0x03ff00ff, 0xff3fffff, 0x000003ff, 0x03ff001f, 0x8007ffff, 0x01ffffff,
1103    0xffff8000, 0x01ffffff, 0x00107ff8, 0x7fffffff, 0x0000c3ff, 0xffff0000,
1104    0x003f3fff, 0xfbff003f, 0xe0fffffb, 0x0000ffff, 0x1fff07ff, 0xf3ff01ff,
1105    0x0000000f, 0x007fff9f, 0x80000000, 0x003fffff, 0x00001800, 0x00401ffe,
1106    0x20000000, 0xfff00000, 0xfff07820, 0x00fe0000, 0x80000000, 0x00000002,
1107    0x61000000, 0xc0000000, 0x000007f0, 0xfbffff00, 0xffffffef, 0x07ffffff,
1108    0xffff0006, 0x0000ffc0, 0x000f1fff, 0x001fffff, 0xffff0fff, 0x03ff00ff,
1109    0xffff00ff, 0x00003fff};
1110    }
1111
1112    const static UnicodeSet v7_0_Set{const_cast<UnicodeSet::run_t *>(__v7_0_Set_runs), 158, 0, const_cast<UnicodeSet::bitquad_t *>(__v7_0_Set_quads), 110, 0};
1113
1114    /** Code Point Ranges for V8_0
1115    [08b3, 08b4], [08e3, 08e3], [0af9, 0af9], [0c5a, 0c5a], [0d5f, 0d5f],
1116    [13f5, 13f5], [13f8, 13fd], [20be, 20be], [218a, 218b], [2bec, 2bef],
1117    [9fcd, 9fd5], [a69e, a69e], [a78f, a78f], [a7b2, a7b7], [a8fc, a8fd],
1118    [ab60, ab63], [ab70, abbf], [fe2e, fe2f], [108e0, 108f2],
1119    [108f4, 108f5], [108fb, 108ff], [109bc, 109bd], [109c0, 109cf],
1120    [109d2, 109ff], [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff],
1121    [111c9, 111cc], [111db, 111df], [11280, 11286], [11288, 11288],
1122    [1128a, 1128d], [1128f, 1129d], [1129f, 112a9], [11300, 11300],
1123    [11350, 11350], [115ca, 115dd], [11700, 11719], [1171d, 1172b],
1124    [11730, 1173f], [12399, 12399], [12480, 12543], [14400, 14646],
1125    [1d1de, 1d1e8], [1d800, 1da8b], [1da9b, 1da9f], [1daa1, 1daaf],
1126    [1f32d, 1f32f], [1f37e, 1f37f], [1f3cf, 1f3d3], [1f3f8, 1f3ff],
1127    [1f4ff, 1f4ff], [1f54b, 1f54f], [1f643, 1f644], [1f6d0, 1f6d0],
1128    [1f910, 1f918], [1f980, 1f984], [1f9c0, 1f9c0], [2b820, 2cea1]**/
1129
1130
1131    namespace {
1132    const static UnicodeSet::run_t __v8_0_Set_runs[] = {
1133    {Empty, 69}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 15},
1134    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1135    {Empty, 52}, {Mixed, 1}, {Empty, 101}, {Mixed, 1}, {Empty, 6},
1136    {Mixed, 1}, {Empty, 82}, {Mixed, 1}, {Empty, 926}, {Mixed, 1},
1137    {Empty, 53}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
1138    {Empty, 19}, {Mixed, 1}, {Full, 2}, {Empty, 659}, {Mixed, 1},
1139    {Empty, 85}, {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Full, 1}, {Empty, 20},
1140    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 38}, {Mixed, 1},
1141    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1142    {Empty, 19}, {Mixed, 1}, {Empty, 9}, {Mixed, 2}, {Empty, 98},
1143    {Mixed, 1}, {Empty, 7}, {Full, 6}, {Mixed, 1}, {Empty, 245}, {Full, 18},
1144    {Mixed, 1}, {Empty, 1115}, {Mixed, 2}, {Empty, 48}, {Full, 20},
1145    {Mixed, 2}, {Empty, 195}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1146    {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1147    {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 17}, {Mixed, 1},
1148    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1522},
1149    {Full, 180}, {Mixed, 1}, {Empty, 29066}};
1150    const static UnicodeSet::bitquad_t  __v8_0_Set_quads[] = {
1151    0x00180000, 0x00000008, 0x02000000, 0x04000000, 0x80000000, 0x3f200000,
1152    0x40000000, 0x00000c00, 0x0000f000, 0x003fe000, 0x40000000, 0x00008000,
1153    0x00fc0000, 0x30000000, 0xffff000f, 0x0000c000, 0xf837ffff, 0x30000000,
1154    0xfffcffff, 0x0007ffff, 0xfc07ffff, 0xf8001e00, 0xbfffbd7f, 0x000003ff,
1155    0x00000001, 0x00010000, 0x3ffffc00, 0xe3ffffff, 0xffff0fff, 0x02000000,
1156    0x0000000f, 0x0000007f, 0xc0000000, 0x000001ff, 0xf8000fff, 0x0000fffe,
1157    0x0000e000, 0xc0000000, 0x000f8000, 0xff000000, 0x80000000, 0x0000f800,
1158    0x00000018, 0x00010000, 0x01ff0000, 0x0000001f, 0x00000001, 0x00000003};
1159    }
1160
1161    const static UnicodeSet v8_0_Set{const_cast<UnicodeSet::run_t *>(__v8_0_Set_runs), 90, 0, const_cast<UnicodeSet::bitquad_t *>(__v8_0_Set_quads), 48, 0};
1162
1163    /** Code Point Ranges for V9_0
1164    [08b6, 08bd], [08d4, 08e2], [0c80, 0c80], [0d4f, 0d4f], [0d54, 0d56],
1165    [0d58, 0d5e], [0d76, 0d78], [1c80, 1c88], [1dfb, 1dfb], [23fb, 23fe],
1166    [2e43, 2e44], [a7ae, a7ae], [a8c5, a8c5], [1018d, 1018e],
1167    [104b0, 104d3], [104d8, 104fb], [1123e, 1123e], [11400, 11459],
1168    [1145b, 1145b], [1145d, 1145d], [11660, 1166c], [11c00, 11c08],
1169    [11c0a, 11c36], [11c38, 11c45], [11c50, 11c6c], [11c70, 11c8f],
1170    [11c92, 11ca7], [11ca9, 11cb6], [16fe0, 16fe0], [17000, 187ec],
1171    [18800, 18af2], [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021],
1172    [1e023, 1e024], [1e026, 1e02a], [1e900, 1e94a], [1e950, 1e959],
1173    [1e95e, 1e95f], [1f19b, 1f1ac], [1f23b, 1f23b], [1f57a, 1f57a],
1174    [1f5a4, 1f5a4], [1f6d1, 1f6d2], [1f6f4, 1f6f6], [1f919, 1f91e],
1175    [1f920, 1f927], [1f930, 1f930], [1f933, 1f93e], [1f940, 1f94b],
1176    [1f950, 1f95e], [1f985, 1f991]**/
1177
1178
1179    namespace {
1180    const static UnicodeSet::run_t __v9_0_Set_runs[] = {
1181    {Empty, 69}, {Mixed, 3}, {Empty, 28}, {Mixed, 1}, {Empty, 5},
1182    {Mixed, 2}, {Empty, 120}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
1183    {Empty, 47}, {Mixed, 1}, {Empty, 82}, {Mixed, 1}, {Empty, 970},
1184    {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 709}, {Mixed, 1},
1185    {Empty, 24}, {Mixed, 3}, {Empty, 105}, {Mixed, 1}, {Empty, 14},
1186    {Full, 2}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 44}, {Mixed, 6},
1187    {Empty, 665}, {Mixed, 1}, {Full, 191}, {Mixed, 1}, {Full, 23},
1188    {Mixed, 1}, {Empty, 680}, {Mixed, 2}, {Empty, 70}, {Full, 2},
1189    {Mixed, 1}, {Empty, 65}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1190    {Empty, 25}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
1191    {Empty, 16}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 30771}};
1192    const static UnicodeSet::bitquad_t  __v9_0_Set_quads[] = {
1193    0x3fc00000, 0xfff00000, 0x00000007, 0x00000001, 0x7f708000, 0x01c00000,
1194    0x000001ff, 0x08000000, 0x78000000, 0x00000018, 0x00004000, 0x00000020,
1195    0x00006000, 0xffff0000, 0xff0fffff, 0x0fffffff, 0x40000000, 0x2bffffff,
1196    0x00001fff, 0xfffffdff, 0xff7fffff, 0xffff003f, 0xffff1fff, 0xfffcffff,
1197    0x007ffeff, 0x00000001, 0x00001fff, 0x0007ffff, 0xf9ffff7f, 0x000007db,
1198    0xc3ff07ff, 0xf8000000, 0x00001fff, 0x08000000, 0x04000000, 0x00000010,
1199    0x00060000, 0x00700000, 0x7e000000, 0x7ff900ff, 0x7fff0fff, 0x0003ffe0};
1200    }
1201
1202    const static UnicodeSet v9_0_Set{const_cast<UnicodeSet::run_t *>(__v9_0_Set_runs), 57, 0, const_cast<UnicodeSet::bitquad_t *>(__v9_0_Set_quads), 42, 0};
1203
1204    /** Code Point Ranges for V10_0
1205    [0860, 086a], [09fc, 09fd], [0afa, 0aff], [0d00, 0d00], [0d3b, 0d3c],
1206    [1cf7, 1cf7], [1df6, 1df9], [20bf, 20bf], [23ff, 23ff], [2bd2, 2bd2],
1207    [2e45, 2e49], [312e, 312e], [9fd6, 9fea], [1032d, 1032f],
1208    [11a00, 11a47], [11a50, 11a83], [11a86, 11a9c], [11a9e, 11aa2],
1209    [11d00, 11d06], [11d08, 11d09], [11d0b, 11d36], [11d3a, 11d3a],
1210    [11d3c, 11d3d], [11d3f, 11d47], [11d50, 11d59], [16fe1, 16fe1],
1211    [1b002, 1b11e], [1b170, 1b2fb], [1f260, 1f265], [1f6d3, 1f6d4],
1212    [1f6f7, 1f6f8], [1f900, 1f90b], [1f91f, 1f91f], [1f928, 1f92f],
1213    [1f931, 1f932], [1f94c, 1f94c], [1f95f, 1f96b], [1f992, 1f997],
1214    [1f9d0, 1f9e6], [2ceb0, 2ebe0]**/
1215
1216
1217    namespace {
1218    const static UnicodeSet::run_t __v10_0_Set_runs[] = {
1219    {Empty, 67}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 7},
1220    {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 125}, {Mixed, 1},
1221    {Empty, 7}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 25},
1222    {Mixed, 1}, {Empty, 62}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
1223    {Empty, 22}, {Mixed, 1}, {Empty, 884}, {Mixed, 2}, {Empty, 793},
1224    {Mixed, 1}, {Empty, 182}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
1225    {Empty, 18}, {Mixed, 3}, {Empty, 660}, {Mixed, 1}, {Empty, 512},
1226    {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 11},
1227    {Mixed, 1}, {Empty, 507}, {Mixed, 1}, {Empty, 34}, {Mixed, 2},
1228    {Empty, 16}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1701},
1229    {Mixed, 1}, {Full, 233}, {Mixed, 1}, {Empty, 28832}};
1230    const static UnicodeSet::bitquad_t  __v10_0_Set_quads[] = {
1231    0x000007ff, 0x30000000, 0xfc000000, 0x00000001, 0x18000000, 0x00800000,
1232    0x03c00000, 0x80000000, 0x80000000, 0x00040000, 0x000003e0, 0x00004000,
1233    0xffc00000, 0x000007ff, 0x0000e000, 0xffff00ff, 0xdfffffcf, 0x00000007,
1234    0xfffffb7f, 0xb47fffff, 0x03ff00ff, 0x00000002, 0xfffffffc, 0x7fffffff,
1235    0xffff0000, 0x0fffffff, 0x0000003f, 0x00180000, 0x01800000, 0x80000fff,
1236    0x0006ff00, 0x80001000, 0x00000fff, 0x00fc0000, 0xffff0000, 0x0000007f,
1237    0xffff0000, 0x00000001};
1238    }
1239
1240    const static UnicodeSet v10_0_Set{const_cast<UnicodeSet::run_t *>(__v10_0_Set_runs), 56, 0, const_cast<UnicodeSet::bitquad_t *>(__v10_0_Set_quads), 38, 0};
1241
1242    static EnumeratedPropertyObject property_object
1243        {age,
1244        AGE_ns::independent_prop_values,
1245        std::move(AGE_ns::enum_names),
1246        std::move(AGE_ns::value_names),
1247        std::move(AGE_ns::aliases_only_map),{
1248        &unassigned_Set, &v1_1_Set, &v2_0_Set, &v2_1_Set, &v3_0_Set,
1249        &v3_1_Set, &v3_2_Set, &v4_0_Set, &v4_1_Set, &v5_0_Set, &v5_1_Set,
1250        &v5_2_Set, &v6_0_Set, &v6_1_Set, &v6_2_Set, &v6_3_Set, &v7_0_Set,
1251        &v8_0_Set, &v9_0_Set, &v10_0_Set
1252        }};
1253    }
1254}
1255
1256#endif
Note: See TracBrowser for help on using the repository browser.