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