1
2// GENERATED BY make_unicode_groups.py; DO NOT EDIT.
3// make_unicode_groups.py >unicode_groups.cc
4
5#include "re2/unicode_groups.h"
6
7namespace re2 {
8
9
10static const URange16 C_range16[] = {
11 { 0, 31 },
12 { 127, 159 },
13 { 173, 173 },
14 { 1536, 1541 },
15 { 1564, 1564 },
16 { 1757, 1757 },
17 { 1807, 1807 },
18 { 2274, 2274 },
19 { 6158, 6158 },
20 { 8203, 8207 },
21 { 8234, 8238 },
22 { 8288, 8292 },
23 { 8294, 8303 },
24 { 55296, 63743 },
25 { 65279, 65279 },
26 { 65529, 65531 },
27};
28static const URange32 C_range32[] = {
29 { 69821, 69821 },
30 { 69837, 69837 },
31 { 78896, 78904 },
32 { 113824, 113827 },
33 { 119155, 119162 },
34 { 917505, 917505 },
35 { 917536, 917631 },
36 { 983040, 1048573 },
37 { 1048576, 1114109 },
38};
39static const URange16 Cc_range16[] = {
40 { 0, 31 },
41 { 127, 159 },
42};
43static const URange16 Cf_range16[] = {
44 { 173, 173 },
45 { 1536, 1541 },
46 { 1564, 1564 },
47 { 1757, 1757 },
48 { 1807, 1807 },
49 { 2274, 2274 },
50 { 6158, 6158 },
51 { 8203, 8207 },
52 { 8234, 8238 },
53 { 8288, 8292 },
54 { 8294, 8303 },
55 { 65279, 65279 },
56 { 65529, 65531 },
57};
58static const URange32 Cf_range32[] = {
59 { 69821, 69821 },
60 { 69837, 69837 },
61 { 78896, 78904 },
62 { 113824, 113827 },
63 { 119155, 119162 },
64 { 917505, 917505 },
65 { 917536, 917631 },
66};
67static const URange16 Co_range16[] = {
68 { 57344, 63743 },
69};
70static const URange32 Co_range32[] = {
71 { 983040, 1048573 },
72 { 1048576, 1114109 },
73};
74static const URange16 Cs_range16[] = {
75 { 55296, 57343 },
76};
77static const URange16 L_range16[] = {
78 { 65, 90 },
79 { 97, 122 },
80 { 170, 170 },
81 { 181, 181 },
82 { 186, 186 },
83 { 192, 214 },
84 { 216, 246 },
85 { 248, 705 },
86 { 710, 721 },
87 { 736, 740 },
88 { 748, 748 },
89 { 750, 750 },
90 { 880, 884 },
91 { 886, 887 },
92 { 890, 893 },
93 { 895, 895 },
94 { 902, 902 },
95 { 904, 906 },
96 { 908, 908 },
97 { 910, 929 },
98 { 931, 1013 },
99 { 1015, 1153 },
100 { 1162, 1327 },
101 { 1329, 1366 },
102 { 1369, 1369 },
103 { 1376, 1416 },
104 { 1488, 1514 },
105 { 1519, 1522 },
106 { 1568, 1610 },
107 { 1646, 1647 },
108 { 1649, 1747 },
109 { 1749, 1749 },
110 { 1765, 1766 },
111 { 1774, 1775 },
112 { 1786, 1788 },
113 { 1791, 1791 },
114 { 1808, 1808 },
115 { 1810, 1839 },
116 { 1869, 1957 },
117 { 1969, 1969 },
118 { 1994, 2026 },
119 { 2036, 2037 },
120 { 2042, 2042 },
121 { 2048, 2069 },
122 { 2074, 2074 },
123 { 2084, 2084 },
124 { 2088, 2088 },
125 { 2112, 2136 },
126 { 2144, 2154 },
127 { 2208, 2228 },
128 { 2230, 2237 },
129 { 2308, 2361 },
130 { 2365, 2365 },
131 { 2384, 2384 },
132 { 2392, 2401 },
133 { 2417, 2432 },
134 { 2437, 2444 },
135 { 2447, 2448 },
136 { 2451, 2472 },
137 { 2474, 2480 },
138 { 2482, 2482 },
139 { 2486, 2489 },
140 { 2493, 2493 },
141 { 2510, 2510 },
142 { 2524, 2525 },
143 { 2527, 2529 },
144 { 2544, 2545 },
145 { 2556, 2556 },
146 { 2565, 2570 },
147 { 2575, 2576 },
148 { 2579, 2600 },
149 { 2602, 2608 },
150 { 2610, 2611 },
151 { 2613, 2614 },
152 { 2616, 2617 },
153 { 2649, 2652 },
154 { 2654, 2654 },
155 { 2674, 2676 },
156 { 2693, 2701 },
157 { 2703, 2705 },
158 { 2707, 2728 },
159 { 2730, 2736 },
160 { 2738, 2739 },
161 { 2741, 2745 },
162 { 2749, 2749 },
163 { 2768, 2768 },
164 { 2784, 2785 },
165 { 2809, 2809 },
166 { 2821, 2828 },
167 { 2831, 2832 },
168 { 2835, 2856 },
169 { 2858, 2864 },
170 { 2866, 2867 },
171 { 2869, 2873 },
172 { 2877, 2877 },
173 { 2908, 2909 },
174 { 2911, 2913 },
175 { 2929, 2929 },
176 { 2947, 2947 },
177 { 2949, 2954 },
178 { 2958, 2960 },
179 { 2962, 2965 },
180 { 2969, 2970 },
181 { 2972, 2972 },
182 { 2974, 2975 },
183 { 2979, 2980 },
184 { 2984, 2986 },
185 { 2990, 3001 },
186 { 3024, 3024 },
187 { 3077, 3084 },
188 { 3086, 3088 },
189 { 3090, 3112 },
190 { 3114, 3129 },
191 { 3133, 3133 },
192 { 3160, 3162 },
193 { 3168, 3169 },
194 { 3200, 3200 },
195 { 3205, 3212 },
196 { 3214, 3216 },
197 { 3218, 3240 },
198 { 3242, 3251 },
199 { 3253, 3257 },
200 { 3261, 3261 },
201 { 3294, 3294 },
202 { 3296, 3297 },
203 { 3313, 3314 },
204 { 3333, 3340 },
205 { 3342, 3344 },
206 { 3346, 3386 },
207 { 3389, 3389 },
208 { 3406, 3406 },
209 { 3412, 3414 },
210 { 3423, 3425 },
211 { 3450, 3455 },
212 { 3461, 3478 },
213 { 3482, 3505 },
214 { 3507, 3515 },
215 { 3517, 3517 },
216 { 3520, 3526 },
217 { 3585, 3632 },
218 { 3634, 3635 },
219 { 3648, 3654 },
220 { 3713, 3714 },
221 { 3716, 3716 },
222 { 3718, 3722 },
223 { 3724, 3747 },
224 { 3749, 3749 },
225 { 3751, 3760 },
226 { 3762, 3763 },
227 { 3773, 3773 },
228 { 3776, 3780 },
229 { 3782, 3782 },
230 { 3804, 3807 },
231 { 3840, 3840 },
232 { 3904, 3911 },
233 { 3913, 3948 },
234 { 3976, 3980 },
235 { 4096, 4138 },
236 { 4159, 4159 },
237 { 4176, 4181 },
238 { 4186, 4189 },
239 { 4193, 4193 },
240 { 4197, 4198 },
241 { 4206, 4208 },
242 { 4213, 4225 },
243 { 4238, 4238 },
244 { 4256, 4293 },
245 { 4295, 4295 },
246 { 4301, 4301 },
247 { 4304, 4346 },
248 { 4348, 4680 },
249 { 4682, 4685 },
250 { 4688, 4694 },
251 { 4696, 4696 },
252 { 4698, 4701 },
253 { 4704, 4744 },
254 { 4746, 4749 },
255 { 4752, 4784 },
256 { 4786, 4789 },
257 { 4792, 4798 },
258 { 4800, 4800 },
259 { 4802, 4805 },
260 { 4808, 4822 },
261 { 4824, 4880 },
262 { 4882, 4885 },
263 { 4888, 4954 },
264 { 4992, 5007 },
265 { 5024, 5109 },
266 { 5112, 5117 },
267 { 5121, 5740 },
268 { 5743, 5759 },
269 { 5761, 5786 },
270 { 5792, 5866 },
271 { 5873, 5880 },
272 { 5888, 5900 },
273 { 5902, 5905 },
274 { 5920, 5937 },
275 { 5952, 5969 },
276 { 5984, 5996 },
277 { 5998, 6000 },
278 { 6016, 6067 },
279 { 6103, 6103 },
280 { 6108, 6108 },
281 { 6176, 6264 },
282 { 6272, 6276 },
283 { 6279, 6312 },
284 { 6314, 6314 },
285 { 6320, 6389 },
286 { 6400, 6430 },
287 { 6480, 6509 },
288 { 6512, 6516 },
289 { 6528, 6571 },
290 { 6576, 6601 },
291 { 6656, 6678 },
292 { 6688, 6740 },
293 { 6823, 6823 },
294 { 6917, 6963 },
295 { 6981, 6987 },
296 { 7043, 7072 },
297 { 7086, 7087 },
298 { 7098, 7141 },
299 { 7168, 7203 },
300 { 7245, 7247 },
301 { 7258, 7293 },
302 { 7296, 7304 },
303 { 7312, 7354 },
304 { 7357, 7359 },
305 { 7401, 7404 },
306 { 7406, 7411 },
307 { 7413, 7414 },
308 { 7418, 7418 },
309 { 7424, 7615 },
310 { 7680, 7957 },
311 { 7960, 7965 },
312 { 7968, 8005 },
313 { 8008, 8013 },
314 { 8016, 8023 },
315 { 8025, 8025 },
316 { 8027, 8027 },
317 { 8029, 8029 },
318 { 8031, 8061 },
319 { 8064, 8116 },
320 { 8118, 8124 },
321 { 8126, 8126 },
322 { 8130, 8132 },
323 { 8134, 8140 },
324 { 8144, 8147 },
325 { 8150, 8155 },
326 { 8160, 8172 },
327 { 8178, 8180 },
328 { 8182, 8188 },
329 { 8305, 8305 },
330 { 8319, 8319 },
331 { 8336, 8348 },
332 { 8450, 8450 },
333 { 8455, 8455 },
334 { 8458, 8467 },
335 { 8469, 8469 },
336 { 8473, 8477 },
337 { 8484, 8484 },
338 { 8486, 8486 },
339 { 8488, 8488 },
340 { 8490, 8493 },
341 { 8495, 8505 },
342 { 8508, 8511 },
343 { 8517, 8521 },
344 { 8526, 8526 },
345 { 8579, 8580 },
346 { 11264, 11310 },
347 { 11312, 11358 },
348 { 11360, 11492 },
349 { 11499, 11502 },
350 { 11506, 11507 },
351 { 11520, 11557 },
352 { 11559, 11559 },
353 { 11565, 11565 },
354 { 11568, 11623 },
355 { 11631, 11631 },
356 { 11648, 11670 },
357 { 11680, 11686 },
358 { 11688, 11694 },
359 { 11696, 11702 },
360 { 11704, 11710 },
361 { 11712, 11718 },
362 { 11720, 11726 },
363 { 11728, 11734 },
364 { 11736, 11742 },
365 { 11823, 11823 },
366 { 12293, 12294 },
367 { 12337, 12341 },
368 { 12347, 12348 },
369 { 12353, 12438 },
370 { 12445, 12447 },
371 { 12449, 12538 },
372 { 12540, 12543 },
373 { 12549, 12591 },
374 { 12593, 12686 },
375 { 12704, 12730 },
376 { 12784, 12799 },
377 { 13312, 19893 },
378 { 19968, 40943 },
379 { 40960, 42124 },
380 { 42192, 42237 },
381 { 42240, 42508 },
382 { 42512, 42527 },
383 { 42538, 42539 },
384 { 42560, 42606 },
385 { 42623, 42653 },
386 { 42656, 42725 },
387 { 42775, 42783 },
388 { 42786, 42888 },
389 { 42891, 42943 },
390 { 42946, 42950 },
391 { 42999, 43009 },
392 { 43011, 43013 },
393 { 43015, 43018 },
394 { 43020, 43042 },
395 { 43072, 43123 },
396 { 43138, 43187 },
397 { 43250, 43255 },
398 { 43259, 43259 },
399 { 43261, 43262 },
400 { 43274, 43301 },
401 { 43312, 43334 },
402 { 43360, 43388 },
403 { 43396, 43442 },
404 { 43471, 43471 },
405 { 43488, 43492 },
406 { 43494, 43503 },
407 { 43514, 43518 },
408 { 43520, 43560 },
409 { 43584, 43586 },
410 { 43588, 43595 },
411 { 43616, 43638 },
412 { 43642, 43642 },
413 { 43646, 43695 },
414 { 43697, 43697 },
415 { 43701, 43702 },
416 { 43705, 43709 },
417 { 43712, 43712 },
418 { 43714, 43714 },
419 { 43739, 43741 },
420 { 43744, 43754 },
421 { 43762, 43764 },
422 { 43777, 43782 },
423 { 43785, 43790 },
424 { 43793, 43798 },
425 { 43808, 43814 },
426 { 43816, 43822 },
427 { 43824, 43866 },
428 { 43868, 43879 },
429 { 43888, 44002 },
430 { 44032, 55203 },
431 { 55216, 55238 },
432 { 55243, 55291 },
433 { 63744, 64109 },
434 { 64112, 64217 },
435 { 64256, 64262 },
436 { 64275, 64279 },
437 { 64285, 64285 },
438 { 64287, 64296 },
439 { 64298, 64310 },
440 { 64312, 64316 },
441 { 64318, 64318 },
442 { 64320, 64321 },
443 { 64323, 64324 },
444 { 64326, 64433 },
445 { 64467, 64829 },
446 { 64848, 64911 },
447 { 64914, 64967 },
448 { 65008, 65019 },
449 { 65136, 65140 },
450 { 65142, 65276 },
451 { 65313, 65338 },
452 { 65345, 65370 },
453 { 65382, 65470 },
454 { 65474, 65479 },
455 { 65482, 65487 },
456 { 65490, 65495 },
457 { 65498, 65500 },
458};
459static const URange32 L_range32[] = {
460 { 65536, 65547 },
461 { 65549, 65574 },
462 { 65576, 65594 },
463 { 65596, 65597 },
464 { 65599, 65613 },
465 { 65616, 65629 },
466 { 65664, 65786 },
467 { 66176, 66204 },
468 { 66208, 66256 },
469 { 66304, 66335 },
470 { 66349, 66368 },
471 { 66370, 66377 },
472 { 66384, 66421 },
473 { 66432, 66461 },
474 { 66464, 66499 },
475 { 66504, 66511 },
476 { 66560, 66717 },
477 { 66736, 66771 },
478 { 66776, 66811 },
479 { 66816, 66855 },
480 { 66864, 66915 },
481 { 67072, 67382 },
482 { 67392, 67413 },
483 { 67424, 67431 },
484 { 67584, 67589 },
485 { 67592, 67592 },
486 { 67594, 67637 },
487 { 67639, 67640 },
488 { 67644, 67644 },
489 { 67647, 67669 },
490 { 67680, 67702 },
491 { 67712, 67742 },
492 { 67808, 67826 },
493 { 67828, 67829 },
494 { 67840, 67861 },
495 { 67872, 67897 },
496 { 67968, 68023 },
497 { 68030, 68031 },
498 { 68096, 68096 },
499 { 68112, 68115 },
500 { 68117, 68119 },
501 { 68121, 68149 },
502 { 68192, 68220 },
503 { 68224, 68252 },
504 { 68288, 68295 },
505 { 68297, 68324 },
506 { 68352, 68405 },
507 { 68416, 68437 },
508 { 68448, 68466 },
509 { 68480, 68497 },
510 { 68608, 68680 },
511 { 68736, 68786 },
512 { 68800, 68850 },
513 { 68864, 68899 },
514 { 69376, 69404 },
515 { 69415, 69415 },
516 { 69424, 69445 },
517 { 69600, 69622 },
518 { 69635, 69687 },
519 { 69763, 69807 },
520 { 69840, 69864 },
521 { 69891, 69926 },
522 { 69956, 69956 },
523 { 69968, 70002 },
524 { 70006, 70006 },
525 { 70019, 70066 },
526 { 70081, 70084 },
527 { 70106, 70106 },
528 { 70108, 70108 },
529 { 70144, 70161 },
530 { 70163, 70187 },
531 { 70272, 70278 },
532 { 70280, 70280 },
533 { 70282, 70285 },
534 { 70287, 70301 },
535 { 70303, 70312 },
536 { 70320, 70366 },
537 { 70405, 70412 },
538 { 70415, 70416 },
539 { 70419, 70440 },
540 { 70442, 70448 },
541 { 70450, 70451 },
542 { 70453, 70457 },
543 { 70461, 70461 },
544 { 70480, 70480 },
545 { 70493, 70497 },
546 { 70656, 70708 },
547 { 70727, 70730 },
548 { 70751, 70751 },
549 { 70784, 70831 },
550 { 70852, 70853 },
551 { 70855, 70855 },
552 { 71040, 71086 },
553 { 71128, 71131 },
554 { 71168, 71215 },
555 { 71236, 71236 },
556 { 71296, 71338 },
557 { 71352, 71352 },
558 { 71424, 71450 },
559 { 71680, 71723 },
560 { 71840, 71903 },
561 { 71935, 71935 },
562 { 72096, 72103 },
563 { 72106, 72144 },
564 { 72161, 72161 },
565 { 72163, 72163 },
566 { 72192, 72192 },
567 { 72203, 72242 },
568 { 72250, 72250 },
569 { 72272, 72272 },
570 { 72284, 72329 },
571 { 72349, 72349 },
572 { 72384, 72440 },
573 { 72704, 72712 },
574 { 72714, 72750 },
575 { 72768, 72768 },
576 { 72818, 72847 },
577 { 72960, 72966 },
578 { 72968, 72969 },
579 { 72971, 73008 },
580 { 73030, 73030 },
581 { 73056, 73061 },
582 { 73063, 73064 },
583 { 73066, 73097 },
584 { 73112, 73112 },
585 { 73440, 73458 },
586 { 73728, 74649 },
587 { 74880, 75075 },
588 { 77824, 78894 },
589 { 82944, 83526 },
590 { 92160, 92728 },
591 { 92736, 92766 },
592 { 92880, 92909 },
593 { 92928, 92975 },
594 { 92992, 92995 },
595 { 93027, 93047 },
596 { 93053, 93071 },
597 { 93760, 93823 },
598 { 93952, 94026 },
599 { 94032, 94032 },
600 { 94099, 94111 },
601 { 94176, 94177 },
602 { 94179, 94179 },
603 { 94208, 100343 },
604 { 100352, 101106 },
605 { 110592, 110878 },
606 { 110928, 110930 },
607 { 110948, 110951 },
608 { 110960, 111355 },
609 { 113664, 113770 },
610 { 113776, 113788 },
611 { 113792, 113800 },
612 { 113808, 113817 },
613 { 119808, 119892 },
614 { 119894, 119964 },
615 { 119966, 119967 },
616 { 119970, 119970 },
617 { 119973, 119974 },
618 { 119977, 119980 },
619 { 119982, 119993 },
620 { 119995, 119995 },
621 { 119997, 120003 },
622 { 120005, 120069 },
623 { 120071, 120074 },
624 { 120077, 120084 },
625 { 120086, 120092 },
626 { 120094, 120121 },
627 { 120123, 120126 },
628 { 120128, 120132 },
629 { 120134, 120134 },
630 { 120138, 120144 },
631 { 120146, 120485 },
632 { 120488, 120512 },
633 { 120514, 120538 },
634 { 120540, 120570 },
635 { 120572, 120596 },
636 { 120598, 120628 },
637 { 120630, 120654 },
638 { 120656, 120686 },
639 { 120688, 120712 },
640 { 120714, 120744 },
641 { 120746, 120770 },
642 { 120772, 120779 },
643 { 123136, 123180 },
644 { 123191, 123197 },
645 { 123214, 123214 },
646 { 123584, 123627 },
647 { 124928, 125124 },
648 { 125184, 125251 },
649 { 125259, 125259 },
650 { 126464, 126467 },
651 { 126469, 126495 },
652 { 126497, 126498 },
653 { 126500, 126500 },
654 { 126503, 126503 },
655 { 126505, 126514 },
656 { 126516, 126519 },
657 { 126521, 126521 },
658 { 126523, 126523 },
659 { 126530, 126530 },
660 { 126535, 126535 },
661 { 126537, 126537 },
662 { 126539, 126539 },
663 { 126541, 126543 },
664 { 126545, 126546 },
665 { 126548, 126548 },
666 { 126551, 126551 },
667 { 126553, 126553 },
668 { 126555, 126555 },
669 { 126557, 126557 },
670 { 126559, 126559 },
671 { 126561, 126562 },
672 { 126564, 126564 },
673 { 126567, 126570 },
674 { 126572, 126578 },
675 { 126580, 126583 },
676 { 126585, 126588 },
677 { 126590, 126590 },
678 { 126592, 126601 },
679 { 126603, 126619 },
680 { 126625, 126627 },
681 { 126629, 126633 },
682 { 126635, 126651 },
683 { 131072, 173782 },
684 { 173824, 177972 },
685 { 177984, 178205 },
686 { 178208, 183969 },
687 { 183984, 191456 },
688 { 194560, 195101 },
689};
690static const URange16 Ll_range16[] = {
691 { 97, 122 },
692 { 181, 181 },
693 { 223, 246 },
694 { 248, 255 },
695 { 257, 257 },
696 { 259, 259 },
697 { 261, 261 },
698 { 263, 263 },
699 { 265, 265 },
700 { 267, 267 },
701 { 269, 269 },
702 { 271, 271 },
703 { 273, 273 },
704 { 275, 275 },
705 { 277, 277 },
706 { 279, 279 },
707 { 281, 281 },
708 { 283, 283 },
709 { 285, 285 },
710 { 287, 287 },
711 { 289, 289 },
712 { 291, 291 },
713 { 293, 293 },
714 { 295, 295 },
715 { 297, 297 },
716 { 299, 299 },
717 { 301, 301 },
718 { 303, 303 },
719 { 305, 305 },
720 { 307, 307 },
721 { 309, 309 },
722 { 311, 312 },
723 { 314, 314 },
724 { 316, 316 },
725 { 318, 318 },
726 { 320, 320 },
727 { 322, 322 },
728 { 324, 324 },
729 { 326, 326 },
730 { 328, 329 },
731 { 331, 331 },
732 { 333, 333 },
733 { 335, 335 },
734 { 337, 337 },
735 { 339, 339 },
736 { 341, 341 },
737 { 343, 343 },
738 { 345, 345 },
739 { 347, 347 },
740 { 349, 349 },
741 { 351, 351 },
742 { 353, 353 },
743 { 355, 355 },
744 { 357, 357 },
745 { 359, 359 },
746 { 361, 361 },
747 { 363, 363 },
748 { 365, 365 },
749 { 367, 367 },
750 { 369, 369 },
751 { 371, 371 },
752 { 373, 373 },
753 { 375, 375 },
754 { 378, 378 },
755 { 380, 380 },
756 { 382, 384 },
757 { 387, 387 },
758 { 389, 389 },
759 { 392, 392 },
760 { 396, 397 },
761 { 402, 402 },
762 { 405, 405 },
763 { 409, 411 },
764 { 414, 414 },
765 { 417, 417 },
766 { 419, 419 },
767 { 421, 421 },
768 { 424, 424 },
769 { 426, 427 },
770 { 429, 429 },
771 { 432, 432 },
772 { 436, 436 },
773 { 438, 438 },
774 { 441, 442 },
775 { 445, 447 },
776 { 454, 454 },
777 { 457, 457 },
778 { 460, 460 },
779 { 462, 462 },
780 { 464, 464 },
781 { 466, 466 },
782 { 468, 468 },
783 { 470, 470 },
784 { 472, 472 },
785 { 474, 474 },
786 { 476, 477 },
787 { 479, 479 },
788 { 481, 481 },
789 { 483, 483 },
790 { 485, 485 },
791 { 487, 487 },
792 { 489, 489 },
793 { 491, 491 },
794 { 493, 493 },
795 { 495, 496 },
796 { 499, 499 },
797 { 501, 501 },
798 { 505, 505 },
799 { 507, 507 },
800 { 509, 509 },
801 { 511, 511 },
802 { 513, 513 },
803 { 515, 515 },
804 { 517, 517 },
805 { 519, 519 },
806 { 521, 521 },
807 { 523, 523 },
808 { 525, 525 },
809 { 527, 527 },
810 { 529, 529 },
811 { 531, 531 },
812 { 533, 533 },
813 { 535, 535 },
814 { 537, 537 },
815 { 539, 539 },
816 { 541, 541 },
817 { 543, 543 },
818 { 545, 545 },
819 { 547, 547 },
820 { 549, 549 },
821 { 551, 551 },
822 { 553, 553 },
823 { 555, 555 },
824 { 557, 557 },
825 { 559, 559 },
826 { 561, 561 },
827 { 563, 569 },
828 { 572, 572 },
829 { 575, 576 },
830 { 578, 578 },
831 { 583, 583 },
832 { 585, 585 },
833 { 587, 587 },
834 { 589, 589 },
835 { 591, 659 },
836 { 661, 687 },
837 { 881, 881 },
838 { 883, 883 },
839 { 887, 887 },
840 { 891, 893 },
841 { 912, 912 },
842 { 940, 974 },
843 { 976, 977 },
844 { 981, 983 },
845 { 985, 985 },
846 { 987, 987 },
847 { 989, 989 },
848 { 991, 991 },
849 { 993, 993 },
850 { 995, 995 },
851 { 997, 997 },
852 { 999, 999 },
853 { 1001, 1001 },
854 { 1003, 1003 },
855 { 1005, 1005 },
856 { 1007, 1011 },
857 { 1013, 1013 },
858 { 1016, 1016 },
859 { 1019, 1020 },
860 { 1072, 1119 },
861 { 1121, 1121 },
862 { 1123, 1123 },
863 { 1125, 1125 },
864 { 1127, 1127 },
865 { 1129, 1129 },
866 { 1131, 1131 },
867 { 1133, 1133 },
868 { 1135, 1135 },
869 { 1137, 1137 },
870 { 1139, 1139 },
871 { 1141, 1141 },
872 { 1143, 1143 },
873 { 1145, 1145 },
874 { 1147, 1147 },
875 { 1149, 1149 },
876 { 1151, 1151 },
877 { 1153, 1153 },
878 { 1163, 1163 },
879 { 1165, 1165 },
880 { 1167, 1167 },
881 { 1169, 1169 },
882 { 1171, 1171 },
883 { 1173, 1173 },
884 { 1175, 1175 },
885 { 1177, 1177 },
886 { 1179, 1179 },
887 { 1181, 1181 },
888 { 1183, 1183 },
889 { 1185, 1185 },
890 { 1187, 1187 },
891 { 1189, 1189 },
892 { 1191, 1191 },
893 { 1193, 1193 },
894 { 1195, 1195 },
895 { 1197, 1197 },
896 { 1199, 1199 },
897 { 1201, 1201 },
898 { 1203, 1203 },
899 { 1205, 1205 },
900 { 1207, 1207 },
901 { 1209, 1209 },
902 { 1211, 1211 },
903 { 1213, 1213 },
904 { 1215, 1215 },
905 { 1218, 1218 },
906 { 1220, 1220 },
907 { 1222, 1222 },
908 { 1224, 1224 },
909 { 1226, 1226 },
910 { 1228, 1228 },
911 { 1230, 1231 },
912 { 1233, 1233 },
913 { 1235, 1235 },
914 { 1237, 1237 },
915 { 1239, 1239 },
916 { 1241, 1241 },
917 { 1243, 1243 },
918 { 1245, 1245 },
919 { 1247, 1247 },
920 { 1249, 1249 },
921 { 1251, 1251 },
922 { 1253, 1253 },
923 { 1255, 1255 },
924 { 1257, 1257 },
925 { 1259, 1259 },
926 { 1261, 1261 },
927 { 1263, 1263 },
928 { 1265, 1265 },
929 { 1267, 1267 },
930 { 1269, 1269 },
931 { 1271, 1271 },
932 { 1273, 1273 },
933 { 1275, 1275 },
934 { 1277, 1277 },
935 { 1279, 1279 },
936 { 1281, 1281 },
937 { 1283, 1283 },
938 { 1285, 1285 },
939 { 1287, 1287 },
940 { 1289, 1289 },
941 { 1291, 1291 },
942 { 1293, 1293 },
943 { 1295, 1295 },
944 { 1297, 1297 },
945 { 1299, 1299 },
946 { 1301, 1301 },
947 { 1303, 1303 },
948 { 1305, 1305 },
949 { 1307, 1307 },
950 { 1309, 1309 },
951 { 1311, 1311 },
952 { 1313, 1313 },
953 { 1315, 1315 },
954 { 1317, 1317 },
955 { 1319, 1319 },
956 { 1321, 1321 },
957 { 1323, 1323 },
958 { 1325, 1325 },
959 { 1327, 1327 },
960 { 1376, 1416 },
961 { 4304, 4346 },
962 { 4349, 4351 },
963 { 5112, 5117 },
964 { 7296, 7304 },
965 { 7424, 7467 },
966 { 7531, 7543 },
967 { 7545, 7578 },
968 { 7681, 7681 },
969 { 7683, 7683 },
970 { 7685, 7685 },
971 { 7687, 7687 },
972 { 7689, 7689 },
973 { 7691, 7691 },
974 { 7693, 7693 },
975 { 7695, 7695 },
976 { 7697, 7697 },
977 { 7699, 7699 },
978 { 7701, 7701 },
979 { 7703, 7703 },
980 { 7705, 7705 },
981 { 7707, 7707 },
982 { 7709, 7709 },
983 { 7711, 7711 },
984 { 7713, 7713 },
985 { 7715, 7715 },
986 { 7717, 7717 },
987 { 7719, 7719 },
988 { 7721, 7721 },
989 { 7723, 7723 },
990 { 7725, 7725 },
991 { 7727, 7727 },
992 { 7729, 7729 },
993 { 7731, 7731 },
994 { 7733, 7733 },
995 { 7735, 7735 },
996 { 7737, 7737 },
997 { 7739, 7739 },
998 { 7741, 7741 },
999 { 7743, 7743 },
1000 { 7745, 7745 },
1001 { 7747, 7747 },
1002 { 7749, 7749 },
1003 { 7751, 7751 },
1004 { 7753, 7753 },
1005 { 7755, 7755 },
1006 { 7757, 7757 },
1007 { 7759, 7759 },
1008 { 7761, 7761 },
1009 { 7763, 7763 },
1010 { 7765, 7765 },
1011 { 7767, 7767 },
1012 { 7769, 7769 },
1013 { 7771, 7771 },
1014 { 7773, 7773 },
1015 { 7775, 7775 },
1016 { 7777, 7777 },
1017 { 7779, 7779 },
1018 { 7781, 7781 },
1019 { 7783, 7783 },
1020 { 7785, 7785 },
1021 { 7787, 7787 },
1022 { 7789, 7789 },
1023 { 7791, 7791 },
1024 { 7793, 7793 },
1025 { 7795, 7795 },
1026 { 7797, 7797 },
1027 { 7799, 7799 },
1028 { 7801, 7801 },
1029 { 7803, 7803 },
1030 { 7805, 7805 },
1031 { 7807, 7807 },
1032 { 7809, 7809 },
1033 { 7811, 7811 },
1034 { 7813, 7813 },
1035 { 7815, 7815 },
1036 { 7817, 7817 },
1037 { 7819, 7819 },
1038 { 7821, 7821 },
1039 { 7823, 7823 },
1040 { 7825, 7825 },
1041 { 7827, 7827 },
1042 { 7829, 7837 },
1043 { 7839, 7839 },
1044 { 7841, 7841 },
1045 { 7843, 7843 },
1046 { 7845, 7845 },
1047 { 7847, 7847 },
1048 { 7849, 7849 },
1049 { 7851, 7851 },
1050 { 7853, 7853 },
1051 { 7855, 7855 },
1052 { 7857, 7857 },
1053 { 7859, 7859 },
1054 { 7861, 7861 },
1055 { 7863, 7863 },
1056 { 7865, 7865 },
1057 { 7867, 7867 },
1058 { 7869, 7869 },
1059 { 7871, 7871 },
1060 { 7873, 7873 },
1061 { 7875, 7875 },
1062 { 7877, 7877 },
1063 { 7879, 7879 },
1064 { 7881, 7881 },
1065 { 7883, 7883 },
1066 { 7885, 7885 },
1067 { 7887, 7887 },
1068 { 7889, 7889 },
1069 { 7891, 7891 },
1070 { 7893, 7893 },
1071 { 7895, 7895 },
1072 { 7897, 7897 },
1073 { 7899, 7899 },
1074 { 7901, 7901 },
1075 { 7903, 7903 },
1076 { 7905, 7905 },
1077 { 7907, 7907 },
1078 { 7909, 7909 },
1079 { 7911, 7911 },
1080 { 7913, 7913 },
1081 { 7915, 7915 },
1082 { 7917, 7917 },
1083 { 7919, 7919 },
1084 { 7921, 7921 },
1085 { 7923, 7923 },
1086 { 7925, 7925 },
1087 { 7927, 7927 },
1088 { 7929, 7929 },
1089 { 7931, 7931 },
1090 { 7933, 7933 },
1091 { 7935, 7943 },
1092 { 7952, 7957 },
1093 { 7968, 7975 },
1094 { 7984, 7991 },
1095 { 8000, 8005 },
1096 { 8016, 8023 },
1097 { 8032, 8039 },
1098 { 8048, 8061 },
1099 { 8064, 8071 },
1100 { 8080, 8087 },
1101 { 8096, 8103 },
1102 { 8112, 8116 },
1103 { 8118, 8119 },
1104 { 8126, 8126 },
1105 { 8130, 8132 },
1106 { 8134, 8135 },
1107 { 8144, 8147 },
1108 { 8150, 8151 },
1109 { 8160, 8167 },
1110 { 8178, 8180 },
1111 { 8182, 8183 },
1112 { 8458, 8458 },
1113 { 8462, 8463 },
1114 { 8467, 8467 },
1115 { 8495, 8495 },
1116 { 8500, 8500 },
1117 { 8505, 8505 },
1118 { 8508, 8509 },
1119 { 8518, 8521 },
1120 { 8526, 8526 },
1121 { 8580, 8580 },
1122 { 11312, 11358 },
1123 { 11361, 11361 },
1124 { 11365, 11366 },
1125 { 11368, 11368 },
1126 { 11370, 11370 },
1127 { 11372, 11372 },
1128 { 11377, 11377 },
1129 { 11379, 11380 },
1130 { 11382, 11387 },
1131 { 11393, 11393 },
1132 { 11395, 11395 },
1133 { 11397, 11397 },
1134 { 11399, 11399 },
1135 { 11401, 11401 },
1136 { 11403, 11403 },
1137 { 11405, 11405 },
1138 { 11407, 11407 },
1139 { 11409, 11409 },
1140 { 11411, 11411 },
1141 { 11413, 11413 },
1142 { 11415, 11415 },
1143 { 11417, 11417 },
1144 { 11419, 11419 },
1145 { 11421, 11421 },
1146 { 11423, 11423 },
1147 { 11425, 11425 },
1148 { 11427, 11427 },
1149 { 11429, 11429 },
1150 { 11431, 11431 },
1151 { 11433, 11433 },
1152 { 11435, 11435 },
1153 { 11437, 11437 },
1154 { 11439, 11439 },
1155 { 11441, 11441 },
1156 { 11443, 11443 },
1157 { 11445, 11445 },
1158 { 11447, 11447 },
1159 { 11449, 11449 },
1160 { 11451, 11451 },
1161 { 11453, 11453 },
1162 { 11455, 11455 },
1163 { 11457, 11457 },
1164 { 11459, 11459 },
1165 { 11461, 11461 },
1166 { 11463, 11463 },
1167 { 11465, 11465 },
1168 { 11467, 11467 },
1169 { 11469, 11469 },
1170 { 11471, 11471 },
1171 { 11473, 11473 },
1172 { 11475, 11475 },
1173 { 11477, 11477 },
1174 { 11479, 11479 },
1175 { 11481, 11481 },
1176 { 11483, 11483 },
1177 { 11485, 11485 },
1178 { 11487, 11487 },
1179 { 11489, 11489 },
1180 { 11491, 11492 },
1181 { 11500, 11500 },
1182 { 11502, 11502 },
1183 { 11507, 11507 },
1184 { 11520, 11557 },
1185 { 11559, 11559 },
1186 { 11565, 11565 },
1187 { 42561, 42561 },
1188 { 42563, 42563 },
1189 { 42565, 42565 },
1190 { 42567, 42567 },
1191 { 42569, 42569 },
1192 { 42571, 42571 },
1193 { 42573, 42573 },
1194 { 42575, 42575 },
1195 { 42577, 42577 },
1196 { 42579, 42579 },
1197 { 42581, 42581 },
1198 { 42583, 42583 },
1199 { 42585, 42585 },
1200 { 42587, 42587 },
1201 { 42589, 42589 },
1202 { 42591, 42591 },
1203 { 42593, 42593 },
1204 { 42595, 42595 },
1205 { 42597, 42597 },
1206 { 42599, 42599 },
1207 { 42601, 42601 },
1208 { 42603, 42603 },
1209 { 42605, 42605 },
1210 { 42625, 42625 },
1211 { 42627, 42627 },
1212 { 42629, 42629 },
1213 { 42631, 42631 },
1214 { 42633, 42633 },
1215 { 42635, 42635 },
1216 { 42637, 42637 },
1217 { 42639, 42639 },
1218 { 42641, 42641 },
1219 { 42643, 42643 },
1220 { 42645, 42645 },
1221 { 42647, 42647 },
1222 { 42649, 42649 },
1223 { 42651, 42651 },
1224 { 42787, 42787 },
1225 { 42789, 42789 },
1226 { 42791, 42791 },
1227 { 42793, 42793 },
1228 { 42795, 42795 },
1229 { 42797, 42797 },
1230 { 42799, 42801 },
1231 { 42803, 42803 },
1232 { 42805, 42805 },
1233 { 42807, 42807 },
1234 { 42809, 42809 },
1235 { 42811, 42811 },
1236 { 42813, 42813 },
1237 { 42815, 42815 },
1238 { 42817, 42817 },
1239 { 42819, 42819 },
1240 { 42821, 42821 },
1241 { 42823, 42823 },
1242 { 42825, 42825 },
1243 { 42827, 42827 },
1244 { 42829, 42829 },
1245 { 42831, 42831 },
1246 { 42833, 42833 },
1247 { 42835, 42835 },
1248 { 42837, 42837 },
1249 { 42839, 42839 },
1250 { 42841, 42841 },
1251 { 42843, 42843 },
1252 { 42845, 42845 },
1253 { 42847, 42847 },
1254 { 42849, 42849 },
1255 { 42851, 42851 },
1256 { 42853, 42853 },
1257 { 42855, 42855 },
1258 { 42857, 42857 },
1259 { 42859, 42859 },
1260 { 42861, 42861 },
1261 { 42863, 42863 },
1262 { 42865, 42872 },
1263 { 42874, 42874 },
1264 { 42876, 42876 },
1265 { 42879, 42879 },
1266 { 42881, 42881 },
1267 { 42883, 42883 },
1268 { 42885, 42885 },
1269 { 42887, 42887 },
1270 { 42892, 42892 },
1271 { 42894, 42894 },
1272 { 42897, 42897 },
1273 { 42899, 42901 },
1274 { 42903, 42903 },
1275 { 42905, 42905 },
1276 { 42907, 42907 },
1277 { 42909, 42909 },
1278 { 42911, 42911 },
1279 { 42913, 42913 },
1280 { 42915, 42915 },
1281 { 42917, 42917 },
1282 { 42919, 42919 },
1283 { 42921, 42921 },
1284 { 42927, 42927 },
1285 { 42933, 42933 },
1286 { 42935, 42935 },
1287 { 42937, 42937 },
1288 { 42939, 42939 },
1289 { 42941, 42941 },
1290 { 42943, 42943 },
1291 { 42947, 42947 },
1292 { 43002, 43002 },
1293 { 43824, 43866 },
1294 { 43872, 43879 },
1295 { 43888, 43967 },
1296 { 64256, 64262 },
1297 { 64275, 64279 },
1298 { 65345, 65370 },
1299};
1300static const URange32 Ll_range32[] = {
1301 { 66600, 66639 },
1302 { 66776, 66811 },
1303 { 68800, 68850 },
1304 { 71872, 71903 },
1305 { 93792, 93823 },
1306 { 119834, 119859 },
1307 { 119886, 119892 },
1308 { 119894, 119911 },
1309 { 119938, 119963 },
1310 { 119990, 119993 },
1311 { 119995, 119995 },
1312 { 119997, 120003 },
1313 { 120005, 120015 },
1314 { 120042, 120067 },
1315 { 120094, 120119 },
1316 { 120146, 120171 },
1317 { 120198, 120223 },
1318 { 120250, 120275 },
1319 { 120302, 120327 },
1320 { 120354, 120379 },
1321 { 120406, 120431 },
1322 { 120458, 120485 },
1323 { 120514, 120538 },
1324 { 120540, 120545 },
1325 { 120572, 120596 },
1326 { 120598, 120603 },
1327 { 120630, 120654 },
1328 { 120656, 120661 },
1329 { 120688, 120712 },
1330 { 120714, 120719 },
1331 { 120746, 120770 },
1332 { 120772, 120777 },
1333 { 120779, 120779 },
1334 { 125218, 125251 },
1335};
1336static const URange16 Lm_range16[] = {
1337 { 688, 705 },
1338 { 710, 721 },
1339 { 736, 740 },
1340 { 748, 748 },
1341 { 750, 750 },
1342 { 884, 884 },
1343 { 890, 890 },
1344 { 1369, 1369 },
1345 { 1600, 1600 },
1346 { 1765, 1766 },
1347 { 2036, 2037 },
1348 { 2042, 2042 },
1349 { 2074, 2074 },
1350 { 2084, 2084 },
1351 { 2088, 2088 },
1352 { 2417, 2417 },
1353 { 3654, 3654 },
1354 { 3782, 3782 },
1355 { 4348, 4348 },
1356 { 6103, 6103 },
1357 { 6211, 6211 },
1358 { 6823, 6823 },
1359 { 7288, 7293 },
1360 { 7468, 7530 },
1361 { 7544, 7544 },
1362 { 7579, 7615 },
1363 { 8305, 8305 },
1364 { 8319, 8319 },
1365 { 8336, 8348 },
1366 { 11388, 11389 },
1367 { 11631, 11631 },
1368 { 11823, 11823 },
1369 { 12293, 12293 },
1370 { 12337, 12341 },
1371 { 12347, 12347 },
1372 { 12445, 12446 },
1373 { 12540, 12542 },
1374 { 40981, 40981 },
1375 { 42232, 42237 },
1376 { 42508, 42508 },
1377 { 42623, 42623 },
1378 { 42652, 42653 },
1379 { 42775, 42783 },
1380 { 42864, 42864 },
1381 { 42888, 42888 },
1382 { 43000, 43001 },
1383 { 43471, 43471 },
1384 { 43494, 43494 },
1385 { 43632, 43632 },
1386 { 43741, 43741 },
1387 { 43763, 43764 },
1388 { 43868, 43871 },
1389 { 65392, 65392 },
1390 { 65438, 65439 },
1391};
1392static const URange32 Lm_range32[] = {
1393 { 92992, 92995 },
1394 { 94099, 94111 },
1395 { 94176, 94177 },
1396 { 94179, 94179 },
1397 { 123191, 123197 },
1398 { 125259, 125259 },
1399};
1400static const URange16 Lo_range16[] = {
1401 { 170, 170 },
1402 { 186, 186 },
1403 { 443, 443 },
1404 { 448, 451 },
1405 { 660, 660 },
1406 { 1488, 1514 },
1407 { 1519, 1522 },
1408 { 1568, 1599 },
1409 { 1601, 1610 },
1410 { 1646, 1647 },
1411 { 1649, 1747 },
1412 { 1749, 1749 },
1413 { 1774, 1775 },
1414 { 1786, 1788 },
1415 { 1791, 1791 },
1416 { 1808, 1808 },
1417 { 1810, 1839 },
1418 { 1869, 1957 },
1419 { 1969, 1969 },
1420 { 1994, 2026 },
1421 { 2048, 2069 },
1422 { 2112, 2136 },
1423 { 2144, 2154 },
1424 { 2208, 2228 },
1425 { 2230, 2237 },
1426 { 2308, 2361 },
1427 { 2365, 2365 },
1428 { 2384, 2384 },
1429 { 2392, 2401 },
1430 { 2418, 2432 },
1431 { 2437, 2444 },
1432 { 2447, 2448 },
1433 { 2451, 2472 },
1434 { 2474, 2480 },
1435 { 2482, 2482 },
1436 { 2486, 2489 },
1437 { 2493, 2493 },
1438 { 2510, 2510 },
1439 { 2524, 2525 },
1440 { 2527, 2529 },
1441 { 2544, 2545 },
1442 { 2556, 2556 },
1443 { 2565, 2570 },
1444 { 2575, 2576 },
1445 { 2579, 2600 },
1446 { 2602, 2608 },
1447 { 2610, 2611 },
1448 { 2613, 2614 },
1449 { 2616, 2617 },
1450 { 2649, 2652 },
1451 { 2654, 2654 },
1452 { 2674, 2676 },
1453 { 2693, 2701 },
1454 { 2703, 2705 },
1455 { 2707, 2728 },
1456 { 2730, 2736 },
1457 { 2738, 2739 },
1458 { 2741, 2745 },
1459 { 2749, 2749 },
1460 { 2768, 2768 },
1461 { 2784, 2785 },
1462 { 2809, 2809 },
1463 { 2821, 2828 },
1464 { 2831, 2832 },
1465 { 2835, 2856 },
1466 { 2858, 2864 },
1467 { 2866, 2867 },
1468 { 2869, 2873 },
1469 { 2877, 2877 },
1470 { 2908, 2909 },
1471 { 2911, 2913 },
1472 { 2929, 2929 },
1473 { 2947, 2947 },
1474 { 2949, 2954 },
1475 { 2958, 2960 },
1476 { 2962, 2965 },
1477 { 2969, 2970 },
1478 { 2972, 2972 },
1479 { 2974, 2975 },
1480 { 2979, 2980 },
1481 { 2984, 2986 },
1482 { 2990, 3001 },
1483 { 3024, 3024 },
1484 { 3077, 3084 },
1485 { 3086, 3088 },
1486 { 3090, 3112 },
1487 { 3114, 3129 },
1488 { 3133, 3133 },
1489 { 3160, 3162 },
1490 { 3168, 3169 },
1491 { 3200, 3200 },
1492 { 3205, 3212 },
1493 { 3214, 3216 },
1494 { 3218, 3240 },
1495 { 3242, 3251 },
1496 { 3253, 3257 },
1497 { 3261, 3261 },
1498 { 3294, 3294 },
1499 { 3296, 3297 },
1500 { 3313, 3314 },
1501 { 3333, 3340 },
1502 { 3342, 3344 },
1503 { 3346, 3386 },
1504 { 3389, 3389 },
1505 { 3406, 3406 },
1506 { 3412, 3414 },
1507 { 3423, 3425 },
1508 { 3450, 3455 },
1509 { 3461, 3478 },
1510 { 3482, 3505 },
1511 { 3507, 3515 },
1512 { 3517, 3517 },
1513 { 3520, 3526 },
1514 { 3585, 3632 },
1515 { 3634, 3635 },
1516 { 3648, 3653 },
1517 { 3713, 3714 },
1518 { 3716, 3716 },
1519 { 3718, 3722 },
1520 { 3724, 3747 },
1521 { 3749, 3749 },
1522 { 3751, 3760 },
1523 { 3762, 3763 },
1524 { 3773, 3773 },
1525 { 3776, 3780 },
1526 { 3804, 3807 },
1527 { 3840, 3840 },
1528 { 3904, 3911 },
1529 { 3913, 3948 },
1530 { 3976, 3980 },
1531 { 4096, 4138 },
1532 { 4159, 4159 },
1533 { 4176, 4181 },
1534 { 4186, 4189 },
1535 { 4193, 4193 },
1536 { 4197, 4198 },
1537 { 4206, 4208 },
1538 { 4213, 4225 },
1539 { 4238, 4238 },
1540 { 4352, 4680 },
1541 { 4682, 4685 },
1542 { 4688, 4694 },
1543 { 4696, 4696 },
1544 { 4698, 4701 },
1545 { 4704, 4744 },
1546 { 4746, 4749 },
1547 { 4752, 4784 },
1548 { 4786, 4789 },
1549 { 4792, 4798 },
1550 { 4800, 4800 },
1551 { 4802, 4805 },
1552 { 4808, 4822 },
1553 { 4824, 4880 },
1554 { 4882, 4885 },
1555 { 4888, 4954 },
1556 { 4992, 5007 },
1557 { 5121, 5740 },
1558 { 5743, 5759 },
1559 { 5761, 5786 },
1560 { 5792, 5866 },
1561 { 5873, 5880 },
1562 { 5888, 5900 },
1563 { 5902, 5905 },
1564 { 5920, 5937 },
1565 { 5952, 5969 },
1566 { 5984, 5996 },
1567 { 5998, 6000 },
1568 { 6016, 6067 },
1569 { 6108, 6108 },
1570 { 6176, 6210 },
1571 { 6212, 6264 },
1572 { 6272, 6276 },
1573 { 6279, 6312 },
1574 { 6314, 6314 },
1575 { 6320, 6389 },
1576 { 6400, 6430 },
1577 { 6480, 6509 },
1578 { 6512, 6516 },
1579 { 6528, 6571 },
1580 { 6576, 6601 },
1581 { 6656, 6678 },
1582 { 6688, 6740 },
1583 { 6917, 6963 },
1584 { 6981, 6987 },
1585 { 7043, 7072 },
1586 { 7086, 7087 },
1587 { 7098, 7141 },
1588 { 7168, 7203 },
1589 { 7245, 7247 },
1590 { 7258, 7287 },
1591 { 7401, 7404 },
1592 { 7406, 7411 },
1593 { 7413, 7414 },
1594 { 7418, 7418 },
1595 { 8501, 8504 },
1596 { 11568, 11623 },
1597 { 11648, 11670 },
1598 { 11680, 11686 },
1599 { 11688, 11694 },
1600 { 11696, 11702 },
1601 { 11704, 11710 },
1602 { 11712, 11718 },
1603 { 11720, 11726 },
1604 { 11728, 11734 },
1605 { 11736, 11742 },
1606 { 12294, 12294 },
1607 { 12348, 12348 },
1608 { 12353, 12438 },
1609 { 12447, 12447 },
1610 { 12449, 12538 },
1611 { 12543, 12543 },
1612 { 12549, 12591 },
1613 { 12593, 12686 },
1614 { 12704, 12730 },
1615 { 12784, 12799 },
1616 { 13312, 19893 },
1617 { 19968, 40943 },
1618 { 40960, 40980 },
1619 { 40982, 42124 },
1620 { 42192, 42231 },
1621 { 42240, 42507 },
1622 { 42512, 42527 },
1623 { 42538, 42539 },
1624 { 42606, 42606 },
1625 { 42656, 42725 },
1626 { 42895, 42895 },
1627 { 42999, 42999 },
1628 { 43003, 43009 },
1629 { 43011, 43013 },
1630 { 43015, 43018 },
1631 { 43020, 43042 },
1632 { 43072, 43123 },
1633 { 43138, 43187 },
1634 { 43250, 43255 },
1635 { 43259, 43259 },
1636 { 43261, 43262 },
1637 { 43274, 43301 },
1638 { 43312, 43334 },
1639 { 43360, 43388 },
1640 { 43396, 43442 },
1641 { 43488, 43492 },
1642 { 43495, 43503 },
1643 { 43514, 43518 },
1644 { 43520, 43560 },
1645 { 43584, 43586 },
1646 { 43588, 43595 },
1647 { 43616, 43631 },
1648 { 43633, 43638 },
1649 { 43642, 43642 },
1650 { 43646, 43695 },
1651 { 43697, 43697 },
1652 { 43701, 43702 },
1653 { 43705, 43709 },
1654 { 43712, 43712 },
1655 { 43714, 43714 },
1656 { 43739, 43740 },
1657 { 43744, 43754 },
1658 { 43762, 43762 },
1659 { 43777, 43782 },
1660 { 43785, 43790 },
1661 { 43793, 43798 },
1662 { 43808, 43814 },
1663 { 43816, 43822 },
1664 { 43968, 44002 },
1665 { 44032, 55203 },
1666 { 55216, 55238 },
1667 { 55243, 55291 },
1668 { 63744, 64109 },
1669 { 64112, 64217 },
1670 { 64285, 64285 },
1671 { 64287, 64296 },
1672 { 64298, 64310 },
1673 { 64312, 64316 },
1674 { 64318, 64318 },
1675 { 64320, 64321 },
1676 { 64323, 64324 },
1677 { 64326, 64433 },
1678 { 64467, 64829 },
1679 { 64848, 64911 },
1680 { 64914, 64967 },
1681 { 65008, 65019 },
1682 { 65136, 65140 },
1683 { 65142, 65276 },
1684 { 65382, 65391 },
1685 { 65393, 65437 },
1686 { 65440, 65470 },
1687 { 65474, 65479 },
1688 { 65482, 65487 },
1689 { 65490, 65495 },
1690 { 65498, 65500 },
1691};
1692static const URange32 Lo_range32[] = {
1693 { 65536, 65547 },
1694 { 65549, 65574 },
1695 { 65576, 65594 },
1696 { 65596, 65597 },
1697 { 65599, 65613 },
1698 { 65616, 65629 },
1699 { 65664, 65786 },
1700 { 66176, 66204 },
1701 { 66208, 66256 },
1702 { 66304, 66335 },
1703 { 66349, 66368 },
1704 { 66370, 66377 },
1705 { 66384, 66421 },
1706 { 66432, 66461 },
1707 { 66464, 66499 },
1708 { 66504, 66511 },
1709 { 66640, 66717 },
1710 { 66816, 66855 },
1711 { 66864, 66915 },
1712 { 67072, 67382 },
1713 { 67392, 67413 },
1714 { 67424, 67431 },
1715 { 67584, 67589 },
1716 { 67592, 67592 },
1717 { 67594, 67637 },
1718 { 67639, 67640 },
1719 { 67644, 67644 },
1720 { 67647, 67669 },
1721 { 67680, 67702 },
1722 { 67712, 67742 },
1723 { 67808, 67826 },
1724 { 67828, 67829 },
1725 { 67840, 67861 },
1726 { 67872, 67897 },
1727 { 67968, 68023 },
1728 { 68030, 68031 },
1729 { 68096, 68096 },
1730 { 68112, 68115 },
1731 { 68117, 68119 },
1732 { 68121, 68149 },
1733 { 68192, 68220 },
1734 { 68224, 68252 },
1735 { 68288, 68295 },
1736 { 68297, 68324 },
1737 { 68352, 68405 },
1738 { 68416, 68437 },
1739 { 68448, 68466 },
1740 { 68480, 68497 },
1741 { 68608, 68680 },
1742 { 68864, 68899 },
1743 { 69376, 69404 },
1744 { 69415, 69415 },
1745 { 69424, 69445 },
1746 { 69600, 69622 },
1747 { 69635, 69687 },
1748 { 69763, 69807 },
1749 { 69840, 69864 },
1750 { 69891, 69926 },
1751 { 69956, 69956 },
1752 { 69968, 70002 },
1753 { 70006, 70006 },
1754 { 70019, 70066 },
1755 { 70081, 70084 },
1756 { 70106, 70106 },
1757 { 70108, 70108 },
1758 { 70144, 70161 },
1759 { 70163, 70187 },
1760 { 70272, 70278 },
1761 { 70280, 70280 },
1762 { 70282, 70285 },
1763 { 70287, 70301 },
1764 { 70303, 70312 },
1765 { 70320, 70366 },
1766 { 70405, 70412 },
1767 { 70415, 70416 },
1768 { 70419, 70440 },
1769 { 70442, 70448 },
1770 { 70450, 70451 },
1771 { 70453, 70457 },
1772 { 70461, 70461 },
1773 { 70480, 70480 },
1774 { 70493, 70497 },
1775 { 70656, 70708 },
1776 { 70727, 70730 },
1777 { 70751, 70751 },
1778 { 70784, 70831 },
1779 { 70852, 70853 },
1780 { 70855, 70855 },
1781 { 71040, 71086 },
1782 { 71128, 71131 },
1783 { 71168, 71215 },
1784 { 71236, 71236 },
1785 { 71296, 71338 },
1786 { 71352, 71352 },
1787 { 71424, 71450 },
1788 { 71680, 71723 },
1789 { 71935, 71935 },
1790 { 72096, 72103 },
1791 { 72106, 72144 },
1792 { 72161, 72161 },
1793 { 72163, 72163 },
1794 { 72192, 72192 },
1795 { 72203, 72242 },
1796 { 72250, 72250 },
1797 { 72272, 72272 },
1798 { 72284, 72329 },
1799 { 72349, 72349 },
1800 { 72384, 72440 },
1801 { 72704, 72712 },
1802 { 72714, 72750 },
1803 { 72768, 72768 },
1804 { 72818, 72847 },
1805 { 72960, 72966 },
1806 { 72968, 72969 },
1807 { 72971, 73008 },
1808 { 73030, 73030 },
1809 { 73056, 73061 },
1810 { 73063, 73064 },
1811 { 73066, 73097 },
1812 { 73112, 73112 },
1813 { 73440, 73458 },
1814 { 73728, 74649 },
1815 { 74880, 75075 },
1816 { 77824, 78894 },
1817 { 82944, 83526 },
1818 { 92160, 92728 },
1819 { 92736, 92766 },
1820 { 92880, 92909 },
1821 { 92928, 92975 },
1822 { 93027, 93047 },
1823 { 93053, 93071 },
1824 { 93952, 94026 },
1825 { 94032, 94032 },
1826 { 94208, 100343 },
1827 { 100352, 101106 },
1828 { 110592, 110878 },
1829 { 110928, 110930 },
1830 { 110948, 110951 },
1831 { 110960, 111355 },
1832 { 113664, 113770 },
1833 { 113776, 113788 },
1834 { 113792, 113800 },
1835 { 113808, 113817 },
1836 { 123136, 123180 },
1837 { 123214, 123214 },
1838 { 123584, 123627 },
1839 { 124928, 125124 },
1840 { 126464, 126467 },
1841 { 126469, 126495 },
1842 { 126497, 126498 },
1843 { 126500, 126500 },
1844 { 126503, 126503 },
1845 { 126505, 126514 },
1846 { 126516, 126519 },
1847 { 126521, 126521 },
1848 { 126523, 126523 },
1849 { 126530, 126530 },
1850 { 126535, 126535 },
1851 { 126537, 126537 },
1852 { 126539, 126539 },
1853 { 126541, 126543 },
1854 { 126545, 126546 },
1855 { 126548, 126548 },
1856 { 126551, 126551 },
1857 { 126553, 126553 },
1858 { 126555, 126555 },
1859 { 126557, 126557 },
1860 { 126559, 126559 },
1861 { 126561, 126562 },
1862 { 126564, 126564 },
1863 { 126567, 126570 },
1864 { 126572, 126578 },
1865 { 126580, 126583 },
1866 { 126585, 126588 },
1867 { 126590, 126590 },
1868 { 126592, 126601 },
1869 { 126603, 126619 },
1870 { 126625, 126627 },
1871 { 126629, 126633 },
1872 { 126635, 126651 },
1873 { 131072, 173782 },
1874 { 173824, 177972 },
1875 { 177984, 178205 },
1876 { 178208, 183969 },
1877 { 183984, 191456 },
1878 { 194560, 195101 },
1879};
1880static const URange16 Lt_range16[] = {
1881 { 453, 453 },
1882 { 456, 456 },
1883 { 459, 459 },
1884 { 498, 498 },
1885 { 8072, 8079 },
1886 { 8088, 8095 },
1887 { 8104, 8111 },
1888 { 8124, 8124 },
1889 { 8140, 8140 },
1890 { 8188, 8188 },
1891};
1892static const URange16 Lu_range16[] = {
1893 { 65, 90 },
1894 { 192, 214 },
1895 { 216, 222 },
1896 { 256, 256 },
1897 { 258, 258 },
1898 { 260, 260 },
1899 { 262, 262 },
1900 { 264, 264 },
1901 { 266, 266 },
1902 { 268, 268 },
1903 { 270, 270 },
1904 { 272, 272 },
1905 { 274, 274 },
1906 { 276, 276 },
1907 { 278, 278 },
1908 { 280, 280 },
1909 { 282, 282 },
1910 { 284, 284 },
1911 { 286, 286 },
1912 { 288, 288 },
1913 { 290, 290 },
1914 { 292, 292 },
1915 { 294, 294 },
1916 { 296, 296 },
1917 { 298, 298 },
1918 { 300, 300 },
1919 { 302, 302 },
1920 { 304, 304 },
1921 { 306, 306 },
1922 { 308, 308 },
1923 { 310, 310 },
1924 { 313, 313 },
1925 { 315, 315 },
1926 { 317, 317 },
1927 { 319, 319 },
1928 { 321, 321 },
1929 { 323, 323 },
1930 { 325, 325 },
1931 { 327, 327 },
1932 { 330, 330 },
1933 { 332, 332 },
1934 { 334, 334 },
1935 { 336, 336 },
1936 { 338, 338 },
1937 { 340, 340 },
1938 { 342, 342 },
1939 { 344, 344 },
1940 { 346, 346 },
1941 { 348, 348 },
1942 { 350, 350 },
1943 { 352, 352 },
1944 { 354, 354 },
1945 { 356, 356 },
1946 { 358, 358 },
1947 { 360, 360 },
1948 { 362, 362 },
1949 { 364, 364 },
1950 { 366, 366 },
1951 { 368, 368 },
1952 { 370, 370 },
1953 { 372, 372 },
1954 { 374, 374 },
1955 { 376, 377 },
1956 { 379, 379 },
1957 { 381, 381 },
1958 { 385, 386 },
1959 { 388, 388 },
1960 { 390, 391 },
1961 { 393, 395 },
1962 { 398, 401 },
1963 { 403, 404 },
1964 { 406, 408 },
1965 { 412, 413 },
1966 { 415, 416 },
1967 { 418, 418 },
1968 { 420, 420 },
1969 { 422, 423 },
1970 { 425, 425 },
1971 { 428, 428 },
1972 { 430, 431 },
1973 { 433, 435 },
1974 { 437, 437 },
1975 { 439, 440 },
1976 { 444, 444 },
1977 { 452, 452 },
1978 { 455, 455 },
1979 { 458, 458 },
1980 { 461, 461 },
1981 { 463, 463 },
1982 { 465, 465 },
1983 { 467, 467 },
1984 { 469, 469 },
1985 { 471, 471 },
1986 { 473, 473 },
1987 { 475, 475 },
1988 { 478, 478 },
1989 { 480, 480 },
1990 { 482, 482 },
1991 { 484, 484 },
1992 { 486, 486 },
1993 { 488, 488 },
1994 { 490, 490 },
1995 { 492, 492 },
1996 { 494, 494 },
1997 { 497, 497 },
1998 { 500, 500 },
1999 { 502, 504 },
2000 { 506, 506 },
2001 { 508, 508 },
2002 { 510, 510 },
2003 { 512, 512 },
2004 { 514, 514 },
2005 { 516, 516 },
2006 { 518, 518 },
2007 { 520, 520 },
2008 { 522, 522 },
2009 { 524, 524 },
2010 { 526, 526 },
2011 { 528, 528 },
2012 { 530, 530 },
2013 { 532, 532 },
2014 { 534, 534 },
2015 { 536, 536 },
2016 { 538, 538 },
2017 { 540, 540 },
2018 { 542, 542 },
2019 { 544, 544 },
2020 { 546, 546 },
2021 { 548, 548 },
2022 { 550, 550 },
2023 { 552, 552 },
2024 { 554, 554 },
2025 { 556, 556 },
2026 { 558, 558 },
2027 { 560, 560 },
2028 { 562, 562 },
2029 { 570, 571 },
2030 { 573, 574 },
2031 { 577, 577 },
2032 { 579, 582 },
2033 { 584, 584 },
2034 { 586, 586 },
2035 { 588, 588 },
2036 { 590, 590 },
2037 { 880, 880 },
2038 { 882, 882 },
2039 { 886, 886 },
2040 { 895, 895 },
2041 { 902, 902 },
2042 { 904, 906 },
2043 { 908, 908 },
2044 { 910, 911 },
2045 { 913, 929 },
2046 { 931, 939 },
2047 { 975, 975 },
2048 { 978, 980 },
2049 { 984, 984 },
2050 { 986, 986 },
2051 { 988, 988 },
2052 { 990, 990 },
2053 { 992, 992 },
2054 { 994, 994 },
2055 { 996, 996 },
2056 { 998, 998 },
2057 { 1000, 1000 },
2058 { 1002, 1002 },
2059 { 1004, 1004 },
2060 { 1006, 1006 },
2061 { 1012, 1012 },
2062 { 1015, 1015 },
2063 { 1017, 1018 },
2064 { 1021, 1071 },
2065 { 1120, 1120 },
2066 { 1122, 1122 },
2067 { 1124, 1124 },
2068 { 1126, 1126 },
2069 { 1128, 1128 },
2070 { 1130, 1130 },
2071 { 1132, 1132 },
2072 { 1134, 1134 },
2073 { 1136, 1136 },
2074 { 1138, 1138 },
2075 { 1140, 1140 },
2076 { 1142, 1142 },
2077 { 1144, 1144 },
2078 { 1146, 1146 },
2079 { 1148, 1148 },
2080 { 1150, 1150 },
2081 { 1152, 1152 },
2082 { 1162, 1162 },
2083 { 1164, 1164 },
2084 { 1166, 1166 },
2085 { 1168, 1168 },
2086 { 1170, 1170 },
2087 { 1172, 1172 },
2088 { 1174, 1174 },
2089 { 1176, 1176 },
2090 { 1178, 1178 },
2091 { 1180, 1180 },
2092 { 1182, 1182 },
2093 { 1184, 1184 },
2094 { 1186, 1186 },
2095 { 1188, 1188 },
2096 { 1190, 1190 },
2097 { 1192, 1192 },
2098 { 1194, 1194 },
2099 { 1196, 1196 },
2100 { 1198, 1198 },
2101 { 1200, 1200 },
2102 { 1202, 1202 },
2103 { 1204, 1204 },
2104 { 1206, 1206 },
2105 { 1208, 1208 },
2106 { 1210, 1210 },
2107 { 1212, 1212 },
2108 { 1214, 1214 },
2109 { 1216, 1217 },
2110 { 1219, 1219 },
2111 { 1221, 1221 },
2112 { 1223, 1223 },
2113 { 1225, 1225 },
2114 { 1227, 1227 },
2115 { 1229, 1229 },
2116 { 1232, 1232 },
2117 { 1234, 1234 },
2118 { 1236, 1236 },
2119 { 1238, 1238 },
2120 { 1240, 1240 },
2121 { 1242, 1242 },
2122 { 1244, 1244 },
2123 { 1246, 1246 },
2124 { 1248, 1248 },
2125 { 1250, 1250 },
2126 { 1252, 1252 },
2127 { 1254, 1254 },
2128 { 1256, 1256 },
2129 { 1258, 1258 },
2130 { 1260, 1260 },
2131 { 1262, 1262 },
2132 { 1264, 1264 },
2133 { 1266, 1266 },
2134 { 1268, 1268 },
2135 { 1270, 1270 },
2136 { 1272, 1272 },
2137 { 1274, 1274 },
2138 { 1276, 1276 },
2139 { 1278, 1278 },
2140 { 1280, 1280 },
2141 { 1282, 1282 },
2142 { 1284, 1284 },
2143 { 1286, 1286 },
2144 { 1288, 1288 },
2145 { 1290, 1290 },
2146 { 1292, 1292 },
2147 { 1294, 1294 },
2148 { 1296, 1296 },
2149 { 1298, 1298 },
2150 { 1300, 1300 },
2151 { 1302, 1302 },
2152 { 1304, 1304 },
2153 { 1306, 1306 },
2154 { 1308, 1308 },
2155 { 1310, 1310 },
2156 { 1312, 1312 },
2157 { 1314, 1314 },
2158 { 1316, 1316 },
2159 { 1318, 1318 },
2160 { 1320, 1320 },
2161 { 1322, 1322 },
2162 { 1324, 1324 },
2163 { 1326, 1326 },
2164 { 1329, 1366 },
2165 { 4256, 4293 },
2166 { 4295, 4295 },
2167 { 4301, 4301 },
2168 { 5024, 5109 },
2169 { 7312, 7354 },
2170 { 7357, 7359 },
2171 { 7680, 7680 },
2172 { 7682, 7682 },
2173 { 7684, 7684 },
2174 { 7686, 7686 },
2175 { 7688, 7688 },
2176 { 7690, 7690 },
2177 { 7692, 7692 },
2178 { 7694, 7694 },
2179 { 7696, 7696 },
2180 { 7698, 7698 },
2181 { 7700, 7700 },
2182 { 7702, 7702 },
2183 { 7704, 7704 },
2184 { 7706, 7706 },
2185 { 7708, 7708 },
2186 { 7710, 7710 },
2187 { 7712, 7712 },
2188 { 7714, 7714 },
2189 { 7716, 7716 },
2190 { 7718, 7718 },
2191 { 7720, 7720 },
2192 { 7722, 7722 },
2193 { 7724, 7724 },
2194 { 7726, 7726 },
2195 { 7728, 7728 },
2196 { 7730, 7730 },
2197 { 7732, 7732 },
2198 { 7734, 7734 },
2199 { 7736, 7736 },
2200 { 7738, 7738 },
2201 { 7740, 7740 },
2202 { 7742, 7742 },
2203 { 7744, 7744 },
2204 { 7746, 7746 },
2205 { 7748, 7748 },
2206 { 7750, 7750 },
2207 { 7752, 7752 },
2208 { 7754, 7754 },
2209 { 7756, 7756 },
2210 { 7758, 7758 },
2211 { 7760, 7760 },
2212 { 7762, 7762 },
2213 { 7764, 7764 },
2214 { 7766, 7766 },
2215 { 7768, 7768 },
2216 { 7770, 7770 },
2217 { 7772, 7772 },
2218 { 7774, 7774 },
2219 { 7776, 7776 },
2220 { 7778, 7778 },
2221 { 7780, 7780 },
2222 { 7782, 7782 },
2223 { 7784, 7784 },
2224 { 7786, 7786 },
2225 { 7788, 7788 },
2226 { 7790, 7790 },
2227 { 7792, 7792 },
2228 { 7794, 7794 },
2229 { 7796, 7796 },
2230 { 7798, 7798 },
2231 { 7800, 7800 },
2232 { 7802, 7802 },
2233 { 7804, 7804 },
2234 { 7806, 7806 },
2235 { 7808, 7808 },
2236 { 7810, 7810 },
2237 { 7812, 7812 },
2238 { 7814, 7814 },
2239 { 7816, 7816 },
2240 { 7818, 7818 },
2241 { 7820, 7820 },
2242 { 7822, 7822 },
2243 { 7824, 7824 },
2244 { 7826, 7826 },
2245 { 7828, 7828 },
2246 { 7838, 7838 },
2247 { 7840, 7840 },
2248 { 7842, 7842 },
2249 { 7844, 7844 },
2250 { 7846, 7846 },
2251 { 7848, 7848 },
2252 { 7850, 7850 },
2253 { 7852, 7852 },
2254 { 7854, 7854 },
2255 { 7856, 7856 },
2256 { 7858, 7858 },
2257 { 7860, 7860 },
2258 { 7862, 7862 },
2259 { 7864, 7864 },
2260 { 7866, 7866 },
2261 { 7868, 7868 },
2262 { 7870, 7870 },
2263 { 7872, 7872 },
2264 { 7874, 7874 },
2265 { 7876, 7876 },
2266 { 7878, 7878 },
2267 { 7880, 7880 },
2268 { 7882, 7882 },
2269 { 7884, 7884 },
2270 { 7886, 7886 },
2271 { 7888, 7888 },
2272 { 7890, 7890 },
2273 { 7892, 7892 },
2274 { 7894, 7894 },
2275 { 7896, 7896 },
2276 { 7898, 7898 },
2277 { 7900, 7900 },
2278 { 7902, 7902 },
2279 { 7904, 7904 },
2280 { 7906, 7906 },
2281 { 7908, 7908 },
2282 { 7910, 7910 },
2283 { 7912, 7912 },
2284 { 7914, 7914 },
2285 { 7916, 7916 },
2286 { 7918, 7918 },
2287 { 7920, 7920 },
2288 { 7922, 7922 },
2289 { 7924, 7924 },
2290 { 7926, 7926 },
2291 { 7928, 7928 },
2292 { 7930, 7930 },
2293 { 7932, 7932 },
2294 { 7934, 7934 },
2295 { 7944, 7951 },
2296 { 7960, 7965 },
2297 { 7976, 7983 },
2298 { 7992, 7999 },
2299 { 8008, 8013 },
2300 { 8025, 8025 },
2301 { 8027, 8027 },
2302 { 8029, 8029 },
2303 { 8031, 8031 },
2304 { 8040, 8047 },
2305 { 8120, 8123 },
2306 { 8136, 8139 },
2307 { 8152, 8155 },
2308 { 8168, 8172 },
2309 { 8184, 8187 },
2310 { 8450, 8450 },
2311 { 8455, 8455 },
2312 { 8459, 8461 },
2313 { 8464, 8466 },
2314 { 8469, 8469 },
2315 { 8473, 8477 },
2316 { 8484, 8484 },
2317 { 8486, 8486 },
2318 { 8488, 8488 },
2319 { 8490, 8493 },
2320 { 8496, 8499 },
2321 { 8510, 8511 },
2322 { 8517, 8517 },
2323 { 8579, 8579 },
2324 { 11264, 11310 },
2325 { 11360, 11360 },
2326 { 11362, 11364 },
2327 { 11367, 11367 },
2328 { 11369, 11369 },
2329 { 11371, 11371 },
2330 { 11373, 11376 },
2331 { 11378, 11378 },
2332 { 11381, 11381 },
2333 { 11390, 11392 },
2334 { 11394, 11394 },
2335 { 11396, 11396 },
2336 { 11398, 11398 },
2337 { 11400, 11400 },
2338 { 11402, 11402 },
2339 { 11404, 11404 },
2340 { 11406, 11406 },
2341 { 11408, 11408 },
2342 { 11410, 11410 },
2343 { 11412, 11412 },
2344 { 11414, 11414 },
2345 { 11416, 11416 },
2346 { 11418, 11418 },
2347 { 11420, 11420 },
2348 { 11422, 11422 },
2349 { 11424, 11424 },
2350 { 11426, 11426 },
2351 { 11428, 11428 },
2352 { 11430, 11430 },
2353 { 11432, 11432 },
2354 { 11434, 11434 },
2355 { 11436, 11436 },
2356 { 11438, 11438 },
2357 { 11440, 11440 },
2358 { 11442, 11442 },
2359 { 11444, 11444 },
2360 { 11446, 11446 },
2361 { 11448, 11448 },
2362 { 11450, 11450 },
2363 { 11452, 11452 },
2364 { 11454, 11454 },
2365 { 11456, 11456 },
2366 { 11458, 11458 },
2367 { 11460, 11460 },
2368 { 11462, 11462 },
2369 { 11464, 11464 },
2370 { 11466, 11466 },
2371 { 11468, 11468 },
2372 { 11470, 11470 },
2373 { 11472, 11472 },
2374 { 11474, 11474 },
2375 { 11476, 11476 },
2376 { 11478, 11478 },
2377 { 11480, 11480 },
2378 { 11482, 11482 },
2379 { 11484, 11484 },
2380 { 11486, 11486 },
2381 { 11488, 11488 },
2382 { 11490, 11490 },
2383 { 11499, 11499 },
2384 { 11501, 11501 },
2385 { 11506, 11506 },
2386 { 42560, 42560 },
2387 { 42562, 42562 },
2388 { 42564, 42564 },
2389 { 42566, 42566 },
2390 { 42568, 42568 },
2391 { 42570, 42570 },
2392 { 42572, 42572 },
2393 { 42574, 42574 },
2394 { 42576, 42576 },
2395 { 42578, 42578 },
2396 { 42580, 42580 },
2397 { 42582, 42582 },
2398 { 42584, 42584 },
2399 { 42586, 42586 },
2400 { 42588, 42588 },
2401 { 42590, 42590 },
2402 { 42592, 42592 },
2403 { 42594, 42594 },
2404 { 42596, 42596 },
2405 { 42598, 42598 },
2406 { 42600, 42600 },
2407 { 42602, 42602 },
2408 { 42604, 42604 },
2409 { 42624, 42624 },
2410 { 42626, 42626 },
2411 { 42628, 42628 },
2412 { 42630, 42630 },
2413 { 42632, 42632 },
2414 { 42634, 42634 },
2415 { 42636, 42636 },
2416 { 42638, 42638 },
2417 { 42640, 42640 },
2418 { 42642, 42642 },
2419 { 42644, 42644 },
2420 { 42646, 42646 },
2421 { 42648, 42648 },
2422 { 42650, 42650 },
2423 { 42786, 42786 },
2424 { 42788, 42788 },
2425 { 42790, 42790 },
2426 { 42792, 42792 },
2427 { 42794, 42794 },
2428 { 42796, 42796 },
2429 { 42798, 42798 },
2430 { 42802, 42802 },
2431 { 42804, 42804 },
2432 { 42806, 42806 },
2433 { 42808, 42808 },
2434 { 42810, 42810 },
2435 { 42812, 42812 },
2436 { 42814, 42814 },
2437 { 42816, 42816 },
2438 { 42818, 42818 },
2439 { 42820, 42820 },
2440 { 42822, 42822 },
2441 { 42824, 42824 },
2442 { 42826, 42826 },
2443 { 42828, 42828 },
2444 { 42830, 42830 },
2445 { 42832, 42832 },
2446 { 42834, 42834 },
2447 { 42836, 42836 },
2448 { 42838, 42838 },
2449 { 42840, 42840 },
2450 { 42842, 42842 },
2451 { 42844, 42844 },
2452 { 42846, 42846 },
2453 { 42848, 42848 },
2454 { 42850, 42850 },
2455 { 42852, 42852 },
2456 { 42854, 42854 },
2457 { 42856, 42856 },
2458 { 42858, 42858 },
2459 { 42860, 42860 },
2460 { 42862, 42862 },
2461 { 42873, 42873 },
2462 { 42875, 42875 },
2463 { 42877, 42878 },
2464 { 42880, 42880 },
2465 { 42882, 42882 },
2466 { 42884, 42884 },
2467 { 42886, 42886 },
2468 { 42891, 42891 },
2469 { 42893, 42893 },
2470 { 42896, 42896 },
2471 { 42898, 42898 },
2472 { 42902, 42902 },
2473 { 42904, 42904 },
2474 { 42906, 42906 },
2475 { 42908, 42908 },
2476 { 42910, 42910 },
2477 { 42912, 42912 },
2478 { 42914, 42914 },
2479 { 42916, 42916 },
2480 { 42918, 42918 },
2481 { 42920, 42920 },
2482 { 42922, 42926 },
2483 { 42928, 42932 },
2484 { 42934, 42934 },
2485 { 42936, 42936 },
2486 { 42938, 42938 },
2487 { 42940, 42940 },
2488 { 42942, 42942 },
2489 { 42946, 42946 },
2490 { 42948, 42950 },
2491 { 65313, 65338 },
2492};
2493static const URange32 Lu_range32[] = {
2494 { 66560, 66599 },
2495 { 66736, 66771 },
2496 { 68736, 68786 },
2497 { 71840, 71871 },
2498 { 93760, 93791 },
2499 { 119808, 119833 },
2500 { 119860, 119885 },
2501 { 119912, 119937 },
2502 { 119964, 119964 },
2503 { 119966, 119967 },
2504 { 119970, 119970 },
2505 { 119973, 119974 },
2506 { 119977, 119980 },
2507 { 119982, 119989 },
2508 { 120016, 120041 },
2509 { 120068, 120069 },
2510 { 120071, 120074 },
2511 { 120077, 120084 },
2512 { 120086, 120092 },
2513 { 120120, 120121 },
2514 { 120123, 120126 },
2515 { 120128, 120132 },
2516 { 120134, 120134 },
2517 { 120138, 120144 },
2518 { 120172, 120197 },
2519 { 120224, 120249 },
2520 { 120276, 120301 },
2521 { 120328, 120353 },
2522 { 120380, 120405 },
2523 { 120432, 120457 },
2524 { 120488, 120512 },
2525 { 120546, 120570 },
2526 { 120604, 120628 },
2527 { 120662, 120686 },
2528 { 120720, 120744 },
2529 { 120778, 120778 },
2530 { 125184, 125217 },
2531};
2532static const URange16 M_range16[] = {
2533 { 768, 879 },
2534 { 1155, 1161 },
2535 { 1425, 1469 },
2536 { 1471, 1471 },
2537 { 1473, 1474 },
2538 { 1476, 1477 },
2539 { 1479, 1479 },
2540 { 1552, 1562 },
2541 { 1611, 1631 },
2542 { 1648, 1648 },
2543 { 1750, 1756 },
2544 { 1759, 1764 },
2545 { 1767, 1768 },
2546 { 1770, 1773 },
2547 { 1809, 1809 },
2548 { 1840, 1866 },
2549 { 1958, 1968 },
2550 { 2027, 2035 },
2551 { 2045, 2045 },
2552 { 2070, 2073 },
2553 { 2075, 2083 },
2554 { 2085, 2087 },
2555 { 2089, 2093 },
2556 { 2137, 2139 },
2557 { 2259, 2273 },
2558 { 2275, 2307 },
2559 { 2362, 2364 },
2560 { 2366, 2383 },
2561 { 2385, 2391 },
2562 { 2402, 2403 },
2563 { 2433, 2435 },
2564 { 2492, 2492 },
2565 { 2494, 2500 },
2566 { 2503, 2504 },
2567 { 2507, 2509 },
2568 { 2519, 2519 },
2569 { 2530, 2531 },
2570 { 2558, 2558 },
2571 { 2561, 2563 },
2572 { 2620, 2620 },
2573 { 2622, 2626 },
2574 { 2631, 2632 },
2575 { 2635, 2637 },
2576 { 2641, 2641 },
2577 { 2672, 2673 },
2578 { 2677, 2677 },
2579 { 2689, 2691 },
2580 { 2748, 2748 },
2581 { 2750, 2757 },
2582 { 2759, 2761 },
2583 { 2763, 2765 },
2584 { 2786, 2787 },
2585 { 2810, 2815 },
2586 { 2817, 2819 },
2587 { 2876, 2876 },
2588 { 2878, 2884 },
2589 { 2887, 2888 },
2590 { 2891, 2893 },
2591 { 2902, 2903 },
2592 { 2914, 2915 },
2593 { 2946, 2946 },
2594 { 3006, 3010 },
2595 { 3014, 3016 },
2596 { 3018, 3021 },
2597 { 3031, 3031 },
2598 { 3072, 3076 },
2599 { 3134, 3140 },
2600 { 3142, 3144 },
2601 { 3146, 3149 },
2602 { 3157, 3158 },
2603 { 3170, 3171 },
2604 { 3201, 3203 },
2605 { 3260, 3260 },
2606 { 3262, 3268 },
2607 { 3270, 3272 },
2608 { 3274, 3277 },
2609 { 3285, 3286 },
2610 { 3298, 3299 },
2611 { 3328, 3331 },
2612 { 3387, 3388 },
2613 { 3390, 3396 },
2614 { 3398, 3400 },
2615 { 3402, 3405 },
2616 { 3415, 3415 },
2617 { 3426, 3427 },
2618 { 3458, 3459 },
2619 { 3530, 3530 },
2620 { 3535, 3540 },
2621 { 3542, 3542 },
2622 { 3544, 3551 },
2623 { 3570, 3571 },
2624 { 3633, 3633 },
2625 { 3636, 3642 },
2626 { 3655, 3662 },
2627 { 3761, 3761 },
2628 { 3764, 3772 },
2629 { 3784, 3789 },
2630 { 3864, 3865 },
2631 { 3893, 3893 },
2632 { 3895, 3895 },
2633 { 3897, 3897 },
2634 { 3902, 3903 },
2635 { 3953, 3972 },
2636 { 3974, 3975 },
2637 { 3981, 3991 },
2638 { 3993, 4028 },
2639 { 4038, 4038 },
2640 { 4139, 4158 },
2641 { 4182, 4185 },
2642 { 4190, 4192 },
2643 { 4194, 4196 },
2644 { 4199, 4205 },
2645 { 4209, 4212 },
2646 { 4226, 4237 },
2647 { 4239, 4239 },
2648 { 4250, 4253 },
2649 { 4957, 4959 },
2650 { 5906, 5908 },
2651 { 5938, 5940 },
2652 { 5970, 5971 },
2653 { 6002, 6003 },
2654 { 6068, 6099 },
2655 { 6109, 6109 },
2656 { 6155, 6157 },
2657 { 6277, 6278 },
2658 { 6313, 6313 },
2659 { 6432, 6443 },
2660 { 6448, 6459 },
2661 { 6679, 6683 },
2662 { 6741, 6750 },
2663 { 6752, 6780 },
2664 { 6783, 6783 },
2665 { 6832, 6846 },
2666 { 6912, 6916 },
2667 { 6964, 6980 },
2668 { 7019, 7027 },
2669 { 7040, 7042 },
2670 { 7073, 7085 },
2671 { 7142, 7155 },
2672 { 7204, 7223 },
2673 { 7376, 7378 },
2674 { 7380, 7400 },
2675 { 7405, 7405 },
2676 { 7412, 7412 },
2677 { 7415, 7417 },
2678 { 7616, 7673 },
2679 { 7675, 7679 },
2680 { 8400, 8432 },
2681 { 11503, 11505 },
2682 { 11647, 11647 },
2683 { 11744, 11775 },
2684 { 12330, 12335 },
2685 { 12441, 12442 },
2686 { 42607, 42610 },
2687 { 42612, 42621 },
2688 { 42654, 42655 },
2689 { 42736, 42737 },
2690 { 43010, 43010 },
2691 { 43014, 43014 },
2692 { 43019, 43019 },
2693 { 43043, 43047 },
2694 { 43136, 43137 },
2695 { 43188, 43205 },
2696 { 43232, 43249 },
2697 { 43263, 43263 },
2698 { 43302, 43309 },
2699 { 43335, 43347 },
2700 { 43392, 43395 },
2701 { 43443, 43456 },
2702 { 43493, 43493 },
2703 { 43561, 43574 },
2704 { 43587, 43587 },
2705 { 43596, 43597 },
2706 { 43643, 43645 },
2707 { 43696, 43696 },
2708 { 43698, 43700 },
2709 { 43703, 43704 },
2710 { 43710, 43711 },
2711 { 43713, 43713 },
2712 { 43755, 43759 },
2713 { 43765, 43766 },
2714 { 44003, 44010 },
2715 { 44012, 44013 },
2716 { 64286, 64286 },
2717 { 65024, 65039 },
2718 { 65056, 65071 },
2719};
2720static const URange32 M_range32[] = {
2721 { 66045, 66045 },
2722 { 66272, 66272 },
2723 { 66422, 66426 },
2724 { 68097, 68099 },
2725 { 68101, 68102 },
2726 { 68108, 68111 },
2727 { 68152, 68154 },
2728 { 68159, 68159 },
2729 { 68325, 68326 },
2730 { 68900, 68903 },
2731 { 69446, 69456 },
2732 { 69632, 69634 },
2733 { 69688, 69702 },
2734 { 69759, 69762 },
2735 { 69808, 69818 },
2736 { 69888, 69890 },
2737 { 69927, 69940 },
2738 { 69957, 69958 },
2739 { 70003, 70003 },
2740 { 70016, 70018 },
2741 { 70067, 70080 },
2742 { 70089, 70092 },
2743 { 70188, 70199 },
2744 { 70206, 70206 },
2745 { 70367, 70378 },
2746 { 70400, 70403 },
2747 { 70459, 70460 },
2748 { 70462, 70468 },
2749 { 70471, 70472 },
2750 { 70475, 70477 },
2751 { 70487, 70487 },
2752 { 70498, 70499 },
2753 { 70502, 70508 },
2754 { 70512, 70516 },
2755 { 70709, 70726 },
2756 { 70750, 70750 },
2757 { 70832, 70851 },
2758 { 71087, 71093 },
2759 { 71096, 71104 },
2760 { 71132, 71133 },
2761 { 71216, 71232 },
2762 { 71339, 71351 },
2763 { 71453, 71467 },
2764 { 71724, 71738 },
2765 { 72145, 72151 },
2766 { 72154, 72160 },
2767 { 72164, 72164 },
2768 { 72193, 72202 },
2769 { 72243, 72249 },
2770 { 72251, 72254 },
2771 { 72263, 72263 },
2772 { 72273, 72283 },
2773 { 72330, 72345 },
2774 { 72751, 72758 },
2775 { 72760, 72767 },
2776 { 72850, 72871 },
2777 { 72873, 72886 },
2778 { 73009, 73014 },
2779 { 73018, 73018 },
2780 { 73020, 73021 },
2781 { 73023, 73029 },
2782 { 73031, 73031 },
2783 { 73098, 73102 },
2784 { 73104, 73105 },
2785 { 73107, 73111 },
2786 { 73459, 73462 },
2787 { 92912, 92916 },
2788 { 92976, 92982 },
2789 { 94031, 94031 },
2790 { 94033, 94087 },
2791 { 94095, 94098 },
2792 { 113821, 113822 },
2793 { 119141, 119145 },
2794 { 119149, 119154 },
2795 { 119163, 119170 },
2796 { 119173, 119179 },
2797 { 119210, 119213 },
2798 { 119362, 119364 },
2799 { 121344, 121398 },
2800 { 121403, 121452 },
2801 { 121461, 121461 },
2802 { 121476, 121476 },
2803 { 121499, 121503 },
2804 { 121505, 121519 },
2805 { 122880, 122886 },
2806 { 122888, 122904 },
2807 { 122907, 122913 },
2808 { 122915, 122916 },
2809 { 122918, 122922 },
2810 { 123184, 123190 },
2811 { 123628, 123631 },
2812 { 125136, 125142 },
2813 { 125252, 125258 },
2814 { 917760, 917999 },
2815};
2816static const URange16 Mc_range16[] = {
2817 { 2307, 2307 },
2818 { 2363, 2363 },
2819 { 2366, 2368 },
2820 { 2377, 2380 },
2821 { 2382, 2383 },
2822 { 2434, 2435 },
2823 { 2494, 2496 },
2824 { 2503, 2504 },
2825 { 2507, 2508 },
2826 { 2519, 2519 },
2827 { 2563, 2563 },
2828 { 2622, 2624 },
2829 { 2691, 2691 },
2830 { 2750, 2752 },
2831 { 2761, 2761 },
2832 { 2763, 2764 },
2833 { 2818, 2819 },
2834 { 2878, 2878 },
2835 { 2880, 2880 },
2836 { 2887, 2888 },
2837 { 2891, 2892 },
2838 { 2903, 2903 },
2839 { 3006, 3007 },
2840 { 3009, 3010 },
2841 { 3014, 3016 },
2842 { 3018, 3020 },
2843 { 3031, 3031 },
2844 { 3073, 3075 },
2845 { 3137, 3140 },
2846 { 3202, 3203 },
2847 { 3262, 3262 },
2848 { 3264, 3268 },
2849 { 3271, 3272 },
2850 { 3274, 3275 },
2851 { 3285, 3286 },
2852 { 3330, 3331 },
2853 { 3390, 3392 },
2854 { 3398, 3400 },
2855 { 3402, 3404 },
2856 { 3415, 3415 },
2857 { 3458, 3459 },
2858 { 3535, 3537 },
2859 { 3544, 3551 },
2860 { 3570, 3571 },
2861 { 3902, 3903 },
2862 { 3967, 3967 },
2863 { 4139, 4140 },
2864 { 4145, 4145 },
2865 { 4152, 4152 },
2866 { 4155, 4156 },
2867 { 4182, 4183 },
2868 { 4194, 4196 },
2869 { 4199, 4205 },
2870 { 4227, 4228 },
2871 { 4231, 4236 },
2872 { 4239, 4239 },
2873 { 4250, 4252 },
2874 { 6070, 6070 },
2875 { 6078, 6085 },
2876 { 6087, 6088 },
2877 { 6435, 6438 },
2878 { 6441, 6443 },
2879 { 6448, 6449 },
2880 { 6451, 6456 },
2881 { 6681, 6682 },
2882 { 6741, 6741 },
2883 { 6743, 6743 },
2884 { 6753, 6753 },
2885 { 6755, 6756 },
2886 { 6765, 6770 },
2887 { 6916, 6916 },
2888 { 6965, 6965 },
2889 { 6971, 6971 },
2890 { 6973, 6977 },
2891 { 6979, 6980 },
2892 { 7042, 7042 },
2893 { 7073, 7073 },
2894 { 7078, 7079 },
2895 { 7082, 7082 },
2896 { 7143, 7143 },
2897 { 7146, 7148 },
2898 { 7150, 7150 },
2899 { 7154, 7155 },
2900 { 7204, 7211 },
2901 { 7220, 7221 },
2902 { 7393, 7393 },
2903 { 7415, 7415 },
2904 { 12334, 12335 },
2905 { 43043, 43044 },
2906 { 43047, 43047 },
2907 { 43136, 43137 },
2908 { 43188, 43203 },
2909 { 43346, 43347 },
2910 { 43395, 43395 },
2911 { 43444, 43445 },
2912 { 43450, 43451 },
2913 { 43454, 43456 },
2914 { 43567, 43568 },
2915 { 43571, 43572 },
2916 { 43597, 43597 },
2917 { 43643, 43643 },
2918 { 43645, 43645 },
2919 { 43755, 43755 },
2920 { 43758, 43759 },
2921 { 43765, 43765 },
2922 { 44003, 44004 },
2923 { 44006, 44007 },
2924 { 44009, 44010 },
2925 { 44012, 44012 },
2926};
2927static const URange32 Mc_range32[] = {
2928 { 69632, 69632 },
2929 { 69634, 69634 },
2930 { 69762, 69762 },
2931 { 69808, 69810 },
2932 { 69815, 69816 },
2933 { 69932, 69932 },
2934 { 69957, 69958 },
2935 { 70018, 70018 },
2936 { 70067, 70069 },
2937 { 70079, 70080 },
2938 { 70188, 70190 },
2939 { 70194, 70195 },
2940 { 70197, 70197 },
2941 { 70368, 70370 },
2942 { 70402, 70403 },
2943 { 70462, 70463 },
2944 { 70465, 70468 },
2945 { 70471, 70472 },
2946 { 70475, 70477 },
2947 { 70487, 70487 },
2948 { 70498, 70499 },
2949 { 70709, 70711 },
2950 { 70720, 70721 },
2951 { 70725, 70725 },
2952 { 70832, 70834 },
2953 { 70841, 70841 },
2954 { 70843, 70846 },
2955 { 70849, 70849 },
2956 { 71087, 71089 },
2957 { 71096, 71099 },
2958 { 71102, 71102 },
2959 { 71216, 71218 },
2960 { 71227, 71228 },
2961 { 71230, 71230 },
2962 { 71340, 71340 },
2963 { 71342, 71343 },
2964 { 71350, 71350 },
2965 { 71456, 71457 },
2966 { 71462, 71462 },
2967 { 71724, 71726 },
2968 { 71736, 71736 },
2969 { 72145, 72147 },
2970 { 72156, 72159 },
2971 { 72164, 72164 },
2972 { 72249, 72249 },
2973 { 72279, 72280 },
2974 { 72343, 72343 },
2975 { 72751, 72751 },
2976 { 72766, 72766 },
2977 { 72873, 72873 },
2978 { 72881, 72881 },
2979 { 72884, 72884 },
2980 { 73098, 73102 },
2981 { 73107, 73108 },
2982 { 73110, 73110 },
2983 { 73461, 73462 },
2984 { 94033, 94087 },
2985 { 119141, 119142 },
2986 { 119149, 119154 },
2987};
2988static const URange16 Me_range16[] = {
2989 { 1160, 1161 },
2990 { 6846, 6846 },
2991 { 8413, 8416 },
2992 { 8418, 8420 },
2993 { 42608, 42610 },
2994};
2995static const URange16 Mn_range16[] = {
2996 { 768, 879 },
2997 { 1155, 1159 },
2998 { 1425, 1469 },
2999 { 1471, 1471 },
3000 { 1473, 1474 },
3001 { 1476, 1477 },
3002 { 1479, 1479 },
3003 { 1552, 1562 },
3004 { 1611, 1631 },
3005 { 1648, 1648 },
3006 { 1750, 1756 },
3007 { 1759, 1764 },
3008 { 1767, 1768 },
3009 { 1770, 1773 },
3010 { 1809, 1809 },
3011 { 1840, 1866 },
3012 { 1958, 1968 },
3013 { 2027, 2035 },
3014 { 2045, 2045 },
3015 { 2070, 2073 },
3016 { 2075, 2083 },
3017 { 2085, 2087 },
3018 { 2089, 2093 },
3019 { 2137, 2139 },
3020 { 2259, 2273 },
3021 { 2275, 2306 },
3022 { 2362, 2362 },
3023 { 2364, 2364 },
3024 { 2369, 2376 },
3025 { 2381, 2381 },
3026 { 2385, 2391 },
3027 { 2402, 2403 },
3028 { 2433, 2433 },
3029 { 2492, 2492 },
3030 { 2497, 2500 },
3031 { 2509, 2509 },
3032 { 2530, 2531 },
3033 { 2558, 2558 },
3034 { 2561, 2562 },
3035 { 2620, 2620 },
3036 { 2625, 2626 },
3037 { 2631, 2632 },
3038 { 2635, 2637 },
3039 { 2641, 2641 },
3040 { 2672, 2673 },
3041 { 2677, 2677 },
3042 { 2689, 2690 },
3043 { 2748, 2748 },
3044 { 2753, 2757 },
3045 { 2759, 2760 },
3046 { 2765, 2765 },
3047 { 2786, 2787 },
3048 { 2810, 2815 },
3049 { 2817, 2817 },
3050 { 2876, 2876 },
3051 { 2879, 2879 },
3052 { 2881, 2884 },
3053 { 2893, 2893 },
3054 { 2902, 2902 },
3055 { 2914, 2915 },
3056 { 2946, 2946 },
3057 { 3008, 3008 },
3058 { 3021, 3021 },
3059 { 3072, 3072 },
3060 { 3076, 3076 },
3061 { 3134, 3136 },
3062 { 3142, 3144 },
3063 { 3146, 3149 },
3064 { 3157, 3158 },
3065 { 3170, 3171 },
3066 { 3201, 3201 },
3067 { 3260, 3260 },
3068 { 3263, 3263 },
3069 { 3270, 3270 },
3070 { 3276, 3277 },
3071 { 3298, 3299 },
3072 { 3328, 3329 },
3073 { 3387, 3388 },
3074 { 3393, 3396 },
3075 { 3405, 3405 },
3076 { 3426, 3427 },
3077 { 3530, 3530 },
3078 { 3538, 3540 },
3079 { 3542, 3542 },
3080 { 3633, 3633 },
3081 { 3636, 3642 },
3082 { 3655, 3662 },
3083 { 3761, 3761 },
3084 { 3764, 3772 },
3085 { 3784, 3789 },
3086 { 3864, 3865 },
3087 { 3893, 3893 },
3088 { 3895, 3895 },
3089 { 3897, 3897 },
3090 { 3953, 3966 },
3091 { 3968, 3972 },
3092 { 3974, 3975 },
3093 { 3981, 3991 },
3094 { 3993, 4028 },
3095 { 4038, 4038 },
3096 { 4141, 4144 },
3097 { 4146, 4151 },
3098 { 4153, 4154 },
3099 { 4157, 4158 },
3100 { 4184, 4185 },
3101 { 4190, 4192 },
3102 { 4209, 4212 },
3103 { 4226, 4226 },
3104 { 4229, 4230 },
3105 { 4237, 4237 },
3106 { 4253, 4253 },
3107 { 4957, 4959 },
3108 { 5906, 5908 },
3109 { 5938, 5940 },
3110 { 5970, 5971 },
3111 { 6002, 6003 },
3112 { 6068, 6069 },
3113 { 6071, 6077 },
3114 { 6086, 6086 },
3115 { 6089, 6099 },
3116 { 6109, 6109 },
3117 { 6155, 6157 },
3118 { 6277, 6278 },
3119 { 6313, 6313 },
3120 { 6432, 6434 },
3121 { 6439, 6440 },
3122 { 6450, 6450 },
3123 { 6457, 6459 },
3124 { 6679, 6680 },
3125 { 6683, 6683 },
3126 { 6742, 6742 },
3127 { 6744, 6750 },
3128 { 6752, 6752 },
3129 { 6754, 6754 },
3130 { 6757, 6764 },
3131 { 6771, 6780 },
3132 { 6783, 6783 },
3133 { 6832, 6845 },
3134 { 6912, 6915 },
3135 { 6964, 6964 },
3136 { 6966, 6970 },
3137 { 6972, 6972 },
3138 { 6978, 6978 },
3139 { 7019, 7027 },
3140 { 7040, 7041 },
3141 { 7074, 7077 },
3142 { 7080, 7081 },
3143 { 7083, 7085 },
3144 { 7142, 7142 },
3145 { 7144, 7145 },
3146 { 7149, 7149 },
3147 { 7151, 7153 },
3148 { 7212, 7219 },
3149 { 7222, 7223 },
3150 { 7376, 7378 },
3151 { 7380, 7392 },
3152 { 7394, 7400 },
3153 { 7405, 7405 },
3154 { 7412, 7412 },
3155 { 7416, 7417 },
3156 { 7616, 7673 },
3157 { 7675, 7679 },
3158 { 8400, 8412 },
3159 { 8417, 8417 },
3160 { 8421, 8432 },
3161 { 11503, 11505 },
3162 { 11647, 11647 },
3163 { 11744, 11775 },
3164 { 12330, 12333 },
3165 { 12441, 12442 },
3166 { 42607, 42607 },
3167 { 42612, 42621 },
3168 { 42654, 42655 },
3169 { 42736, 42737 },
3170 { 43010, 43010 },
3171 { 43014, 43014 },
3172 { 43019, 43019 },
3173 { 43045, 43046 },
3174 { 43204, 43205 },
3175 { 43232, 43249 },
3176 { 43263, 43263 },
3177 { 43302, 43309 },
3178 { 43335, 43345 },
3179 { 43392, 43394 },
3180 { 43443, 43443 },
3181 { 43446, 43449 },
3182 { 43452, 43453 },
3183 { 43493, 43493 },
3184 { 43561, 43566 },
3185 { 43569, 43570 },
3186 { 43573, 43574 },
3187 { 43587, 43587 },
3188 { 43596, 43596 },
3189 { 43644, 43644 },
3190 { 43696, 43696 },
3191 { 43698, 43700 },
3192 { 43703, 43704 },
3193 { 43710, 43711 },
3194 { 43713, 43713 },
3195 { 43756, 43757 },
3196 { 43766, 43766 },
3197 { 44005, 44005 },
3198 { 44008, 44008 },
3199 { 44013, 44013 },
3200 { 64286, 64286 },
3201 { 65024, 65039 },
3202 { 65056, 65071 },
3203};
3204static const URange32 Mn_range32[] = {
3205 { 66045, 66045 },
3206 { 66272, 66272 },
3207 { 66422, 66426 },
3208 { 68097, 68099 },
3209 { 68101, 68102 },
3210 { 68108, 68111 },
3211 { 68152, 68154 },
3212 { 68159, 68159 },
3213 { 68325, 68326 },
3214 { 68900, 68903 },
3215 { 69446, 69456 },
3216 { 69633, 69633 },
3217 { 69688, 69702 },
3218 { 69759, 69761 },
3219 { 69811, 69814 },
3220 { 69817, 69818 },
3221 { 69888, 69890 },
3222 { 69927, 69931 },
3223 { 69933, 69940 },
3224 { 70003, 70003 },
3225 { 70016, 70017 },
3226 { 70070, 70078 },
3227 { 70089, 70092 },
3228 { 70191, 70193 },
3229 { 70196, 70196 },
3230 { 70198, 70199 },
3231 { 70206, 70206 },
3232 { 70367, 70367 },
3233 { 70371, 70378 },
3234 { 70400, 70401 },
3235 { 70459, 70460 },
3236 { 70464, 70464 },
3237 { 70502, 70508 },
3238 { 70512, 70516 },
3239 { 70712, 70719 },
3240 { 70722, 70724 },
3241 { 70726, 70726 },
3242 { 70750, 70750 },
3243 { 70835, 70840 },
3244 { 70842, 70842 },
3245 { 70847, 70848 },
3246 { 70850, 70851 },
3247 { 71090, 71093 },
3248 { 71100, 71101 },
3249 { 71103, 71104 },
3250 { 71132, 71133 },
3251 { 71219, 71226 },
3252 { 71229, 71229 },
3253 { 71231, 71232 },
3254 { 71339, 71339 },
3255 { 71341, 71341 },
3256 { 71344, 71349 },
3257 { 71351, 71351 },
3258 { 71453, 71455 },
3259 { 71458, 71461 },
3260 { 71463, 71467 },
3261 { 71727, 71735 },
3262 { 71737, 71738 },
3263 { 72148, 72151 },
3264 { 72154, 72155 },
3265 { 72160, 72160 },
3266 { 72193, 72202 },
3267 { 72243, 72248 },
3268 { 72251, 72254 },
3269 { 72263, 72263 },
3270 { 72273, 72278 },
3271 { 72281, 72283 },
3272 { 72330, 72342 },
3273 { 72344, 72345 },
3274 { 72752, 72758 },
3275 { 72760, 72765 },
3276 { 72767, 72767 },
3277 { 72850, 72871 },
3278 { 72874, 72880 },
3279 { 72882, 72883 },
3280 { 72885, 72886 },
3281 { 73009, 73014 },
3282 { 73018, 73018 },
3283 { 73020, 73021 },
3284 { 73023, 73029 },
3285 { 73031, 73031 },
3286 { 73104, 73105 },
3287 { 73109, 73109 },
3288 { 73111, 73111 },
3289 { 73459, 73460 },
3290 { 92912, 92916 },
3291 { 92976, 92982 },
3292 { 94031, 94031 },
3293 { 94095, 94098 },
3294 { 113821, 113822 },
3295 { 119143, 119145 },
3296 { 119163, 119170 },
3297 { 119173, 119179 },
3298 { 119210, 119213 },
3299 { 119362, 119364 },
3300 { 121344, 121398 },
3301 { 121403, 121452 },
3302 { 121461, 121461 },
3303 { 121476, 121476 },
3304 { 121499, 121503 },
3305 { 121505, 121519 },
3306 { 122880, 122886 },
3307 { 122888, 122904 },
3308 { 122907, 122913 },
3309 { 122915, 122916 },
3310 { 122918, 122922 },
3311 { 123184, 123190 },
3312 { 123628, 123631 },
3313 { 125136, 125142 },
3314 { 125252, 125258 },
3315 { 917760, 917999 },
3316};
3317static const URange16 N_range16[] = {
3318 { 48, 57 },
3319 { 178, 179 },
3320 { 185, 185 },
3321 { 188, 190 },
3322 { 1632, 1641 },
3323 { 1776, 1785 },
3324 { 1984, 1993 },
3325 { 2406, 2415 },
3326 { 2534, 2543 },
3327 { 2548, 2553 },
3328 { 2662, 2671 },
3329 { 2790, 2799 },
3330 { 2918, 2927 },
3331 { 2930, 2935 },
3332 { 3046, 3058 },
3333 { 3174, 3183 },
3334 { 3192, 3198 },
3335 { 3302, 3311 },
3336 { 3416, 3422 },
3337 { 3430, 3448 },
3338 { 3558, 3567 },
3339 { 3664, 3673 },
3340 { 3792, 3801 },
3341 { 3872, 3891 },
3342 { 4160, 4169 },
3343 { 4240, 4249 },
3344 { 4969, 4988 },
3345 { 5870, 5872 },
3346 { 6112, 6121 },
3347 { 6128, 6137 },
3348 { 6160, 6169 },
3349 { 6470, 6479 },
3350 { 6608, 6618 },
3351 { 6784, 6793 },
3352 { 6800, 6809 },
3353 { 6992, 7001 },
3354 { 7088, 7097 },
3355 { 7232, 7241 },
3356 { 7248, 7257 },
3357 { 8304, 8304 },
3358 { 8308, 8313 },
3359 { 8320, 8329 },
3360 { 8528, 8578 },
3361 { 8581, 8585 },
3362 { 9312, 9371 },
3363 { 9450, 9471 },
3364 { 10102, 10131 },
3365 { 11517, 11517 },
3366 { 12295, 12295 },
3367 { 12321, 12329 },
3368 { 12344, 12346 },
3369 { 12690, 12693 },
3370 { 12832, 12841 },
3371 { 12872, 12879 },
3372 { 12881, 12895 },
3373 { 12928, 12937 },
3374 { 12977, 12991 },
3375 { 42528, 42537 },
3376 { 42726, 42735 },
3377 { 43056, 43061 },
3378 { 43216, 43225 },
3379 { 43264, 43273 },
3380 { 43472, 43481 },
3381 { 43504, 43513 },
3382 { 43600, 43609 },
3383 { 44016, 44025 },
3384 { 65296, 65305 },
3385};
3386static const URange32 N_range32[] = {
3387 { 65799, 65843 },
3388 { 65856, 65912 },
3389 { 65930, 65931 },
3390 { 66273, 66299 },
3391 { 66336, 66339 },
3392 { 66369, 66369 },
3393 { 66378, 66378 },
3394 { 66513, 66517 },
3395 { 66720, 66729 },
3396 { 67672, 67679 },
3397 { 67705, 67711 },
3398 { 67751, 67759 },
3399 { 67835, 67839 },
3400 { 67862, 67867 },
3401 { 68028, 68029 },
3402 { 68032, 68047 },
3403 { 68050, 68095 },
3404 { 68160, 68168 },
3405 { 68221, 68222 },
3406 { 68253, 68255 },
3407 { 68331, 68335 },
3408 { 68440, 68447 },
3409 { 68472, 68479 },
3410 { 68521, 68527 },
3411 { 68858, 68863 },
3412 { 68912, 68921 },
3413 { 69216, 69246 },
3414 { 69405, 69414 },
3415 { 69457, 69460 },
3416 { 69714, 69743 },
3417 { 69872, 69881 },
3418 { 69942, 69951 },
3419 { 70096, 70105 },
3420 { 70113, 70132 },
3421 { 70384, 70393 },
3422 { 70736, 70745 },
3423 { 70864, 70873 },
3424 { 71248, 71257 },
3425 { 71360, 71369 },
3426 { 71472, 71483 },
3427 { 71904, 71922 },
3428 { 72784, 72812 },
3429 { 73040, 73049 },
3430 { 73120, 73129 },
3431 { 73664, 73684 },
3432 { 74752, 74862 },
3433 { 92768, 92777 },
3434 { 93008, 93017 },
3435 { 93019, 93025 },
3436 { 93824, 93846 },
3437 { 119520, 119539 },
3438 { 119648, 119672 },
3439 { 120782, 120831 },
3440 { 123200, 123209 },
3441 { 123632, 123641 },
3442 { 125127, 125135 },
3443 { 125264, 125273 },
3444 { 126065, 126123 },
3445 { 126125, 126127 },
3446 { 126129, 126132 },
3447 { 126209, 126253 },
3448 { 126255, 126269 },
3449 { 127232, 127244 },
3450};
3451static const URange16 Nd_range16[] = {
3452 { 48, 57 },
3453 { 1632, 1641 },
3454 { 1776, 1785 },
3455 { 1984, 1993 },
3456 { 2406, 2415 },
3457 { 2534, 2543 },
3458 { 2662, 2671 },
3459 { 2790, 2799 },
3460 { 2918, 2927 },
3461 { 3046, 3055 },
3462 { 3174, 3183 },
3463 { 3302, 3311 },
3464 { 3430, 3439 },
3465 { 3558, 3567 },
3466 { 3664, 3673 },
3467 { 3792, 3801 },
3468 { 3872, 3881 },
3469 { 4160, 4169 },
3470 { 4240, 4249 },
3471 { 6112, 6121 },
3472 { 6160, 6169 },
3473 { 6470, 6479 },
3474 { 6608, 6617 },
3475 { 6784, 6793 },
3476 { 6800, 6809 },
3477 { 6992, 7001 },
3478 { 7088, 7097 },
3479 { 7232, 7241 },
3480 { 7248, 7257 },
3481 { 42528, 42537 },
3482 { 43216, 43225 },
3483 { 43264, 43273 },
3484 { 43472, 43481 },
3485 { 43504, 43513 },
3486 { 43600, 43609 },
3487 { 44016, 44025 },
3488 { 65296, 65305 },
3489};
3490static const URange32 Nd_range32[] = {
3491 { 66720, 66729 },
3492 { 68912, 68921 },
3493 { 69734, 69743 },
3494 { 69872, 69881 },
3495 { 69942, 69951 },
3496 { 70096, 70105 },
3497 { 70384, 70393 },
3498 { 70736, 70745 },
3499 { 70864, 70873 },
3500 { 71248, 71257 },
3501 { 71360, 71369 },
3502 { 71472, 71481 },
3503 { 71904, 71913 },
3504 { 72784, 72793 },
3505 { 73040, 73049 },
3506 { 73120, 73129 },
3507 { 92768, 92777 },
3508 { 93008, 93017 },
3509 { 120782, 120831 },
3510 { 123200, 123209 },
3511 { 123632, 123641 },
3512 { 125264, 125273 },
3513};
3514static const URange16 Nl_range16[] = {
3515 { 5870, 5872 },
3516 { 8544, 8578 },
3517 { 8581, 8584 },
3518 { 12295, 12295 },
3519 { 12321, 12329 },
3520 { 12344, 12346 },
3521 { 42726, 42735 },
3522};
3523static const URange32 Nl_range32[] = {
3524 { 65856, 65908 },
3525 { 66369, 66369 },
3526 { 66378, 66378 },
3527 { 66513, 66517 },
3528 { 74752, 74862 },
3529};
3530static const URange16 No_range16[] = {
3531 { 178, 179 },
3532 { 185, 185 },
3533 { 188, 190 },
3534 { 2548, 2553 },
3535 { 2930, 2935 },
3536 { 3056, 3058 },
3537 { 3192, 3198 },
3538 { 3416, 3422 },
3539 { 3440, 3448 },
3540 { 3882, 3891 },
3541 { 4969, 4988 },
3542 { 6128, 6137 },
3543 { 6618, 6618 },
3544 { 8304, 8304 },
3545 { 8308, 8313 },
3546 { 8320, 8329 },
3547 { 8528, 8543 },
3548 { 8585, 8585 },
3549 { 9312, 9371 },
3550 { 9450, 9471 },
3551 { 10102, 10131 },
3552 { 11517, 11517 },
3553 { 12690, 12693 },
3554 { 12832, 12841 },
3555 { 12872, 12879 },
3556 { 12881, 12895 },
3557 { 12928, 12937 },
3558 { 12977, 12991 },
3559 { 43056, 43061 },
3560};
3561static const URange32 No_range32[] = {
3562 { 65799, 65843 },
3563 { 65909, 65912 },
3564 { 65930, 65931 },
3565 { 66273, 66299 },
3566 { 66336, 66339 },
3567 { 67672, 67679 },
3568 { 67705, 67711 },
3569 { 67751, 67759 },
3570 { 67835, 67839 },
3571 { 67862, 67867 },
3572 { 68028, 68029 },
3573 { 68032, 68047 },
3574 { 68050, 68095 },
3575 { 68160, 68168 },
3576 { 68221, 68222 },
3577 { 68253, 68255 },
3578 { 68331, 68335 },
3579 { 68440, 68447 },
3580 { 68472, 68479 },
3581 { 68521, 68527 },
3582 { 68858, 68863 },
3583 { 69216, 69246 },
3584 { 69405, 69414 },
3585 { 69457, 69460 },
3586 { 69714, 69733 },
3587 { 70113, 70132 },
3588 { 71482, 71483 },
3589 { 71914, 71922 },
3590 { 72794, 72812 },
3591 { 73664, 73684 },
3592 { 93019, 93025 },
3593 { 93824, 93846 },
3594 { 119520, 119539 },
3595 { 119648, 119672 },
3596 { 125127, 125135 },
3597 { 126065, 126123 },
3598 { 126125, 126127 },
3599 { 126129, 126132 },
3600 { 126209, 126253 },
3601 { 126255, 126269 },
3602 { 127232, 127244 },
3603};
3604static const URange16 P_range16[] = {
3605 { 33, 35 },
3606 { 37, 42 },
3607 { 44, 47 },
3608 { 58, 59 },
3609 { 63, 64 },
3610 { 91, 93 },
3611 { 95, 95 },
3612 { 123, 123 },
3613 { 125, 125 },
3614 { 161, 161 },
3615 { 167, 167 },
3616 { 171, 171 },
3617 { 182, 183 },
3618 { 187, 187 },
3619 { 191, 191 },
3620 { 894, 894 },
3621 { 903, 903 },
3622 { 1370, 1375 },
3623 { 1417, 1418 },
3624 { 1470, 1470 },
3625 { 1472, 1472 },
3626 { 1475, 1475 },
3627 { 1478, 1478 },
3628 { 1523, 1524 },
3629 { 1545, 1546 },
3630 { 1548, 1549 },
3631 { 1563, 1563 },
3632 { 1566, 1567 },
3633 { 1642, 1645 },
3634 { 1748, 1748 },
3635 { 1792, 1805 },
3636 { 2039, 2041 },
3637 { 2096, 2110 },
3638 { 2142, 2142 },
3639 { 2404, 2405 },
3640 { 2416, 2416 },
3641 { 2557, 2557 },
3642 { 2678, 2678 },
3643 { 2800, 2800 },
3644 { 3191, 3191 },
3645 { 3204, 3204 },
3646 { 3572, 3572 },
3647 { 3663, 3663 },
3648 { 3674, 3675 },
3649 { 3844, 3858 },
3650 { 3860, 3860 },
3651 { 3898, 3901 },
3652 { 3973, 3973 },
3653 { 4048, 4052 },
3654 { 4057, 4058 },
3655 { 4170, 4175 },
3656 { 4347, 4347 },
3657 { 4960, 4968 },
3658 { 5120, 5120 },
3659 { 5742, 5742 },
3660 { 5787, 5788 },
3661 { 5867, 5869 },
3662 { 5941, 5942 },
3663 { 6100, 6102 },
3664 { 6104, 6106 },
3665 { 6144, 6154 },
3666 { 6468, 6469 },
3667 { 6686, 6687 },
3668 { 6816, 6822 },
3669 { 6824, 6829 },
3670 { 7002, 7008 },
3671 { 7164, 7167 },
3672 { 7227, 7231 },
3673 { 7294, 7295 },
3674 { 7360, 7367 },
3675 { 7379, 7379 },
3676 { 8208, 8231 },
3677 { 8240, 8259 },
3678 { 8261, 8273 },
3679 { 8275, 8286 },
3680 { 8317, 8318 },
3681 { 8333, 8334 },
3682 { 8968, 8971 },
3683 { 9001, 9002 },
3684 { 10088, 10101 },
3685 { 10181, 10182 },
3686 { 10214, 10223 },
3687 { 10627, 10648 },
3688 { 10712, 10715 },
3689 { 10748, 10749 },
3690 { 11513, 11516 },
3691 { 11518, 11519 },
3692 { 11632, 11632 },
3693 { 11776, 11822 },
3694 { 11824, 11855 },
3695 { 12289, 12291 },
3696 { 12296, 12305 },
3697 { 12308, 12319 },
3698 { 12336, 12336 },
3699 { 12349, 12349 },
3700 { 12448, 12448 },
3701 { 12539, 12539 },
3702 { 42238, 42239 },
3703 { 42509, 42511 },
3704 { 42611, 42611 },
3705 { 42622, 42622 },
3706 { 42738, 42743 },
3707 { 43124, 43127 },
3708 { 43214, 43215 },
3709 { 43256, 43258 },
3710 { 43260, 43260 },
3711 { 43310, 43311 },
3712 { 43359, 43359 },
3713 { 43457, 43469 },
3714 { 43486, 43487 },
3715 { 43612, 43615 },
3716 { 43742, 43743 },
3717 { 43760, 43761 },
3718 { 44011, 44011 },
3719 { 64830, 64831 },
3720 { 65040, 65049 },
3721 { 65072, 65106 },
3722 { 65108, 65121 },
3723 { 65123, 65123 },
3724 { 65128, 65128 },
3725 { 65130, 65131 },
3726 { 65281, 65283 },
3727 { 65285, 65290 },
3728 { 65292, 65295 },
3729 { 65306, 65307 },
3730 { 65311, 65312 },
3731 { 65339, 65341 },
3732 { 65343, 65343 },
3733 { 65371, 65371 },
3734 { 65373, 65373 },
3735 { 65375, 65381 },
3736};
3737static const URange32 P_range32[] = {
3738 { 65792, 65794 },
3739 { 66463, 66463 },
3740 { 66512, 66512 },
3741 { 66927, 66927 },
3742 { 67671, 67671 },
3743 { 67871, 67871 },
3744 { 67903, 67903 },
3745 { 68176, 68184 },
3746 { 68223, 68223 },
3747 { 68336, 68342 },
3748 { 68409, 68415 },
3749 { 68505, 68508 },
3750 { 69461, 69465 },
3751 { 69703, 69709 },
3752 { 69819, 69820 },
3753 { 69822, 69825 },
3754 { 69952, 69955 },
3755 { 70004, 70005 },
3756 { 70085, 70088 },
3757 { 70093, 70093 },
3758 { 70107, 70107 },
3759 { 70109, 70111 },
3760 { 70200, 70205 },
3761 { 70313, 70313 },
3762 { 70731, 70735 },
3763 { 70747, 70747 },
3764 { 70749, 70749 },
3765 { 70854, 70854 },
3766 { 71105, 71127 },
3767 { 71233, 71235 },
3768 { 71264, 71276 },
3769 { 71484, 71486 },
3770 { 71739, 71739 },
3771 { 72162, 72162 },
3772 { 72255, 72262 },
3773 { 72346, 72348 },
3774 { 72350, 72354 },
3775 { 72769, 72773 },
3776 { 72816, 72817 },
3777 { 73463, 73464 },
3778 { 73727, 73727 },
3779 { 74864, 74868 },
3780 { 92782, 92783 },
3781 { 92917, 92917 },
3782 { 92983, 92987 },
3783 { 92996, 92996 },
3784 { 93847, 93850 },
3785 { 94178, 94178 },
3786 { 113823, 113823 },
3787 { 121479, 121483 },
3788 { 125278, 125279 },
3789};
3790static const URange16 Pc_range16[] = {
3791 { 95, 95 },
3792 { 8255, 8256 },
3793 { 8276, 8276 },
3794 { 65075, 65076 },
3795 { 65101, 65103 },
3796 { 65343, 65343 },
3797};
3798static const URange16 Pd_range16[] = {
3799 { 45, 45 },
3800 { 1418, 1418 },
3801 { 1470, 1470 },
3802 { 5120, 5120 },
3803 { 6150, 6150 },
3804 { 8208, 8213 },
3805 { 11799, 11799 },
3806 { 11802, 11802 },
3807 { 11834, 11835 },
3808 { 11840, 11840 },
3809 { 12316, 12316 },
3810 { 12336, 12336 },
3811 { 12448, 12448 },
3812 { 65073, 65074 },
3813 { 65112, 65112 },
3814 { 65123, 65123 },
3815 { 65293, 65293 },
3816};
3817static const URange16 Pe_range16[] = {
3818 { 41, 41 },
3819 { 93, 93 },
3820 { 125, 125 },
3821 { 3899, 3899 },
3822 { 3901, 3901 },
3823 { 5788, 5788 },
3824 { 8262, 8262 },
3825 { 8318, 8318 },
3826 { 8334, 8334 },
3827 { 8969, 8969 },
3828 { 8971, 8971 },
3829 { 9002, 9002 },
3830 { 10089, 10089 },
3831 { 10091, 10091 },
3832 { 10093, 10093 },
3833 { 10095, 10095 },
3834 { 10097, 10097 },
3835 { 10099, 10099 },
3836 { 10101, 10101 },
3837 { 10182, 10182 },
3838 { 10215, 10215 },
3839 { 10217, 10217 },
3840 { 10219, 10219 },
3841 { 10221, 10221 },
3842 { 10223, 10223 },
3843 { 10628, 10628 },
3844 { 10630, 10630 },
3845 { 10632, 10632 },
3846 { 10634, 10634 },
3847 { 10636, 10636 },
3848 { 10638, 10638 },
3849 { 10640, 10640 },
3850 { 10642, 10642 },
3851 { 10644, 10644 },
3852 { 10646, 10646 },
3853 { 10648, 10648 },
3854 { 10713, 10713 },
3855 { 10715, 10715 },
3856 { 10749, 10749 },
3857 { 11811, 11811 },
3858 { 11813, 11813 },
3859 { 11815, 11815 },
3860 { 11817, 11817 },
3861 { 12297, 12297 },
3862 { 12299, 12299 },
3863 { 12301, 12301 },
3864 { 12303, 12303 },
3865 { 12305, 12305 },
3866 { 12309, 12309 },
3867 { 12311, 12311 },
3868 { 12313, 12313 },
3869 { 12315, 12315 },
3870 { 12318, 12319 },
3871 { 64830, 64830 },
3872 { 65048, 65048 },
3873 { 65078, 65078 },
3874 { 65080, 65080 },
3875 { 65082, 65082 },
3876 { 65084, 65084 },
3877 { 65086, 65086 },
3878 { 65088, 65088 },
3879 { 65090, 65090 },
3880 { 65092, 65092 },
3881 { 65096, 65096 },
3882 { 65114, 65114 },
3883 { 65116, 65116 },
3884 { 65118, 65118 },
3885 { 65289, 65289 },
3886 { 65341, 65341 },
3887 { 65373, 65373 },
3888 { 65376, 65376 },
3889 { 65379, 65379 },
3890};
3891static const URange16 Pf_range16[] = {
3892 { 187, 187 },
3893 { 8217, 8217 },
3894 { 8221, 8221 },
3895 { 8250, 8250 },
3896 { 11779, 11779 },
3897 { 11781, 11781 },
3898 { 11786, 11786 },
3899 { 11789, 11789 },
3900 { 11805, 11805 },
3901 { 11809, 11809 },
3902};
3903static const URange16 Pi_range16[] = {
3904 { 171, 171 },
3905 { 8216, 8216 },
3906 { 8219, 8220 },
3907 { 8223, 8223 },
3908 { 8249, 8249 },
3909 { 11778, 11778 },
3910 { 11780, 11780 },
3911 { 11785, 11785 },
3912 { 11788, 11788 },
3913 { 11804, 11804 },
3914 { 11808, 11808 },
3915};
3916static const URange16 Po_range16[] = {
3917 { 33, 35 },
3918 { 37, 39 },
3919 { 42, 42 },
3920 { 44, 44 },
3921 { 46, 47 },
3922 { 58, 59 },
3923 { 63, 64 },
3924 { 92, 92 },
3925 { 161, 161 },
3926 { 167, 167 },
3927 { 182, 183 },
3928 { 191, 191 },
3929 { 894, 894 },
3930 { 903, 903 },
3931 { 1370, 1375 },
3932 { 1417, 1417 },
3933 { 1472, 1472 },
3934 { 1475, 1475 },
3935 { 1478, 1478 },
3936 { 1523, 1524 },
3937 { 1545, 1546 },
3938 { 1548, 1549 },
3939 { 1563, 1563 },
3940 { 1566, 1567 },
3941 { 1642, 1645 },
3942 { 1748, 1748 },
3943 { 1792, 1805 },
3944 { 2039, 2041 },
3945 { 2096, 2110 },
3946 { 2142, 2142 },
3947 { 2404, 2405 },
3948 { 2416, 2416 },
3949 { 2557, 2557 },
3950 { 2678, 2678 },
3951 { 2800, 2800 },
3952 { 3191, 3191 },
3953 { 3204, 3204 },
3954 { 3572, 3572 },
3955 { 3663, 3663 },
3956 { 3674, 3675 },
3957 { 3844, 3858 },
3958 { 3860, 3860 },
3959 { 3973, 3973 },
3960 { 4048, 4052 },
3961 { 4057, 4058 },
3962 { 4170, 4175 },
3963 { 4347, 4347 },
3964 { 4960, 4968 },
3965 { 5742, 5742 },
3966 { 5867, 5869 },
3967 { 5941, 5942 },
3968 { 6100, 6102 },
3969 { 6104, 6106 },
3970 { 6144, 6149 },
3971 { 6151, 6154 },
3972 { 6468, 6469 },
3973 { 6686, 6687 },
3974 { 6816, 6822 },
3975 { 6824, 6829 },
3976 { 7002, 7008 },
3977 { 7164, 7167 },
3978 { 7227, 7231 },
3979 { 7294, 7295 },
3980 { 7360, 7367 },
3981 { 7379, 7379 },
3982 { 8214, 8215 },
3983 { 8224, 8231 },
3984 { 8240, 8248 },
3985 { 8251, 8254 },
3986 { 8257, 8259 },
3987 { 8263, 8273 },
3988 { 8275, 8275 },
3989 { 8277, 8286 },
3990 { 11513, 11516 },
3991 { 11518, 11519 },
3992 { 11632, 11632 },
3993 { 11776, 11777 },
3994 { 11782, 11784 },
3995 { 11787, 11787 },
3996 { 11790, 11798 },
3997 { 11800, 11801 },
3998 { 11803, 11803 },
3999 { 11806, 11807 },
4000 { 11818, 11822 },
4001 { 11824, 11833 },
4002 { 11836, 11839 },
4003 { 11841, 11841 },
4004 { 11843, 11855 },
4005 { 12289, 12291 },
4006 { 12349, 12349 },
4007 { 12539, 12539 },
4008 { 42238, 42239 },
4009 { 42509, 42511 },
4010 { 42611, 42611 },
4011 { 42622, 42622 },
4012 { 42738, 42743 },
4013 { 43124, 43127 },
4014 { 43214, 43215 },
4015 { 43256, 43258 },
4016 { 43260, 43260 },
4017 { 43310, 43311 },
4018 { 43359, 43359 },
4019 { 43457, 43469 },
4020 { 43486, 43487 },
4021 { 43612, 43615 },
4022 { 43742, 43743 },
4023 { 43760, 43761 },
4024 { 44011, 44011 },
4025 { 65040, 65046 },
4026 { 65049, 65049 },
4027 { 65072, 65072 },
4028 { 65093, 65094 },
4029 { 65097, 65100 },
4030 { 65104, 65106 },
4031 { 65108, 65111 },
4032 { 65119, 65121 },
4033 { 65128, 65128 },
4034 { 65130, 65131 },
4035 { 65281, 65283 },
4036 { 65285, 65287 },
4037 { 65290, 65290 },
4038 { 65292, 65292 },
4039 { 65294, 65295 },
4040 { 65306, 65307 },
4041 { 65311, 65312 },
4042 { 65340, 65340 },
4043 { 65377, 65377 },
4044 { 65380, 65381 },
4045};
4046static const URange32 Po_range32[] = {
4047 { 65792, 65794 },
4048 { 66463, 66463 },
4049 { 66512, 66512 },
4050 { 66927, 66927 },
4051 { 67671, 67671 },
4052 { 67871, 67871 },
4053 { 67903, 67903 },
4054 { 68176, 68184 },
4055 { 68223, 68223 },
4056 { 68336, 68342 },
4057 { 68409, 68415 },
4058 { 68505, 68508 },
4059 { 69461, 69465 },
4060 { 69703, 69709 },
4061 { 69819, 69820 },
4062 { 69822, 69825 },
4063 { 69952, 69955 },
4064 { 70004, 70005 },
4065 { 70085, 70088 },
4066 { 70093, 70093 },
4067 { 70107, 70107 },
4068 { 70109, 70111 },
4069 { 70200, 70205 },
4070 { 70313, 70313 },
4071 { 70731, 70735 },
4072 { 70747, 70747 },
4073 { 70749, 70749 },
4074 { 70854, 70854 },
4075 { 71105, 71127 },
4076 { 71233, 71235 },
4077 { 71264, 71276 },
4078 { 71484, 71486 },
4079 { 71739, 71739 },
4080 { 72162, 72162 },
4081 { 72255, 72262 },
4082 { 72346, 72348 },
4083 { 72350, 72354 },
4084 { 72769, 72773 },
4085 { 72816, 72817 },
4086 { 73463, 73464 },
4087 { 73727, 73727 },
4088 { 74864, 74868 },
4089 { 92782, 92783 },
4090 { 92917, 92917 },
4091 { 92983, 92987 },
4092 { 92996, 92996 },
4093 { 93847, 93850 },
4094 { 94178, 94178 },
4095 { 113823, 113823 },
4096 { 121479, 121483 },
4097 { 125278, 125279 },
4098};
4099static const URange16 Ps_range16[] = {
4100 { 40, 40 },
4101 { 91, 91 },
4102 { 123, 123 },
4103 { 3898, 3898 },
4104 { 3900, 3900 },
4105 { 5787, 5787 },
4106 { 8218, 8218 },
4107 { 8222, 8222 },
4108 { 8261, 8261 },
4109 { 8317, 8317 },
4110 { 8333, 8333 },
4111 { 8968, 8968 },
4112 { 8970, 8970 },
4113 { 9001, 9001 },
4114 { 10088, 10088 },
4115 { 10090, 10090 },
4116 { 10092, 10092 },
4117 { 10094, 10094 },
4118 { 10096, 10096 },
4119 { 10098, 10098 },
4120 { 10100, 10100 },
4121 { 10181, 10181 },
4122 { 10214, 10214 },
4123 { 10216, 10216 },
4124 { 10218, 10218 },
4125 { 10220, 10220 },
4126 { 10222, 10222 },
4127 { 10627, 10627 },
4128 { 10629, 10629 },
4129 { 10631, 10631 },
4130 { 10633, 10633 },
4131 { 10635, 10635 },
4132 { 10637, 10637 },
4133 { 10639, 10639 },
4134 { 10641, 10641 },
4135 { 10643, 10643 },
4136 { 10645, 10645 },
4137 { 10647, 10647 },
4138 { 10712, 10712 },
4139 { 10714, 10714 },
4140 { 10748, 10748 },
4141 { 11810, 11810 },
4142 { 11812, 11812 },
4143 { 11814, 11814 },
4144 { 11816, 11816 },
4145 { 11842, 11842 },
4146 { 12296, 12296 },
4147 { 12298, 12298 },
4148 { 12300, 12300 },
4149 { 12302, 12302 },
4150 { 12304, 12304 },
4151 { 12308, 12308 },
4152 { 12310, 12310 },
4153 { 12312, 12312 },
4154 { 12314, 12314 },
4155 { 12317, 12317 },
4156 { 64831, 64831 },
4157 { 65047, 65047 },
4158 { 65077, 65077 },
4159 { 65079, 65079 },
4160 { 65081, 65081 },
4161 { 65083, 65083 },
4162 { 65085, 65085 },
4163 { 65087, 65087 },
4164 { 65089, 65089 },
4165 { 65091, 65091 },
4166 { 65095, 65095 },
4167 { 65113, 65113 },
4168 { 65115, 65115 },
4169 { 65117, 65117 },
4170 { 65288, 65288 },
4171 { 65339, 65339 },
4172 { 65371, 65371 },
4173 { 65375, 65375 },
4174 { 65378, 65378 },
4175};
4176static const URange16 S_range16[] = {
4177 { 36, 36 },
4178 { 43, 43 },
4179 { 60, 62 },
4180 { 94, 94 },
4181 { 96, 96 },
4182 { 124, 124 },
4183 { 126, 126 },
4184 { 162, 166 },
4185 { 168, 169 },
4186 { 172, 172 },
4187 { 174, 177 },
4188 { 180, 180 },
4189 { 184, 184 },
4190 { 215, 215 },
4191 { 247, 247 },
4192 { 706, 709 },
4193 { 722, 735 },
4194 { 741, 747 },
4195 { 749, 749 },
4196 { 751, 767 },
4197 { 885, 885 },
4198 { 900, 901 },
4199 { 1014, 1014 },
4200 { 1154, 1154 },
4201 { 1421, 1423 },
4202 { 1542, 1544 },
4203 { 1547, 1547 },
4204 { 1550, 1551 },
4205 { 1758, 1758 },
4206 { 1769, 1769 },
4207 { 1789, 1790 },
4208 { 2038, 2038 },
4209 { 2046, 2047 },
4210 { 2546, 2547 },
4211 { 2554, 2555 },
4212 { 2801, 2801 },
4213 { 2928, 2928 },
4214 { 3059, 3066 },
4215 { 3199, 3199 },
4216 { 3407, 3407 },
4217 { 3449, 3449 },
4218 { 3647, 3647 },
4219 { 3841, 3843 },
4220 { 3859, 3859 },
4221 { 3861, 3863 },
4222 { 3866, 3871 },
4223 { 3892, 3892 },
4224 { 3894, 3894 },
4225 { 3896, 3896 },
4226 { 4030, 4037 },
4227 { 4039, 4044 },
4228 { 4046, 4047 },
4229 { 4053, 4056 },
4230 { 4254, 4255 },
4231 { 5008, 5017 },
4232 { 5741, 5741 },
4233 { 6107, 6107 },
4234 { 6464, 6464 },
4235 { 6622, 6655 },
4236 { 7009, 7018 },
4237 { 7028, 7036 },
4238 { 8125, 8125 },
4239 { 8127, 8129 },
4240 { 8141, 8143 },
4241 { 8157, 8159 },
4242 { 8173, 8175 },
4243 { 8189, 8190 },
4244 { 8260, 8260 },
4245 { 8274, 8274 },
4246 { 8314, 8316 },
4247 { 8330, 8332 },
4248 { 8352, 8383 },
4249 { 8448, 8449 },
4250 { 8451, 8454 },
4251 { 8456, 8457 },
4252 { 8468, 8468 },
4253 { 8470, 8472 },
4254 { 8478, 8483 },
4255 { 8485, 8485 },
4256 { 8487, 8487 },
4257 { 8489, 8489 },
4258 { 8494, 8494 },
4259 { 8506, 8507 },
4260 { 8512, 8516 },
4261 { 8522, 8525 },
4262 { 8527, 8527 },
4263 { 8586, 8587 },
4264 { 8592, 8967 },
4265 { 8972, 9000 },
4266 { 9003, 9254 },
4267 { 9280, 9290 },
4268 { 9372, 9449 },
4269 { 9472, 10087 },
4270 { 10132, 10180 },
4271 { 10183, 10213 },
4272 { 10224, 10626 },
4273 { 10649, 10711 },
4274 { 10716, 10747 },
4275 { 10750, 11123 },
4276 { 11126, 11157 },
4277 { 11160, 11263 },
4278 { 11493, 11498 },
4279 { 11904, 11929 },
4280 { 11931, 12019 },
4281 { 12032, 12245 },
4282 { 12272, 12283 },
4283 { 12292, 12292 },
4284 { 12306, 12307 },
4285 { 12320, 12320 },
4286 { 12342, 12343 },
4287 { 12350, 12351 },
4288 { 12443, 12444 },
4289 { 12688, 12689 },
4290 { 12694, 12703 },
4291 { 12736, 12771 },
4292 { 12800, 12830 },
4293 { 12842, 12871 },
4294 { 12880, 12880 },
4295 { 12896, 12927 },
4296 { 12938, 12976 },
4297 { 12992, 13311 },
4298 { 19904, 19967 },
4299 { 42128, 42182 },
4300 { 42752, 42774 },
4301 { 42784, 42785 },
4302 { 42889, 42890 },
4303 { 43048, 43051 },
4304 { 43062, 43065 },
4305 { 43639, 43641 },
4306 { 43867, 43867 },
4307 { 64297, 64297 },
4308 { 64434, 64449 },
4309 { 65020, 65021 },
4310 { 65122, 65122 },
4311 { 65124, 65126 },
4312 { 65129, 65129 },
4313 { 65284, 65284 },
4314 { 65291, 65291 },
4315 { 65308, 65310 },
4316 { 65342, 65342 },
4317 { 65344, 65344 },
4318 { 65372, 65372 },
4319 { 65374, 65374 },
4320 { 65504, 65510 },
4321 { 65512, 65518 },
4322 { 65532, 65533 },
4323};
4324static const URange32 S_range32[] = {
4325 { 65847, 65855 },
4326 { 65913, 65929 },
4327 { 65932, 65934 },
4328 { 65936, 65947 },
4329 { 65952, 65952 },
4330 { 66000, 66044 },
4331 { 67703, 67704 },
4332 { 68296, 68296 },
4333 { 71487, 71487 },
4334 { 73685, 73713 },
4335 { 92988, 92991 },
4336 { 92997, 92997 },
4337 { 113820, 113820 },
4338 { 118784, 119029 },
4339 { 119040, 119078 },
4340 { 119081, 119140 },
4341 { 119146, 119148 },
4342 { 119171, 119172 },
4343 { 119180, 119209 },
4344 { 119214, 119272 },
4345 { 119296, 119361 },
4346 { 119365, 119365 },
4347 { 119552, 119638 },
4348 { 120513, 120513 },
4349 { 120539, 120539 },
4350 { 120571, 120571 },
4351 { 120597, 120597 },
4352 { 120629, 120629 },
4353 { 120655, 120655 },
4354 { 120687, 120687 },
4355 { 120713, 120713 },
4356 { 120745, 120745 },
4357 { 120771, 120771 },
4358 { 120832, 121343 },
4359 { 121399, 121402 },
4360 { 121453, 121460 },
4361 { 121462, 121475 },
4362 { 121477, 121478 },
4363 { 123215, 123215 },
4364 { 123647, 123647 },
4365 { 126124, 126124 },
4366 { 126128, 126128 },
4367 { 126254, 126254 },
4368 { 126704, 126705 },
4369 { 126976, 127019 },
4370 { 127024, 127123 },
4371 { 127136, 127150 },
4372 { 127153, 127167 },
4373 { 127169, 127183 },
4374 { 127185, 127221 },
4375 { 127248, 127340 },
4376 { 127344, 127404 },
4377 { 127462, 127490 },
4378 { 127504, 127547 },
4379 { 127552, 127560 },
4380 { 127568, 127569 },
4381 { 127584, 127589 },
4382 { 127744, 128725 },
4383 { 128736, 128748 },
4384 { 128752, 128762 },
4385 { 128768, 128883 },
4386 { 128896, 128984 },
4387 { 128992, 129003 },
4388 { 129024, 129035 },
4389 { 129040, 129095 },
4390 { 129104, 129113 },
4391 { 129120, 129159 },
4392 { 129168, 129197 },
4393 { 129280, 129291 },
4394 { 129293, 129393 },
4395 { 129395, 129398 },
4396 { 129402, 129442 },
4397 { 129445, 129450 },
4398 { 129454, 129482 },
4399 { 129485, 129619 },
4400 { 129632, 129645 },
4401 { 129648, 129651 },
4402 { 129656, 129658 },
4403 { 129664, 129666 },
4404 { 129680, 129685 },
4405};
4406static const URange16 Sc_range16[] = {
4407 { 36, 36 },
4408 { 162, 165 },
4409 { 1423, 1423 },
4410 { 1547, 1547 },
4411 { 2046, 2047 },
4412 { 2546, 2547 },
4413 { 2555, 2555 },
4414 { 2801, 2801 },
4415 { 3065, 3065 },
4416 { 3647, 3647 },
4417 { 6107, 6107 },
4418 { 8352, 8383 },
4419 { 43064, 43064 },
4420 { 65020, 65020 },
4421 { 65129, 65129 },
4422 { 65284, 65284 },
4423 { 65504, 65505 },
4424 { 65509, 65510 },
4425};
4426static const URange32 Sc_range32[] = {
4427 { 73693, 73696 },
4428 { 123647, 123647 },
4429 { 126128, 126128 },
4430};
4431static const URange16 Sk_range16[] = {
4432 { 94, 94 },
4433 { 96, 96 },
4434 { 168, 168 },
4435 { 175, 175 },
4436 { 180, 180 },
4437 { 184, 184 },
4438 { 706, 709 },
4439 { 722, 735 },
4440 { 741, 747 },
4441 { 749, 749 },
4442 { 751, 767 },
4443 { 885, 885 },
4444 { 900, 901 },
4445 { 8125, 8125 },
4446 { 8127, 8129 },
4447 { 8141, 8143 },
4448 { 8157, 8159 },
4449 { 8173, 8175 },
4450 { 8189, 8190 },
4451 { 12443, 12444 },
4452 { 42752, 42774 },
4453 { 42784, 42785 },
4454 { 42889, 42890 },
4455 { 43867, 43867 },
4456 { 64434, 64449 },
4457 { 65342, 65342 },
4458 { 65344, 65344 },
4459 { 65507, 65507 },
4460};
4461static const URange32 Sk_range32[] = {
4462 { 127995, 127999 },
4463};
4464static const URange16 Sm_range16[] = {
4465 { 43, 43 },
4466 { 60, 62 },
4467 { 124, 124 },
4468 { 126, 126 },
4469 { 172, 172 },
4470 { 177, 177 },
4471 { 215, 215 },
4472 { 247, 247 },
4473 { 1014, 1014 },
4474 { 1542, 1544 },
4475 { 8260, 8260 },
4476 { 8274, 8274 },
4477 { 8314, 8316 },
4478 { 8330, 8332 },
4479 { 8472, 8472 },
4480 { 8512, 8516 },
4481 { 8523, 8523 },
4482 { 8592, 8596 },
4483 { 8602, 8603 },
4484 { 8608, 8608 },
4485 { 8611, 8611 },
4486 { 8614, 8614 },
4487 { 8622, 8622 },
4488 { 8654, 8655 },
4489 { 8658, 8658 },
4490 { 8660, 8660 },
4491 { 8692, 8959 },
4492 { 8992, 8993 },
4493 { 9084, 9084 },
4494 { 9115, 9139 },
4495 { 9180, 9185 },
4496 { 9655, 9655 },
4497 { 9665, 9665 },
4498 { 9720, 9727 },
4499 { 9839, 9839 },
4500 { 10176, 10180 },
4501 { 10183, 10213 },
4502 { 10224, 10239 },
4503 { 10496, 10626 },
4504 { 10649, 10711 },
4505 { 10716, 10747 },
4506 { 10750, 11007 },
4507 { 11056, 11076 },
4508 { 11079, 11084 },
4509 { 64297, 64297 },
4510 { 65122, 65122 },
4511 { 65124, 65126 },
4512 { 65291, 65291 },
4513 { 65308, 65310 },
4514 { 65372, 65372 },
4515 { 65374, 65374 },
4516 { 65506, 65506 },
4517 { 65513, 65516 },
4518};
4519static const URange32 Sm_range32[] = {
4520 { 120513, 120513 },
4521 { 120539, 120539 },
4522 { 120571, 120571 },
4523 { 120597, 120597 },
4524 { 120629, 120629 },
4525 { 120655, 120655 },
4526 { 120687, 120687 },
4527 { 120713, 120713 },
4528 { 120745, 120745 },
4529 { 120771, 120771 },
4530 { 126704, 126705 },
4531};
4532static const URange16 So_range16[] = {
4533 { 166, 166 },
4534 { 169, 169 },
4535 { 174, 174 },
4536 { 176, 176 },
4537 { 1154, 1154 },
4538 { 1421, 1422 },
4539 { 1550, 1551 },
4540 { 1758, 1758 },
4541 { 1769, 1769 },
4542 { 1789, 1790 },
4543 { 2038, 2038 },
4544 { 2554, 2554 },
4545 { 2928, 2928 },
4546 { 3059, 3064 },
4547 { 3066, 3066 },
4548 { 3199, 3199 },
4549 { 3407, 3407 },
4550 { 3449, 3449 },
4551 { 3841, 3843 },
4552 { 3859, 3859 },
4553 { 3861, 3863 },
4554 { 3866, 3871 },
4555 { 3892, 3892 },
4556 { 3894, 3894 },
4557 { 3896, 3896 },
4558 { 4030, 4037 },
4559 { 4039, 4044 },
4560 { 4046, 4047 },
4561 { 4053, 4056 },
4562 { 4254, 4255 },
4563 { 5008, 5017 },
4564 { 5741, 5741 },
4565 { 6464, 6464 },
4566 { 6622, 6655 },
4567 { 7009, 7018 },
4568 { 7028, 7036 },
4569 { 8448, 8449 },
4570 { 8451, 8454 },
4571 { 8456, 8457 },
4572 { 8468, 8468 },
4573 { 8470, 8471 },
4574 { 8478, 8483 },
4575 { 8485, 8485 },
4576 { 8487, 8487 },
4577 { 8489, 8489 },
4578 { 8494, 8494 },
4579 { 8506, 8507 },
4580 { 8522, 8522 },
4581 { 8524, 8525 },
4582 { 8527, 8527 },
4583 { 8586, 8587 },
4584 { 8597, 8601 },
4585 { 8604, 8607 },
4586 { 8609, 8610 },
4587 { 8612, 8613 },
4588 { 8615, 8621 },
4589 { 8623, 8653 },
4590 { 8656, 8657 },
4591 { 8659, 8659 },
4592 { 8661, 8691 },
4593 { 8960, 8967 },
4594 { 8972, 8991 },
4595 { 8994, 9000 },
4596 { 9003, 9083 },
4597 { 9085, 9114 },
4598 { 9140, 9179 },
4599 { 9186, 9254 },
4600 { 9280, 9290 },
4601 { 9372, 9449 },
4602 { 9472, 9654 },
4603 { 9656, 9664 },
4604 { 9666, 9719 },
4605 { 9728, 9838 },
4606 { 9840, 10087 },
4607 { 10132, 10175 },
4608 { 10240, 10495 },
4609 { 11008, 11055 },
4610 { 11077, 11078 },
4611 { 11085, 11123 },
4612 { 11126, 11157 },
4613 { 11160, 11263 },
4614 { 11493, 11498 },
4615 { 11904, 11929 },
4616 { 11931, 12019 },
4617 { 12032, 12245 },
4618 { 12272, 12283 },
4619 { 12292, 12292 },
4620 { 12306, 12307 },
4621 { 12320, 12320 },
4622 { 12342, 12343 },
4623 { 12350, 12351 },
4624 { 12688, 12689 },
4625 { 12694, 12703 },
4626 { 12736, 12771 },
4627 { 12800, 12830 },
4628 { 12842, 12871 },
4629 { 12880, 12880 },
4630 { 12896, 12927 },
4631 { 12938, 12976 },
4632 { 12992, 13311 },
4633 { 19904, 19967 },
4634 { 42128, 42182 },
4635 { 43048, 43051 },
4636 { 43062, 43063 },
4637 { 43065, 43065 },
4638 { 43639, 43641 },
4639 { 65021, 65021 },
4640 { 65508, 65508 },
4641 { 65512, 65512 },
4642 { 65517, 65518 },
4643 { 65532, 65533 },
4644};
4645static const URange32 So_range32[] = {
4646 { 65847, 65855 },
4647 { 65913, 65929 },
4648 { 65932, 65934 },
4649 { 65936, 65947 },
4650 { 65952, 65952 },
4651 { 66000, 66044 },
4652 { 67703, 67704 },
4653 { 68296, 68296 },
4654 { 71487, 71487 },
4655 { 73685, 73692 },
4656 { 73697, 73713 },
4657 { 92988, 92991 },
4658 { 92997, 92997 },
4659 { 113820, 113820 },
4660 { 118784, 119029 },
4661 { 119040, 119078 },
4662 { 119081, 119140 },
4663 { 119146, 119148 },
4664 { 119171, 119172 },
4665 { 119180, 119209 },
4666 { 119214, 119272 },
4667 { 119296, 119361 },
4668 { 119365, 119365 },
4669 { 119552, 119638 },
4670 { 120832, 121343 },
4671 { 121399, 121402 },
4672 { 121453, 121460 },
4673 { 121462, 121475 },
4674 { 121477, 121478 },
4675 { 123215, 123215 },
4676 { 126124, 126124 },
4677 { 126254, 126254 },
4678 { 126976, 127019 },
4679 { 127024, 127123 },
4680 { 127136, 127150 },
4681 { 127153, 127167 },
4682 { 127169, 127183 },
4683 { 127185, 127221 },
4684 { 127248, 127340 },
4685 { 127344, 127404 },
4686 { 127462, 127490 },
4687 { 127504, 127547 },
4688 { 127552, 127560 },
4689 { 127568, 127569 },
4690 { 127584, 127589 },
4691 { 127744, 127994 },
4692 { 128000, 128725 },
4693 { 128736, 128748 },
4694 { 128752, 128762 },
4695 { 128768, 128883 },
4696 { 128896, 128984 },
4697 { 128992, 129003 },
4698 { 129024, 129035 },
4699 { 129040, 129095 },
4700 { 129104, 129113 },
4701 { 129120, 129159 },
4702 { 129168, 129197 },
4703 { 129280, 129291 },
4704 { 129293, 129393 },
4705 { 129395, 129398 },
4706 { 129402, 129442 },
4707 { 129445, 129450 },
4708 { 129454, 129482 },
4709 { 129485, 129619 },
4710 { 129632, 129645 },
4711 { 129648, 129651 },
4712 { 129656, 129658 },
4713 { 129664, 129666 },
4714 { 129680, 129685 },
4715};
4716static const URange16 Z_range16[] = {
4717 { 32, 32 },
4718 { 160, 160 },
4719 { 5760, 5760 },
4720 { 8192, 8202 },
4721 { 8232, 8233 },
4722 { 8239, 8239 },
4723 { 8287, 8287 },
4724 { 12288, 12288 },
4725};
4726static const URange16 Zl_range16[] = {
4727 { 8232, 8232 },
4728};
4729static const URange16 Zp_range16[] = {
4730 { 8233, 8233 },
4731};
4732static const URange16 Zs_range16[] = {
4733 { 32, 32 },
4734 { 160, 160 },
4735 { 5760, 5760 },
4736 { 8192, 8202 },
4737 { 8239, 8239 },
4738 { 8287, 8287 },
4739 { 12288, 12288 },
4740};
4741static const URange32 Adlam_range32[] = {
4742 { 125184, 125259 },
4743 { 125264, 125273 },
4744 { 125278, 125279 },
4745};
4746static const URange32 Ahom_range32[] = {
4747 { 71424, 71450 },
4748 { 71453, 71467 },
4749 { 71472, 71487 },
4750};
4751static const URange32 Anatolian_Hieroglyphs_range32[] = {
4752 { 82944, 83526 },
4753};
4754static const URange16 Arabic_range16[] = {
4755 { 1536, 1540 },
4756 { 1542, 1547 },
4757 { 1549, 1562 },
4758 { 1564, 1564 },
4759 { 1566, 1566 },
4760 { 1568, 1599 },
4761 { 1601, 1610 },
4762 { 1622, 1647 },
4763 { 1649, 1756 },
4764 { 1758, 1791 },
4765 { 1872, 1919 },
4766 { 2208, 2228 },
4767 { 2230, 2237 },
4768 { 2259, 2273 },
4769 { 2275, 2303 },
4770 { 64336, 64449 },
4771 { 64467, 64829 },
4772 { 64848, 64911 },
4773 { 64914, 64967 },
4774 { 65008, 65021 },
4775 { 65136, 65140 },
4776 { 65142, 65276 },
4777};
4778static const URange32 Arabic_range32[] = {
4779 { 69216, 69246 },
4780 { 126464, 126467 },
4781 { 126469, 126495 },
4782 { 126497, 126498 },
4783 { 126500, 126500 },
4784 { 126503, 126503 },
4785 { 126505, 126514 },
4786 { 126516, 126519 },
4787 { 126521, 126521 },
4788 { 126523, 126523 },
4789 { 126530, 126530 },
4790 { 126535, 126535 },
4791 { 126537, 126537 },
4792 { 126539, 126539 },
4793 { 126541, 126543 },
4794 { 126545, 126546 },
4795 { 126548, 126548 },
4796 { 126551, 126551 },
4797 { 126553, 126553 },
4798 { 126555, 126555 },
4799 { 126557, 126557 },
4800 { 126559, 126559 },
4801 { 126561, 126562 },
4802 { 126564, 126564 },
4803 { 126567, 126570 },
4804 { 126572, 126578 },
4805 { 126580, 126583 },
4806 { 126585, 126588 },
4807 { 126590, 126590 },
4808 { 126592, 126601 },
4809 { 126603, 126619 },
4810 { 126625, 126627 },
4811 { 126629, 126633 },
4812 { 126635, 126651 },
4813 { 126704, 126705 },
4814};
4815static const URange16 Armenian_range16[] = {
4816 { 1329, 1366 },
4817 { 1369, 1416 },
4818 { 1418, 1418 },
4819 { 1421, 1423 },
4820 { 64275, 64279 },
4821};
4822static const URange32 Avestan_range32[] = {
4823 { 68352, 68405 },
4824 { 68409, 68415 },
4825};
4826static const URange16 Balinese_range16[] = {
4827 { 6912, 6987 },
4828 { 6992, 7036 },
4829};
4830static const URange16 Bamum_range16[] = {
4831 { 42656, 42743 },
4832};
4833static const URange32 Bamum_range32[] = {
4834 { 92160, 92728 },
4835};
4836static const URange32 Bassa_Vah_range32[] = {
4837 { 92880, 92909 },
4838 { 92912, 92917 },
4839};
4840static const URange16 Batak_range16[] = {
4841 { 7104, 7155 },
4842 { 7164, 7167 },
4843};
4844static const URange16 Bengali_range16[] = {
4845 { 2432, 2435 },
4846 { 2437, 2444 },
4847 { 2447, 2448 },
4848 { 2451, 2472 },
4849 { 2474, 2480 },
4850 { 2482, 2482 },
4851 { 2486, 2489 },
4852 { 2492, 2500 },
4853 { 2503, 2504 },
4854 { 2507, 2510 },
4855 { 2519, 2519 },
4856 { 2524, 2525 },
4857 { 2527, 2531 },
4858 { 2534, 2558 },
4859};
4860static const URange32 Bhaiksuki_range32[] = {
4861 { 72704, 72712 },
4862 { 72714, 72758 },
4863 { 72760, 72773 },
4864 { 72784, 72812 },
4865};
4866static const URange16 Bopomofo_range16[] = {
4867 { 746, 747 },
4868 { 12549, 12591 },
4869 { 12704, 12730 },
4870};
4871static const URange32 Brahmi_range32[] = {
4872 { 69632, 69709 },
4873 { 69714, 69743 },
4874 { 69759, 69759 },
4875};
4876static const URange16 Braille_range16[] = {
4877 { 10240, 10495 },
4878};
4879static const URange16 Buginese_range16[] = {
4880 { 6656, 6683 },
4881 { 6686, 6687 },
4882};
4883static const URange16 Buhid_range16[] = {
4884 { 5952, 5971 },
4885};
4886static const URange16 Canadian_Aboriginal_range16[] = {
4887 { 5120, 5759 },
4888 { 6320, 6389 },
4889};
4890static const URange32 Carian_range32[] = {
4891 { 66208, 66256 },
4892};
4893static const URange32 Caucasian_Albanian_range32[] = {
4894 { 66864, 66915 },
4895 { 66927, 66927 },
4896};
4897static const URange32 Chakma_range32[] = {
4898 { 69888, 69940 },
4899 { 69942, 69958 },
4900};
4901static const URange16 Cham_range16[] = {
4902 { 43520, 43574 },
4903 { 43584, 43597 },
4904 { 43600, 43609 },
4905 { 43612, 43615 },
4906};
4907static const URange16 Cherokee_range16[] = {
4908 { 5024, 5109 },
4909 { 5112, 5117 },
4910 { 43888, 43967 },
4911};
4912static const URange16 Common_range16[] = {
4913 { 0, 64 },
4914 { 91, 96 },
4915 { 123, 169 },
4916 { 171, 185 },
4917 { 187, 191 },
4918 { 215, 215 },
4919 { 247, 247 },
4920 { 697, 735 },
4921 { 741, 745 },
4922 { 748, 767 },
4923 { 884, 884 },
4924 { 894, 894 },
4925 { 901, 901 },
4926 { 903, 903 },
4927 { 1417, 1417 },
4928 { 1541, 1541 },
4929 { 1548, 1548 },
4930 { 1563, 1563 },
4931 { 1567, 1567 },
4932 { 1600, 1600 },
4933 { 1757, 1757 },
4934 { 2274, 2274 },
4935 { 2404, 2405 },
4936 { 3647, 3647 },
4937 { 4053, 4056 },
4938 { 4347, 4347 },
4939 { 5867, 5869 },
4940 { 5941, 5942 },
4941 { 6146, 6147 },
4942 { 6149, 6149 },
4943 { 7379, 7379 },
4944 { 7393, 7393 },
4945 { 7401, 7404 },
4946 { 7406, 7411 },
4947 { 7413, 7415 },
4948 { 7418, 7418 },
4949 { 8192, 8203 },
4950 { 8206, 8292 },
4951 { 8294, 8304 },
4952 { 8308, 8318 },
4953 { 8320, 8334 },
4954 { 8352, 8383 },
4955 { 8448, 8485 },
4956 { 8487, 8489 },
4957 { 8492, 8497 },
4958 { 8499, 8525 },
4959 { 8527, 8543 },
4960 { 8585, 8587 },
4961 { 8592, 9254 },
4962 { 9280, 9290 },
4963 { 9312, 10239 },
4964 { 10496, 11123 },
4965 { 11126, 11157 },
4966 { 11160, 11263 },
4967 { 11776, 11855 },
4968 { 12272, 12283 },
4969 { 12288, 12292 },
4970 { 12294, 12294 },
4971 { 12296, 12320 },
4972 { 12336, 12343 },
4973 { 12348, 12351 },
4974 { 12443, 12444 },
4975 { 12448, 12448 },
4976 { 12539, 12540 },
4977 { 12688, 12703 },
4978 { 12736, 12771 },
4979 { 12832, 12895 },
4980 { 12927, 13007 },
4981 { 13055, 13055 },
4982 { 13144, 13311 },
4983 { 19904, 19967 },
4984 { 42752, 42785 },
4985 { 42888, 42890 },
4986 { 43056, 43065 },
4987 { 43310, 43310 },
4988 { 43471, 43471 },
4989 { 43867, 43867 },
4990 { 64830, 64831 },
4991 { 65040, 65049 },
4992 { 65072, 65106 },
4993 { 65108, 65126 },
4994 { 65128, 65131 },
4995 { 65279, 65279 },
4996 { 65281, 65312 },
4997 { 65339, 65344 },
4998 { 65371, 65381 },
4999 { 65392, 65392 },
5000 { 65438, 65439 },
5001 { 65504, 65510 },
5002 { 65512, 65518 },
5003 { 65529, 65533 },
5004};
5005static const URange32 Common_range32[] = {
5006 { 65792, 65794 },
5007 { 65799, 65843 },
5008 { 65847, 65855 },
5009 { 65936, 65947 },
5010 { 66000, 66044 },
5011 { 66273, 66299 },
5012 { 94178, 94179 },
5013 { 113824, 113827 },
5014 { 118784, 119029 },
5015 { 119040, 119078 },
5016 { 119081, 119142 },
5017 { 119146, 119162 },
5018 { 119171, 119172 },
5019 { 119180, 119209 },
5020 { 119214, 119272 },
5021 { 119520, 119539 },
5022 { 119552, 119638 },
5023 { 119648, 119672 },
5024 { 119808, 119892 },
5025 { 119894, 119964 },
5026 { 119966, 119967 },
5027 { 119970, 119970 },
5028 { 119973, 119974 },
5029 { 119977, 119980 },
5030 { 119982, 119993 },
5031 { 119995, 119995 },
5032 { 119997, 120003 },
5033 { 120005, 120069 },
5034 { 120071, 120074 },
5035 { 120077, 120084 },
5036 { 120086, 120092 },
5037 { 120094, 120121 },
5038 { 120123, 120126 },
5039 { 120128, 120132 },
5040 { 120134, 120134 },
5041 { 120138, 120144 },
5042 { 120146, 120485 },
5043 { 120488, 120779 },
5044 { 120782, 120831 },
5045 { 126065, 126132 },
5046 { 126209, 126269 },
5047 { 126976, 127019 },
5048 { 127024, 127123 },
5049 { 127136, 127150 },
5050 { 127153, 127167 },
5051 { 127169, 127183 },
5052 { 127185, 127221 },
5053 { 127232, 127244 },
5054 { 127248, 127340 },
5055 { 127344, 127404 },
5056 { 127462, 127487 },
5057 { 127489, 127490 },
5058 { 127504, 127547 },
5059 { 127552, 127560 },
5060 { 127568, 127569 },
5061 { 127584, 127589 },
5062 { 127744, 128725 },
5063 { 128736, 128748 },
5064 { 128752, 128762 },
5065 { 128768, 128883 },
5066 { 128896, 128984 },
5067 { 128992, 129003 },
5068 { 129024, 129035 },
5069 { 129040, 129095 },
5070 { 129104, 129113 },
5071 { 129120, 129159 },
5072 { 129168, 129197 },
5073 { 129280, 129291 },
5074 { 129293, 129393 },
5075 { 129395, 129398 },
5076 { 129402, 129442 },
5077 { 129445, 129450 },
5078 { 129454, 129482 },
5079 { 129485, 129619 },
5080 { 129632, 129645 },
5081 { 129648, 129651 },
5082 { 129656, 129658 },
5083 { 129664, 129666 },
5084 { 129680, 129685 },
5085 { 917505, 917505 },
5086 { 917536, 917631 },
5087};
5088static const URange16 Coptic_range16[] = {
5089 { 994, 1007 },
5090 { 11392, 11507 },
5091 { 11513, 11519 },
5092};
5093static const URange32 Cuneiform_range32[] = {
5094 { 73728, 74649 },
5095 { 74752, 74862 },
5096 { 74864, 74868 },
5097 { 74880, 75075 },
5098};
5099static const URange32 Cypriot_range32[] = {
5100 { 67584, 67589 },
5101 { 67592, 67592 },
5102 { 67594, 67637 },
5103 { 67639, 67640 },
5104 { 67644, 67644 },
5105 { 67647, 67647 },
5106};
5107static const URange16 Cyrillic_range16[] = {
5108 { 1024, 1156 },
5109 { 1159, 1327 },
5110 { 7296, 7304 },
5111 { 7467, 7467 },
5112 { 7544, 7544 },
5113 { 11744, 11775 },
5114 { 42560, 42655 },
5115 { 65070, 65071 },
5116};
5117static const URange32 Deseret_range32[] = {
5118 { 66560, 66639 },
5119};
5120static const URange16 Devanagari_range16[] = {
5121 { 2304, 2384 },
5122 { 2389, 2403 },
5123 { 2406, 2431 },
5124 { 43232, 43263 },
5125};
5126static const URange32 Dogra_range32[] = {
5127 { 71680, 71739 },
5128};
5129static const URange32 Duployan_range32[] = {
5130 { 113664, 113770 },
5131 { 113776, 113788 },
5132 { 113792, 113800 },
5133 { 113808, 113817 },
5134 { 113820, 113823 },
5135};
5136static const URange32 Egyptian_Hieroglyphs_range32[] = {
5137 { 77824, 78894 },
5138 { 78896, 78904 },
5139};
5140static const URange32 Elbasan_range32[] = {
5141 { 66816, 66855 },
5142};
5143static const URange32 Elymaic_range32[] = {
5144 { 69600, 69622 },
5145};
5146static const URange16 Ethiopic_range16[] = {
5147 { 4608, 4680 },
5148 { 4682, 4685 },
5149 { 4688, 4694 },
5150 { 4696, 4696 },
5151 { 4698, 4701 },
5152 { 4704, 4744 },
5153 { 4746, 4749 },
5154 { 4752, 4784 },
5155 { 4786, 4789 },
5156 { 4792, 4798 },
5157 { 4800, 4800 },
5158 { 4802, 4805 },
5159 { 4808, 4822 },
5160 { 4824, 4880 },
5161 { 4882, 4885 },
5162 { 4888, 4954 },
5163 { 4957, 4988 },
5164 { 4992, 5017 },
5165 { 11648, 11670 },
5166 { 11680, 11686 },
5167 { 11688, 11694 },
5168 { 11696, 11702 },
5169 { 11704, 11710 },
5170 { 11712, 11718 },
5171 { 11720, 11726 },
5172 { 11728, 11734 },
5173 { 11736, 11742 },
5174 { 43777, 43782 },
5175 { 43785, 43790 },
5176 { 43793, 43798 },
5177 { 43808, 43814 },
5178 { 43816, 43822 },
5179};
5180static const URange16 Georgian_range16[] = {
5181 { 4256, 4293 },
5182 { 4295, 4295 },
5183 { 4301, 4301 },
5184 { 4304, 4346 },
5185 { 4348, 4351 },
5186 { 7312, 7354 },
5187 { 7357, 7359 },
5188 { 11520, 11557 },
5189 { 11559, 11559 },
5190 { 11565, 11565 },
5191};
5192static const URange16 Glagolitic_range16[] = {
5193 { 11264, 11310 },
5194 { 11312, 11358 },
5195};
5196static const URange32 Glagolitic_range32[] = {
5197 { 122880, 122886 },
5198 { 122888, 122904 },
5199 { 122907, 122913 },
5200 { 122915, 122916 },
5201 { 122918, 122922 },
5202};
5203static const URange32 Gothic_range32[] = {
5204 { 66352, 66378 },
5205};
5206static const URange32 Grantha_range32[] = {
5207 { 70400, 70403 },
5208 { 70405, 70412 },
5209 { 70415, 70416 },
5210 { 70419, 70440 },
5211 { 70442, 70448 },
5212 { 70450, 70451 },
5213 { 70453, 70457 },
5214 { 70460, 70468 },
5215 { 70471, 70472 },
5216 { 70475, 70477 },
5217 { 70480, 70480 },
5218 { 70487, 70487 },
5219 { 70493, 70499 },
5220 { 70502, 70508 },
5221 { 70512, 70516 },
5222};
5223static const URange16 Greek_range16[] = {
5224 { 880, 883 },
5225 { 885, 887 },
5226 { 890, 893 },
5227 { 895, 895 },
5228 { 900, 900 },
5229 { 902, 902 },
5230 { 904, 906 },
5231 { 908, 908 },
5232 { 910, 929 },
5233 { 931, 993 },
5234 { 1008, 1023 },
5235 { 7462, 7466 },
5236 { 7517, 7521 },
5237 { 7526, 7530 },
5238 { 7615, 7615 },
5239 { 7936, 7957 },
5240 { 7960, 7965 },
5241 { 7968, 8005 },
5242 { 8008, 8013 },
5243 { 8016, 8023 },
5244 { 8025, 8025 },
5245 { 8027, 8027 },
5246 { 8029, 8029 },
5247 { 8031, 8061 },
5248 { 8064, 8116 },
5249 { 8118, 8132 },
5250 { 8134, 8147 },
5251 { 8150, 8155 },
5252 { 8157, 8175 },
5253 { 8178, 8180 },
5254 { 8182, 8190 },
5255 { 8486, 8486 },
5256 { 43877, 43877 },
5257};
5258static const URange32 Greek_range32[] = {
5259 { 65856, 65934 },
5260 { 65952, 65952 },
5261 { 119296, 119365 },
5262};
5263static const URange16 Gujarati_range16[] = {
5264 { 2689, 2691 },
5265 { 2693, 2701 },
5266 { 2703, 2705 },
5267 { 2707, 2728 },
5268 { 2730, 2736 },
5269 { 2738, 2739 },
5270 { 2741, 2745 },
5271 { 2748, 2757 },
5272 { 2759, 2761 },
5273 { 2763, 2765 },
5274 { 2768, 2768 },
5275 { 2784, 2787 },
5276 { 2790, 2801 },
5277 { 2809, 2815 },
5278};
5279static const URange32 Gunjala_Gondi_range32[] = {
5280 { 73056, 73061 },
5281 { 73063, 73064 },
5282 { 73066, 73102 },
5283 { 73104, 73105 },
5284 { 73107, 73112 },
5285 { 73120, 73129 },
5286};
5287static const URange16 Gurmukhi_range16[] = {
5288 { 2561, 2563 },
5289 { 2565, 2570 },
5290 { 2575, 2576 },
5291 { 2579, 2600 },
5292 { 2602, 2608 },
5293 { 2610, 2611 },
5294 { 2613, 2614 },
5295 { 2616, 2617 },
5296 { 2620, 2620 },
5297 { 2622, 2626 },
5298 { 2631, 2632 },
5299 { 2635, 2637 },
5300 { 2641, 2641 },
5301 { 2649, 2652 },
5302 { 2654, 2654 },
5303 { 2662, 2678 },
5304};
5305static const URange16 Han_range16[] = {
5306 { 11904, 11929 },
5307 { 11931, 12019 },
5308 { 12032, 12245 },
5309 { 12293, 12293 },
5310 { 12295, 12295 },
5311 { 12321, 12329 },
5312 { 12344, 12347 },
5313 { 13312, 19893 },
5314 { 19968, 40943 },
5315 { 63744, 64109 },
5316 { 64112, 64217 },
5317};
5318static const URange32 Han_range32[] = {
5319 { 131072, 173782 },
5320 { 173824, 177972 },
5321 { 177984, 178205 },
5322 { 178208, 183969 },
5323 { 183984, 191456 },
5324 { 194560, 195101 },
5325};
5326static const URange16 Hangul_range16[] = {
5327 { 4352, 4607 },
5328 { 12334, 12335 },
5329 { 12593, 12686 },
5330 { 12800, 12830 },
5331 { 12896, 12926 },
5332 { 43360, 43388 },
5333 { 44032, 55203 },
5334 { 55216, 55238 },
5335 { 55243, 55291 },
5336 { 65440, 65470 },
5337 { 65474, 65479 },
5338 { 65482, 65487 },
5339 { 65490, 65495 },
5340 { 65498, 65500 },
5341};
5342static const URange32 Hanifi_Rohingya_range32[] = {
5343 { 68864, 68903 },
5344 { 68912, 68921 },
5345};
5346static const URange16 Hanunoo_range16[] = {
5347 { 5920, 5940 },
5348};
5349static const URange32 Hatran_range32[] = {
5350 { 67808, 67826 },
5351 { 67828, 67829 },
5352 { 67835, 67839 },
5353};
5354static const URange16 Hebrew_range16[] = {
5355 { 1425, 1479 },
5356 { 1488, 1514 },
5357 { 1519, 1524 },
5358 { 64285, 64310 },
5359 { 64312, 64316 },
5360 { 64318, 64318 },
5361 { 64320, 64321 },
5362 { 64323, 64324 },
5363 { 64326, 64335 },
5364};
5365static const URange16 Hiragana_range16[] = {
5366 { 12353, 12438 },
5367 { 12445, 12447 },
5368};
5369static const URange32 Hiragana_range32[] = {
5370 { 110593, 110878 },
5371 { 110928, 110930 },
5372 { 127488, 127488 },
5373};
5374static const URange32 Imperial_Aramaic_range32[] = {
5375 { 67648, 67669 },
5376 { 67671, 67679 },
5377};
5378static const URange16 Inherited_range16[] = {
5379 { 768, 879 },
5380 { 1157, 1158 },
5381 { 1611, 1621 },
5382 { 1648, 1648 },
5383 { 2385, 2388 },
5384 { 6832, 6846 },
5385 { 7376, 7378 },
5386 { 7380, 7392 },
5387 { 7394, 7400 },
5388 { 7405, 7405 },
5389 { 7412, 7412 },
5390 { 7416, 7417 },
5391 { 7616, 7673 },
5392 { 7675, 7679 },
5393 { 8204, 8205 },
5394 { 8400, 8432 },
5395 { 12330, 12333 },
5396 { 12441, 12442 },
5397 { 65024, 65039 },
5398 { 65056, 65069 },
5399};
5400static const URange32 Inherited_range32[] = {
5401 { 66045, 66045 },
5402 { 66272, 66272 },
5403 { 70459, 70459 },
5404 { 119143, 119145 },
5405 { 119163, 119170 },
5406 { 119173, 119179 },
5407 { 119210, 119213 },
5408 { 917760, 917999 },
5409};
5410static const URange32 Inscriptional_Pahlavi_range32[] = {
5411 { 68448, 68466 },
5412 { 68472, 68479 },
5413};
5414static const URange32 Inscriptional_Parthian_range32[] = {
5415 { 68416, 68437 },
5416 { 68440, 68447 },
5417};
5418static const URange16 Javanese_range16[] = {
5419 { 43392, 43469 },
5420 { 43472, 43481 },
5421 { 43486, 43487 },
5422};
5423static const URange32 Kaithi_range32[] = {
5424 { 69760, 69825 },
5425 { 69837, 69837 },
5426};
5427static const URange16 Kannada_range16[] = {
5428 { 3200, 3212 },
5429 { 3214, 3216 },
5430 { 3218, 3240 },
5431 { 3242, 3251 },
5432 { 3253, 3257 },
5433 { 3260, 3268 },
5434 { 3270, 3272 },
5435 { 3274, 3277 },
5436 { 3285, 3286 },
5437 { 3294, 3294 },
5438 { 3296, 3299 },
5439 { 3302, 3311 },
5440 { 3313, 3314 },
5441};
5442static const URange16 Katakana_range16[] = {
5443 { 12449, 12538 },
5444 { 12541, 12543 },
5445 { 12784, 12799 },
5446 { 13008, 13054 },
5447 { 13056, 13143 },
5448 { 65382, 65391 },
5449 { 65393, 65437 },
5450};
5451static const URange32 Katakana_range32[] = {
5452 { 110592, 110592 },
5453 { 110948, 110951 },
5454};
5455static const URange16 Kayah_Li_range16[] = {
5456 { 43264, 43309 },
5457 { 43311, 43311 },
5458};
5459static const URange32 Kharoshthi_range32[] = {
5460 { 68096, 68099 },
5461 { 68101, 68102 },
5462 { 68108, 68115 },
5463 { 68117, 68119 },
5464 { 68121, 68149 },
5465 { 68152, 68154 },
5466 { 68159, 68168 },
5467 { 68176, 68184 },
5468};
5469static const URange16 Khmer_range16[] = {
5470 { 6016, 6109 },
5471 { 6112, 6121 },
5472 { 6128, 6137 },
5473 { 6624, 6655 },
5474};
5475static const URange32 Khojki_range32[] = {
5476 { 70144, 70161 },
5477 { 70163, 70206 },
5478};
5479static const URange32 Khudawadi_range32[] = {
5480 { 70320, 70378 },
5481 { 70384, 70393 },
5482};
5483static const URange16 Lao_range16[] = {
5484 { 3713, 3714 },
5485 { 3716, 3716 },
5486 { 3718, 3722 },
5487 { 3724, 3747 },
5488 { 3749, 3749 },
5489 { 3751, 3773 },
5490 { 3776, 3780 },
5491 { 3782, 3782 },
5492 { 3784, 3789 },
5493 { 3792, 3801 },
5494 { 3804, 3807 },
5495};
5496static const URange16 Latin_range16[] = {
5497 { 65, 90 },
5498 { 97, 122 },
5499 { 170, 170 },
5500 { 186, 186 },
5501 { 192, 214 },
5502 { 216, 246 },
5503 { 248, 696 },
5504 { 736, 740 },
5505 { 7424, 7461 },
5506 { 7468, 7516 },
5507 { 7522, 7525 },
5508 { 7531, 7543 },
5509 { 7545, 7614 },
5510 { 7680, 7935 },
5511 { 8305, 8305 },
5512 { 8319, 8319 },
5513 { 8336, 8348 },
5514 { 8490, 8491 },
5515 { 8498, 8498 },
5516 { 8526, 8526 },
5517 { 8544, 8584 },
5518 { 11360, 11391 },
5519 { 42786, 42887 },
5520 { 42891, 42943 },
5521 { 42946, 42950 },
5522 { 42999, 43007 },
5523 { 43824, 43866 },
5524 { 43868, 43876 },
5525 { 43878, 43879 },
5526 { 64256, 64262 },
5527 { 65313, 65338 },
5528 { 65345, 65370 },
5529};
5530static const URange16 Lepcha_range16[] = {
5531 { 7168, 7223 },
5532 { 7227, 7241 },
5533 { 7245, 7247 },
5534};
5535static const URange16 Limbu_range16[] = {
5536 { 6400, 6430 },
5537 { 6432, 6443 },
5538 { 6448, 6459 },
5539 { 6464, 6464 },
5540 { 6468, 6479 },
5541};
5542static const URange32 Linear_A_range32[] = {
5543 { 67072, 67382 },
5544 { 67392, 67413 },
5545 { 67424, 67431 },
5546};
5547static const URange32 Linear_B_range32[] = {
5548 { 65536, 65547 },
5549 { 65549, 65574 },
5550 { 65576, 65594 },
5551 { 65596, 65597 },
5552 { 65599, 65613 },
5553 { 65616, 65629 },
5554 { 65664, 65786 },
5555};
5556static const URange16 Lisu_range16[] = {
5557 { 42192, 42239 },
5558};
5559static const URange32 Lycian_range32[] = {
5560 { 66176, 66204 },
5561};
5562static const URange32 Lydian_range32[] = {
5563 { 67872, 67897 },
5564 { 67903, 67903 },
5565};
5566static const URange32 Mahajani_range32[] = {
5567 { 69968, 70006 },
5568};
5569static const URange32 Makasar_range32[] = {
5570 { 73440, 73464 },
5571};
5572static const URange16 Malayalam_range16[] = {
5573 { 3328, 3331 },
5574 { 3333, 3340 },
5575 { 3342, 3344 },
5576 { 3346, 3396 },
5577 { 3398, 3400 },
5578 { 3402, 3407 },
5579 { 3412, 3427 },
5580 { 3430, 3455 },
5581};
5582static const URange16 Mandaic_range16[] = {
5583 { 2112, 2139 },
5584 { 2142, 2142 },
5585};
5586static const URange32 Manichaean_range32[] = {
5587 { 68288, 68326 },
5588 { 68331, 68342 },
5589};
5590static const URange32 Marchen_range32[] = {
5591 { 72816, 72847 },
5592 { 72850, 72871 },
5593 { 72873, 72886 },
5594};
5595static const URange32 Masaram_Gondi_range32[] = {
5596 { 72960, 72966 },
5597 { 72968, 72969 },
5598 { 72971, 73014 },
5599 { 73018, 73018 },
5600 { 73020, 73021 },
5601 { 73023, 73031 },
5602 { 73040, 73049 },
5603};
5604static const URange32 Medefaidrin_range32[] = {
5605 { 93760, 93850 },
5606};
5607static const URange16 Meetei_Mayek_range16[] = {
5608 { 43744, 43766 },
5609 { 43968, 44013 },
5610 { 44016, 44025 },
5611};
5612static const URange32 Mende_Kikakui_range32[] = {
5613 { 124928, 125124 },
5614 { 125127, 125142 },
5615};
5616static const URange32 Meroitic_Cursive_range32[] = {
5617 { 68000, 68023 },
5618 { 68028, 68047 },
5619 { 68050, 68095 },
5620};
5621static const URange32 Meroitic_Hieroglyphs_range32[] = {
5622 { 67968, 67999 },
5623};
5624static const URange32 Miao_range32[] = {
5625 { 93952, 94026 },
5626 { 94031, 94087 },
5627 { 94095, 94111 },
5628};
5629static const URange32 Modi_range32[] = {
5630 { 71168, 71236 },
5631 { 71248, 71257 },
5632};
5633static const URange16 Mongolian_range16[] = {
5634 { 6144, 6145 },
5635 { 6148, 6148 },
5636 { 6150, 6158 },
5637 { 6160, 6169 },
5638 { 6176, 6264 },
5639 { 6272, 6314 },
5640};
5641static const URange32 Mongolian_range32[] = {
5642 { 71264, 71276 },
5643};
5644static const URange32 Mro_range32[] = {
5645 { 92736, 92766 },
5646 { 92768, 92777 },
5647 { 92782, 92783 },
5648};
5649static const URange32 Multani_range32[] = {
5650 { 70272, 70278 },
5651 { 70280, 70280 },
5652 { 70282, 70285 },
5653 { 70287, 70301 },
5654 { 70303, 70313 },
5655};
5656static const URange16 Myanmar_range16[] = {
5657 { 4096, 4255 },
5658 { 43488, 43518 },
5659 { 43616, 43647 },
5660};
5661static const URange32 Nabataean_range32[] = {
5662 { 67712, 67742 },
5663 { 67751, 67759 },
5664};
5665static const URange32 Nandinagari_range32[] = {
5666 { 72096, 72103 },
5667 { 72106, 72151 },
5668 { 72154, 72164 },
5669};
5670static const URange16 New_Tai_Lue_range16[] = {
5671 { 6528, 6571 },
5672 { 6576, 6601 },
5673 { 6608, 6618 },
5674 { 6622, 6623 },
5675};
5676static const URange32 Newa_range32[] = {
5677 { 70656, 70745 },
5678 { 70747, 70747 },
5679 { 70749, 70751 },
5680};
5681static const URange16 Nko_range16[] = {
5682 { 1984, 2042 },
5683 { 2045, 2047 },
5684};
5685static const URange32 Nushu_range32[] = {
5686 { 94177, 94177 },
5687 { 110960, 111355 },
5688};
5689static const URange32 Nyiakeng_Puachue_Hmong_range32[] = {
5690 { 123136, 123180 },
5691 { 123184, 123197 },
5692 { 123200, 123209 },
5693 { 123214, 123215 },
5694};
5695static const URange16 Ogham_range16[] = {
5696 { 5760, 5788 },
5697};
5698static const URange16 Ol_Chiki_range16[] = {
5699 { 7248, 7295 },
5700};
5701static const URange32 Old_Hungarian_range32[] = {
5702 { 68736, 68786 },
5703 { 68800, 68850 },
5704 { 68858, 68863 },
5705};
5706static const URange32 Old_Italic_range32[] = {
5707 { 66304, 66339 },
5708 { 66349, 66351 },
5709};
5710static const URange32 Old_North_Arabian_range32[] = {
5711 { 68224, 68255 },
5712};
5713static const URange32 Old_Permic_range32[] = {
5714 { 66384, 66426 },
5715};
5716static const URange32 Old_Persian_range32[] = {
5717 { 66464, 66499 },
5718 { 66504, 66517 },
5719};
5720static const URange32 Old_Sogdian_range32[] = {
5721 { 69376, 69415 },
5722};
5723static const URange32 Old_South_Arabian_range32[] = {
5724 { 68192, 68223 },
5725};
5726static const URange32 Old_Turkic_range32[] = {
5727 { 68608, 68680 },
5728};
5729static const URange16 Oriya_range16[] = {
5730 { 2817, 2819 },
5731 { 2821, 2828 },
5732 { 2831, 2832 },
5733 { 2835, 2856 },
5734 { 2858, 2864 },
5735 { 2866, 2867 },
5736 { 2869, 2873 },
5737 { 2876, 2884 },
5738 { 2887, 2888 },
5739 { 2891, 2893 },
5740 { 2902, 2903 },
5741 { 2908, 2909 },
5742 { 2911, 2915 },
5743 { 2918, 2935 },
5744};
5745static const URange32 Osage_range32[] = {
5746 { 66736, 66771 },
5747 { 66776, 66811 },
5748};
5749static const URange32 Osmanya_range32[] = {
5750 { 66688, 66717 },
5751 { 66720, 66729 },
5752};
5753static const URange32 Pahawh_Hmong_range32[] = {
5754 { 92928, 92997 },
5755 { 93008, 93017 },
5756 { 93019, 93025 },
5757 { 93027, 93047 },
5758 { 93053, 93071 },
5759};
5760static const URange32 Palmyrene_range32[] = {
5761 { 67680, 67711 },
5762};
5763static const URange32 Pau_Cin_Hau_range32[] = {
5764 { 72384, 72440 },
5765};
5766static const URange16 Phags_Pa_range16[] = {
5767 { 43072, 43127 },
5768};
5769static const URange32 Phoenician_range32[] = {
5770 { 67840, 67867 },
5771 { 67871, 67871 },
5772};
5773static const URange32 Psalter_Pahlavi_range32[] = {
5774 { 68480, 68497 },
5775 { 68505, 68508 },
5776 { 68521, 68527 },
5777};
5778static const URange16 Rejang_range16[] = {
5779 { 43312, 43347 },
5780 { 43359, 43359 },
5781};
5782static const URange16 Runic_range16[] = {
5783 { 5792, 5866 },
5784 { 5870, 5880 },
5785};
5786static const URange16 Samaritan_range16[] = {
5787 { 2048, 2093 },
5788 { 2096, 2110 },
5789};
5790static const URange16 Saurashtra_range16[] = {
5791 { 43136, 43205 },
5792 { 43214, 43225 },
5793};
5794static const URange32 Sharada_range32[] = {
5795 { 70016, 70093 },
5796 { 70096, 70111 },
5797};
5798static const URange32 Shavian_range32[] = {
5799 { 66640, 66687 },
5800};
5801static const URange32 Siddham_range32[] = {
5802 { 71040, 71093 },
5803 { 71096, 71133 },
5804};
5805static const URange32 SignWriting_range32[] = {
5806 { 120832, 121483 },
5807 { 121499, 121503 },
5808 { 121505, 121519 },
5809};
5810static const URange16 Sinhala_range16[] = {
5811 { 3458, 3459 },
5812 { 3461, 3478 },
5813 { 3482, 3505 },
5814 { 3507, 3515 },
5815 { 3517, 3517 },
5816 { 3520, 3526 },
5817 { 3530, 3530 },
5818 { 3535, 3540 },
5819 { 3542, 3542 },
5820 { 3544, 3551 },
5821 { 3558, 3567 },
5822 { 3570, 3572 },
5823};
5824static const URange32 Sinhala_range32[] = {
5825 { 70113, 70132 },
5826};
5827static const URange32 Sogdian_range32[] = {
5828 { 69424, 69465 },
5829};
5830static const URange32 Sora_Sompeng_range32[] = {
5831 { 69840, 69864 },
5832 { 69872, 69881 },
5833};
5834static const URange32 Soyombo_range32[] = {
5835 { 72272, 72354 },
5836};
5837static const URange16 Sundanese_range16[] = {
5838 { 7040, 7103 },
5839 { 7360, 7367 },
5840};
5841static const URange16 Syloti_Nagri_range16[] = {
5842 { 43008, 43051 },
5843};
5844static const URange16 Syriac_range16[] = {
5845 { 1792, 1805 },
5846 { 1807, 1866 },
5847 { 1869, 1871 },
5848 { 2144, 2154 },
5849};
5850static const URange16 Tagalog_range16[] = {
5851 { 5888, 5900 },
5852 { 5902, 5908 },
5853};
5854static const URange16 Tagbanwa_range16[] = {
5855 { 5984, 5996 },
5856 { 5998, 6000 },
5857 { 6002, 6003 },
5858};
5859static const URange16 Tai_Le_range16[] = {
5860 { 6480, 6509 },
5861 { 6512, 6516 },
5862};
5863static const URange16 Tai_Tham_range16[] = {
5864 { 6688, 6750 },
5865 { 6752, 6780 },
5866 { 6783, 6793 },
5867 { 6800, 6809 },
5868 { 6816, 6829 },
5869};
5870static const URange16 Tai_Viet_range16[] = {
5871 { 43648, 43714 },
5872 { 43739, 43743 },
5873};
5874static const URange32 Takri_range32[] = {
5875 { 71296, 71352 },
5876 { 71360, 71369 },
5877};
5878static const URange16 Tamil_range16[] = {
5879 { 2946, 2947 },
5880 { 2949, 2954 },
5881 { 2958, 2960 },
5882 { 2962, 2965 },
5883 { 2969, 2970 },
5884 { 2972, 2972 },
5885 { 2974, 2975 },
5886 { 2979, 2980 },
5887 { 2984, 2986 },
5888 { 2990, 3001 },
5889 { 3006, 3010 },
5890 { 3014, 3016 },
5891 { 3018, 3021 },
5892 { 3024, 3024 },
5893 { 3031, 3031 },
5894 { 3046, 3066 },
5895};
5896static const URange32 Tamil_range32[] = {
5897 { 73664, 73713 },
5898 { 73727, 73727 },
5899};
5900static const URange32 Tangut_range32[] = {
5901 { 94176, 94176 },
5902 { 94208, 100343 },
5903 { 100352, 101106 },
5904};
5905static const URange16 Telugu_range16[] = {
5906 { 3072, 3084 },
5907 { 3086, 3088 },
5908 { 3090, 3112 },
5909 { 3114, 3129 },
5910 { 3133, 3140 },
5911 { 3142, 3144 },
5912 { 3146, 3149 },
5913 { 3157, 3158 },
5914 { 3160, 3162 },
5915 { 3168, 3171 },
5916 { 3174, 3183 },
5917 { 3191, 3199 },
5918};
5919static const URange16 Thaana_range16[] = {
5920 { 1920, 1969 },
5921};
5922static const URange16 Thai_range16[] = {
5923 { 3585, 3642 },
5924 { 3648, 3675 },
5925};
5926static const URange16 Tibetan_range16[] = {
5927 { 3840, 3911 },
5928 { 3913, 3948 },
5929 { 3953, 3991 },
5930 { 3993, 4028 },
5931 { 4030, 4044 },
5932 { 4046, 4052 },
5933 { 4057, 4058 },
5934};
5935static const URange16 Tifinagh_range16[] = {
5936 { 11568, 11623 },
5937 { 11631, 11632 },
5938 { 11647, 11647 },
5939};
5940static const URange32 Tirhuta_range32[] = {
5941 { 70784, 70855 },
5942 { 70864, 70873 },
5943};
5944static const URange32 Ugaritic_range32[] = {
5945 { 66432, 66461 },
5946 { 66463, 66463 },
5947};
5948static const URange16 Vai_range16[] = {
5949 { 42240, 42539 },
5950};
5951static const URange32 Wancho_range32[] = {
5952 { 123584, 123641 },
5953 { 123647, 123647 },
5954};
5955static const URange32 Warang_Citi_range32[] = {
5956 { 71840, 71922 },
5957 { 71935, 71935 },
5958};
5959static const URange16 Yi_range16[] = {
5960 { 40960, 42124 },
5961 { 42128, 42182 },
5962};
5963static const URange32 Zanabazar_Square_range32[] = {
5964 { 72192, 72263 },
5965};
5966// 3987 16-bit ranges, 1525 32-bit ranges
5967const UGroup unicode_groups[] = {
5968 { "Adlam", +1, 0, 0, Adlam_range32, 3 },
5969 { "Ahom", +1, 0, 0, Ahom_range32, 3 },
5970 { "Anatolian_Hieroglyphs", +1, 0, 0, Anatolian_Hieroglyphs_range32, 1 },
5971 { "Arabic", +1, Arabic_range16, 22, Arabic_range32, 35 },
5972 { "Armenian", +1, Armenian_range16, 5, 0, 0 },
5973 { "Avestan", +1, 0, 0, Avestan_range32, 2 },
5974 { "Balinese", +1, Balinese_range16, 2, 0, 0 },
5975 { "Bamum", +1, Bamum_range16, 1, Bamum_range32, 1 },
5976 { "Bassa_Vah", +1, 0, 0, Bassa_Vah_range32, 2 },
5977 { "Batak", +1, Batak_range16, 2, 0, 0 },
5978 { "Bengali", +1, Bengali_range16, 14, 0, 0 },
5979 { "Bhaiksuki", +1, 0, 0, Bhaiksuki_range32, 4 },
5980 { "Bopomofo", +1, Bopomofo_range16, 3, 0, 0 },
5981 { "Brahmi", +1, 0, 0, Brahmi_range32, 3 },
5982 { "Braille", +1, Braille_range16, 1, 0, 0 },
5983 { "Buginese", +1, Buginese_range16, 2, 0, 0 },
5984 { "Buhid", +1, Buhid_range16, 1, 0, 0 },
5985 { "C", +1, C_range16, 16, C_range32, 9 },
5986 { "Canadian_Aboriginal", +1, Canadian_Aboriginal_range16, 2, 0, 0 },
5987 { "Carian", +1, 0, 0, Carian_range32, 1 },
5988 { "Caucasian_Albanian", +1, 0, 0, Caucasian_Albanian_range32, 2 },
5989 { "Cc", +1, Cc_range16, 2, 0, 0 },
5990 { "Cf", +1, Cf_range16, 13, Cf_range32, 7 },
5991 { "Chakma", +1, 0, 0, Chakma_range32, 2 },
5992 { "Cham", +1, Cham_range16, 4, 0, 0 },
5993 { "Cherokee", +1, Cherokee_range16, 3, 0, 0 },
5994 { "Co", +1, Co_range16, 1, Co_range32, 2 },
5995 { "Common", +1, Common_range16, 91, Common_range32, 81 },
5996 { "Coptic", +1, Coptic_range16, 3, 0, 0 },
5997 { "Cs", +1, Cs_range16, 1, 0, 0 },
5998 { "Cuneiform", +1, 0, 0, Cuneiform_range32, 4 },
5999 { "Cypriot", +1, 0, 0, Cypriot_range32, 6 },
6000 { "Cyrillic", +1, Cyrillic_range16, 8, 0, 0 },
6001 { "Deseret", +1, 0, 0, Deseret_range32, 1 },
6002 { "Devanagari", +1, Devanagari_range16, 4, 0, 0 },
6003 { "Dogra", +1, 0, 0, Dogra_range32, 1 },
6004 { "Duployan", +1, 0, 0, Duployan_range32, 5 },
6005 { "Egyptian_Hieroglyphs", +1, 0, 0, Egyptian_Hieroglyphs_range32, 2 },
6006 { "Elbasan", +1, 0, 0, Elbasan_range32, 1 },
6007 { "Elymaic", +1, 0, 0, Elymaic_range32, 1 },
6008 { "Ethiopic", +1, Ethiopic_range16, 32, 0, 0 },
6009 { "Georgian", +1, Georgian_range16, 10, 0, 0 },
6010 { "Glagolitic", +1, Glagolitic_range16, 2, Glagolitic_range32, 5 },
6011 { "Gothic", +1, 0, 0, Gothic_range32, 1 },
6012 { "Grantha", +1, 0, 0, Grantha_range32, 15 },
6013 { "Greek", +1, Greek_range16, 33, Greek_range32, 3 },
6014 { "Gujarati", +1, Gujarati_range16, 14, 0, 0 },
6015 { "Gunjala_Gondi", +1, 0, 0, Gunjala_Gondi_range32, 6 },
6016 { "Gurmukhi", +1, Gurmukhi_range16, 16, 0, 0 },
6017 { "Han", +1, Han_range16, 11, Han_range32, 6 },
6018 { "Hangul", +1, Hangul_range16, 14, 0, 0 },
6019 { "Hanifi_Rohingya", +1, 0, 0, Hanifi_Rohingya_range32, 2 },
6020 { "Hanunoo", +1, Hanunoo_range16, 1, 0, 0 },
6021 { "Hatran", +1, 0, 0, Hatran_range32, 3 },
6022 { "Hebrew", +1, Hebrew_range16, 9, 0, 0 },
6023 { "Hiragana", +1, Hiragana_range16, 2, Hiragana_range32, 3 },
6024 { "Imperial_Aramaic", +1, 0, 0, Imperial_Aramaic_range32, 2 },
6025 { "Inherited", +1, Inherited_range16, 20, Inherited_range32, 8 },
6026 { "Inscriptional_Pahlavi", +1, 0, 0, Inscriptional_Pahlavi_range32, 2 },
6027 { "Inscriptional_Parthian", +1, 0, 0, Inscriptional_Parthian_range32, 2 },
6028 { "Javanese", +1, Javanese_range16, 3, 0, 0 },
6029 { "Kaithi", +1, 0, 0, Kaithi_range32, 2 },
6030 { "Kannada", +1, Kannada_range16, 13, 0, 0 },
6031 { "Katakana", +1, Katakana_range16, 7, Katakana_range32, 2 },
6032 { "Kayah_Li", +1, Kayah_Li_range16, 2, 0, 0 },
6033 { "Kharoshthi", +1, 0, 0, Kharoshthi_range32, 8 },
6034 { "Khmer", +1, Khmer_range16, 4, 0, 0 },
6035 { "Khojki", +1, 0, 0, Khojki_range32, 2 },
6036 { "Khudawadi", +1, 0, 0, Khudawadi_range32, 2 },
6037 { "L", +1, L_range16, 380, L_range32, 229 },
6038 { "Lao", +1, Lao_range16, 11, 0, 0 },
6039 { "Latin", +1, Latin_range16, 32, 0, 0 },
6040 { "Lepcha", +1, Lepcha_range16, 3, 0, 0 },
6041 { "Limbu", +1, Limbu_range16, 5, 0, 0 },
6042 { "Linear_A", +1, 0, 0, Linear_A_range32, 3 },
6043 { "Linear_B", +1, 0, 0, Linear_B_range32, 7 },
6044 { "Lisu", +1, Lisu_range16, 1, 0, 0 },
6045 { "Ll", +1, Ll_range16, 608, Ll_range32, 34 },
6046 { "Lm", +1, Lm_range16, 54, Lm_range32, 6 },
6047 { "Lo", +1, Lo_range16, 290, Lo_range32, 186 },
6048 { "Lt", +1, Lt_range16, 10, 0, 0 },
6049 { "Lu", +1, Lu_range16, 599, Lu_range32, 37 },
6050 { "Lycian", +1, 0, 0, Lycian_range32, 1 },
6051 { "Lydian", +1, 0, 0, Lydian_range32, 2 },
6052 { "M", +1, M_range16, 186, M_range32, 94 },
6053 { "Mahajani", +1, 0, 0, Mahajani_range32, 1 },
6054 { "Makasar", +1, 0, 0, Makasar_range32, 1 },
6055 { "Malayalam", +1, Malayalam_range16, 8, 0, 0 },
6056 { "Mandaic", +1, Mandaic_range16, 2, 0, 0 },
6057 { "Manichaean", +1, 0, 0, Manichaean_range32, 2 },
6058 { "Marchen", +1, 0, 0, Marchen_range32, 3 },
6059 { "Masaram_Gondi", +1, 0, 0, Masaram_Gondi_range32, 7 },
6060 { "Mc", +1, Mc_range16, 109, Mc_range32, 59 },
6061 { "Me", +1, Me_range16, 5, 0, 0 },
6062 { "Medefaidrin", +1, 0, 0, Medefaidrin_range32, 1 },
6063 { "Meetei_Mayek", +1, Meetei_Mayek_range16, 3, 0, 0 },
6064 { "Mende_Kikakui", +1, 0, 0, Mende_Kikakui_range32, 2 },
6065 { "Meroitic_Cursive", +1, 0, 0, Meroitic_Cursive_range32, 3 },
6066 { "Meroitic_Hieroglyphs", +1, 0, 0, Meroitic_Hieroglyphs_range32, 1 },
6067 { "Miao", +1, 0, 0, Miao_range32, 3 },
6068 { "Mn", +1, Mn_range16, 207, Mn_range32, 111 },
6069 { "Modi", +1, 0, 0, Modi_range32, 2 },
6070 { "Mongolian", +1, Mongolian_range16, 6, Mongolian_range32, 1 },
6071 { "Mro", +1, 0, 0, Mro_range32, 3 },
6072 { "Multani", +1, 0, 0, Multani_range32, 5 },
6073 { "Myanmar", +1, Myanmar_range16, 3, 0, 0 },
6074 { "N", +1, N_range16, 67, N_range32, 63 },
6075 { "Nabataean", +1, 0, 0, Nabataean_range32, 2 },
6076 { "Nandinagari", +1, 0, 0, Nandinagari_range32, 3 },
6077 { "Nd", +1, Nd_range16, 37, Nd_range32, 22 },
6078 { "New_Tai_Lue", +1, New_Tai_Lue_range16, 4, 0, 0 },
6079 { "Newa", +1, 0, 0, Newa_range32, 3 },
6080 { "Nko", +1, Nko_range16, 2, 0, 0 },
6081 { "Nl", +1, Nl_range16, 7, Nl_range32, 5 },
6082 { "No", +1, No_range16, 29, No_range32, 41 },
6083 { "Nushu", +1, 0, 0, Nushu_range32, 2 },
6084 { "Nyiakeng_Puachue_Hmong", +1, 0, 0, Nyiakeng_Puachue_Hmong_range32, 4 },
6085 { "Ogham", +1, Ogham_range16, 1, 0, 0 },
6086 { "Ol_Chiki", +1, Ol_Chiki_range16, 1, 0, 0 },
6087 { "Old_Hungarian", +1, 0, 0, Old_Hungarian_range32, 3 },
6088 { "Old_Italic", +1, 0, 0, Old_Italic_range32, 2 },
6089 { "Old_North_Arabian", +1, 0, 0, Old_North_Arabian_range32, 1 },
6090 { "Old_Permic", +1, 0, 0, Old_Permic_range32, 1 },
6091 { "Old_Persian", +1, 0, 0, Old_Persian_range32, 2 },
6092 { "Old_Sogdian", +1, 0, 0, Old_Sogdian_range32, 1 },
6093 { "Old_South_Arabian", +1, 0, 0, Old_South_Arabian_range32, 1 },
6094 { "Old_Turkic", +1, 0, 0, Old_Turkic_range32, 1 },
6095 { "Oriya", +1, Oriya_range16, 14, 0, 0 },
6096 { "Osage", +1, 0, 0, Osage_range32, 2 },
6097 { "Osmanya", +1, 0, 0, Osmanya_range32, 2 },
6098 { "P", +1, P_range16, 131, P_range32, 51 },
6099 { "Pahawh_Hmong", +1, 0, 0, Pahawh_Hmong_range32, 5 },
6100 { "Palmyrene", +1, 0, 0, Palmyrene_range32, 1 },
6101 { "Pau_Cin_Hau", +1, 0, 0, Pau_Cin_Hau_range32, 1 },
6102 { "Pc", +1, Pc_range16, 6, 0, 0 },
6103 { "Pd", +1, Pd_range16, 17, 0, 0 },
6104 { "Pe", +1, Pe_range16, 72, 0, 0 },
6105 { "Pf", +1, Pf_range16, 10, 0, 0 },
6106 { "Phags_Pa", +1, Phags_Pa_range16, 1, 0, 0 },
6107 { "Phoenician", +1, 0, 0, Phoenician_range32, 2 },
6108 { "Pi", +1, Pi_range16, 11, 0, 0 },
6109 { "Po", +1, Po_range16, 128, Po_range32, 51 },
6110 { "Ps", +1, Ps_range16, 75, 0, 0 },
6111 { "Psalter_Pahlavi", +1, 0, 0, Psalter_Pahlavi_range32, 3 },
6112 { "Rejang", +1, Rejang_range16, 2, 0, 0 },
6113 { "Runic", +1, Runic_range16, 2, 0, 0 },
6114 { "S", +1, S_range16, 146, S_range32, 80 },
6115 { "Samaritan", +1, Samaritan_range16, 2, 0, 0 },
6116 { "Saurashtra", +1, Saurashtra_range16, 2, 0, 0 },
6117 { "Sc", +1, Sc_range16, 18, Sc_range32, 3 },
6118 { "Sharada", +1, 0, 0, Sharada_range32, 2 },
6119 { "Shavian", +1, 0, 0, Shavian_range32, 1 },
6120 { "Siddham", +1, 0, 0, Siddham_range32, 2 },
6121 { "SignWriting", +1, 0, 0, SignWriting_range32, 3 },
6122 { "Sinhala", +1, Sinhala_range16, 12, Sinhala_range32, 1 },
6123 { "Sk", +1, Sk_range16, 28, Sk_range32, 1 },
6124 { "Sm", +1, Sm_range16, 53, Sm_range32, 11 },
6125 { "So", +1, So_range16, 111, So_range32, 69 },
6126 { "Sogdian", +1, 0, 0, Sogdian_range32, 1 },
6127 { "Sora_Sompeng", +1, 0, 0, Sora_Sompeng_range32, 2 },
6128 { "Soyombo", +1, 0, 0, Soyombo_range32, 1 },
6129 { "Sundanese", +1, Sundanese_range16, 2, 0, 0 },
6130 { "Syloti_Nagri", +1, Syloti_Nagri_range16, 1, 0, 0 },
6131 { "Syriac", +1, Syriac_range16, 4, 0, 0 },
6132 { "Tagalog", +1, Tagalog_range16, 2, 0, 0 },
6133 { "Tagbanwa", +1, Tagbanwa_range16, 3, 0, 0 },
6134 { "Tai_Le", +1, Tai_Le_range16, 2, 0, 0 },
6135 { "Tai_Tham", +1, Tai_Tham_range16, 5, 0, 0 },
6136 { "Tai_Viet", +1, Tai_Viet_range16, 2, 0, 0 },
6137 { "Takri", +1, 0, 0, Takri_range32, 2 },
6138 { "Tamil", +1, Tamil_range16, 16, Tamil_range32, 2 },
6139 { "Tangut", +1, 0, 0, Tangut_range32, 3 },
6140 { "Telugu", +1, Telugu_range16, 12, 0, 0 },
6141 { "Thaana", +1, Thaana_range16, 1, 0, 0 },
6142 { "Thai", +1, Thai_range16, 2, 0, 0 },
6143 { "Tibetan", +1, Tibetan_range16, 7, 0, 0 },
6144 { "Tifinagh", +1, Tifinagh_range16, 3, 0, 0 },
6145 { "Tirhuta", +1, 0, 0, Tirhuta_range32, 2 },
6146 { "Ugaritic", +1, 0, 0, Ugaritic_range32, 2 },
6147 { "Vai", +1, Vai_range16, 1, 0, 0 },
6148 { "Wancho", +1, 0, 0, Wancho_range32, 2 },
6149 { "Warang_Citi", +1, 0, 0, Warang_Citi_range32, 2 },
6150 { "Yi", +1, Yi_range16, 2, 0, 0 },
6151 { "Z", +1, Z_range16, 8, 0, 0 },
6152 { "Zanabazar_Square", +1, 0, 0, Zanabazar_Square_range32, 1 },
6153 { "Zl", +1, Zl_range16, 1, 0, 0 },
6154 { "Zp", +1, Zp_range16, 1, 0, 0 },
6155 { "Zs", +1, Zs_range16, 7, 0, 0 },
6156};
6157const int num_unicode_groups = 188;
6158
6159
6160} // namespace re2
6161
6162
6163