aboutsummaryrefslogtreecommitdiff
path: root/lib/unicode/prop/uprop_is_gr_base.c
blob: 22666d6664af7b51075f8f155bf73d41b1ea4263 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
/* This file is autogenerated by gen/prop/bool-props; DO NOT EDIT. */

#include "_bsearch.h"
#include "bitset.h"
#include "rune.h"
#include "unicode/prop.h"

/* clang-format off */

static constexpr bitset(bs, LATIN1_MAX) = {
	0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F,
	0x00, 0x00, 0x00, 0x00, 0xFF, 0xDF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};

static const struct {
	rune lo, hi;
} lookup[] = {
	{RUNE_C(0x000100), RUNE_C(0x0002FF)},
	{RUNE_C(0x000370), RUNE_C(0x000377)},
	{RUNE_C(0x00037A), RUNE_C(0x00037F)},
	{RUNE_C(0x000384), RUNE_C(0x00038A)},
	{RUNE_C(0x00038C), RUNE_C(0x00038C)},
	{RUNE_C(0x00038E), RUNE_C(0x0003A1)},
	{RUNE_C(0x0003A3), RUNE_C(0x000482)},
	{RUNE_C(0x00048A), RUNE_C(0x00052F)},
	{RUNE_C(0x000531), RUNE_C(0x000556)},
	{RUNE_C(0x000559), RUNE_C(0x00058A)},
	{RUNE_C(0x00058D), RUNE_C(0x00058F)},
	{RUNE_C(0x0005BE), RUNE_C(0x0005BE)},
	{RUNE_C(0x0005C0), RUNE_C(0x0005C0)},
	{RUNE_C(0x0005C3), RUNE_C(0x0005C3)},
	{RUNE_C(0x0005C6), RUNE_C(0x0005C6)},
	{RUNE_C(0x0005D0), RUNE_C(0x0005EA)},
	{RUNE_C(0x0005EF), RUNE_C(0x0005F4)},
	{RUNE_C(0x000606), RUNE_C(0x00060F)},
	{RUNE_C(0x00061B), RUNE_C(0x00061B)},
	{RUNE_C(0x00061D), RUNE_C(0x00064A)},
	{RUNE_C(0x000660), RUNE_C(0x00066F)},
	{RUNE_C(0x000671), RUNE_C(0x0006D5)},
	{RUNE_C(0x0006DE), RUNE_C(0x0006DE)},
	{RUNE_C(0x0006E5), RUNE_C(0x0006E6)},
	{RUNE_C(0x0006E9), RUNE_C(0x0006E9)},
	{RUNE_C(0x0006EE), RUNE_C(0x00070D)},
	{RUNE_C(0x000710), RUNE_C(0x000710)},
	{RUNE_C(0x000712), RUNE_C(0x00072F)},
	{RUNE_C(0x00074D), RUNE_C(0x0007A5)},
	{RUNE_C(0x0007B1), RUNE_C(0x0007B1)},
	{RUNE_C(0x0007C0), RUNE_C(0x0007EA)},
	{RUNE_C(0x0007F4), RUNE_C(0x0007FA)},
	{RUNE_C(0x0007FE), RUNE_C(0x000815)},
	{RUNE_C(0x00081A), RUNE_C(0x00081A)},
	{RUNE_C(0x000824), RUNE_C(0x000824)},
	{RUNE_C(0x000828), RUNE_C(0x000828)},
	{RUNE_C(0x000830), RUNE_C(0x00083E)},
	{RUNE_C(0x000840), RUNE_C(0x000858)},
	{RUNE_C(0x00085E), RUNE_C(0x00085E)},
	{RUNE_C(0x000860), RUNE_C(0x00086A)},
	{RUNE_C(0x000870), RUNE_C(0x00088E)},
	{RUNE_C(0x0008A0), RUNE_C(0x0008C9)},
	{RUNE_C(0x000903), RUNE_C(0x000939)},
	{RUNE_C(0x00093B), RUNE_C(0x00093B)},
	{RUNE_C(0x00093D), RUNE_C(0x000940)},
	{RUNE_C(0x000949), RUNE_C(0x00094C)},
	{RUNE_C(0x00094E), RUNE_C(0x000950)},
	{RUNE_C(0x000958), RUNE_C(0x000961)},
	{RUNE_C(0x000964), RUNE_C(0x000980)},
	{RUNE_C(0x000982), RUNE_C(0x000983)},
	{RUNE_C(0x000985), RUNE_C(0x00098C)},
	{RUNE_C(0x00098F), RUNE_C(0x000990)},
	{RUNE_C(0x000993), RUNE_C(0x0009A8)},
	{RUNE_C(0x0009AA), RUNE_C(0x0009B0)},
	{RUNE_C(0x0009B2), RUNE_C(0x0009B2)},
	{RUNE_C(0x0009B6), RUNE_C(0x0009B9)},
	{RUNE_C(0x0009BD), RUNE_C(0x0009BD)},
	{RUNE_C(0x0009BF), RUNE_C(0x0009C0)},
	{RUNE_C(0x0009C7), RUNE_C(0x0009C8)},
	{RUNE_C(0x0009CB), RUNE_C(0x0009CC)},
	{RUNE_C(0x0009CE), RUNE_C(0x0009CE)},
	{RUNE_C(0x0009DC), RUNE_C(0x0009DD)},
	{RUNE_C(0x0009DF), RUNE_C(0x0009E1)},
	{RUNE_C(0x0009E6), RUNE_C(0x0009FD)},
	{RUNE_C(0x000A03), RUNE_C(0x000A03)},
	{RUNE_C(0x000A05), RUNE_C(0x000A0A)},
	{RUNE_C(0x000A0F), RUNE_C(0x000A10)},
	{RUNE_C(0x000A13), RUNE_C(0x000A28)},
	{RUNE_C(0x000A2A), RUNE_C(0x000A30)},
	{RUNE_C(0x000A32), RUNE_C(0x000A33)},
	{RUNE_C(0x000A35), RUNE_C(0x000A36)},
	{RUNE_C(0x000A38), RUNE_C(0x000A39)},
	{RUNE_C(0x000A3E), RUNE_C(0x000A40)},
	{RUNE_C(0x000A59), RUNE_C(0x000A5C)},
	{RUNE_C(0x000A5E), RUNE_C(0x000A5E)},
	{RUNE_C(0x000A66), RUNE_C(0x000A6F)},
	{RUNE_C(0x000A72), RUNE_C(0x000A74)},
	{RUNE_C(0x000A76), RUNE_C(0x000A76)},
	{RUNE_C(0x000A83), RUNE_C(0x000A83)},
	{RUNE_C(0x000A85), RUNE_C(0x000A8D)},
	{RUNE_C(0x000A8F), RUNE_C(0x000A91)},
	{RUNE_C(0x000A93), RUNE_C(0x000AA8)},
	{RUNE_C(0x000AAA), RUNE_C(0x000AB0)},
	{RUNE_C(0x000AB2), RUNE_C(0x000AB3)},
	{RUNE_C(0x000AB5), RUNE_C(0x000AB9)},
	{RUNE_C(0x000ABD), RUNE_C(0x000AC0)},
	{RUNE_C(0x000AC9), RUNE_C(0x000AC9)},
	{RUNE_C(0x000ACB), RUNE_C(0x000ACC)},
	{RUNE_C(0x000AD0), RUNE_C(0x000AD0)},
	{RUNE_C(0x000AE0), RUNE_C(0x000AE1)},
	{RUNE_C(0x000AE6), RUNE_C(0x000AF1)},
	{RUNE_C(0x000AF9), RUNE_C(0x000AF9)},
	{RUNE_C(0x000B02), RUNE_C(0x000B03)},
	{RUNE_C(0x000B05), RUNE_C(0x000B0C)},
	{RUNE_C(0x000B0F), RUNE_C(0x000B10)},
	{RUNE_C(0x000B13), RUNE_C(0x000B28)},
	{RUNE_C(0x000B2A), RUNE_C(0x000B30)},
	{RUNE_C(0x000B32), RUNE_C(0x000B33)},
	{RUNE_C(0x000B35), RUNE_C(0x000B39)},
	{RUNE_C(0x000B3D), RUNE_C(0x000B3D)},
	{RUNE_C(0x000B40), RUNE_C(0x000B40)},
	{RUNE_C(0x000B47), RUNE_C(0x000B48)},
	{RUNE_C(0x000B4B), RUNE_C(0x000B4C)},
	{RUNE_C(0x000B5C), RUNE_C(0x000B5D)},
	{RUNE_C(0x000B5F), RUNE_C(0x000B61)},
	{RUNE_C(0x000B66), RUNE_C(0x000B77)},
	{RUNE_C(0x000B83), RUNE_C(0x000B83)},
	{RUNE_C(0x000B85), RUNE_C(0x000B8A)},
	{RUNE_C(0x000B8E), RUNE_C(0x000B90)},
	{RUNE_C(0x000B92), RUNE_C(0x000B95)},
	{RUNE_C(0x000B99), RUNE_C(0x000B9A)},
	{RUNE_C(0x000B9C), RUNE_C(0x000B9C)},
	{RUNE_C(0x000B9E), RUNE_C(0x000B9F)},
	{RUNE_C(0x000BA3), RUNE_C(0x000BA4)},
	{RUNE_C(0x000BA8), RUNE_C(0x000BAA)},
	{RUNE_C(0x000BAE), RUNE_C(0x000BB9)},
	{RUNE_C(0x000BBF), RUNE_C(0x000BBF)},
	{RUNE_C(0x000BC1), RUNE_C(0x000BC2)},
	{RUNE_C(0x000BC6), RUNE_C(0x000BC8)},
	{RUNE_C(0x000BCA), RUNE_C(0x000BCC)},
	{RUNE_C(0x000BD0), RUNE_C(0x000BD0)},
	{RUNE_C(0x000BE6), RUNE_C(0x000BFA)},
	{RUNE_C(0x000C01), RUNE_C(0x000C03)},
	{RUNE_C(0x000C05), RUNE_C(0x000C0C)},
	{RUNE_C(0x000C0E), RUNE_C(0x000C10)},
	{RUNE_C(0x000C12), RUNE_C(0x000C28)},
	{RUNE_C(0x000C2A), RUNE_C(0x000C39)},
	{RUNE_C(0x000C3D), RUNE_C(0x000C3D)},
	{RUNE_C(0x000C41), RUNE_C(0x000C44)},
	{RUNE_C(0x000C58), RUNE_C(0x000C5A)},
	{RUNE_C(0x000C5D), RUNE_C(0x000C5D)},
	{RUNE_C(0x000C60), RUNE_C(0x000C61)},
	{RUNE_C(0x000C66), RUNE_C(0x000C6F)},
	{RUNE_C(0x000C77), RUNE_C(0x000C80)},
	{RUNE_C(0x000C82), RUNE_C(0x000C8C)},
	{RUNE_C(0x000C8E), RUNE_C(0x000C90)},
	{RUNE_C(0x000C92), RUNE_C(0x000CA8)},
	{RUNE_C(0x000CAA), RUNE_C(0x000CB3)},
	{RUNE_C(0x000CB5), RUNE_C(0x000CB9)},
	{RUNE_C(0x000CBD), RUNE_C(0x000CBE)},
	{RUNE_C(0x000CC0), RUNE_C(0x000CC1)},
	{RUNE_C(0x000CC3), RUNE_C(0x000CC4)},
	{RUNE_C(0x000CC7), RUNE_C(0x000CC8)},
	{RUNE_C(0x000CCA), RUNE_C(0x000CCB)},
	{RUNE_C(0x000CDD), RUNE_C(0x000CDE)},
	{RUNE_C(0x000CE0), RUNE_C(0x000CE1)},
	{RUNE_C(0x000CE6), RUNE_C(0x000CEF)},
	{RUNE_C(0x000CF1), RUNE_C(0x000CF3)},
	{RUNE_C(0x000D02), RUNE_C(0x000D0C)},
	{RUNE_C(0x000D0E), RUNE_C(0x000D10)},
	{RUNE_C(0x000D12), RUNE_C(0x000D3A)},
	{RUNE_C(0x000D3D), RUNE_C(0x000D3D)},
	{RUNE_C(0x000D3F), RUNE_C(0x000D40)},
	{RUNE_C(0x000D46), RUNE_C(0x000D48)},
	{RUNE_C(0x000D4A), RUNE_C(0x000D4C)},
	{RUNE_C(0x000D4E), RUNE_C(0x000D4F)},
	{RUNE_C(0x000D54), RUNE_C(0x000D56)},
	{RUNE_C(0x000D58), RUNE_C(0x000D61)},
	{RUNE_C(0x000D66), RUNE_C(0x000D7F)},
	{RUNE_C(0x000D82), RUNE_C(0x000D83)},
	{RUNE_C(0x000D85), RUNE_C(0x000D96)},
	{RUNE_C(0x000D9A), RUNE_C(0x000DB1)},
	{RUNE_C(0x000DB3), RUNE_C(0x000DBB)},
	{RUNE_C(0x000DBD), RUNE_C(0x000DBD)},
	{RUNE_C(0x000DC0), RUNE_C(0x000DC6)},
	{RUNE_C(0x000DD0), RUNE_C(0x000DD1)},
	{RUNE_C(0x000DD8), RUNE_C(0x000DDE)},
	{RUNE_C(0x000DE6), RUNE_C(0x000DEF)},
	{RUNE_C(0x000DF2), RUNE_C(0x000DF4)},
	{RUNE_C(0x000E01), RUNE_C(0x000E30)},
	{RUNE_C(0x000E32), RUNE_C(0x000E33)},
	{RUNE_C(0x000E3F), RUNE_C(0x000E46)},
	{RUNE_C(0x000E4F), RUNE_C(0x000E5B)},
	{RUNE_C(0x000E81), RUNE_C(0x000E82)},
	{RUNE_C(0x000E84), RUNE_C(0x000E84)},
	{RUNE_C(0x000E86), RUNE_C(0x000E8A)},
	{RUNE_C(0x000E8C), RUNE_C(0x000EA3)},
	{RUNE_C(0x000EA5), RUNE_C(0x000EA5)},
	{RUNE_C(0x000EA7), RUNE_C(0x000EB0)},
	{RUNE_C(0x000EB2), RUNE_C(0x000EB3)},
	{RUNE_C(0x000EBD), RUNE_C(0x000EBD)},
	{RUNE_C(0x000EC0), RUNE_C(0x000EC4)},
	{RUNE_C(0x000EC6), RUNE_C(0x000EC6)},
	{RUNE_C(0x000ED0), RUNE_C(0x000ED9)},
	{RUNE_C(0x000EDC), RUNE_C(0x000EDF)},
	{RUNE_C(0x000F00), RUNE_C(0x000F17)},
	{RUNE_C(0x000F1A), RUNE_C(0x000F34)},
	{RUNE_C(0x000F36), RUNE_C(0x000F36)},
	{RUNE_C(0x000F38), RUNE_C(0x000F38)},
	{RUNE_C(0x000F3A), RUNE_C(0x000F47)},
	{RUNE_C(0x000F49), RUNE_C(0x000F6C)},
	{RUNE_C(0x000F7F), RUNE_C(0x000F7F)},
	{RUNE_C(0x000F85), RUNE_C(0x000F85)},
	{RUNE_C(0x000F88), RUNE_C(0x000F8C)},
	{RUNE_C(0x000FBE), RUNE_C(0x000FC5)},
	{RUNE_C(0x000FC7), RUNE_C(0x000FCC)},
	{RUNE_C(0x000FCE), RUNE_C(0x000FDA)},
	{RUNE_C(0x001000), RUNE_C(0x00102C)},
	{RUNE_C(0x001031), RUNE_C(0x001031)},
	{RUNE_C(0x001038), RUNE_C(0x001038)},
	{RUNE_C(0x00103B), RUNE_C(0x00103C)},
	{RUNE_C(0x00103F), RUNE_C(0x001057)},
	{RUNE_C(0x00105A), RUNE_C(0x00105D)},
	{RUNE_C(0x001061), RUNE_C(0x001070)},
	{RUNE_C(0x001075), RUNE_C(0x001081)},
	{RUNE_C(0x001083), RUNE_C(0x001084)},
	{RUNE_C(0x001087), RUNE_C(0x00108C)},
	{RUNE_C(0x00108E), RUNE_C(0x00109C)},
	{RUNE_C(0x00109E), RUNE_C(0x0010C5)},
	{RUNE_C(0x0010C7), RUNE_C(0x0010C7)},
	{RUNE_C(0x0010CD), RUNE_C(0x0010CD)},
	{RUNE_C(0x0010D0), RUNE_C(0x001248)},
	{RUNE_C(0x00124A), RUNE_C(0x00124D)},
	{RUNE_C(0x001250), RUNE_C(0x001256)},
	{RUNE_C(0x001258), RUNE_C(0x001258)},
	{RUNE_C(0x00125A), RUNE_C(0x00125D)},
	{RUNE_C(0x001260), RUNE_C(0x001288)},
	{RUNE_C(0x00128A), RUNE_C(0x00128D)},
	{RUNE_C(0x001290), RUNE_C(0x0012B0)},
	{RUNE_C(0x0012B2), RUNE_C(0x0012B5)},
	{RUNE_C(0x0012B8), RUNE_C(0x0012BE)},
	{RUNE_C(0x0012C0), RUNE_C(0x0012C0)},
	{RUNE_C(0x0012C2), RUNE_C(0x0012C5)},
	{RUNE_C(0x0012C8), RUNE_C(0x0012D6)},
	{RUNE_C(0x0012D8), RUNE_C(0x001310)},
	{RUNE_C(0x001312), RUNE_C(0x001315)},
	{RUNE_C(0x001318), RUNE_C(0x00135A)},
	{RUNE_C(0x001360), RUNE_C(0x00137C)},
	{RUNE_C(0x001380), RUNE_C(0x001399)},
	{RUNE_C(0x0013A0), RUNE_C(0x0013F5)},
	{RUNE_C(0x0013F8), RUNE_C(0x0013FD)},
	{RUNE_C(0x001400), RUNE_C(0x00169C)},
	{RUNE_C(0x0016A0), RUNE_C(0x0016F8)},
	{RUNE_C(0x001700), RUNE_C(0x001711)},
	{RUNE_C(0x001715), RUNE_C(0x001715)},
	{RUNE_C(0x00171F), RUNE_C(0x001731)},
	{RUNE_C(0x001734), RUNE_C(0x001736)},
	{RUNE_C(0x001740), RUNE_C(0x001751)},
	{RUNE_C(0x001760), RUNE_C(0x00176C)},
	{RUNE_C(0x00176E), RUNE_C(0x001770)},
	{RUNE_C(0x001780), RUNE_C(0x0017B3)},
	{RUNE_C(0x0017B6), RUNE_C(0x0017B6)},
	{RUNE_C(0x0017BE), RUNE_C(0x0017C5)},
	{RUNE_C(0x0017C7), RUNE_C(0x0017C8)},
	{RUNE_C(0x0017D4), RUNE_C(0x0017DC)},
	{RUNE_C(0x0017E0), RUNE_C(0x0017E9)},
	{RUNE_C(0x0017F0), RUNE_C(0x0017F9)},
	{RUNE_C(0x001800), RUNE_C(0x00180A)},
	{RUNE_C(0x001810), RUNE_C(0x001819)},
	{RUNE_C(0x001820), RUNE_C(0x001878)},
	{RUNE_C(0x001880), RUNE_C(0x001884)},
	{RUNE_C(0x001887), RUNE_C(0x0018A8)},
	{RUNE_C(0x0018AA), RUNE_C(0x0018AA)},
	{RUNE_C(0x0018B0), RUNE_C(0x0018F5)},
	{RUNE_C(0x001900), RUNE_C(0x00191E)},
	{RUNE_C(0x001923), RUNE_C(0x001926)},
	{RUNE_C(0x001929), RUNE_C(0x00192B)},
	{RUNE_C(0x001930), RUNE_C(0x001931)},
	{RUNE_C(0x001933), RUNE_C(0x001938)},
	{RUNE_C(0x001940), RUNE_C(0x001940)},
	{RUNE_C(0x001944), RUNE_C(0x00196D)},
	{RUNE_C(0x001970), RUNE_C(0x001974)},
	{RUNE_C(0x001980), RUNE_C(0x0019AB)},
	{RUNE_C(0x0019B0), RUNE_C(0x0019C9)},
	{RUNE_C(0x0019D0), RUNE_C(0x0019DA)},
	{RUNE_C(0x0019DE), RUNE_C(0x001A16)},
	{RUNE_C(0x001A19), RUNE_C(0x001A1A)},
	{RUNE_C(0x001A1E), RUNE_C(0x001A55)},
	{RUNE_C(0x001A57), RUNE_C(0x001A57)},
	{RUNE_C(0x001A61), RUNE_C(0x001A61)},
	{RUNE_C(0x001A63), RUNE_C(0x001A64)},
	{RUNE_C(0x001A6D), RUNE_C(0x001A72)},
	{RUNE_C(0x001A80), RUNE_C(0x001A89)},
	{RUNE_C(0x001A90), RUNE_C(0x001A99)},
	{RUNE_C(0x001AA0), RUNE_C(0x001AAD)},
	{RUNE_C(0x001B04), RUNE_C(0x001B33)},
	{RUNE_C(0x001B3B), RUNE_C(0x001B3B)},
	{RUNE_C(0x001B3D), RUNE_C(0x001B41)},
	{RUNE_C(0x001B43), RUNE_C(0x001B4C)},
	{RUNE_C(0x001B50), RUNE_C(0x001B6A)},
	{RUNE_C(0x001B74), RUNE_C(0x001B7E)},
	{RUNE_C(0x001B82), RUNE_C(0x001BA1)},
	{RUNE_C(0x001BA6), RUNE_C(0x001BA7)},
	{RUNE_C(0x001BAA), RUNE_C(0x001BAA)},
	{RUNE_C(0x001BAE), RUNE_C(0x001BE5)},
	{RUNE_C(0x001BE7), RUNE_C(0x001BE7)},
	{RUNE_C(0x001BEA), RUNE_C(0x001BEC)},
	{RUNE_C(0x001BEE), RUNE_C(0x001BEE)},
	{RUNE_C(0x001BF2), RUNE_C(0x001BF3)},
	{RUNE_C(0x001BFC), RUNE_C(0x001C2B)},
	{RUNE_C(0x001C34), RUNE_C(0x001C35)},
	{RUNE_C(0x001C3B), RUNE_C(0x001C49)},
	{RUNE_C(0x001C4D), RUNE_C(0x001C88)},
	{RUNE_C(0x001C90), RUNE_C(0x001CBA)},
	{RUNE_C(0x001CBD), RUNE_C(0x001CC7)},
	{RUNE_C(0x001CD3), RUNE_C(0x001CD3)},
	{RUNE_C(0x001CE1), RUNE_C(0x001CE1)},
	{RUNE_C(0x001CE9), RUNE_C(0x001CEC)},
	{RUNE_C(0x001CEE), RUNE_C(0x001CF3)},
	{RUNE_C(0x001CF5), RUNE_C(0x001CF7)},
	{RUNE_C(0x001CFA), RUNE_C(0x001CFA)},
	{RUNE_C(0x001D00), RUNE_C(0x001DBF)},
	{RUNE_C(0x001E00), RUNE_C(0x001F15)},
	{RUNE_C(0x001F18), RUNE_C(0x001F1D)},
	{RUNE_C(0x001F20), RUNE_C(0x001F45)},
	{RUNE_C(0x001F48), RUNE_C(0x001F4D)},
	{RUNE_C(0x001F50), RUNE_C(0x001F57)},
	{RUNE_C(0x001F59), RUNE_C(0x001F59)},
	{RUNE_C(0x001F5B), RUNE_C(0x001F5B)},
	{RUNE_C(0x001F5D), RUNE_C(0x001F5D)},
	{RUNE_C(0x001F5F), RUNE_C(0x001F7D)},
	{RUNE_C(0x001F80), RUNE_C(0x001FB4)},
	{RUNE_C(0x001FB6), RUNE_C(0x001FC4)},
	{RUNE_C(0x001FC6), RUNE_C(0x001FD3)},
	{RUNE_C(0x001FD6), RUNE_C(0x001FDB)},
	{RUNE_C(0x001FDD), RUNE_C(0x001FEF)},
	{RUNE_C(0x001FF2), RUNE_C(0x001FF4)},
	{RUNE_C(0x001FF6), RUNE_C(0x001FFE)},
	{RUNE_C(0x002000), RUNE_C(0x00200A)},
	{RUNE_C(0x002010), RUNE_C(0x002027)},
	{RUNE_C(0x00202F), RUNE_C(0x00205F)},
	{RUNE_C(0x002070), RUNE_C(0x002071)},
	{RUNE_C(0x002074), RUNE_C(0x00208E)},
	{RUNE_C(0x002090), RUNE_C(0x00209C)},
	{RUNE_C(0x0020A0), RUNE_C(0x0020C0)},
	{RUNE_C(0x002100), RUNE_C(0x00218B)},
	{RUNE_C(0x002190), RUNE_C(0x002426)},
	{RUNE_C(0x002440), RUNE_C(0x00244A)},
	{RUNE_C(0x002460), RUNE_C(0x002B73)},
	{RUNE_C(0x002B76), RUNE_C(0x002B95)},
	{RUNE_C(0x002B97), RUNE_C(0x002CEE)},
	{RUNE_C(0x002CF2), RUNE_C(0x002CF3)},
	{RUNE_C(0x002CF9), RUNE_C(0x002D25)},
	{RUNE_C(0x002D27), RUNE_C(0x002D27)},
	{RUNE_C(0x002D2D), RUNE_C(0x002D2D)},
	{RUNE_C(0x002D30), RUNE_C(0x002D67)},
	{RUNE_C(0x002D6F), RUNE_C(0x002D70)},
	{RUNE_C(0x002D80), RUNE_C(0x002D96)},
	{RUNE_C(0x002DA0), RUNE_C(0x002DA6)},
	{RUNE_C(0x002DA8), RUNE_C(0x002DAE)},
	{RUNE_C(0x002DB0), RUNE_C(0x002DB6)},
	{RUNE_C(0x002DB8), RUNE_C(0x002DBE)},
	{RUNE_C(0x002DC0), RUNE_C(0x002DC6)},
	{RUNE_C(0x002DC8), RUNE_C(0x002DCE)},
	{RUNE_C(0x002DD0), RUNE_C(0x002DD6)},
	{RUNE_C(0x002DD8), RUNE_C(0x002DDE)},
	{RUNE_C(0x002E00), RUNE_C(0x002E5D)},
	{RUNE_C(0x002E80), RUNE_C(0x002E99)},
	{RUNE_C(0x002E9B), RUNE_C(0x002EF3)},
	{RUNE_C(0x002F00), RUNE_C(0x002FD5)},
	{RUNE_C(0x002FF0), RUNE_C(0x003029)},
	{RUNE_C(0x003030), RUNE_C(0x00303F)},
	{RUNE_C(0x003041), RUNE_C(0x003096)},
	{RUNE_C(0x00309B), RUNE_C(0x0030FF)},
	{RUNE_C(0x003105), RUNE_C(0x00312F)},
	{RUNE_C(0x003131), RUNE_C(0x00318E)},
	{RUNE_C(0x003190), RUNE_C(0x0031E3)},
	{RUNE_C(0x0031EF), RUNE_C(0x00321E)},
	{RUNE_C(0x003220), RUNE_C(0x00A48C)},
	{RUNE_C(0x00A490), RUNE_C(0x00A4C6)},
	{RUNE_C(0x00A4D0), RUNE_C(0x00A62B)},
	{RUNE_C(0x00A640), RUNE_C(0x00A66E)},
	{RUNE_C(0x00A673), RUNE_C(0x00A673)},
	{RUNE_C(0x00A67E), RUNE_C(0x00A69D)},
	{RUNE_C(0x00A6A0), RUNE_C(0x00A6EF)},
	{RUNE_C(0x00A6F2), RUNE_C(0x00A6F7)},
	{RUNE_C(0x00A700), RUNE_C(0x00A7CA)},
	{RUNE_C(0x00A7D0), RUNE_C(0x00A7D1)},
	{RUNE_C(0x00A7D3), RUNE_C(0x00A7D3)},
	{RUNE_C(0x00A7D5), RUNE_C(0x00A7D9)},
	{RUNE_C(0x00A7F2), RUNE_C(0x00A801)},
	{RUNE_C(0x00A803), RUNE_C(0x00A805)},
	{RUNE_C(0x00A807), RUNE_C(0x00A80A)},
	{RUNE_C(0x00A80C), RUNE_C(0x00A824)},
	{RUNE_C(0x00A827), RUNE_C(0x00A82B)},
	{RUNE_C(0x00A830), RUNE_C(0x00A839)},
	{RUNE_C(0x00A840), RUNE_C(0x00A877)},
	{RUNE_C(0x00A880), RUNE_C(0x00A8C3)},
	{RUNE_C(0x00A8CE), RUNE_C(0x00A8D9)},
	{RUNE_C(0x00A8F2), RUNE_C(0x00A8FE)},
	{RUNE_C(0x00A900), RUNE_C(0x00A925)},
	{RUNE_C(0x00A92E), RUNE_C(0x00A946)},
	{RUNE_C(0x00A952), RUNE_C(0x00A953)},
	{RUNE_C(0x00A95F), RUNE_C(0x00A97C)},
	{RUNE_C(0x00A983), RUNE_C(0x00A9B2)},
	{RUNE_C(0x00A9B4), RUNE_C(0x00A9B5)},
	{RUNE_C(0x00A9BA), RUNE_C(0x00A9BB)},
	{RUNE_C(0x00A9BE), RUNE_C(0x00A9CD)},
	{RUNE_C(0x00A9CF), RUNE_C(0x00A9D9)},
	{RUNE_C(0x00A9DE), RUNE_C(0x00A9E4)},
	{RUNE_C(0x00A9E6), RUNE_C(0x00A9FE)},
	{RUNE_C(0x00AA00), RUNE_C(0x00AA28)},
	{RUNE_C(0x00AA2F), RUNE_C(0x00AA30)},
	{RUNE_C(0x00AA33), RUNE_C(0x00AA34)},
	{RUNE_C(0x00AA40), RUNE_C(0x00AA42)},
	{RUNE_C(0x00AA44), RUNE_C(0x00AA4B)},
	{RUNE_C(0x00AA4D), RUNE_C(0x00AA4D)},
	{RUNE_C(0x00AA50), RUNE_C(0x00AA59)},
	{RUNE_C(0x00AA5C), RUNE_C(0x00AA7B)},
	{RUNE_C(0x00AA7D), RUNE_C(0x00AAAF)},
	{RUNE_C(0x00AAB1), RUNE_C(0x00AAB1)},
	{RUNE_C(0x00AAB5), RUNE_C(0x00AAB6)},
	{RUNE_C(0x00AAB9), RUNE_C(0x00AABD)},
	{RUNE_C(0x00AAC0), RUNE_C(0x00AAC0)},
	{RUNE_C(0x00AAC2), RUNE_C(0x00AAC2)},
	{RUNE_C(0x00AADB), RUNE_C(0x00AAEB)},
	{RUNE_C(0x00AAEE), RUNE_C(0x00AAF5)},
	{RUNE_C(0x00AB01), RUNE_C(0x00AB06)},
	{RUNE_C(0x00AB09), RUNE_C(0x00AB0E)},
	{RUNE_C(0x00AB11), RUNE_C(0x00AB16)},
	{RUNE_C(0x00AB20), RUNE_C(0x00AB26)},
	{RUNE_C(0x00AB28), RUNE_C(0x00AB2E)},
	{RUNE_C(0x00AB30), RUNE_C(0x00AB6B)},
	{RUNE_C(0x00AB70), RUNE_C(0x00ABE4)},
	{RUNE_C(0x00ABE6), RUNE_C(0x00ABE7)},
	{RUNE_C(0x00ABE9), RUNE_C(0x00ABEC)},
	{RUNE_C(0x00ABF0), RUNE_C(0x00ABF9)},
	{RUNE_C(0x00AC00), RUNE_C(0x00D7A3)},
	{RUNE_C(0x00D7B0), RUNE_C(0x00D7C6)},
	{RUNE_C(0x00D7CB), RUNE_C(0x00D7FB)},
	{RUNE_C(0x00F900), RUNE_C(0x00FA6D)},
	{RUNE_C(0x00FA70), RUNE_C(0x00FAD9)},
	{RUNE_C(0x00FB00), RUNE_C(0x00FB06)},
	{RUNE_C(0x00FB13), RUNE_C(0x00FB17)},
	{RUNE_C(0x00FB1D), RUNE_C(0x00FB1D)},
	{RUNE_C(0x00FB1F), RUNE_C(0x00FB36)},
	{RUNE_C(0x00FB38), RUNE_C(0x00FB3C)},
	{RUNE_C(0x00FB3E), RUNE_C(0x00FB3E)},
	{RUNE_C(0x00FB40), RUNE_C(0x00FB41)},
	{RUNE_C(0x00FB43), RUNE_C(0x00FB44)},
	{RUNE_C(0x00FB46), RUNE_C(0x00FBC2)},
	{RUNE_C(0x00FBD3), RUNE_C(0x00FD8F)},
	{RUNE_C(0x00FD92), RUNE_C(0x00FDC7)},
	{RUNE_C(0x00FDCF), RUNE_C(0x00FDCF)},
	{RUNE_C(0x00FDF0), RUNE_C(0x00FDFF)},
	{RUNE_C(0x00FE10), RUNE_C(0x00FE19)},
	{RUNE_C(0x00FE30), RUNE_C(0x00FE52)},
	{RUNE_C(0x00FE54), RUNE_C(0x00FE66)},
	{RUNE_C(0x00FE68), RUNE_C(0x00FE6B)},
	{RUNE_C(0x00FE70), RUNE_C(0x00FE74)},
	{RUNE_C(0x00FE76), RUNE_C(0x00FEFC)},
	{RUNE_C(0x00FF01), RUNE_C(0x00FF9D)},
	{RUNE_C(0x00FFA0), RUNE_C(0x00FFBE)},
	{RUNE_C(0x00FFC2), RUNE_C(0x00FFC7)},
	{RUNE_C(0x00FFCA), RUNE_C(0x00FFCF)},
	{RUNE_C(0x00FFD2), RUNE_C(0x00FFD7)},
	{RUNE_C(0x00FFDA), RUNE_C(0x00FFDC)},
	{RUNE_C(0x00FFE0), RUNE_C(0x00FFE6)},
	{RUNE_C(0x00FFE8), RUNE_C(0x00FFEE)},
	{RUNE_C(0x00FFFC), RUNE_C(0x00FFFD)},
	{RUNE_C(0x010000), RUNE_C(0x01000B)},
	{RUNE_C(0x01000D), RUNE_C(0x010026)},
	{RUNE_C(0x010028), RUNE_C(0x01003A)},
	{RUNE_C(0x01003C), RUNE_C(0x01003D)},
	{RUNE_C(0x01003F), RUNE_C(0x01004D)},
	{RUNE_C(0x010050), RUNE_C(0x01005D)},
	{RUNE_C(0x010080), RUNE_C(0x0100FA)},
	{RUNE_C(0x010100), RUNE_C(0x010102)},
	{RUNE_C(0x010107), RUNE_C(0x010133)},
	{RUNE_C(0x010137), RUNE_C(0x01018E)},
	{RUNE_C(0x010190), RUNE_C(0x01019C)},
	{RUNE_C(0x0101A0), RUNE_C(0x0101A0)},
	{RUNE_C(0x0101D0), RUNE_C(0x0101FC)},
	{RUNE_C(0x010280), RUNE_C(0x01029C)},
	{RUNE_C(0x0102A0), RUNE_C(0x0102D0)},
	{RUNE_C(0x0102E1), RUNE_C(0x0102FB)},
	{RUNE_C(0x010300), RUNE_C(0x010323)},
	{RUNE_C(0x01032D), RUNE_C(0x01034A)},
	{RUNE_C(0x010350), RUNE_C(0x010375)},
	{RUNE_C(0x010380), RUNE_C(0x01039D)},
	{RUNE_C(0x01039F), RUNE_C(0x0103C3)},
	{RUNE_C(0x0103C8), RUNE_C(0x0103D5)},
	{RUNE_C(0x010400), RUNE_C(0x01049D)},
	{RUNE_C(0x0104A0), RUNE_C(0x0104A9)},
	{RUNE_C(0x0104B0), RUNE_C(0x0104D3)},
	{RUNE_C(0x0104D8), RUNE_C(0x0104FB)},
	{RUNE_C(0x010500), RUNE_C(0x010527)},
	{RUNE_C(0x010530), RUNE_C(0x010563)},
	{RUNE_C(0x01056F), RUNE_C(0x01057A)},
	{RUNE_C(0x01057C), RUNE_C(0x01058A)},
	{RUNE_C(0x01058C), RUNE_C(0x010592)},
	{RUNE_C(0x010594), RUNE_C(0x010595)},
	{RUNE_C(0x010597), RUNE_C(0x0105A1)},
	{RUNE_C(0x0105A3), RUNE_C(0x0105B1)},
	{RUNE_C(0x0105B3), RUNE_C(0x0105B9)},
	{RUNE_C(0x0105BB), RUNE_C(0x0105BC)},
	{RUNE_C(0x010600), RUNE_C(0x010736)},
	{RUNE_C(0x010740), RUNE_C(0x010755)},
	{RUNE_C(0x010760), RUNE_C(0x010767)},
	{RUNE_C(0x010780), RUNE_C(0x010785)},
	{RUNE_C(0x010787), RUNE_C(0x0107B0)},
	{RUNE_C(0x0107B2), RUNE_C(0x0107BA)},
	{RUNE_C(0x010800), RUNE_C(0x010805)},
	{RUNE_C(0x010808), RUNE_C(0x010808)},
	{RUNE_C(0x01080A), RUNE_C(0x010835)},
	{RUNE_C(0x010837), RUNE_C(0x010838)},
	{RUNE_C(0x01083C), RUNE_C(0x01083C)},
	{RUNE_C(0x01083F), RUNE_C(0x010855)},
	{RUNE_C(0x010857), RUNE_C(0x01089E)},
	{RUNE_C(0x0108A7), RUNE_C(0x0108AF)},
	{RUNE_C(0x0108E0), RUNE_C(0x0108F2)},
	{RUNE_C(0x0108F4), RUNE_C(0x0108F5)},
	{RUNE_C(0x0108FB), RUNE_C(0x01091B)},
	{RUNE_C(0x01091F), RUNE_C(0x010939)},
	{RUNE_C(0x01093F), RUNE_C(0x01093F)},
	{RUNE_C(0x010980), RUNE_C(0x0109B7)},
	{RUNE_C(0x0109BC), RUNE_C(0x0109CF)},
	{RUNE_C(0x0109D2), RUNE_C(0x010A00)},
	{RUNE_C(0x010A10), RUNE_C(0x010A13)},
	{RUNE_C(0x010A15), RUNE_C(0x010A17)},
	{RUNE_C(0x010A19), RUNE_C(0x010A35)},
	{RUNE_C(0x010A40), RUNE_C(0x010A48)},
	{RUNE_C(0x010A50), RUNE_C(0x010A58)},
	{RUNE_C(0x010A60), RUNE_C(0x010A9F)},
	{RUNE_C(0x010AC0), RUNE_C(0x010AE4)},
	{RUNE_C(0x010AEB), RUNE_C(0x010AF6)},
	{RUNE_C(0x010B00), RUNE_C(0x010B35)},
	{RUNE_C(0x010B39), RUNE_C(0x010B55)},
	{RUNE_C(0x010B58), RUNE_C(0x010B72)},
	{RUNE_C(0x010B78), RUNE_C(0x010B91)},
	{RUNE_C(0x010B99), RUNE_C(0x010B9C)},
	{RUNE_C(0x010BA9), RUNE_C(0x010BAF)},
	{RUNE_C(0x010C00), RUNE_C(0x010C48)},
	{RUNE_C(0x010C80), RUNE_C(0x010CB2)},
	{RUNE_C(0x010CC0), RUNE_C(0x010CF2)},
	{RUNE_C(0x010CFA), RUNE_C(0x010D23)},
	{RUNE_C(0x010D30), RUNE_C(0x010D39)},
	{RUNE_C(0x010E60), RUNE_C(0x010E7E)},
	{RUNE_C(0x010E80), RUNE_C(0x010EA9)},
	{RUNE_C(0x010EAD), RUNE_C(0x010EAD)},
	{RUNE_C(0x010EB0), RUNE_C(0x010EB1)},
	{RUNE_C(0x010F00), RUNE_C(0x010F27)},
	{RUNE_C(0x010F30), RUNE_C(0x010F45)},
	{RUNE_C(0x010F51), RUNE_C(0x010F59)},
	{RUNE_C(0x010F70), RUNE_C(0x010F81)},
	{RUNE_C(0x010F86), RUNE_C(0x010F89)},
	{RUNE_C(0x010FB0), RUNE_C(0x010FCB)},
	{RUNE_C(0x010FE0), RUNE_C(0x010FF6)},
	{RUNE_C(0x011000), RUNE_C(0x011000)},
	{RUNE_C(0x011002), RUNE_C(0x011037)},
	{RUNE_C(0x011047), RUNE_C(0x01104D)},
	{RUNE_C(0x011052), RUNE_C(0x01106F)},
	{RUNE_C(0x011071), RUNE_C(0x011072)},
	{RUNE_C(0x011075), RUNE_C(0x011075)},
	{RUNE_C(0x011082), RUNE_C(0x0110B2)},
	{RUNE_C(0x0110B7), RUNE_C(0x0110B8)},
	{RUNE_C(0x0110BB), RUNE_C(0x0110BC)},
	{RUNE_C(0x0110BE), RUNE_C(0x0110C1)},
	{RUNE_C(0x0110D0), RUNE_C(0x0110E8)},
	{RUNE_C(0x0110F0), RUNE_C(0x0110F9)},
	{RUNE_C(0x011103), RUNE_C(0x011126)},
	{RUNE_C(0x01112C), RUNE_C(0x01112C)},
	{RUNE_C(0x011136), RUNE_C(0x011147)},
	{RUNE_C(0x011150), RUNE_C(0x011172)},
	{RUNE_C(0x011174), RUNE_C(0x011176)},
	{RUNE_C(0x011182), RUNE_C(0x0111B5)},
	{RUNE_C(0x0111BF), RUNE_C(0x0111C8)},
	{RUNE_C(0x0111CD), RUNE_C(0x0111CE)},
	{RUNE_C(0x0111D0), RUNE_C(0x0111DF)},
	{RUNE_C(0x0111E1), RUNE_C(0x0111F4)},
	{RUNE_C(0x011200), RUNE_C(0x011211)},
	{RUNE_C(0x011213), RUNE_C(0x01122E)},
	{RUNE_C(0x011232), RUNE_C(0x011233)},
	{RUNE_C(0x011235), RUNE_C(0x011235)},
	{RUNE_C(0x011238), RUNE_C(0x01123D)},
	{RUNE_C(0x01123F), RUNE_C(0x011240)},
	{RUNE_C(0x011280), RUNE_C(0x011286)},
	{RUNE_C(0x011288), RUNE_C(0x011288)},
	{RUNE_C(0x01128A), RUNE_C(0x01128D)},
	{RUNE_C(0x01128F), RUNE_C(0x01129D)},
	{RUNE_C(0x01129F), RUNE_C(0x0112A9)},
	{RUNE_C(0x0112B0), RUNE_C(0x0112DE)},
	{RUNE_C(0x0112E0), RUNE_C(0x0112E2)},
	{RUNE_C(0x0112F0), RUNE_C(0x0112F9)},
	{RUNE_C(0x011302), RUNE_C(0x011303)},
	{RUNE_C(0x011305), RUNE_C(0x01130C)},
	{RUNE_C(0x01130F), RUNE_C(0x011310)},
	{RUNE_C(0x011313), RUNE_C(0x011328)},
	{RUNE_C(0x01132A), RUNE_C(0x011330)},
	{RUNE_C(0x011332), RUNE_C(0x011333)},
	{RUNE_C(0x011335), RUNE_C(0x011339)},
	{RUNE_C(0x01133D), RUNE_C(0x01133D)},
	{RUNE_C(0x01133F), RUNE_C(0x01133F)},
	{RUNE_C(0x011341), RUNE_C(0x011344)},
	{RUNE_C(0x011347), RUNE_C(0x011348)},
	{RUNE_C(0x01134B), RUNE_C(0x01134D)},
	{RUNE_C(0x011350), RUNE_C(0x011350)},
	{RUNE_C(0x01135D), RUNE_C(0x011363)},
	{RUNE_C(0x011400), RUNE_C(0x011437)},
	{RUNE_C(0x011440), RUNE_C(0x011441)},
	{RUNE_C(0x011445), RUNE_C(0x011445)},
	{RUNE_C(0x011447), RUNE_C(0x01145B)},
	{RUNE_C(0x01145D), RUNE_C(0x01145D)},
	{RUNE_C(0x01145F), RUNE_C(0x011461)},
	{RUNE_C(0x011480), RUNE_C(0x0114AF)},
	{RUNE_C(0x0114B1), RUNE_C(0x0114B2)},
	{RUNE_C(0x0114B9), RUNE_C(0x0114B9)},
	{RUNE_C(0x0114BB), RUNE_C(0x0114BC)},
	{RUNE_C(0x0114BE), RUNE_C(0x0114BE)},
	{RUNE_C(0x0114C1), RUNE_C(0x0114C1)},
	{RUNE_C(0x0114C4), RUNE_C(0x0114C7)},
	{RUNE_C(0x0114D0), RUNE_C(0x0114D9)},
	{RUNE_C(0x011580), RUNE_C(0x0115AE)},
	{RUNE_C(0x0115B0), RUNE_C(0x0115B1)},
	{RUNE_C(0x0115B8), RUNE_C(0x0115BB)},
	{RUNE_C(0x0115BE), RUNE_C(0x0115BE)},
	{RUNE_C(0x0115C1), RUNE_C(0x0115DB)},
	{RUNE_C(0x011600), RUNE_C(0x011632)},
	{RUNE_C(0x01163B), RUNE_C(0x01163C)},
	{RUNE_C(0x01163E), RUNE_C(0x01163E)},
	{RUNE_C(0x011641), RUNE_C(0x011644)},
	{RUNE_C(0x011650), RUNE_C(0x011659)},
	{RUNE_C(0x011660), RUNE_C(0x01166C)},
	{RUNE_C(0x011680), RUNE_C(0x0116AA)},
	{RUNE_C(0x0116AC), RUNE_C(0x0116AC)},
	{RUNE_C(0x0116AE), RUNE_C(0x0116AF)},
	{RUNE_C(0x0116B6), RUNE_C(0x0116B6)},
	{RUNE_C(0x0116B8), RUNE_C(0x0116B9)},
	{RUNE_C(0x0116C0), RUNE_C(0x0116C9)},
	{RUNE_C(0x011700), RUNE_C(0x01171A)},
	{RUNE_C(0x011720), RUNE_C(0x011721)},
	{RUNE_C(0x011726), RUNE_C(0x011726)},
	{RUNE_C(0x011730), RUNE_C(0x011746)},
	{RUNE_C(0x011800), RUNE_C(0x01182E)},
	{RUNE_C(0x011838), RUNE_C(0x011838)},
	{RUNE_C(0x01183B), RUNE_C(0x01183B)},
	{RUNE_C(0x0118A0), RUNE_C(0x0118F2)},
	{RUNE_C(0x0118FF), RUNE_C(0x011906)},
	{RUNE_C(0x011909), RUNE_C(0x011909)},
	{RUNE_C(0x01190C), RUNE_C(0x011913)},
	{RUNE_C(0x011915), RUNE_C(0x011916)},
	{RUNE_C(0x011918), RUNE_C(0x01192F)},
	{RUNE_C(0x011931), RUNE_C(0x011935)},
	{RUNE_C(0x011937), RUNE_C(0x011938)},
	{RUNE_C(0x01193D), RUNE_C(0x01193D)},
	{RUNE_C(0x01193F), RUNE_C(0x011942)},
	{RUNE_C(0x011944), RUNE_C(0x011946)},
	{RUNE_C(0x011950), RUNE_C(0x011959)},
	{RUNE_C(0x0119A0), RUNE_C(0x0119A7)},
	{RUNE_C(0x0119AA), RUNE_C(0x0119D3)},
	{RUNE_C(0x0119DC), RUNE_C(0x0119DF)},
	{RUNE_C(0x0119E1), RUNE_C(0x0119E4)},
	{RUNE_C(0x011A00), RUNE_C(0x011A00)},
	{RUNE_C(0x011A0B), RUNE_C(0x011A32)},
	{RUNE_C(0x011A39), RUNE_C(0x011A3A)},
	{RUNE_C(0x011A3F), RUNE_C(0x011A46)},
	{RUNE_C(0x011A50), RUNE_C(0x011A50)},
	{RUNE_C(0x011A57), RUNE_C(0x011A58)},
	{RUNE_C(0x011A5C), RUNE_C(0x011A89)},
	{RUNE_C(0x011A97), RUNE_C(0x011A97)},
	{RUNE_C(0x011A9A), RUNE_C(0x011AA2)},
	{RUNE_C(0x011AB0), RUNE_C(0x011AF8)},
	{RUNE_C(0x011B00), RUNE_C(0x011B09)},
	{RUNE_C(0x011C00), RUNE_C(0x011C08)},
	{RUNE_C(0x011C0A), RUNE_C(0x011C2F)},
	{RUNE_C(0x011C3E), RUNE_C(0x011C3E)},
	{RUNE_C(0x011C40), RUNE_C(0x011C45)},
	{RUNE_C(0x011C50), RUNE_C(0x011C6C)},
	{RUNE_C(0x011C70), RUNE_C(0x011C8F)},
	{RUNE_C(0x011CA9), RUNE_C(0x011CA9)},
	{RUNE_C(0x011CB1), RUNE_C(0x011CB1)},
	{RUNE_C(0x011CB4), RUNE_C(0x011CB4)},
	{RUNE_C(0x011D00), RUNE_C(0x011D06)},
	{RUNE_C(0x011D08), RUNE_C(0x011D09)},
	{RUNE_C(0x011D0B), RUNE_C(0x011D30)},
	{RUNE_C(0x011D46), RUNE_C(0x011D46)},
	{RUNE_C(0x011D50), RUNE_C(0x011D59)},
	{RUNE_C(0x011D60), RUNE_C(0x011D65)},
	{RUNE_C(0x011D67), RUNE_C(0x011D68)},
	{RUNE_C(0x011D6A), RUNE_C(0x011D8E)},
	{RUNE_C(0x011D93), RUNE_C(0x011D94)},
	{RUNE_C(0x011D96), RUNE_C(0x011D96)},
	{RUNE_C(0x011D98), RUNE_C(0x011D98)},
	{RUNE_C(0x011DA0), RUNE_C(0x011DA9)},
	{RUNE_C(0x011EE0), RUNE_C(0x011EF2)},
	{RUNE_C(0x011EF5), RUNE_C(0x011EF8)},
	{RUNE_C(0x011F02), RUNE_C(0x011F10)},
	{RUNE_C(0x011F12), RUNE_C(0x011F35)},
	{RUNE_C(0x011F3E), RUNE_C(0x011F3F)},
	{RUNE_C(0x011F41), RUNE_C(0x011F41)},
	{RUNE_C(0x011F43), RUNE_C(0x011F59)},
	{RUNE_C(0x011FB0), RUNE_C(0x011FB0)},
	{RUNE_C(0x011FC0), RUNE_C(0x011FF1)},
	{RUNE_C(0x011FFF), RUNE_C(0x012399)},
	{RUNE_C(0x012400), RUNE_C(0x01246E)},
	{RUNE_C(0x012470), RUNE_C(0x012474)},
	{RUNE_C(0x012480), RUNE_C(0x012543)},
	{RUNE_C(0x012F90), RUNE_C(0x012FF2)},
	{RUNE_C(0x013000), RUNE_C(0x01342F)},
	{RUNE_C(0x013441), RUNE_C(0x013446)},
	{RUNE_C(0x014400), RUNE_C(0x014646)},
	{RUNE_C(0x016800), RUNE_C(0x016A38)},
	{RUNE_C(0x016A40), RUNE_C(0x016A5E)},
	{RUNE_C(0x016A60), RUNE_C(0x016A69)},
	{RUNE_C(0x016A6E), RUNE_C(0x016ABE)},
	{RUNE_C(0x016AC0), RUNE_C(0x016AC9)},
	{RUNE_C(0x016AD0), RUNE_C(0x016AED)},
	{RUNE_C(0x016AF5), RUNE_C(0x016AF5)},
	{RUNE_C(0x016B00), RUNE_C(0x016B2F)},
	{RUNE_C(0x016B37), RUNE_C(0x016B45)},
	{RUNE_C(0x016B50), RUNE_C(0x016B59)},
	{RUNE_C(0x016B5B), RUNE_C(0x016B61)},
	{RUNE_C(0x016B63), RUNE_C(0x016B77)},
	{RUNE_C(0x016B7D), RUNE_C(0x016B8F)},
	{RUNE_C(0x016E40), RUNE_C(0x016E9A)},
	{RUNE_C(0x016F00), RUNE_C(0x016F4A)},
	{RUNE_C(0x016F50), RUNE_C(0x016F87)},
	{RUNE_C(0x016F93), RUNE_C(0x016F9F)},
	{RUNE_C(0x016FE0), RUNE_C(0x016FE3)},
	{RUNE_C(0x016FF0), RUNE_C(0x016FF1)},
	{RUNE_C(0x017000), RUNE_C(0x0187F7)},
	{RUNE_C(0x018800), RUNE_C(0x018CD5)},
	{RUNE_C(0x018D00), RUNE_C(0x018D08)},
	{RUNE_C(0x01AFF0), RUNE_C(0x01AFF3)},
	{RUNE_C(0x01AFF5), RUNE_C(0x01AFFB)},
	{RUNE_C(0x01AFFD), RUNE_C(0x01AFFE)},
	{RUNE_C(0x01B000), RUNE_C(0x01B122)},
	{RUNE_C(0x01B132), RUNE_C(0x01B132)},
	{RUNE_C(0x01B150), RUNE_C(0x01B152)},
	{RUNE_C(0x01B155), RUNE_C(0x01B155)},
	{RUNE_C(0x01B164), RUNE_C(0x01B167)},
	{RUNE_C(0x01B170), RUNE_C(0x01B2FB)},
	{RUNE_C(0x01BC00), RUNE_C(0x01BC6A)},
	{RUNE_C(0x01BC70), RUNE_C(0x01BC7C)},
	{RUNE_C(0x01BC80), RUNE_C(0x01BC88)},
	{RUNE_C(0x01BC90), RUNE_C(0x01BC99)},
	{RUNE_C(0x01BC9C), RUNE_C(0x01BC9C)},
	{RUNE_C(0x01BC9F), RUNE_C(0x01BC9F)},
	{RUNE_C(0x01CF50), RUNE_C(0x01CFC3)},
	{RUNE_C(0x01D000), RUNE_C(0x01D0F5)},
	{RUNE_C(0x01D100), RUNE_C(0x01D126)},
	{RUNE_C(0x01D129), RUNE_C(0x01D164)},
	{RUNE_C(0x01D166), RUNE_C(0x01D166)},
	{RUNE_C(0x01D16A), RUNE_C(0x01D16D)},
	{RUNE_C(0x01D183), RUNE_C(0x01D184)},
	{RUNE_C(0x01D18C), RUNE_C(0x01D1A9)},
	{RUNE_C(0x01D1AE), RUNE_C(0x01D1EA)},
	{RUNE_C(0x01D200), RUNE_C(0x01D241)},
	{RUNE_C(0x01D245), RUNE_C(0x01D245)},
	{RUNE_C(0x01D2C0), RUNE_C(0x01D2D3)},
	{RUNE_C(0x01D2E0), RUNE_C(0x01D2F3)},
	{RUNE_C(0x01D300), RUNE_C(0x01D356)},
	{RUNE_C(0x01D360), RUNE_C(0x01D378)},
	{RUNE_C(0x01D400), RUNE_C(0x01D454)},
	{RUNE_C(0x01D456), RUNE_C(0x01D49C)},
	{RUNE_C(0x01D49E), RUNE_C(0x01D49F)},
	{RUNE_C(0x01D4A2), RUNE_C(0x01D4A2)},
	{RUNE_C(0x01D4A5), RUNE_C(0x01D4A6)},
	{RUNE_C(0x01D4A9), RUNE_C(0x01D4AC)},
	{RUNE_C(0x01D4AE), RUNE_C(0x01D4B9)},
	{RUNE_C(0x01D4BB), RUNE_C(0x01D4BB)},
	{RUNE_C(0x01D4BD), RUNE_C(0x01D4C3)},
	{RUNE_C(0x01D4C5), RUNE_C(0x01D505)},
	{RUNE_C(0x01D507), RUNE_C(0x01D50A)},
	{RUNE_C(0x01D50D), RUNE_C(0x01D514)},
	{RUNE_C(0x01D516), RUNE_C(0x01D51C)},
	{RUNE_C(0x01D51E), RUNE_C(0x01D539)},
	{RUNE_C(0x01D53B), RUNE_C(0x01D53E)},
	{RUNE_C(0x01D540), RUNE_C(0x01D544)},
	{RUNE_C(0x01D546), RUNE_C(0x01D546)},
	{RUNE_C(0x01D54A), RUNE_C(0x01D550)},
	{RUNE_C(0x01D552), RUNE_C(0x01D6A5)},
	{RUNE_C(0x01D6A8), RUNE_C(0x01D7CB)},
	{RUNE_C(0x01D7CE), RUNE_C(0x01D9FF)},
	{RUNE_C(0x01DA37), RUNE_C(0x01DA3A)},
	{RUNE_C(0x01DA6D), RUNE_C(0x01DA74)},
	{RUNE_C(0x01DA76), RUNE_C(0x01DA83)},
	{RUNE_C(0x01DA85), RUNE_C(0x01DA8B)},
	{RUNE_C(0x01DF00), RUNE_C(0x01DF1E)},
	{RUNE_C(0x01DF25), RUNE_C(0x01DF2A)},
	{RUNE_C(0x01E030), RUNE_C(0x01E06D)},
	{RUNE_C(0x01E100), RUNE_C(0x01E12C)},
	{RUNE_C(0x01E137), RUNE_C(0x01E13D)},
	{RUNE_C(0x01E140), RUNE_C(0x01E149)},
	{RUNE_C(0x01E14E), RUNE_C(0x01E14F)},
	{RUNE_C(0x01E290), RUNE_C(0x01E2AD)},
	{RUNE_C(0x01E2C0), RUNE_C(0x01E2EB)},
	{RUNE_C(0x01E2F0), RUNE_C(0x01E2F9)},
	{RUNE_C(0x01E2FF), RUNE_C(0x01E2FF)},
	{RUNE_C(0x01E4D0), RUNE_C(0x01E4EB)},
	{RUNE_C(0x01E4F0), RUNE_C(0x01E4F9)},
	{RUNE_C(0x01E7E0), RUNE_C(0x01E7E6)},
	{RUNE_C(0x01E7E8), RUNE_C(0x01E7EB)},
	{RUNE_C(0x01E7ED), RUNE_C(0x01E7EE)},
	{RUNE_C(0x01E7F0), RUNE_C(0x01E7FE)},
	{RUNE_C(0x01E800), RUNE_C(0x01E8C4)},
	{RUNE_C(0x01E8C7), RUNE_C(0x01E8CF)},
	{RUNE_C(0x01E900), RUNE_C(0x01E943)},
	{RUNE_C(0x01E94B), RUNE_C(0x01E94B)},
	{RUNE_C(0x01E950), RUNE_C(0x01E959)},
	{RUNE_C(0x01E95E), RUNE_C(0x01E95F)},
	{RUNE_C(0x01EC71), RUNE_C(0x01ECB4)},
	{RUNE_C(0x01ED01), RUNE_C(0x01ED3D)},
	{RUNE_C(0x01EE00), RUNE_C(0x01EE03)},
	{RUNE_C(0x01EE05), RUNE_C(0x01EE1F)},
	{RUNE_C(0x01EE21), RUNE_C(0x01EE22)},
	{RUNE_C(0x01EE24), RUNE_C(0x01EE24)},
	{RUNE_C(0x01EE27), RUNE_C(0x01EE27)},
	{RUNE_C(0x01EE29), RUNE_C(0x01EE32)},
	{RUNE_C(0x01EE34), RUNE_C(0x01EE37)},
	{RUNE_C(0x01EE39), RUNE_C(0x01EE39)},
	{RUNE_C(0x01EE3B), RUNE_C(0x01EE3B)},
	{RUNE_C(0x01EE42), RUNE_C(0x01EE42)},
	{RUNE_C(0x01EE47), RUNE_C(0x01EE47)},
	{RUNE_C(0x01EE49), RUNE_C(0x01EE49)},
	{RUNE_C(0x01EE4B), RUNE_C(0x01EE4B)},
	{RUNE_C(0x01EE4D), RUNE_C(0x01EE4F)},
	{RUNE_C(0x01EE51), RUNE_C(0x01EE52)},
	{RUNE_C(0x01EE54), RUNE_C(0x01EE54)},
	{RUNE_C(0x01EE57), RUNE_C(0x01EE57)},
	{RUNE_C(0x01EE59), RUNE_C(0x01EE59)},
	{RUNE_C(0x01EE5B), RUNE_C(0x01EE5B)},
	{RUNE_C(0x01EE5D), RUNE_C(0x01EE5D)},
	{RUNE_C(0x01EE5F), RUNE_C(0x01EE5F)},
	{RUNE_C(0x01EE61), RUNE_C(0x01EE62)},
	{RUNE_C(0x01EE64), RUNE_C(0x01EE64)},
	{RUNE_C(0x01EE67), RUNE_C(0x01EE6A)},
	{RUNE_C(0x01EE6C), RUNE_C(0x01EE72)},
	{RUNE_C(0x01EE74), RUNE_C(0x01EE77)},
	{RUNE_C(0x01EE79), RUNE_C(0x01EE7C)},
	{RUNE_C(0x01EE7E), RUNE_C(0x01EE7E)},
	{RUNE_C(0x01EE80), RUNE_C(0x01EE89)},
	{RUNE_C(0x01EE8B), RUNE_C(0x01EE9B)},
	{RUNE_C(0x01EEA1), RUNE_C(0x01EEA3)},
	{RUNE_C(0x01EEA5), RUNE_C(0x01EEA9)},
	{RUNE_C(0x01EEAB), RUNE_C(0x01EEBB)},
	{RUNE_C(0x01EEF0), RUNE_C(0x01EEF1)},
	{RUNE_C(0x01F000), RUNE_C(0x01F02B)},
	{RUNE_C(0x01F030), RUNE_C(0x01F093)},
	{RUNE_C(0x01F0A0), RUNE_C(0x01F0AE)},
	{RUNE_C(0x01F0B1), RUNE_C(0x01F0BF)},
	{RUNE_C(0x01F0C1), RUNE_C(0x01F0CF)},
	{RUNE_C(0x01F0D1), RUNE_C(0x01F0F5)},
	{RUNE_C(0x01F100), RUNE_C(0x01F1AD)},
	{RUNE_C(0x01F1E6), RUNE_C(0x01F202)},
	{RUNE_C(0x01F210), RUNE_C(0x01F23B)},
	{RUNE_C(0x01F240), RUNE_C(0x01F248)},
	{RUNE_C(0x01F250), RUNE_C(0x01F251)},
	{RUNE_C(0x01F260), RUNE_C(0x01F265)},
	{RUNE_C(0x01F300), RUNE_C(0x01F6D7)},
	{RUNE_C(0x01F6DC), RUNE_C(0x01F6EC)},
	{RUNE_C(0x01F6F0), RUNE_C(0x01F6FC)},
	{RUNE_C(0x01F700), RUNE_C(0x01F776)},
	{RUNE_C(0x01F77B), RUNE_C(0x01F7D9)},
	{RUNE_C(0x01F7E0), RUNE_C(0x01F7EB)},
	{RUNE_C(0x01F7F0), RUNE_C(0x01F7F0)},
	{RUNE_C(0x01F800), RUNE_C(0x01F80B)},
	{RUNE_C(0x01F810), RUNE_C(0x01F847)},
	{RUNE_C(0x01F850), RUNE_C(0x01F859)},
	{RUNE_C(0x01F860), RUNE_C(0x01F887)},
	{RUNE_C(0x01F890), RUNE_C(0x01F8AD)},
	{RUNE_C(0x01F8B0), RUNE_C(0x01F8B1)},
	{RUNE_C(0x01F900), RUNE_C(0x01FA53)},
	{RUNE_C(0x01FA60), RUNE_C(0x01FA6D)},
	{RUNE_C(0x01FA70), RUNE_C(0x01FA7C)},
	{RUNE_C(0x01FA80), RUNE_C(0x01FA88)},
	{RUNE_C(0x01FA90), RUNE_C(0x01FABD)},
	{RUNE_C(0x01FABF), RUNE_C(0x01FAC5)},
	{RUNE_C(0x01FACE), RUNE_C(0x01FADB)},
	{RUNE_C(0x01FAE0), RUNE_C(0x01FAE8)},
	{RUNE_C(0x01FAF0), RUNE_C(0x01FAF8)},
	{RUNE_C(0x01FB00), RUNE_C(0x01FB92)},
	{RUNE_C(0x01FB94), RUNE_C(0x01FBCA)},
	{RUNE_C(0x01FBF0), RUNE_C(0x01FBF9)},
	{RUNE_C(0x020000), RUNE_C(0x02A6DF)},
	{RUNE_C(0x02A700), RUNE_C(0x02B739)},
	{RUNE_C(0x02B740), RUNE_C(0x02B81D)},
	{RUNE_C(0x02B820), RUNE_C(0x02CEA1)},
	{RUNE_C(0x02CEB0), RUNE_C(0x02EBE0)},
	{RUNE_C(0x02EBF0), RUNE_C(0x02EE5D)},
	{RUNE_C(0x02F800), RUNE_C(0x02FA1D)},
	{RUNE_C(0x030000), RUNE_C(0x03134A)},
	{RUNE_C(0x031350), RUNE_C(0x0323AF)},
};

_MLIB_DEFINE_BSEARCH_CONTAINS(lookup)

bool
uprop_is_gr_base(rune ch)
{
	return ch <= LATIN1_MAX ? TESTBIT(bs, ch) : mlib_lookup_contains(ch);
}