regex-syntax 0.5.2

A regular expression parser.
Documentation
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
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
//
//  ucd-generate property-bool tmp/ucd-10.0.0/ --chars
//
// ucd-generate is available on crates.io.

pub const BY_NAME: &'static [(&'static str, &'static [(char, char)])] = &[
  ("ASCII_Hex_Digit", ASCII_HEX_DIGIT), ("Alphabetic", ALPHABETIC),
  ("Bidi_Control", BIDI_CONTROL), ("Case_Ignorable", CASE_IGNORABLE),
  ("Cased", CASED), ("Changes_When_Casefolded", CHANGES_WHEN_CASEFOLDED),
  ("Changes_When_Casemapped", CHANGES_WHEN_CASEMAPPED),
  ("Changes_When_Lowercased", CHANGES_WHEN_LOWERCASED),
  ("Changes_When_Titlecased", CHANGES_WHEN_TITLECASED),
  ("Changes_When_Uppercased", CHANGES_WHEN_UPPERCASED), ("Dash", DASH),
  ("Default_Ignorable_Code_Point", DEFAULT_IGNORABLE_CODE_POINT),
  ("Deprecated", DEPRECATED), ("Diacritic", DIACRITIC),
  ("Extender", EXTENDER), ("Grapheme_Base", GRAPHEME_BASE),
  ("Grapheme_Extend", GRAPHEME_EXTEND), ("Grapheme_Link", GRAPHEME_LINK),
  ("Hex_Digit", HEX_DIGIT), ("Hyphen", HYPHEN),
  ("IDS_Binary_Operator", IDS_BINARY_OPERATOR),
  ("IDS_Trinary_Operator", IDS_TRINARY_OPERATOR),
  ("ID_Continue", ID_CONTINUE), ("ID_Start", ID_START),
  ("Ideographic", IDEOGRAPHIC), ("Join_Control", JOIN_CONTROL),
  ("Logical_Order_Exception", LOGICAL_ORDER_EXCEPTION),
  ("Lowercase", LOWERCASE), ("Math", MATH),
  ("Noncharacter_Code_Point", NONCHARACTER_CODE_POINT),
  ("Other_Alphabetic", OTHER_ALPHABETIC),
  ("Other_Default_Ignorable_Code_Point", OTHER_DEFAULT_IGNORABLE_CODE_POINT),
  ("Other_Grapheme_Extend", OTHER_GRAPHEME_EXTEND),
  ("Other_ID_Continue", OTHER_ID_CONTINUE),
  ("Other_ID_Start", OTHER_ID_START), ("Other_Lowercase", OTHER_LOWERCASE),
  ("Other_Math", OTHER_MATH), ("Other_Uppercase", OTHER_UPPERCASE),
  ("Pattern_Syntax", PATTERN_SYNTAX),
  ("Pattern_White_Space", PATTERN_WHITE_SPACE),
  ("Prepended_Concatenation_Mark", PREPENDED_CONCATENATION_MARK),
  ("Quotation_Mark", QUOTATION_MARK), ("Radical", RADICAL),
  ("Regional_Indicator", REGIONAL_INDICATOR),
  ("Sentence_Terminal", SENTENCE_TERMINAL), ("Soft_Dotted", SOFT_DOTTED),
  ("Terminal_Punctuation", TERMINAL_PUNCTUATION),
  ("Unified_Ideograph", UNIFIED_IDEOGRAPH), ("Uppercase", UPPERCASE),
  ("Variation_Selector", VARIATION_SELECTOR), ("White_Space", WHITE_SPACE),
  ("XID_Continue", XID_CONTINUE), ("XID_Start", XID_START),
];

pub const ASCII_HEX_DIGIT: &'static [(char, char)] = &[
  ('0', '9'), ('A', 'F'), ('a', 'f'),
];

pub const ALPHABETIC: &'static [(char, char)] = &[
  ('A', 'Z'), ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'), ('º', 'º'),
  ('À', 'Ö'), ('Ø', 'ö'), ('ø', 'ˁ'), ('ˆ', 'ˑ'), ('ˠ', 'ˤ'),
  ('ˬ', 'ˬ'), ('ˮ', 'ˮ'), ('ͅ', 'ͅ'), ('Ͱ', 'ʹ'), ('Ͷ', 'ͷ'),
  ('ͺ', 'ͽ'), ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'), ('Ό', 'Ό'),
  ('Ύ', 'Ρ'), ('Σ', 'ϵ'), ('Ϸ', 'ҁ'), ('Ҋ', 'ԯ'), ('Ա', 'Ֆ'),
  ('ՙ', 'ՙ'), ('ա', 'և'), ('ְ', 'ֽ'), ('ֿ', 'ֿ'), ('ׁ', 'ׂ'),
  ('ׄ', 'ׅ'), ('ׇ', 'ׇ'), ('א', 'ת'), ('װ', 'ײ'), ('ؐ', 'ؚ'),
  ('ؠ', 'ٗ'), ('ٙ', 'ٟ'), ('ٮ', 'ۓ'), ('ە', 'ۜ'), ('ۡ', 'ۨ'),
  ('ۭ', 'ۯ'), ('ۺ', 'ۼ'), ('ۿ', 'ۿ'), ('ܐ', 'ܿ'), ('ݍ', 'ޱ'),
  ('ߊ', 'ߪ'), ('ߴ', 'ߵ'), ('ߺ', 'ߺ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', 'ൿ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('က', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ᶿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ⷿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('ꀀ', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ꦿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('𐀀', '𐀋'), ('𐀍', '𐀦'), ('𐀨', '𐀺'), ('𐀼', '𐀽'),
  ('𐀿', '𐁍'), ('𐁐', '𐁝'), ('𐂀', '𐃺'), ('𐅀', '𐅴'),
  ('𐊀', '𐊜'), ('𐊠', '𐋐'), ('𐌀', '𐌟'), ('𐌭', '𐍊'),
  ('𐍐', '𐍺'), ('𐎀', '𐎝'), ('𐎠', '𐏃'), ('𐏈', '𐏏'),
  ('𐏑', '𐏕'), ('𐐀', '𐒝'), ('𐒰', '𐓓'), ('𐓘', '𐓻'),
  ('𐔀', '𐔧'), ('𐔰', '𐕣'), ('𐘀', '𐜶'), ('𐝀', '𐝕'),
  ('𐝠', '𐝧'), ('𐠀', '𐠅'), ('𐠈', '𐠈'), ('𐠊', '𐠵'),
  ('𐠷', '𐠸'), ('𐠼', '𐠼'), ('𐠿', '𐡕'), ('𐡠', '𐡶'),
  ('𐢀', '𐢞'), ('𐣠', '𐣲'), ('𐣴', '𐣵'), ('𐤀', '𐤕'),
  ('𐤠', '𐤹'), ('𐦀', '𐦷'), ('𐦾', '𐦿'), ('𐨀', '𐨃'),
  ('𐨅', '𐨆'), ('𐨌', '𐨓'), ('𐨕', '𐨗'), ('𐨙', '𐨳'),
  ('𐩠', '𐩼'), ('𐪀', '𐪜'), ('𐫀', '𐫇'), ('𐫉', '𐫤'),
  ('𐬀', '𐬵'), ('𐭀', '𐭕'), ('𐭠', '𐭲'), ('𐮀', '𐮑'),
  ('𐰀', '𐱈'), ('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𑀀', '𑁅'),
  ('𑂂', '𑂸'), ('𑃐', '𑃨'), ('𑄀', '𑄲'), ('𑅐', '𑅲'),
  ('𑅶', '𑅶'), ('𑆀', '𑆿'), ('𑇁', '𑇄'), ('𑇚', '𑇚'),
  ('𑇜', '𑇜'), ('𑈀', '𑈑'), ('𑈓', '𑈴'), ('𑈷', '𑈷'),
  ('𑈾', '𑈾'), ('𑊀', '𑊆'), ('𑊈', '𑊈'), ('𑊊', '𑊍'),
  ('𑊏', '𑊝'), ('𑊟', '𑊨'), ('𑊰', '𑋨'), ('𑌀', '𑌃'),
  ('𑌅', '𑌌'), ('𑌏', '𑌐'), ('𑌓', '𑌨'), ('𑌪', '𑌰'),
  ('𑌲', '𑌳'), ('𑌵', '𑌹'), ('𑌽', '𑍄'), ('𑍇', '𑍈'),
  ('𑍋', '𑍌'), ('𑍐', '𑍐'), ('𑍗', '𑍗'), ('𑍝', '𑍣'),
  ('𑐀', '𑑁'), ('𑑃', '𑑅'), ('𑑇', '𑑊'), ('𑒀', '𑓁'),
  ('𑓄', '𑓅'), ('𑓇', '𑓇'), ('𑖀', '𑖵'), ('𑖸', '𑖾'),
  ('𑗘', '𑗝'), ('𑘀', '𑘾'), ('𑙀', '𑙀'), ('𑙄', '𑙄'),
  ('𑚀', '𑚵'), ('𑜀', '𑜙'), ('𑜝', '𑜪'), ('𑢠', '𑣟'),
  ('𑣿', '𑣿'), ('𑨀', '𑨲'), ('𑨵', '𑨾'), ('𑩐', '𑪃'),
  ('𑪆', '𑪗'), ('𑫀', '𑫸'), ('𑰀', '𑰈'), ('𑰊', '𑰶'),
  ('𑰸', '𑰾'), ('𑱀', '𑱀'), ('𑱲', '𑲏'), ('𑲒', '𑲧'),
  ('𑲩', '𑲶'), ('𑴀', '𑴆'), ('𑴈', '𑴉'), ('𑴋', '𑴶'),
  ('𑴺', '𑴺'), ('𑴼', '𑴽'), ('𑴿', '𑵁'), ('𑵃', '𑵃'),
  ('𑵆', '𑵇'), ('𒀀', '𒎙'), ('𒐀', '𒑮'), ('𒒀', '𒕃'),
  ('𓀀', '𓐮'), ('𔐀', '𔙆'), ('𖠀', '𖨸'), ('𖩀', '𖩞'),
  ('𖫐', '𖫭'), ('𖬀', '𖬶'), ('𖭀', '𖭃'), ('𖭣', '𖭷'),
  ('𖭽', '𖮏'), ('𖼀', '𖽄'), ('𖽐', '𖽾'), ('𖾓', '𖾟'),
  ('𖿠', '𖿡'), ('𗀀', '𘟬'), ('𘠀', '𘫲'), ('𛀀', '𛄞'),
  ('𛅰', '𛋻'), ('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'),
  ('𛲐', '𛲙'), ('𛲞', '𛲞'), ('𝐀', '𝑔'), ('𝑖', '𝒜'),
  ('𝒞', '𝒟'), ('𝒢', '𝒢'), ('𝒥', '𝒦'), ('𝒩', '𝒬'),
  ('𝒮', '𝒹'), ('𝒻', '𝒻'), ('𝒽', '𝓃'), ('𝓅', '𝔅'),
  ('𝔇', '𝔊'), ('𝔍', '𝔔'), ('𝔖', '𝔜'), ('𝔞', '𝔹'),
  ('𝔻', '𝔾'), ('𝕀', '𝕄'), ('𝕆', '𝕆'), ('𝕊', '𝕐'),
  ('𝕒', '𝚥'), ('𝚨', '𝛀'), ('𝛂', '𝛚'), ('𝛜', '𝛺'),
  ('𝛼', '𝜔'), ('𝜖', '𝜴'), ('𝜶', '𝝎'), ('𝝐', '𝝮'),
  ('𝝰', '𝞈'), ('𝞊', '𝞨'), ('𝞪', '𝟂'), ('𝟄', '𝟋'),
  ('𞀀', '𞀆'), ('𞀈', '𞀘'), ('𞀛', '𞀡'), ('𞀣', '𞀤'),
  ('𞀦', '𞀪'), ('𞠀', '𞣄'), ('𞤀', '𞥃'), ('𞥇', '𞥇'),
  ('𞸀', '𞸃'), ('𞸅', '𞸟'), ('𞸡', '𞸢'), ('𞸤', '𞸤'),
  ('𞸧', '𞸧'), ('𞸩', '𞸲'), ('𞸴', '𞸷'), ('𞸹', '𞸹'),
  ('𞸻', '𞸻'), ('𞹂', '𞹂'), ('𞹇', '𞹇'), ('𞹉', '𞹉'),
  ('𞹋', '𞹋'), ('𞹍', '𞹏'), ('𞹑', '𞹒'), ('𞹔', '𞹔'),
  ('𞹗', '𞹗'), ('𞹙', '𞹙'), ('𞹛', '𞹛'), ('𞹝', '𞹝'),
  ('𞹟', '𞹟'), ('𞹡', '𞹢'), ('𞹤', '𞹤'), ('𞹧', '𞹪'),
  ('𞹬', '𞹲'), ('𞹴', '𞹷'), ('𞹹', '𞹼'), ('𞹾', '𞹾'),
  ('𞺀', '𞺉'), ('𞺋', '𞺛'), ('𞺡', '𞺣'), ('𞺥', '𞺩'),
  ('𞺫', '𞺻'), ('🄰', '🅉'), ('🅐', '🅩'), ('🅰', '🆉'),
  ('𠀀', '𪛖'), ('𪜀', '𫜴'), ('𫝀', '𫠝'), ('𫠠', '𬺡'),
  ('𬺰', '𮯠'), ('丽', '𪘀'),
];

pub const BIDI_CONTROL: &'static [(char, char)] = &[
  ('\u{61c}', '\u{61c}'), ('\u{200e}', '\u{200f}'), ('\u{202a}', '\u{202e}'),
  ('\u{2066}', '\u{2069}'),
];

pub const CASE_IGNORABLE: &'static [(char, char)] = &[
  ('\'', '\''), ('.', '.'), (':', ':'), ('^', '^'), ('`', '`'), ('¨', '¨'),
  ('\u{ad}', '\u{ad}'), ('¯', '¯'), ('´', '´'), ('·', '¸'),
  ('ʰ', 'ͯ'), ('ʹ', '͵'), ('ͺ', 'ͺ'), ('΄', '΅'), ('·', '·'),
  ('҃', '҉'), ('ՙ', 'ՙ'), ('֑', 'ֽ'), ('ֿ', 'ֿ'), ('ׁ', 'ׂ'),
  ('ׄ', 'ׅ'), ('ׇ', 'ׇ'), ('״', '״'), ('\u{600}', '\u{605}'),
  ('ؐ', 'ؚ'), ('\u{61c}', '\u{61c}'), ('ـ', 'ـ'), ('ً', 'ٟ'),
  ('ٰ', 'ٰ'), ('ۖ', '\u{6dd}'), ('۟', 'ۨ'), ('۪', 'ۭ'),
  ('\u{70f}', '\u{70f}'), ('ܑ', 'ܑ'), ('ܰ', '݊'), ('ަ', 'ް'),
  ('߫', 'ߵ'), ('ߺ', 'ߺ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', '૿'), ('', ''),
  ('', ''), ('ି', 'ି'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ಿ', 'ಿ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', '\u{180e}'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('᩿', '᩿'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '᷿'),
  ('', ''), ('᾿', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('\u{200b}', '\u{200f}'), ('', ''),
  ('', ''), ('', ''), ('\u{202a}', '\u{202e}'),
  ('\u{2060}', '\u{2064}'), ('\u{2066}', '\u{206f}'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('⵿', '⵿'), ('', 'ⷿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '꪿'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('\u{feff}', '\u{feff}'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('\u{fff9}', '\u{fffb}'), ('𐇽', '𐇽'),
  ('𐋠', '𐋠'), ('𐍶', '𐍺'), ('𐨁', '𐨃'), ('𐨅', '𐨆'),
  ('𐨌', '𐨏'), ('𐨸', '𐨺'), ('𐨿', '𐨿'), ('𐫥', '𐫦'),
  ('𑀁', '𑀁'), ('𑀸', '𑁆'), ('𑁿', '𑂁'), ('𑂳', '𑂶'),
  ('𑂹', '𑂺'), ('\u{110bd}', '\u{110bd}'), ('𑄀', '𑄂'),
  ('𑄧', '𑄫'), ('𑄭', '𑄴'), ('𑅳', '𑅳'), ('𑆀', '𑆁'),
  ('𑆶', '𑆾'), ('𑇊', '𑇌'), ('𑈯', '𑈱'), ('𑈴', '𑈴'),
  ('𑈶', '𑈷'), ('𑈾', '𑈾'), ('𑋟', '𑋟'), ('𑋣', '𑋪'),
  ('𑌀', '𑌁'), ('𑌼', '𑌼'), ('𑍀', '𑍀'), ('𑍦', '𑍬'),
  ('𑍰', '𑍴'), ('𑐸', '𑐿'), ('𑑂', '𑑄'), ('𑑆', '𑑆'),
  ('𑒳', '𑒸'), ('𑒺', '𑒺'), ('𑒿', '𑓀'), ('𑓂', '𑓃'),
  ('𑖲', '𑖵'), ('𑖼', '𑖽'), ('𑖿', '𑗀'), ('𑗜', '𑗝'),
  ('𑘳', '𑘺'), ('𑘽', '𑘽'), ('𑘿', '𑙀'), ('𑚫', '𑚫'),
  ('𑚭', '𑚭'), ('𑚰', '𑚵'), ('𑚷', '𑚷'), ('𑜝', '𑜟'),
  ('𑜢', '𑜥'), ('𑜧', '𑜫'), ('𑨁', '𑨆'), ('𑨉', '𑨊'),
  ('𑨳', '𑨸'), ('𑨻', '𑨾'), ('𑩇', '𑩇'), ('𑩑', '𑩖'),
  ('𑩙', '𑩛'), ('𑪊', '𑪖'), ('𑪘', '𑪙'), ('𑰰', '𑰶'),
  ('𑰸', '𑰽'), ('𑰿', '𑰿'), ('𑲒', '𑲧'), ('𑲪', '𑲰'),
  ('𑲲', '𑲳'), ('𑲵', '𑲶'), ('𑴱', '𑴶'), ('𑴺', '𑴺'),
  ('𑴼', '𑴽'), ('𑴿', '𑵅'), ('𑵇', '𑵇'), ('𖫰', '𖫴'),
  ('𖬰', '𖬶'), ('𖭀', '𖭃'), ('𖾏', '𖾟'), ('𖿠', '𖿡'),
  ('𛲝', '𛲞'), ('\u{1bca0}', '\u{1bca3}'), ('𝅧', '𝅩'),
  ('\u{1d173}', '𝆂'), ('𝆅', '𝆋'), ('𝆪', '𝆭'), ('𝉂', '𝉄'),
  ('𝨀', '𝨶'), ('𝨻', '𝩬'), ('𝩵', '𝩵'), ('𝪄', '𝪄'),
  ('𝪛', '𝪟'), ('𝪡', '𝪯'), ('𞀀', '𞀆'), ('𞀈', '𞀘'),
  ('𞀛', '𞀡'), ('𞀣', '𞀤'), ('𞀦', '𞀪'), ('𞣐', '𞣖'),
  ('𞥄', '𞥊'), ('🏻', '🏿'), ('\u{e0001}', '\u{e0001}'),
  ('\u{e0020}', '\u{e007f}'), ('󠄀', '󠇯'),
];

pub const CASED: &'static [(char, char)] = &[
  ('A', 'Z'), ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'), ('º', 'º'),
  ('À', 'Ö'), ('Ø', 'ö'), ('ø', 'ƺ'), ('Ƽ', 'ƿ'), ('DŽ', 'ʓ'),
  ('ʕ', 'ʸ'), ('ˀ', 'ˁ'), ('ˠ', 'ˤ'), ('ͅ', 'ͅ'), ('Ͱ', 'ͳ'),
  ('Ͷ', 'ͷ'), ('ͺ', 'ͽ'), ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'),
  ('Ό', 'Ό'), ('Ύ', 'Ρ'), ('Σ', 'ϵ'), ('Ϸ', 'ҁ'), ('Ҋ', 'ԯ'),
  ('Ա', 'Ֆ'), ('ա', 'և'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', 'ᶿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ꮿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('𐐀', '𐑏'), ('𐒰', '𐓓'), ('𐓘', '𐓻'),
  ('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𑢠', '𑣟'), ('𝐀', '𝑔'),
  ('𝑖', '𝒜'), ('𝒞', '𝒟'), ('𝒢', '𝒢'), ('𝒥', '𝒦'),
  ('𝒩', '𝒬'), ('𝒮', '𝒹'), ('𝒻', '𝒻'), ('𝒽', '𝓃'),
  ('𝓅', '𝔅'), ('𝔇', '𝔊'), ('𝔍', '𝔔'), ('𝔖', '𝔜'),
  ('𝔞', '𝔹'), ('𝔻', '𝔾'), ('𝕀', '𝕄'), ('𝕆', '𝕆'),
  ('𝕊', '𝕐'), ('𝕒', '𝚥'), ('𝚨', '𝛀'), ('𝛂', '𝛚'),
  ('𝛜', '𝛺'), ('𝛼', '𝜔'), ('𝜖', '𝜴'), ('𝜶', '𝝎'),
  ('𝝐', '𝝮'), ('𝝰', '𝞈'), ('𝞊', '𝞨'), ('𝞪', '𝟂'),
  ('𝟄', '𝟋'), ('𞤀', '𞥃'), ('🄰', '🅉'), ('🅐', '🅩'),
  ('🅰', '🆉'),
];

pub const CHANGES_WHEN_CASEFOLDED: &'static [(char, char)] = &[
  ('A', 'Z'), ('µ', 'µ'), ('À', 'Ö'), ('Ø', 'ß'), ('Ā', 'Ā'),
  ('Ă', 'Ă'), ('Ą', 'Ą'), ('Ć', 'Ć'), ('Ĉ', 'Ĉ'), ('Ċ', 'Ċ'),
  ('Č', 'Č'), ('Ď', 'Ď'), ('Đ', 'Đ'), ('Ē', 'Ē'), ('Ĕ', 'Ĕ'),
  ('Ė', 'Ė'), ('Ę', 'Ę'), ('Ě', 'Ě'), ('Ĝ', 'Ĝ'), ('Ğ', 'Ğ'),
  ('Ġ', 'Ġ'), ('Ģ', 'Ģ'), ('Ĥ', 'Ĥ'), ('Ħ', 'Ħ'), ('Ĩ', 'Ĩ'),
  ('Ī', 'Ī'), ('Ĭ', 'Ĭ'), ('Į', 'Į'), ('İ', 'İ'), ('IJ', 'IJ'),
  ('Ĵ', 'Ĵ'), ('Ķ', 'Ķ'), ('Ĺ', 'Ĺ'), ('Ļ', 'Ļ'), ('Ľ', 'Ľ'),
  ('Ŀ', 'Ŀ'), ('Ł', 'Ł'), ('Ń', 'Ń'), ('Ņ', 'Ņ'), ('Ň', 'Ň'),
  ('ʼn', 'Ŋ'), ('Ō', 'Ō'), ('Ŏ', 'Ŏ'), ('Ő', 'Ő'), ('Œ', 'Œ'),
  ('Ŕ', 'Ŕ'), ('Ŗ', 'Ŗ'), ('Ř', 'Ř'), ('Ś', 'Ś'), ('Ŝ', 'Ŝ'),
  ('Ş', 'Ş'), ('Š', 'Š'), ('Ţ', 'Ţ'), ('Ť', 'Ť'), ('Ŧ', 'Ŧ'),
  ('Ũ', 'Ũ'), ('Ū', 'Ū'), ('Ŭ', 'Ŭ'), ('Ů', 'Ů'), ('Ű', 'Ű'),
  ('Ų', 'Ų'), ('Ŵ', 'Ŵ'), ('Ŷ', 'Ŷ'), ('Ÿ', 'Ź'), ('Ż', 'Ż'),
  ('Ž', 'Ž'), ('ſ', 'ſ'), ('Ɓ', 'Ƃ'), ('Ƅ', 'Ƅ'), ('Ɔ', 'Ƈ'),
  ('Ɖ', 'Ƌ'), ('Ǝ', 'Ƒ'), ('Ɠ', 'Ɣ'), ('Ɩ', 'Ƙ'), ('Ɯ', 'Ɲ'),
  ('Ɵ', 'Ơ'), ('Ƣ', 'Ƣ'), ('Ƥ', 'Ƥ'), ('Ʀ', 'Ƨ'), ('Ʃ', 'Ʃ'),
  ('Ƭ', 'Ƭ'), ('Ʈ', 'Ư'), ('Ʊ', 'Ƴ'), ('Ƶ', 'Ƶ'), ('Ʒ', 'Ƹ'),
  ('Ƽ', 'Ƽ'), ('DŽ', 'Dž'), ('LJ', 'Lj'), ('NJ', 'Nj'), ('Ǎ', 'Ǎ'),
  ('Ǐ', 'Ǐ'), ('Ǒ', 'Ǒ'), ('Ǔ', 'Ǔ'), ('Ǖ', 'Ǖ'), ('Ǘ', 'Ǘ'),
  ('Ǚ', 'Ǚ'), ('Ǜ', 'Ǜ'), ('Ǟ', 'Ǟ'), ('Ǡ', 'Ǡ'), ('Ǣ', 'Ǣ'),
  ('Ǥ', 'Ǥ'), ('Ǧ', 'Ǧ'), ('Ǩ', 'Ǩ'), ('Ǫ', 'Ǫ'), ('Ǭ', 'Ǭ'),
  ('Ǯ', 'Ǯ'), ('DZ', 'Dz'), ('Ǵ', 'Ǵ'), ('Ƕ', 'Ǹ'), ('Ǻ', 'Ǻ'),
  ('Ǽ', 'Ǽ'), ('Ǿ', 'Ǿ'), ('Ȁ', 'Ȁ'), ('Ȃ', 'Ȃ'), ('Ȅ', 'Ȅ'),
  ('Ȇ', 'Ȇ'), ('Ȉ', 'Ȉ'), ('Ȋ', 'Ȋ'), ('Ȍ', 'Ȍ'), ('Ȏ', 'Ȏ'),
  ('Ȑ', 'Ȑ'), ('Ȓ', 'Ȓ'), ('Ȕ', 'Ȕ'), ('Ȗ', 'Ȗ'), ('Ș', 'Ș'),
  ('Ț', 'Ț'), ('Ȝ', 'Ȝ'), ('Ȟ', 'Ȟ'), ('Ƞ', 'Ƞ'), ('Ȣ', 'Ȣ'),
  ('Ȥ', 'Ȥ'), ('Ȧ', 'Ȧ'), ('Ȩ', 'Ȩ'), ('Ȫ', 'Ȫ'), ('Ȭ', 'Ȭ'),
  ('Ȯ', 'Ȯ'), ('Ȱ', 'Ȱ'), ('Ȳ', 'Ȳ'), ('Ⱥ', 'Ȼ'), ('Ƚ', 'Ⱦ'),
  ('Ɂ', 'Ɂ'), ('Ƀ', 'Ɇ'), ('Ɉ', 'Ɉ'), ('Ɋ', 'Ɋ'), ('Ɍ', 'Ɍ'),
  ('Ɏ', 'Ɏ'), ('ͅ', 'ͅ'), ('Ͱ', 'Ͱ'), ('Ͳ', 'Ͳ'), ('Ͷ', 'Ͷ'),
  ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'), ('Ό', 'Ό'), ('Ύ', 'Ώ'),
  ('Α', 'Ρ'), ('Σ', 'Ϋ'), ('ς', 'ς'), ('Ϗ', 'ϑ'), ('ϕ', 'ϖ'),
  ('Ϙ', 'Ϙ'), ('Ϛ', 'Ϛ'), ('Ϝ', 'Ϝ'), ('Ϟ', 'Ϟ'), ('Ϡ', 'Ϡ'),
  ('Ϣ', 'Ϣ'), ('Ϥ', 'Ϥ'), ('Ϧ', 'Ϧ'), ('Ϩ', 'Ϩ'), ('Ϫ', 'Ϫ'),
  ('Ϭ', 'Ϭ'), ('Ϯ', 'Ϯ'), ('ϰ', 'ϱ'), ('ϴ', 'ϵ'), ('Ϸ', 'Ϸ'),
  ('Ϲ', 'Ϻ'), ('Ͻ', 'Я'), ('Ѡ', 'Ѡ'), ('Ѣ', 'Ѣ'), ('Ѥ', 'Ѥ'),
  ('Ѧ', 'Ѧ'), ('Ѩ', 'Ѩ'), ('Ѫ', 'Ѫ'), ('Ѭ', 'Ѭ'), ('Ѯ', 'Ѯ'),
  ('Ѱ', 'Ѱ'), ('Ѳ', 'Ѳ'), ('Ѵ', 'Ѵ'), ('Ѷ', 'Ѷ'), ('Ѹ', 'Ѹ'),
  ('Ѻ', 'Ѻ'), ('Ѽ', 'Ѽ'), ('Ѿ', 'Ѿ'), ('Ҁ', 'Ҁ'), ('Ҋ', 'Ҋ'),
  ('Ҍ', 'Ҍ'), ('Ҏ', 'Ҏ'), ('Ґ', 'Ґ'), ('Ғ', 'Ғ'), ('Ҕ', 'Ҕ'),
  ('Җ', 'Җ'), ('Ҙ', 'Ҙ'), ('Қ', 'Қ'), ('Ҝ', 'Ҝ'), ('Ҟ', 'Ҟ'),
  ('Ҡ', 'Ҡ'), ('Ң', 'Ң'), ('Ҥ', 'Ҥ'), ('Ҧ', 'Ҧ'), ('Ҩ', 'Ҩ'),
  ('Ҫ', 'Ҫ'), ('Ҭ', 'Ҭ'), ('Ү', 'Ү'), ('Ұ', 'Ұ'), ('Ҳ', 'Ҳ'),
  ('Ҵ', 'Ҵ'), ('Ҷ', 'Ҷ'), ('Ҹ', 'Ҹ'), ('Һ', 'Һ'), ('Ҽ', 'Ҽ'),
  ('Ҿ', 'Ҿ'), ('Ӏ', 'Ӂ'), ('Ӄ', 'Ӄ'), ('Ӆ', 'Ӆ'), ('Ӈ', 'Ӈ'),
  ('Ӊ', 'Ӊ'), ('Ӌ', 'Ӌ'), ('Ӎ', 'Ӎ'), ('Ӑ', 'Ӑ'), ('Ӓ', 'Ӓ'),
  ('Ӕ', 'Ӕ'), ('Ӗ', 'Ӗ'), ('Ә', 'Ә'), ('Ӛ', 'Ӛ'), ('Ӝ', 'Ӝ'),
  ('Ӟ', 'Ӟ'), ('Ӡ', 'Ӡ'), ('Ӣ', 'Ӣ'), ('Ӥ', 'Ӥ'), ('Ӧ', 'Ӧ'),
  ('Ө', 'Ө'), ('Ӫ', 'Ӫ'), ('Ӭ', 'Ӭ'), ('Ӯ', 'Ӯ'), ('Ӱ', 'Ӱ'),
  ('Ӳ', 'Ӳ'), ('Ӵ', 'Ӵ'), ('Ӷ', 'Ӷ'), ('Ӹ', 'Ӹ'), ('Ӻ', 'Ӻ'),
  ('Ӽ', 'Ӽ'), ('Ӿ', 'Ӿ'), ('Ԁ', 'Ԁ'), ('Ԃ', 'Ԃ'), ('Ԅ', 'Ԅ'),
  ('Ԇ', 'Ԇ'), ('Ԉ', 'Ԉ'), ('Ԋ', 'Ԋ'), ('Ԍ', 'Ԍ'), ('Ԏ', 'Ԏ'),
  ('Ԑ', 'Ԑ'), ('Ԓ', 'Ԓ'), ('Ԕ', 'Ԕ'), ('Ԗ', 'Ԗ'), ('Ԙ', 'Ԙ'),
  ('Ԛ', 'Ԛ'), ('Ԝ', 'Ԝ'), ('Ԟ', 'Ԟ'), ('Ԡ', 'Ԡ'), ('Ԣ', 'Ԣ'),
  ('Ԥ', 'Ԥ'), ('Ԧ', 'Ԧ'), ('Ԩ', 'Ԩ'), ('Ԫ', 'Ԫ'), ('Ԭ', 'Ԭ'),
  ('Ԯ', 'Ԯ'), ('Ա', 'Ֆ'), ('և', 'և'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', 'Ἷ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ꮿ'), ('', ''),
  ('', ''), ('', ''), ('𐐀', '𐐧'), ('𐒰', '𐓓'),
  ('𐲀', '𐲲'), ('𑢠', '𑢿'), ('𞤀', '𞤡'),
];

pub const CHANGES_WHEN_CASEMAPPED: &'static [(char, char)] = &[
  ('A', 'Z'), ('a', 'z'), ('µ', 'µ'), ('À', 'Ö'), ('Ø', 'ö'),
  ('ø', 'ķ'), ('Ĺ', 'ƌ'), ('Ǝ', 'ƚ'), ('Ɯ', 'Ʃ'), ('Ƭ', 'ƹ'),
  ('Ƽ', 'ƽ'), ('ƿ', 'ƿ'), ('DŽ', 'Ƞ'), ('Ȣ', 'ȳ'), ('Ⱥ', 'ɔ'),
  ('ɖ', 'ɗ'), ('ə', 'ə'), ('ɛ', 'ɜ'), ('ɠ', 'ɡ'), ('ɣ', 'ɣ'),
  ('ɥ', 'ɦ'), ('ɨ', 'ɬ'), ('ɯ', 'ɯ'), ('ɱ', 'ɲ'), ('ɵ', 'ɵ'),
  ('ɽ', 'ɽ'), ('ʀ', 'ʀ'), ('ʃ', 'ʃ'), ('ʇ', 'ʌ'), ('ʒ', 'ʒ'),
  ('ʝ', 'ʞ'), ('ͅ', 'ͅ'), ('Ͱ', 'ͳ'), ('Ͷ', 'ͷ'), ('ͻ', 'ͽ'),
  ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'), ('Ό', 'Ό'), ('Ύ', 'Ρ'),
  ('Σ', 'ϑ'), ('ϕ', 'ϵ'), ('Ϸ', 'ϻ'), ('Ͻ', 'ҁ'), ('Ҋ', 'ԯ'),
  ('Ա', 'Ֆ'), ('ա', 'և'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ꮿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𐐀', '𐑏'),
  ('𐒰', '𐓓'), ('𐓘', '𐓻'), ('𐲀', '𐲲'), ('𐳀', '𐳲'),
  ('𑢠', '𑣟'), ('𞤀', '𞥃'),
];

pub const CHANGES_WHEN_LOWERCASED: &'static [(char, char)] = &[
  ('A', 'Z'), ('À', 'Ö'), ('Ø', 'Þ'), ('Ā', 'Ā'), ('Ă', 'Ă'),
  ('Ą', 'Ą'), ('Ć', 'Ć'), ('Ĉ', 'Ĉ'), ('Ċ', 'Ċ'), ('Č', 'Č'),
  ('Ď', 'Ď'), ('Đ', 'Đ'), ('Ē', 'Ē'), ('Ĕ', 'Ĕ'), ('Ė', 'Ė'),
  ('Ę', 'Ę'), ('Ě', 'Ě'), ('Ĝ', 'Ĝ'), ('Ğ', 'Ğ'), ('Ġ', 'Ġ'),
  ('Ģ', 'Ģ'), ('Ĥ', 'Ĥ'), ('Ħ', 'Ħ'), ('Ĩ', 'Ĩ'), ('Ī', 'Ī'),
  ('Ĭ', 'Ĭ'), ('Į', 'Į'), ('İ', 'İ'), ('IJ', 'IJ'), ('Ĵ', 'Ĵ'),
  ('Ķ', 'Ķ'), ('Ĺ', 'Ĺ'), ('Ļ', 'Ļ'), ('Ľ', 'Ľ'), ('Ŀ', 'Ŀ'),
  ('Ł', 'Ł'), ('Ń', 'Ń'), ('Ņ', 'Ņ'), ('Ň', 'Ň'), ('Ŋ', 'Ŋ'),
  ('Ō', 'Ō'), ('Ŏ', 'Ŏ'), ('Ő', 'Ő'), ('Œ', 'Œ'), ('Ŕ', 'Ŕ'),
  ('Ŗ', 'Ŗ'), ('Ř', 'Ř'), ('Ś', 'Ś'), ('Ŝ', 'Ŝ'), ('Ş', 'Ş'),
  ('Š', 'Š'), ('Ţ', 'Ţ'), ('Ť', 'Ť'), ('Ŧ', 'Ŧ'), ('Ũ', 'Ũ'),
  ('Ū', 'Ū'), ('Ŭ', 'Ŭ'), ('Ů', 'Ů'), ('Ű', 'Ű'), ('Ų', 'Ų'),
  ('Ŵ', 'Ŵ'), ('Ŷ', 'Ŷ'), ('Ÿ', 'Ź'), ('Ż', 'Ż'), ('Ž', 'Ž'),
  ('Ɓ', 'Ƃ'), ('Ƅ', 'Ƅ'), ('Ɔ', 'Ƈ'), ('Ɖ', 'Ƌ'), ('Ǝ', 'Ƒ'),
  ('Ɠ', 'Ɣ'), ('Ɩ', 'Ƙ'), ('Ɯ', 'Ɲ'), ('Ɵ', 'Ơ'), ('Ƣ', 'Ƣ'),
  ('Ƥ', 'Ƥ'), ('Ʀ', 'Ƨ'), ('Ʃ', 'Ʃ'), ('Ƭ', 'Ƭ'), ('Ʈ', 'Ư'),
  ('Ʊ', 'Ƴ'), ('Ƶ', 'Ƶ'), ('Ʒ', 'Ƹ'), ('Ƽ', 'Ƽ'), ('DŽ', 'Dž'),
  ('LJ', 'Lj'), ('NJ', 'Nj'), ('Ǎ', 'Ǎ'), ('Ǐ', 'Ǐ'), ('Ǒ', 'Ǒ'),
  ('Ǔ', 'Ǔ'), ('Ǖ', 'Ǖ'), ('Ǘ', 'Ǘ'), ('Ǚ', 'Ǚ'), ('Ǜ', 'Ǜ'),
  ('Ǟ', 'Ǟ'), ('Ǡ', 'Ǡ'), ('Ǣ', 'Ǣ'), ('Ǥ', 'Ǥ'), ('Ǧ', 'Ǧ'),
  ('Ǩ', 'Ǩ'), ('Ǫ', 'Ǫ'), ('Ǭ', 'Ǭ'), ('Ǯ', 'Ǯ'), ('DZ', 'Dz'),
  ('Ǵ', 'Ǵ'), ('Ƕ', 'Ǹ'), ('Ǻ', 'Ǻ'), ('Ǽ', 'Ǽ'), ('Ǿ', 'Ǿ'),
  ('Ȁ', 'Ȁ'), ('Ȃ', 'Ȃ'), ('Ȅ', 'Ȅ'), ('Ȇ', 'Ȇ'), ('Ȉ', 'Ȉ'),
  ('Ȋ', 'Ȋ'), ('Ȍ', 'Ȍ'), ('Ȏ', 'Ȏ'), ('Ȑ', 'Ȑ'), ('Ȓ', 'Ȓ'),
  ('Ȕ', 'Ȕ'), ('Ȗ', 'Ȗ'), ('Ș', 'Ș'), ('Ț', 'Ț'), ('Ȝ', 'Ȝ'),
  ('Ȟ', 'Ȟ'), ('Ƞ', 'Ƞ'), ('Ȣ', 'Ȣ'), ('Ȥ', 'Ȥ'), ('Ȧ', 'Ȧ'),
  ('Ȩ', 'Ȩ'), ('Ȫ', 'Ȫ'), ('Ȭ', 'Ȭ'), ('Ȯ', 'Ȯ'), ('Ȱ', 'Ȱ'),
  ('Ȳ', 'Ȳ'), ('Ⱥ', 'Ȼ'), ('Ƚ', 'Ⱦ'), ('Ɂ', 'Ɂ'), ('Ƀ', 'Ɇ'),
  ('Ɉ', 'Ɉ'), ('Ɋ', 'Ɋ'), ('Ɍ', 'Ɍ'), ('Ɏ', 'Ɏ'), ('Ͱ', 'Ͱ'),
  ('Ͳ', 'Ͳ'), ('Ͷ', 'Ͷ'), ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'),
  ('Ό', 'Ό'), ('Ύ', 'Ώ'), ('Α', 'Ρ'), ('Σ', 'Ϋ'), ('Ϗ', 'Ϗ'),
  ('Ϙ', 'Ϙ'), ('Ϛ', 'Ϛ'), ('Ϝ', 'Ϝ'), ('Ϟ', 'Ϟ'), ('Ϡ', 'Ϡ'),
  ('Ϣ', 'Ϣ'), ('Ϥ', 'Ϥ'), ('Ϧ', 'Ϧ'), ('Ϩ', 'Ϩ'), ('Ϫ', 'Ϫ'),
  ('Ϭ', 'Ϭ'), ('Ϯ', 'Ϯ'), ('ϴ', 'ϴ'), ('Ϸ', 'Ϸ'), ('Ϲ', 'Ϻ'),
  ('Ͻ', 'Я'), ('Ѡ', 'Ѡ'), ('Ѣ', 'Ѣ'), ('Ѥ', 'Ѥ'), ('Ѧ', 'Ѧ'),
  ('Ѩ', 'Ѩ'), ('Ѫ', 'Ѫ'), ('Ѭ', 'Ѭ'), ('Ѯ', 'Ѯ'), ('Ѱ', 'Ѱ'),
  ('Ѳ', 'Ѳ'), ('Ѵ', 'Ѵ'), ('Ѷ', 'Ѷ'), ('Ѹ', 'Ѹ'), ('Ѻ', 'Ѻ'),
  ('Ѽ', 'Ѽ'), ('Ѿ', 'Ѿ'), ('Ҁ', 'Ҁ'), ('Ҋ', 'Ҋ'), ('Ҍ', 'Ҍ'),
  ('Ҏ', 'Ҏ'), ('Ґ', 'Ґ'), ('Ғ', 'Ғ'), ('Ҕ', 'Ҕ'), ('Җ', 'Җ'),
  ('Ҙ', 'Ҙ'), ('Қ', 'Қ'), ('Ҝ', 'Ҝ'), ('Ҟ', 'Ҟ'), ('Ҡ', 'Ҡ'),
  ('Ң', 'Ң'), ('Ҥ', 'Ҥ'), ('Ҧ', 'Ҧ'), ('Ҩ', 'Ҩ'), ('Ҫ', 'Ҫ'),
  ('Ҭ', 'Ҭ'), ('Ү', 'Ү'), ('Ұ', 'Ұ'), ('Ҳ', 'Ҳ'), ('Ҵ', 'Ҵ'),
  ('Ҷ', 'Ҷ'), ('Ҹ', 'Ҹ'), ('Һ', 'Һ'), ('Ҽ', 'Ҽ'), ('Ҿ', 'Ҿ'),
  ('Ӏ', 'Ӂ'), ('Ӄ', 'Ӄ'), ('Ӆ', 'Ӆ'), ('Ӈ', 'Ӈ'), ('Ӊ', 'Ӊ'),
  ('Ӌ', 'Ӌ'), ('Ӎ', 'Ӎ'), ('Ӑ', 'Ӑ'), ('Ӓ', 'Ӓ'), ('Ӕ', 'Ӕ'),
  ('Ӗ', 'Ӗ'), ('Ә', 'Ә'), ('Ӛ', 'Ӛ'), ('Ӝ', 'Ӝ'), ('Ӟ', 'Ӟ'),
  ('Ӡ', 'Ӡ'), ('Ӣ', 'Ӣ'), ('Ӥ', 'Ӥ'), ('Ӧ', 'Ӧ'), ('Ө', 'Ө'),
  ('Ӫ', 'Ӫ'), ('Ӭ', 'Ӭ'), ('Ӯ', 'Ӯ'), ('Ӱ', 'Ӱ'), ('Ӳ', 'Ӳ'),
  ('Ӵ', 'Ӵ'), ('Ӷ', 'Ӷ'), ('Ӹ', 'Ӹ'), ('Ӻ', 'Ӻ'), ('Ӽ', 'Ӽ'),
  ('Ӿ', 'Ӿ'), ('Ԁ', 'Ԁ'), ('Ԃ', 'Ԃ'), ('Ԅ', 'Ԅ'), ('Ԇ', 'Ԇ'),
  ('Ԉ', 'Ԉ'), ('Ԋ', 'Ԋ'), ('Ԍ', 'Ԍ'), ('Ԏ', 'Ԏ'), ('Ԑ', 'Ԑ'),
  ('Ԓ', 'Ԓ'), ('Ԕ', 'Ԕ'), ('Ԗ', 'Ԗ'), ('Ԙ', 'Ԙ'), ('Ԛ', 'Ԛ'),
  ('Ԝ', 'Ԝ'), ('Ԟ', 'Ԟ'), ('Ԡ', 'Ԡ'), ('Ԣ', 'Ԣ'), ('Ԥ', 'Ԥ'),
  ('Ԧ', 'Ԧ'), ('Ԩ', 'Ԩ'), ('Ԫ', 'Ԫ'), ('Ԭ', 'Ԭ'), ('Ԯ', 'Ԯ'),
  ('Ա', 'Ֆ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'Ἷ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𐐀', '𐐧'),
  ('𐒰', '𐓓'), ('𐲀', '𐲲'), ('𑢠', '𑢿'), ('𞤀', '𞤡'),
];

pub const CHANGES_WHEN_TITLECASED: &'static [(char, char)] = &[
  ('a', 'z'), ('µ', 'µ'), ('ß', 'ö'), ('ø', 'ÿ'), ('ā', 'ā'),
  ('ă', 'ă'), ('ą', 'ą'), ('ć', 'ć'), ('ĉ', 'ĉ'), ('ċ', 'ċ'),
  ('č', 'č'), ('ď', 'ď'), ('đ', 'đ'), ('ē', 'ē'), ('ĕ', 'ĕ'),
  ('ė', 'ė'), ('ę', 'ę'), ('ě', 'ě'), ('ĝ', 'ĝ'), ('ğ', 'ğ'),
  ('ġ', 'ġ'), ('ģ', 'ģ'), ('ĥ', 'ĥ'), ('ħ', 'ħ'), ('ĩ', 'ĩ'),
  ('ī', 'ī'), ('ĭ', 'ĭ'), ('į', 'į'), ('ı', 'ı'), ('ij', 'ij'),
  ('ĵ', 'ĵ'), ('ķ', 'ķ'), ('ĺ', 'ĺ'), ('ļ', 'ļ'), ('ľ', 'ľ'),
  ('ŀ', 'ŀ'), ('ł', 'ł'), ('ń', 'ń'), ('ņ', 'ņ'), ('ň', 'ʼn'),
  ('ŋ', 'ŋ'), ('ō', 'ō'), ('ŏ', 'ŏ'), ('ő', 'ő'), ('œ', 'œ'),
  ('ŕ', 'ŕ'), ('ŗ', 'ŗ'), ('ř', 'ř'), ('ś', 'ś'), ('ŝ', 'ŝ'),
  ('ş', 'ş'), ('š', 'š'), ('ţ', 'ţ'), ('ť', 'ť'), ('ŧ', 'ŧ'),
  ('ũ', 'ũ'), ('ū', 'ū'), ('ŭ', 'ŭ'), ('ů', 'ů'), ('ű', 'ű'),
  ('ų', 'ų'), ('ŵ', 'ŵ'), ('ŷ', 'ŷ'), ('ź', 'ź'), ('ż', 'ż'),
  ('ž', 'ƀ'), ('ƃ', 'ƃ'), ('ƅ', 'ƅ'), ('ƈ', 'ƈ'), ('ƌ', 'ƌ'),
  ('ƒ', 'ƒ'), ('ƕ', 'ƕ'), ('ƙ', 'ƚ'), ('ƞ', 'ƞ'), ('ơ', 'ơ'),
  ('ƣ', 'ƣ'), ('ƥ', 'ƥ'), ('ƨ', 'ƨ'), ('ƭ', 'ƭ'), ('ư', 'ư'),
  ('ƴ', 'ƴ'), ('ƶ', 'ƶ'), ('ƹ', 'ƹ'), ('ƽ', 'ƽ'), ('ƿ', 'ƿ'),
  ('DŽ', 'DŽ'), ('dž', 'LJ'), ('lj', 'NJ'), ('nj', 'nj'), ('ǎ', 'ǎ'),
  ('ǐ', 'ǐ'), ('ǒ', 'ǒ'), ('ǔ', 'ǔ'), ('ǖ', 'ǖ'), ('ǘ', 'ǘ'),
  ('ǚ', 'ǚ'), ('ǜ', 'ǝ'), ('ǟ', 'ǟ'), ('ǡ', 'ǡ'), ('ǣ', 'ǣ'),
  ('ǥ', 'ǥ'), ('ǧ', 'ǧ'), ('ǩ', 'ǩ'), ('ǫ', 'ǫ'), ('ǭ', 'ǭ'),
  ('ǯ', 'DZ'), ('dz', 'dz'), ('ǵ', 'ǵ'), ('ǹ', 'ǹ'), ('ǻ', 'ǻ'),
  ('ǽ', 'ǽ'), ('ǿ', 'ǿ'), ('ȁ', 'ȁ'), ('ȃ', 'ȃ'), ('ȅ', 'ȅ'),
  ('ȇ', 'ȇ'), ('ȉ', 'ȉ'), ('ȋ', 'ȋ'), ('ȍ', 'ȍ'), ('ȏ', 'ȏ'),
  ('ȑ', 'ȑ'), ('ȓ', 'ȓ'), ('ȕ', 'ȕ'), ('ȗ', 'ȗ'), ('ș', 'ș'),
  ('ț', 'ț'), ('ȝ', 'ȝ'), ('ȟ', 'ȟ'), ('ȣ', 'ȣ'), ('ȥ', 'ȥ'),
  ('ȧ', 'ȧ'), ('ȩ', 'ȩ'), ('ȫ', 'ȫ'), ('ȭ', 'ȭ'), ('ȯ', 'ȯ'),
  ('ȱ', 'ȱ'), ('ȳ', 'ȳ'), ('ȼ', 'ȼ'), ('ȿ', 'ɀ'), ('ɂ', 'ɂ'),
  ('ɇ', 'ɇ'), ('ɉ', 'ɉ'), ('ɋ', 'ɋ'), ('ɍ', 'ɍ'), ('ɏ', 'ɔ'),
  ('ɖ', 'ɗ'), ('ə', 'ə'), ('ɛ', 'ɜ'), ('ɠ', 'ɡ'), ('ɣ', 'ɣ'),
  ('ɥ', 'ɦ'), ('ɨ', 'ɬ'), ('ɯ', 'ɯ'), ('ɱ', 'ɲ'), ('ɵ', 'ɵ'),
  ('ɽ', 'ɽ'), ('ʀ', 'ʀ'), ('ʃ', 'ʃ'), ('ʇ', 'ʌ'), ('ʒ', 'ʒ'),
  ('ʝ', 'ʞ'), ('ͅ', 'ͅ'), ('ͱ', 'ͱ'), ('ͳ', 'ͳ'), ('ͷ', 'ͷ'),
  ('ͻ', 'ͽ'), ('ΐ', 'ΐ'), ('ά', 'ώ'), ('ϐ', 'ϑ'), ('ϕ', 'ϗ'),
  ('ϙ', 'ϙ'), ('ϛ', 'ϛ'), ('ϝ', 'ϝ'), ('ϟ', 'ϟ'), ('ϡ', 'ϡ'),
  ('ϣ', 'ϣ'), ('ϥ', 'ϥ'), ('ϧ', 'ϧ'), ('ϩ', 'ϩ'), ('ϫ', 'ϫ'),
  ('ϭ', 'ϭ'), ('ϯ', 'ϳ'), ('ϵ', 'ϵ'), ('ϸ', 'ϸ'), ('ϻ', 'ϻ'),
  ('а', 'џ'), ('ѡ', 'ѡ'), ('ѣ', 'ѣ'), ('ѥ', 'ѥ'), ('ѧ', 'ѧ'),
  ('ѩ', 'ѩ'), ('ѫ', 'ѫ'), ('ѭ', 'ѭ'), ('ѯ', 'ѯ'), ('ѱ', 'ѱ'),
  ('ѳ', 'ѳ'), ('ѵ', 'ѵ'), ('ѷ', 'ѷ'), ('ѹ', 'ѹ'), ('ѻ', 'ѻ'),
  ('ѽ', 'ѽ'), ('ѿ', 'ѿ'), ('ҁ', 'ҁ'), ('ҋ', 'ҋ'), ('ҍ', 'ҍ'),
  ('ҏ', 'ҏ'), ('ґ', 'ґ'), ('ғ', 'ғ'), ('ҕ', 'ҕ'), ('җ', 'җ'),
  ('ҙ', 'ҙ'), ('қ', 'қ'), ('ҝ', 'ҝ'), ('ҟ', 'ҟ'), ('ҡ', 'ҡ'),
  ('ң', 'ң'), ('ҥ', 'ҥ'), ('ҧ', 'ҧ'), ('ҩ', 'ҩ'), ('ҫ', 'ҫ'),
  ('ҭ', 'ҭ'), ('ү', 'ү'), ('ұ', 'ұ'), ('ҳ', 'ҳ'), ('ҵ', 'ҵ'),
  ('ҷ', 'ҷ'), ('ҹ', 'ҹ'), ('һ', 'һ'), ('ҽ', 'ҽ'), ('ҿ', 'ҿ'),
  ('ӂ', 'ӂ'), ('ӄ', 'ӄ'), ('ӆ', 'ӆ'), ('ӈ', 'ӈ'), ('ӊ', 'ӊ'),
  ('ӌ', 'ӌ'), ('ӎ', 'ӏ'), ('ӑ', 'ӑ'), ('ӓ', 'ӓ'), ('ӕ', 'ӕ'),
  ('ӗ', 'ӗ'), ('ә', 'ә'), ('ӛ', 'ӛ'), ('ӝ', 'ӝ'), ('ӟ', 'ӟ'),
  ('ӡ', 'ӡ'), ('ӣ', 'ӣ'), ('ӥ', 'ӥ'), ('ӧ', 'ӧ'), ('ө', 'ө'),
  ('ӫ', 'ӫ'), ('ӭ', 'ӭ'), ('ӯ', 'ӯ'), ('ӱ', 'ӱ'), ('ӳ', 'ӳ'),
  ('ӵ', 'ӵ'), ('ӷ', 'ӷ'), ('ӹ', 'ӹ'), ('ӻ', 'ӻ'), ('ӽ', 'ӽ'),
  ('ӿ', 'ӿ'), ('ԁ', 'ԁ'), ('ԃ', 'ԃ'), ('ԅ', 'ԅ'), ('ԇ', 'ԇ'),
  ('ԉ', 'ԉ'), ('ԋ', 'ԋ'), ('ԍ', 'ԍ'), ('ԏ', 'ԏ'), ('ԑ', 'ԑ'),
  ('ԓ', 'ԓ'), ('ԕ', 'ԕ'), ('ԗ', 'ԗ'), ('ԙ', 'ԙ'), ('ԛ', 'ԛ'),
  ('ԝ', 'ԝ'), ('ԟ', 'ԟ'), ('ԡ', 'ԡ'), ('ԣ', 'ԣ'), ('ԥ', 'ԥ'),
  ('ԧ', 'ԧ'), ('ԩ', 'ԩ'), ('ԫ', 'ԫ'), ('ԭ', 'ԭ'), ('ԯ', 'ԯ'),
  ('ա', 'և'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('ḿ', 'ḿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('ṿ', 'ṿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('ế', 'ế'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('ỿ', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('ⲿ', 'ⲿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ꮿ'), ('', ''),
  ('', ''), ('', ''), ('𐐨', '𐑏'), ('𐓘', '𐓻'),
  ('𐳀', '𐳲'), ('𑣀', '𑣟'), ('𞤢', '𞥃'),
];

pub const CHANGES_WHEN_UPPERCASED: &'static [(char, char)] = &[
  ('a', 'z'), ('µ', 'µ'), ('ß', 'ö'), ('ø', 'ÿ'), ('ā', 'ā'),
  ('ă', 'ă'), ('ą', 'ą'), ('ć', 'ć'), ('ĉ', 'ĉ'), ('ċ', 'ċ'),
  ('č', 'č'), ('ď', 'ď'), ('đ', 'đ'), ('ē', 'ē'), ('ĕ', 'ĕ'),
  ('ė', 'ė'), ('ę', 'ę'), ('ě', 'ě'), ('ĝ', 'ĝ'), ('ğ', 'ğ'),
  ('ġ', 'ġ'), ('ģ', 'ģ'), ('ĥ', 'ĥ'), ('ħ', 'ħ'), ('ĩ', 'ĩ'),
  ('ī', 'ī'), ('ĭ', 'ĭ'), ('į', 'į'), ('ı', 'ı'), ('ij', 'ij'),
  ('ĵ', 'ĵ'), ('ķ', 'ķ'), ('ĺ', 'ĺ'), ('ļ', 'ļ'), ('ľ', 'ľ'),
  ('ŀ', 'ŀ'), ('ł', 'ł'), ('ń', 'ń'), ('ņ', 'ņ'), ('ň', 'ʼn'),
  ('ŋ', 'ŋ'), ('ō', 'ō'), ('ŏ', 'ŏ'), ('ő', 'ő'), ('œ', 'œ'),
  ('ŕ', 'ŕ'), ('ŗ', 'ŗ'), ('ř', 'ř'), ('ś', 'ś'), ('ŝ', 'ŝ'),
  ('ş', 'ş'), ('š', 'š'), ('ţ', 'ţ'), ('ť', 'ť'), ('ŧ', 'ŧ'),
  ('ũ', 'ũ'), ('ū', 'ū'), ('ŭ', 'ŭ'), ('ů', 'ů'), ('ű', 'ű'),
  ('ų', 'ų'), ('ŵ', 'ŵ'), ('ŷ', 'ŷ'), ('ź', 'ź'), ('ż', 'ż'),
  ('ž', 'ƀ'), ('ƃ', 'ƃ'), ('ƅ', 'ƅ'), ('ƈ', 'ƈ'), ('ƌ', 'ƌ'),
  ('ƒ', 'ƒ'), ('ƕ', 'ƕ'), ('ƙ', 'ƚ'), ('ƞ', 'ƞ'), ('ơ', 'ơ'),
  ('ƣ', 'ƣ'), ('ƥ', 'ƥ'), ('ƨ', 'ƨ'), ('ƭ', 'ƭ'), ('ư', 'ư'),
  ('ƴ', 'ƴ'), ('ƶ', 'ƶ'), ('ƹ', 'ƹ'), ('ƽ', 'ƽ'), ('ƿ', 'ƿ'),
  ('Dž', 'dž'), ('Lj', 'lj'), ('Nj', 'nj'), ('ǎ', 'ǎ'), ('ǐ', 'ǐ'),
  ('ǒ', 'ǒ'), ('ǔ', 'ǔ'), ('ǖ', 'ǖ'), ('ǘ', 'ǘ'), ('ǚ', 'ǚ'),
  ('ǜ', 'ǝ'), ('ǟ', 'ǟ'), ('ǡ', 'ǡ'), ('ǣ', 'ǣ'), ('ǥ', 'ǥ'),
  ('ǧ', 'ǧ'), ('ǩ', 'ǩ'), ('ǫ', 'ǫ'), ('ǭ', 'ǭ'), ('ǯ', 'ǰ'),
  ('Dz', 'dz'), ('ǵ', 'ǵ'), ('ǹ', 'ǹ'), ('ǻ', 'ǻ'), ('ǽ', 'ǽ'),
  ('ǿ', 'ǿ'), ('ȁ', 'ȁ'), ('ȃ', 'ȃ'), ('ȅ', 'ȅ'), ('ȇ', 'ȇ'),
  ('ȉ', 'ȉ'), ('ȋ', 'ȋ'), ('ȍ', 'ȍ'), ('ȏ', 'ȏ'), ('ȑ', 'ȑ'),
  ('ȓ', 'ȓ'), ('ȕ', 'ȕ'), ('ȗ', 'ȗ'), ('ș', 'ș'), ('ț', 'ț'),
  ('ȝ', 'ȝ'), ('ȟ', 'ȟ'), ('ȣ', 'ȣ'), ('ȥ', 'ȥ'), ('ȧ', 'ȧ'),
  ('ȩ', 'ȩ'), ('ȫ', 'ȫ'), ('ȭ', 'ȭ'), ('ȯ', 'ȯ'), ('ȱ', 'ȱ'),
  ('ȳ', 'ȳ'), ('ȼ', 'ȼ'), ('ȿ', 'ɀ'), ('ɂ', 'ɂ'), ('ɇ', 'ɇ'),
  ('ɉ', 'ɉ'), ('ɋ', 'ɋ'), ('ɍ', 'ɍ'), ('ɏ', 'ɔ'), ('ɖ', 'ɗ'),
  ('ə', 'ə'), ('ɛ', 'ɜ'), ('ɠ', 'ɡ'), ('ɣ', 'ɣ'), ('ɥ', 'ɦ'),
  ('ɨ', 'ɬ'), ('ɯ', 'ɯ'), ('ɱ', 'ɲ'), ('ɵ', 'ɵ'), ('ɽ', 'ɽ'),
  ('ʀ', 'ʀ'), ('ʃ', 'ʃ'), ('ʇ', 'ʌ'), ('ʒ', 'ʒ'), ('ʝ', 'ʞ'),
  ('ͅ', 'ͅ'), ('ͱ', 'ͱ'), ('ͳ', 'ͳ'), ('ͷ', 'ͷ'), ('ͻ', 'ͽ'),
  ('ΐ', 'ΐ'), ('ά', 'ώ'), ('ϐ', 'ϑ'), ('ϕ', 'ϗ'), ('ϙ', 'ϙ'),
  ('ϛ', 'ϛ'), ('ϝ', 'ϝ'), ('ϟ', 'ϟ'), ('ϡ', 'ϡ'), ('ϣ', 'ϣ'),
  ('ϥ', 'ϥ'), ('ϧ', 'ϧ'), ('ϩ', 'ϩ'), ('ϫ', 'ϫ'), ('ϭ', 'ϭ'),
  ('ϯ', 'ϳ'), ('ϵ', 'ϵ'), ('ϸ', 'ϸ'), ('ϻ', 'ϻ'), ('а', 'џ'),
  ('ѡ', 'ѡ'), ('ѣ', 'ѣ'), ('ѥ', 'ѥ'), ('ѧ', 'ѧ'), ('ѩ', 'ѩ'),
  ('ѫ', 'ѫ'), ('ѭ', 'ѭ'), ('ѯ', 'ѯ'), ('ѱ', 'ѱ'), ('ѳ', 'ѳ'),
  ('ѵ', 'ѵ'), ('ѷ', 'ѷ'), ('ѹ', 'ѹ'), ('ѻ', 'ѻ'), ('ѽ', 'ѽ'),
  ('ѿ', 'ѿ'), ('ҁ', 'ҁ'), ('ҋ', 'ҋ'), ('ҍ', 'ҍ'), ('ҏ', 'ҏ'),
  ('ґ', 'ґ'), ('ғ', 'ғ'), ('ҕ', 'ҕ'), ('җ', 'җ'), ('ҙ', 'ҙ'),
  ('қ', 'қ'), ('ҝ', 'ҝ'), ('ҟ', 'ҟ'), ('ҡ', 'ҡ'), ('ң', 'ң'),
  ('ҥ', 'ҥ'), ('ҧ', 'ҧ'), ('ҩ', 'ҩ'), ('ҫ', 'ҫ'), ('ҭ', 'ҭ'),
  ('ү', 'ү'), ('ұ', 'ұ'), ('ҳ', 'ҳ'), ('ҵ', 'ҵ'), ('ҷ', 'ҷ'),
  ('ҹ', 'ҹ'), ('һ', 'һ'), ('ҽ', 'ҽ'), ('ҿ', 'ҿ'), ('ӂ', 'ӂ'),
  ('ӄ', 'ӄ'), ('ӆ', 'ӆ'), ('ӈ', 'ӈ'), ('ӊ', 'ӊ'), ('ӌ', 'ӌ'),
  ('ӎ', 'ӏ'), ('ӑ', 'ӑ'), ('ӓ', 'ӓ'), ('ӕ', 'ӕ'), ('ӗ', 'ӗ'),
  ('ә', 'ә'), ('ӛ', 'ӛ'), ('ӝ', 'ӝ'), ('ӟ', 'ӟ'), ('ӡ', 'ӡ'),
  ('ӣ', 'ӣ'), ('ӥ', 'ӥ'), ('ӧ', 'ӧ'), ('ө', 'ө'), ('ӫ', 'ӫ'),
  ('ӭ', 'ӭ'), ('ӯ', 'ӯ'), ('ӱ', 'ӱ'), ('ӳ', 'ӳ'), ('ӵ', 'ӵ'),
  ('ӷ', 'ӷ'), ('ӹ', 'ӹ'), ('ӻ', 'ӻ'), ('ӽ', 'ӽ'), ('ӿ', 'ӿ'),
  ('ԁ', 'ԁ'), ('ԃ', 'ԃ'), ('ԅ', 'ԅ'), ('ԇ', 'ԇ'), ('ԉ', 'ԉ'),
  ('ԋ', 'ԋ'), ('ԍ', 'ԍ'), ('ԏ', 'ԏ'), ('ԑ', 'ԑ'), ('ԓ', 'ԓ'),
  ('ԕ', 'ԕ'), ('ԗ', 'ԗ'), ('ԙ', 'ԙ'), ('ԛ', 'ԛ'), ('ԝ', 'ԝ'),
  ('ԟ', 'ԟ'), ('ԡ', 'ԡ'), ('ԣ', 'ԣ'), ('ԥ', 'ԥ'), ('ԧ', 'ԧ'),
  ('ԩ', 'ԩ'), ('ԫ', 'ԫ'), ('ԭ', 'ԭ'), ('ԯ', 'ԯ'), ('ա', 'և'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('ḿ', 'ḿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('ṿ', 'ṿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ế', 'ế'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ỿ', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ⲿ', 'ⲿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', 'ꮿ'), ('', ''), ('', ''),
  ('', ''), ('𐐨', '𐑏'), ('𐓘', '𐓻'), ('𐳀', '𐳲'),
  ('𑣀', '𑣟'), ('𞤢', '𞥃'),
];

pub const DASH: &'static [(char, char)] = &[
  ('-', '-'), ('֊', '֊'), ('־', '־'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
];

pub const DEFAULT_IGNORABLE_CODE_POINT: &'static [(char, char)] = &[
  ('\u{ad}', '\u{ad}'), ('͏', '͏'), ('\u{61c}', '\u{61c}'), ('', ''),
  ('', ''), ('', '\u{180e}'), ('\u{200b}', '\u{200f}'),
  ('\u{202a}', '\u{202e}'), ('\u{2060}', '\u{206f}'), ('', ''),
  ('', ''), ('\u{feff}', '\u{feff}'), ('', ''),
  ('\u{fff0}', '\u{fff8}'), ('\u{1bca0}', '\u{1bca3}'),
  ('\u{1d173}', '\u{1d17a}'), ('\u{e0000}', '\u{e0fff}'),
];

pub const DEPRECATED: &'static [(char, char)] = &[
  ('ʼn', 'ʼn'), ('ٳ', 'ٳ'), ('', ''), ('', ''), ('', ''),
  ('\u{206a}', '\u{206f}'), ('', ''), ('\u{e0001}', '\u{e0001}'),
];

pub const DIACRITIC: &'static [(char, char)] = &[
  ('^', '^'), ('`', '`'), ('¨', '¨'), ('¯', '¯'), ('´', '´'),
  ('·', '¸'), ('ʰ', '͎'), ('͐', '͗'), ('͝', '͢'), ('ʹ', '͵'),
  ('ͺ', 'ͺ'), ('΄', '΅'), ('҃', '҇'), ('ՙ', 'ՙ'), ('֑', '֡'),
  ('֣', 'ֽ'), ('ֿ', 'ֿ'), ('ׁ', 'ׂ'), ('ׄ', 'ׄ'), ('ً', 'ْ'),
  ('ٗ', '٘'), ('۟', '۠'), ('ۥ', 'ۦ'), ('۪', '۬'), ('ܰ', '݊'),
  ('ަ', 'ް'), ('߫', 'ߵ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', '૿'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', '༿'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('᩿', '᩿'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', '᷿'), ('', ''),
  ('᾿', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('꪿', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('𐋠', '𐋠'), ('𐫥', '𐫦'), ('𑂹', '𑂺'),
  ('𑄳', '𑄴'), ('𑅳', '𑅳'), ('𑇀', '𑇀'), ('𑇊', '𑇌'),
  ('𑈵', '𑈶'), ('𑋩', '𑋪'), ('𑌼', '𑌼'), ('𑍍', '𑍍'),
  ('𑍦', '𑍬'), ('𑍰', '𑍴'), ('𑑂', '𑑂'), ('𑑆', '𑑆'),
  ('𑓂', '𑓃'), ('𑖿', '𑗀'), ('𑘿', '𑘿'), ('𑚶', '𑚷'),
  ('𑜫', '𑜫'), ('𑨴', '𑨴'), ('𑩇', '𑩇'), ('𑪙', '𑪙'),
  ('𑰿', '𑰿'), ('𑵂', '𑵂'), ('𑵄', '𑵅'), ('𖫰', '𖫴'),
  ('𖾏', '𖾟'), ('𝅧', '𝅩'), ('𝅭', '𝅲'), ('𝅻', '𝆂'),
  ('𝆅', '𝆋'), ('𝆪', '𝆭'), ('𞣐', '𞣖'), ('𞥄', '𞥆'),
  ('𞥈', '𞥊'),
];

pub const EXTENDER: &'static [(char, char)] = &[
  ('·', '·'), ('ː', 'ˑ'), ('ـ', 'ـ'), ('ߺ', 'ߺ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('𑍝', '𑍝'), ('𑗆', '𑗈'),
  ('𑪘', '𑪘'), ('𖭂', '𖭃'), ('𖿠', '𖿡'), ('𞥄', '𞥆'),
];

pub const GRAPHEME_BASE: &'static [(char, char)] = &[
  (' ', '~'), ('\u{a0}', '¬'), ('®', '˿'), ('Ͱ', 'ͷ'), ('ͺ', 'Ϳ'),
  ('΄', 'Ί'), ('Ό', 'Ό'), ('Ύ', 'Ρ'), ('Σ', '҂'), ('Ҋ', 'ԯ'),
  ('Ա', 'Ֆ'), ('ՙ', '՟'), ('ա', 'և'), ('։', '֊'), ('֍', '֏'),
  ('־', '־'), ('׀', '׀'), ('׃', '׃'), ('׆', '׆'), ('א', 'ת'),
  ('װ', '״'), ('؆', '؏'), ('؛', '؛'), ('؞', 'ي'), ('٠', 'ٯ'),
  ('ٱ', 'ە'), ('۞', '۞'), ('ۥ', 'ۦ'), ('۩', '۩'), ('ۮ', '܍'),
  ('ܐ', 'ܐ'), ('ܒ', 'ܯ'), ('ݍ', 'ޥ'), ('ޱ', 'ޱ'), ('߀', 'ߪ'),
  ('ߴ', 'ߺ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ি', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('ி', 'ி'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ി', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', 'ൿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('฿', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ཿ', 'ཿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('က', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', 'ᶿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('\u{2000}', '\u{200a}'), ('', ''), ('\u{202f}', '\u{205f}'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('\u{3000}', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('ꀀ', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '﴿'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('𐀀', '𐀋'), ('𐀍', '𐀦'),
  ('𐀨', '𐀺'), ('𐀼', '𐀽'), ('𐀿', '𐁍'), ('𐁐', '𐁝'),
  ('𐂀', '𐃺'), ('𐄀', '𐄂'), ('𐄇', '𐄳'), ('𐄷', '𐆎'),
  ('𐆐', '𐆛'), ('𐆠', '𐆠'), ('𐇐', '𐇼'), ('𐊀', '𐊜'),
  ('𐊠', '𐋐'), ('𐋡', '𐋻'), ('𐌀', '𐌣'), ('𐌭', '𐍊'),
  ('𐍐', '𐍵'), ('𐎀', '𐎝'), ('𐎟', '𐏃'), ('𐏈', '𐏕'),
  ('𐐀', '𐒝'), ('𐒠', '𐒩'), ('𐒰', '𐓓'), ('𐓘', '𐓻'),
  ('𐔀', '𐔧'), ('𐔰', '𐕣'), ('𐕯', '𐕯'), ('𐘀', '𐜶'),
  ('𐝀', '𐝕'), ('𐝠', '𐝧'), ('𐠀', '𐠅'), ('𐠈', '𐠈'),
  ('𐠊', '𐠵'), ('𐠷', '𐠸'), ('𐠼', '𐠼'), ('𐠿', '𐡕'),
  ('𐡗', '𐢞'), ('𐢧', '𐢯'), ('𐣠', '𐣲'), ('𐣴', '𐣵'),
  ('𐣻', '𐤛'), ('𐤟', '𐤹'), ('𐤿', '𐤿'), ('𐦀', '𐦷'),
  ('𐦼', '𐧏'), ('𐧒', '𐨀'), ('𐨐', '𐨓'), ('𐨕', '𐨗'),
  ('𐨙', '𐨳'), ('𐩀', '𐩇'), ('𐩐', '𐩘'), ('𐩠', '𐪟'),
  ('𐫀', '𐫤'), ('𐫫', '𐫶'), ('𐬀', '𐬵'), ('𐬹', '𐭕'),
  ('𐭘', '𐭲'), ('𐭸', '𐮑'), ('𐮙', '𐮜'), ('𐮩', '𐮯'),
  ('𐰀', '𐱈'), ('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𐳺', '𐳿'),
  ('𐹠', '𐹾'), ('𑀀', '𑀀'), ('𑀂', '𑀷'), ('𑁇', '𑁍'),
  ('𑁒', '𑁯'), ('𑂂', '𑂲'), ('𑂷', '𑂸'), ('𑂻', '𑂼'),
  ('𑂾', '𑃁'), ('𑃐', '𑃨'), ('𑃰', '𑃹'), ('𑄃', '𑄦'),
  ('𑄬', '𑄬'), ('𑄶', '𑅃'), ('𑅐', '𑅲'), ('𑅴', '𑅶'),
  ('𑆂', '𑆵'), ('𑆿', '𑇉'), ('𑇍', '𑇍'), ('𑇐', '𑇟'),
  ('𑇡', '𑇴'), ('𑈀', '𑈑'), ('𑈓', '𑈮'), ('𑈲', '𑈳'),
  ('𑈵', '𑈵'), ('𑈸', '𑈽'), ('𑊀', '𑊆'), ('𑊈', '𑊈'),
  ('𑊊', '𑊍'), ('𑊏', '𑊝'), ('𑊟', '𑊩'), ('𑊰', '𑋞'),
  ('𑋠', '𑋢'), ('𑋰', '𑋹'), ('𑌂', '𑌃'), ('𑌅', '𑌌'),
  ('𑌏', '𑌐'), ('𑌓', '𑌨'), ('𑌪', '𑌰'), ('𑌲', '𑌳'),
  ('𑌵', '𑌹'), ('𑌽', '𑌽'), ('𑌿', '𑌿'), ('𑍁', '𑍄'),
  ('𑍇', '𑍈'), ('𑍋', '𑍍'), ('𑍐', '𑍐'), ('𑍝', '𑍣'),
  ('𑐀', '𑐷'), ('𑑀', '𑑁'), ('𑑅', '𑑅'), ('𑑇', '𑑙'),
  ('𑑛', '𑑛'), ('𑑝', '𑑝'), ('𑒀', '𑒯'), ('𑒱', '𑒲'),
  ('𑒹', '𑒹'), ('𑒻', '𑒼'), ('𑒾', '𑒾'), ('𑓁', '𑓁'),
  ('𑓄', '𑓇'), ('𑓐', '𑓙'), ('𑖀', '𑖮'), ('𑖰', '𑖱'),
  ('𑖸', '𑖻'), ('𑖾', '𑖾'), ('𑗁', '𑗛'), ('𑘀', '𑘲'),
  ('𑘻', '𑘼'), ('𑘾', '𑘾'), ('𑙁', '𑙄'), ('𑙐', '𑙙'),
  ('𑙠', '𑙬'), ('𑚀', '𑚪'), ('𑚬', '𑚬'), ('𑚮', '𑚯'),
  ('𑚶', '𑚶'), ('𑛀', '𑛉'), ('𑜀', '𑜙'), ('𑜠', '𑜡'),
  ('𑜦', '𑜦'), ('𑜰', '𑜿'), ('𑢠', '𑣲'), ('𑣿', '𑣿'),
  ('𑨀', '𑨀'), ('𑨇', '𑨈'), ('𑨋', '𑨲'), ('𑨹', '𑨺'),
  ('𑨿', '𑩆'), ('𑩐', '𑩐'), ('𑩗', '𑩘'), ('𑩜', '𑪃'),
  ('𑪆', '𑪉'), ('𑪗', '𑪗'), ('𑪚', '𑪜'), ('𑪞', '𑪢'),
  ('𑫀', '𑫸'), ('𑰀', '𑰈'), ('𑰊', '𑰯'), ('𑰾', '𑰾'),
  ('𑱀', '𑱅'), ('𑱐', '𑱬'), ('𑱰', '𑲏'), ('𑲩', '𑲩'),
  ('𑲱', '𑲱'), ('𑲴', '𑲴'), ('𑴀', '𑴆'), ('𑴈', '𑴉'),
  ('𑴋', '𑴰'), ('𑵆', '𑵆'), ('𑵐', '𑵙'), ('𒀀', '𒎙'),
  ('𒐀', '𒑮'), ('𒑰', '𒑴'), ('𒒀', '𒕃'), ('𓀀', '𓐮'),
  ('𔐀', '𔙆'), ('𖠀', '𖨸'), ('𖩀', '𖩞'), ('𖩠', '𖩩'),
  ('𖩮', '𖩯'), ('𖫐', '𖫭'), ('𖫵', '𖫵'), ('𖬀', '𖬯'),
  ('𖬷', '𖭅'), ('𖭐', '𖭙'), ('𖭛', '𖭡'), ('𖭣', '𖭷'),
  ('𖭽', '𖮏'), ('𖼀', '𖽄'), ('𖽐', '𖽾'), ('𖾓', '𖾟'),
  ('𖿠', '𖿡'), ('𗀀', '𘟬'), ('𘠀', '𘫲'), ('𛀀', '𛄞'),
  ('𛅰', '𛋻'), ('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'),
  ('𛲐', '𛲙'), ('𛲜', '𛲜'), ('𛲟', '𛲟'), ('𝀀', '𝃵'),
  ('𝄀', '𝄦'), ('𝄩', '𝅘𝅥𝅲'), ('𝅦', '𝅦'), ('𝅪', '𝅭'),
  ('𝆃', '𝆄'), ('𝆌', '𝆩'), ('𝆮', '𝇨'), ('𝈀', '𝉁'),
  ('𝉅', '𝉅'), ('𝌀', '𝍖'), ('𝍠', '𝍱'), ('𝐀', '𝑔'),
  ('𝑖', '𝒜'), ('𝒞', '𝒟'), ('𝒢', '𝒢'), ('𝒥', '𝒦'),
  ('𝒩', '𝒬'), ('𝒮', '𝒹'), ('𝒻', '𝒻'), ('𝒽', '𝓃'),
  ('𝓅', '𝔅'), ('𝔇', '𝔊'), ('𝔍', '𝔔'), ('𝔖', '𝔜'),
  ('𝔞', '𝔹'), ('𝔻', '𝔾'), ('𝕀', '𝕄'), ('𝕆', '𝕆'),
  ('𝕊', '𝕐'), ('𝕒', '𝚥'), ('𝚨', '𝟋'), ('𝟎', '𝧿'),
  ('𝨷', '𝨺'), ('𝩭', '𝩴'), ('𝩶', '𝪃'), ('𝪅', '𝪋'),
  ('𞠀', '𞣄'), ('𞣇', '𞣏'), ('𞤀', '𞥃'), ('𞥐', '𞥙'),
  ('𞥞', '𞥟'), ('𞸀', '𞸃'), ('𞸅', '𞸟'), ('𞸡', '𞸢'),
  ('𞸤', '𞸤'), ('𞸧', '𞸧'), ('𞸩', '𞸲'), ('𞸴', '𞸷'),
  ('𞸹', '𞸹'), ('𞸻', '𞸻'), ('𞹂', '𞹂'), ('𞹇', '𞹇'),
  ('𞹉', '𞹉'), ('𞹋', '𞹋'), ('𞹍', '𞹏'), ('𞹑', '𞹒'),
  ('𞹔', '𞹔'), ('𞹗', '𞹗'), ('𞹙', '𞹙'), ('𞹛', '𞹛'),
  ('𞹝', '𞹝'), ('𞹟', '𞹟'), ('𞹡', '𞹢'), ('𞹤', '𞹤'),
  ('𞹧', '𞹪'), ('𞹬', '𞹲'), ('𞹴', '𞹷'), ('𞹹', '𞹼'),
  ('𞹾', '𞹾'), ('𞺀', '𞺉'), ('𞺋', '𞺛'), ('𞺡', '𞺣'),
  ('𞺥', '𞺩'), ('𞺫', '𞺻'), ('𞻰', '𞻱'), ('🀀', '🀫'),
  ('🀰', '🂓'), ('🂠', '🂮'), ('🂱', '🂿'), ('🃁', '🃏'),
  ('🃑', '🃵'), ('🄀', '🄌'), ('🄐', '🄮'), ('🄰', '🅫'),
  ('🅰', '🆬'), ('🇦', '🈂'), ('🈐', '🈻'), ('🉀', '🉈'),
  ('🉐', '🉑'), ('🉠', '🉥'), ('🌀', '🛔'), ('🛠', '🛬'),
  ('🛰', '🛸'), ('🜀', '🝳'), ('🞀', '🟔'), ('🠀', '🠋'),
  ('🠐', '🡇'), ('🡐', '🡙'), ('🡠', '🢇'), ('🢐', '🢭'),
  ('🤀', '🤋'), ('🤐', '🤾'), ('🥀', '🥌'), ('🥐', '🥫'),
  ('🦀', '🦗'), ('🧀', '🧀'), ('🧐', '🧦'), ('𠀀', '𪛖'),
  ('𪜀', '𫜴'), ('𫝀', '𫠝'), ('𫠠', '𬺡'), ('𬺰', '𮯠'),
  ('丽', '𪘀'),
];

pub const GRAPHEME_EXTEND: &'static [(char, char)] = &[
  ('̀', 'ͯ'), ('҃', '҉'), ('֑', 'ֽ'), ('ֿ', 'ֿ'), ('ׁ', 'ׂ'),
  ('ׄ', 'ׅ'), ('ׇ', 'ׇ'), ('ؐ', 'ؚ'), ('ً', 'ٟ'), ('ٰ', 'ٰ'),
  ('ۖ', 'ۜ'), ('۟', 'ۤ'), ('ۧ', 'ۨ'), ('۪', 'ۭ'), ('ܑ', 'ܑ'),
  ('ܰ', '݊'), ('ަ', 'ް'), ('߫', '߳'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', '૿'), ('', ''), ('', ''), ('', 'ି'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ಿ', 'ಿ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('᩿', '᩿'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', '᷿'), ('\u{200c}', '\u{200c}'), ('', ''),
  ('', ''), ('⵿', '⵿'), ('', 'ⷿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '꪿'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('𐇽', '𐇽'), ('𐋠', '𐋠'),
  ('𐍶', '𐍺'), ('𐨁', '𐨃'), ('𐨅', '𐨆'), ('𐨌', '𐨏'),
  ('𐨸', '𐨺'), ('𐨿', '𐨿'), ('𐫥', '𐫦'), ('𑀁', '𑀁'),
  ('𑀸', '𑁆'), ('𑁿', '𑂁'), ('𑂳', '𑂶'), ('𑂹', '𑂺'),
  ('𑄀', '𑄂'), ('𑄧', '𑄫'), ('𑄭', '𑄴'), ('𑅳', '𑅳'),
  ('𑆀', '𑆁'), ('𑆶', '𑆾'), ('𑇊', '𑇌'), ('𑈯', '𑈱'),
  ('𑈴', '𑈴'), ('𑈶', '𑈷'), ('𑈾', '𑈾'), ('𑋟', '𑋟'),
  ('𑋣', '𑋪'), ('𑌀', '𑌁'), ('𑌼', '𑌼'), ('𑌾', '𑌾'),
  ('𑍀', '𑍀'), ('𑍗', '𑍗'), ('𑍦', '𑍬'), ('𑍰', '𑍴'),
  ('𑐸', '𑐿'), ('𑑂', '𑑄'), ('𑑆', '𑑆'), ('𑒰', '𑒰'),
  ('𑒳', '𑒸'), ('𑒺', '𑒺'), ('𑒽', '𑒽'), ('𑒿', '𑓀'),
  ('𑓂', '𑓃'), ('𑖯', '𑖯'), ('𑖲', '𑖵'), ('𑖼', '𑖽'),
  ('𑖿', '𑗀'), ('𑗜', '𑗝'), ('𑘳', '𑘺'), ('𑘽', '𑘽'),
  ('𑘿', '𑙀'), ('𑚫', '𑚫'), ('𑚭', '𑚭'), ('𑚰', '𑚵'),
  ('𑚷', '𑚷'), ('𑜝', '𑜟'), ('𑜢', '𑜥'), ('𑜧', '𑜫'),
  ('𑨁', '𑨆'), ('𑨉', '𑨊'), ('𑨳', '𑨸'), ('𑨻', '𑨾'),
  ('𑩇', '𑩇'), ('𑩑', '𑩖'), ('𑩙', '𑩛'), ('𑪊', '𑪖'),
  ('𑪘', '𑪙'), ('𑰰', '𑰶'), ('𑰸', '𑰽'), ('𑰿', '𑰿'),
  ('𑲒', '𑲧'), ('𑲪', '𑲰'), ('𑲲', '𑲳'), ('𑲵', '𑲶'),
  ('𑴱', '𑴶'), ('𑴺', '𑴺'), ('𑴼', '𑴽'), ('𑴿', '𑵅'),
  ('𑵇', '𑵇'), ('𖫰', '𖫴'), ('𖬰', '𖬶'), ('𖾏', '𖾒'),
  ('𛲝', '𛲞'), ('𝅥', '𝅥'), ('𝅧', '𝅩'), ('𝅮', '𝅲'),
  ('𝅻', '𝆂'), ('𝆅', '𝆋'), ('𝆪', '𝆭'), ('𝉂', '𝉄'),
  ('𝨀', '𝨶'), ('𝨻', '𝩬'), ('𝩵', '𝩵'), ('𝪄', '𝪄'),
  ('𝪛', '𝪟'), ('𝪡', '𝪯'), ('𞀀', '𞀆'), ('𞀈', '𞀘'),
  ('𞀛', '𞀡'), ('𞀣', '𞀤'), ('𞀦', '𞀪'), ('𞣐', '𞣖'),
  ('𞥄', '𞥊'), ('\u{e0020}', '\u{e007f}'), ('󠄀', '󠇯'),
];

pub const GRAPHEME_LINK: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('⵿', '⵿'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('𐨿', '𐨿'), ('𑁆', '𑁆'), ('𑁿', '𑁿'), ('𑂹', '𑂹'),
  ('𑄳', '𑄴'), ('𑇀', '𑇀'), ('𑈵', '𑈵'), ('𑋪', '𑋪'),
  ('𑍍', '𑍍'), ('𑑂', '𑑂'), ('𑓂', '𑓂'), ('𑖿', '𑖿'),
  ('𑘿', '𑘿'), ('𑚶', '𑚶'), ('𑜫', '𑜫'), ('𑨴', '𑨴'),
  ('𑩇', '𑩇'), ('𑪙', '𑪙'), ('𑰿', '𑰿'), ('𑵄', '𑵅'),
];

pub const HEX_DIGIT: &'static [(char, char)] = &[
  ('0', '9'), ('A', 'F'), ('a', 'f'), ('', ''), ('', ''),
  ('', ''),
];

pub const HYPHEN: &'static [(char, char)] = &[
  ('-', '-'), ('\u{ad}', '\u{ad}'), ('֊', '֊'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''),
];

pub const IDS_BINARY_OPERATOR: &'static [(char, char)] = &[
  ('', ''), ('', ''),
];

pub const IDS_TRINARY_OPERATOR: &'static [(char, char)] = &[
  ('', ''),
];

pub const ID_CONTINUE: &'static [(char, char)] = &[
  ('0', '9'), ('A', 'Z'), ('_', '_'), ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'),
  ('·', '·'), ('º', 'º'), ('À', 'Ö'), ('Ø', 'ö'), ('ø', 'ˁ'),
  ('ˆ', 'ˑ'), ('ˠ', 'ˤ'), ('ˬ', 'ˬ'), ('ˮ', 'ˮ'), ('̀', 'ʹ'),
  ('Ͷ', 'ͷ'), ('ͺ', 'ͽ'), ('Ϳ', 'Ϳ'), ('Ά', 'Ί'), ('Ό', 'Ό'),
  ('Ύ', 'Ρ'), ('Σ', 'ϵ'), ('Ϸ', 'ҁ'), ('҃', '҇'), ('Ҋ', 'ԯ'),
  ('Ա', 'Ֆ'), ('ՙ', 'ՙ'), ('ա', 'և'), ('֑', 'ֽ'), ('ֿ', 'ֿ'),
  ('ׁ', 'ׂ'), ('ׄ', 'ׅ'), ('ׇ', 'ׇ'), ('א', 'ת'), ('װ', 'ײ'),
  ('ؐ', 'ؚ'), ('ؠ', '٩'), ('ٮ', 'ۓ'), ('ە', 'ۜ'), ('۟', 'ۨ'),
  ('۪', 'ۼ'), ('ۿ', 'ۿ'), ('ܐ', '݊'), ('ݍ', 'ޱ'), ('߀', 'ߵ'),
  ('ߺ', 'ߺ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', '૿'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ൿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('က', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('᩿', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('⵿', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ⷿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ꀀ', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('_', '_'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('𐀀', '𐀋'), ('𐀍', '𐀦'), ('𐀨', '𐀺'), ('𐀼', '𐀽'),
  ('𐀿', '𐁍'), ('𐁐', '𐁝'), ('𐂀', '𐃺'), ('𐅀', '𐅴'),
  ('𐇽', '𐇽'), ('𐊀', '𐊜'), ('𐊠', '𐋐'), ('𐋠', '𐋠'),
  ('𐌀', '𐌟'), ('𐌭', '𐍊'), ('𐍐', '𐍺'), ('𐎀', '𐎝'),
  ('𐎠', '𐏃'), ('𐏈', '𐏏'), ('𐏑', '𐏕'), ('𐐀', '𐒝'),
  ('𐒠', '𐒩'), ('𐒰', '𐓓'), ('𐓘', '𐓻'), ('𐔀', '𐔧'),
  ('𐔰', '𐕣'), ('𐘀', '𐜶'), ('𐝀', '𐝕'), ('𐝠', '𐝧'),
  ('𐠀', '𐠅'), ('𐠈', '𐠈'), ('𐠊', '𐠵'), ('𐠷', '𐠸'),
  ('𐠼', '𐠼'), ('𐠿', '𐡕'), ('𐡠', '𐡶'), ('𐢀', '𐢞'),
  ('𐣠', '𐣲'), ('𐣴', '𐣵'), ('𐤀', '𐤕'), ('𐤠', '𐤹'),
  ('𐦀', '𐦷'), ('𐦾', '𐦿'), ('𐨀', '𐨃'), ('𐨅', '𐨆'),
  ('𐨌', '𐨓'), ('𐨕', '𐨗'), ('𐨙', '𐨳'), ('𐨸', '𐨺'),
  ('𐨿', '𐨿'), ('𐩠', '𐩼'), ('𐪀', '𐪜'), ('𐫀', '𐫇'),
  ('𐫉', '𐫦'), ('𐬀', '𐬵'), ('𐭀', '𐭕'), ('𐭠', '𐭲'),
  ('𐮀', '𐮑'), ('𐰀', '𐱈'), ('𐲀', '𐲲'), ('𐳀', '𐳲'),
  ('𑀀', '𑁆'), ('𑁦', '𑁯'), ('𑁿', '𑂺'), ('𑃐', '𑃨'),
  ('𑃰', '𑃹'), ('𑄀', '𑄴'), ('𑄶', '𑄿'), ('𑅐', '𑅳'),
  ('𑅶', '𑅶'), ('𑆀', '𑇄'), ('𑇊', '𑇌'), ('𑇐', '𑇚'),
  ('𑇜', '𑇜'), ('𑈀', '𑈑'), ('𑈓', '𑈷'), ('𑈾', '𑈾'),
  ('𑊀', '𑊆'), ('𑊈', '𑊈'), ('𑊊', '𑊍'), ('𑊏', '𑊝'),
  ('𑊟', '𑊨'), ('𑊰', '𑋪'), ('𑋰', '𑋹'), ('𑌀', '𑌃'),
  ('𑌅', '𑌌'), ('𑌏', '𑌐'), ('𑌓', '𑌨'), ('𑌪', '𑌰'),
  ('𑌲', '𑌳'), ('𑌵', '𑌹'), ('𑌼', '𑍄'), ('𑍇', '𑍈'),
  ('𑍋', '𑍍'), ('𑍐', '𑍐'), ('𑍗', '𑍗'), ('𑍝', '𑍣'),
  ('𑍦', '𑍬'), ('𑍰', '𑍴'), ('𑐀', '𑑊'), ('𑑐', '𑑙'),
  ('𑒀', '𑓅'), ('𑓇', '𑓇'), ('𑓐', '𑓙'), ('𑖀', '𑖵'),
  ('𑖸', '𑗀'), ('𑗘', '𑗝'), ('𑘀', '𑙀'), ('𑙄', '𑙄'),
  ('𑙐', '𑙙'), ('𑚀', '𑚷'), ('𑛀', '𑛉'), ('𑜀', '𑜙'),
  ('𑜝', '𑜫'), ('𑜰', '𑜹'), ('𑢠', '𑣩'), ('𑣿', '𑣿'),
  ('𑨀', '𑨾'), ('𑩇', '𑩇'), ('𑩐', '𑪃'), ('𑪆', '𑪙'),
  ('𑫀', '𑫸'), ('𑰀', '𑰈'), ('𑰊', '𑰶'), ('𑰸', '𑱀'),
  ('𑱐', '𑱙'), ('𑱲', '𑲏'), ('𑲒', '𑲧'), ('𑲩', '𑲶'),
  ('𑴀', '𑴆'), ('𑴈', '𑴉'), ('𑴋', '𑴶'), ('𑴺', '𑴺'),
  ('𑴼', '𑴽'), ('𑴿', '𑵇'), ('𑵐', '𑵙'), ('𒀀', '𒎙'),
  ('𒐀', '𒑮'), ('𒒀', '𒕃'), ('𓀀', '𓐮'), ('𔐀', '𔙆'),
  ('𖠀', '𖨸'), ('𖩀', '𖩞'), ('𖩠', '𖩩'), ('𖫐', '𖫭'),
  ('𖫰', '𖫴'), ('𖬀', '𖬶'), ('𖭀', '𖭃'), ('𖭐', '𖭙'),
  ('𖭣', '𖭷'), ('𖭽', '𖮏'), ('𖼀', '𖽄'), ('𖽐', '𖽾'),
  ('𖾏', '𖾟'), ('𖿠', '𖿡'), ('𗀀', '𘟬'), ('𘠀', '𘫲'),
  ('𛀀', '𛄞'), ('𛅰', '𛋻'), ('𛰀', '𛱪'), ('𛱰', '𛱼'),
  ('𛲀', '𛲈'), ('𛲐', '𛲙'), ('𛲝', '𛲞'), ('𝅥', '𝅩'),
  ('𝅭', '𝅲'), ('𝅻', '𝆂'), ('𝆅', '𝆋'), ('𝆪', '𝆭'),
  ('𝉂', '𝉄'), ('𝐀', '𝑔'), ('𝑖', '𝒜'), ('𝒞', '𝒟'),
  ('𝒢', '𝒢'), ('𝒥', '𝒦'), ('𝒩', '𝒬'), ('𝒮', '𝒹'),
  ('𝒻', '𝒻'), ('𝒽', '𝓃'), ('𝓅', '𝔅'), ('𝔇', '𝔊'),
  ('𝔍', '𝔔'), ('𝔖', '𝔜'), ('𝔞', '𝔹'), ('𝔻', '𝔾'),
  ('𝕀', '𝕄'), ('𝕆', '𝕆'), ('𝕊', '𝕐'), ('𝕒', '𝚥'),
  ('𝚨', '𝛀'), ('𝛂', '𝛚'), ('𝛜', '𝛺'), ('𝛼', '𝜔'),
  ('𝜖', '𝜴'), ('𝜶', '𝝎'), ('𝝐', '𝝮'), ('𝝰', '𝞈'),
  ('𝞊', '𝞨'), ('𝞪', '𝟂'), ('𝟄', '𝟋'), ('𝟎', '𝟿'),
  ('𝨀', '𝨶'), ('𝨻', '𝩬'), ('𝩵', '𝩵'), ('𝪄', '𝪄'),
  ('𝪛', '𝪟'), ('𝪡', '𝪯'), ('𞀀', '𞀆'), ('𞀈', '𞀘'),
  ('𞀛', '𞀡'), ('𞀣', '𞀤'), ('𞀦', '𞀪'), ('𞠀', '𞣄'),
  ('𞣐', '𞣖'), ('𞤀', '𞥊'), ('𞥐', '𞥙'), ('𞸀', '𞸃'),
  ('𞸅', '𞸟'), ('𞸡', '𞸢'), ('𞸤', '𞸤'), ('𞸧', '𞸧'),
  ('𞸩', '𞸲'), ('𞸴', '𞸷'), ('𞸹', '𞸹'), ('𞸻', '𞸻'),
  ('𞹂', '𞹂'), ('𞹇', '𞹇'), ('𞹉', '𞹉'), ('𞹋', '𞹋'),
  ('𞹍', '𞹏'), ('𞹑', '𞹒'), ('𞹔', '𞹔'), ('𞹗', '𞹗'),
  ('𞹙', '𞹙'), ('𞹛', '𞹛'), ('𞹝', '𞹝'), ('𞹟', '𞹟'),
  ('𞹡', '𞹢'), ('𞹤', '𞹤'), ('𞹧', '𞹪'), ('𞹬', '𞹲'),
  ('𞹴', '𞹷'), ('𞹹', '𞹼'), ('𞹾', '𞹾'), ('𞺀', '𞺉'),
  ('𞺋', '𞺛'), ('𞺡', '𞺣'), ('𞺥', '𞺩'), ('𞺫', '𞺻'),
  ('𠀀', '𪛖'), ('𪜀', '𫜴'), ('𫝀', '𫠝'), ('𫠠', '𬺡'),
  ('𬺰', '𮯠'), ('丽', '𪘀'), ('󠄀', '󠇯'),
];

pub const ID_START: &'static [(char, char)] = &[
  ('A', 'Z'), ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'), ('º', 'º'),
  ('À', 'Ö'), ('Ø', 'ö'), ('ø', 'ˁ'), ('ˆ', 'ˑ'), ('ˠ', 'ˤ'),
  ('ˬ', 'ˬ'), ('ˮ', 'ˮ'), ('Ͱ', 'ʹ'), ('Ͷ', 'ͷ'), ('ͺ', 'ͽ'),
  ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'), ('Ό', 'Ό'), ('Ύ', 'Ρ'),
  ('Σ', 'ϵ'), ('Ϸ', 'ҁ'), ('Ҋ', 'ԯ'), ('Ա', 'Ֆ'), ('ՙ', 'ՙ'),
  ('ա', 'և'), ('א', 'ת'), ('װ', 'ײ'), ('ؠ', 'ي'), ('ٮ', 'ٯ'),
  ('ٱ', 'ۓ'), ('ە', 'ە'), ('ۥ', 'ۦ'), ('ۮ', 'ۯ'), ('ۺ', 'ۼ'),
  ('ۿ', 'ۿ'), ('ܐ', 'ܐ'), ('ܒ', 'ܯ'), ('ݍ', 'ޥ'), ('ޱ', 'ޱ'),
  ('ߊ', 'ߪ'), ('ߴ', 'ߵ'), ('ߺ', 'ߺ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ൿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('က', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ᶿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ꀀ', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('𐀀', '𐀋'), ('𐀍', '𐀦'), ('𐀨', '𐀺'), ('𐀼', '𐀽'),
  ('𐀿', '𐁍'), ('𐁐', '𐁝'), ('𐂀', '𐃺'), ('𐅀', '𐅴'),
  ('𐊀', '𐊜'), ('𐊠', '𐋐'), ('𐌀', '𐌟'), ('𐌭', '𐍊'),
  ('𐍐', '𐍵'), ('𐎀', '𐎝'), ('𐎠', '𐏃'), ('𐏈', '𐏏'),
  ('𐏑', '𐏕'), ('𐐀', '𐒝'), ('𐒰', '𐓓'), ('𐓘', '𐓻'),
  ('𐔀', '𐔧'), ('𐔰', '𐕣'), ('𐘀', '𐜶'), ('𐝀', '𐝕'),
  ('𐝠', '𐝧'), ('𐠀', '𐠅'), ('𐠈', '𐠈'), ('𐠊', '𐠵'),
  ('𐠷', '𐠸'), ('𐠼', '𐠼'), ('𐠿', '𐡕'), ('𐡠', '𐡶'),
  ('𐢀', '𐢞'), ('𐣠', '𐣲'), ('𐣴', '𐣵'), ('𐤀', '𐤕'),
  ('𐤠', '𐤹'), ('𐦀', '𐦷'), ('𐦾', '𐦿'), ('𐨀', '𐨀'),
  ('𐨐', '𐨓'), ('𐨕', '𐨗'), ('𐨙', '𐨳'), ('𐩠', '𐩼'),
  ('𐪀', '𐪜'), ('𐫀', '𐫇'), ('𐫉', '𐫤'), ('𐬀', '𐬵'),
  ('𐭀', '𐭕'), ('𐭠', '𐭲'), ('𐮀', '𐮑'), ('𐰀', '𐱈'),
  ('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𑀃', '𑀷'), ('𑂃', '𑂯'),
  ('𑃐', '𑃨'), ('𑄃', '𑄦'), ('𑅐', '𑅲'), ('𑅶', '𑅶'),
  ('𑆃', '𑆲'), ('𑇁', '𑇄'), ('𑇚', '𑇚'), ('𑇜', '𑇜'),
  ('𑈀', '𑈑'), ('𑈓', '𑈫'), ('𑊀', '𑊆'), ('𑊈', '𑊈'),
  ('𑊊', '𑊍'), ('𑊏', '𑊝'), ('𑊟', '𑊨'), ('𑊰', '𑋞'),
  ('𑌅', '𑌌'), ('𑌏', '𑌐'), ('𑌓', '𑌨'), ('𑌪', '𑌰'),
  ('𑌲', '𑌳'), ('𑌵', '𑌹'), ('𑌽', '𑌽'), ('𑍐', '𑍐'),
  ('𑍝', '𑍡'), ('𑐀', '𑐴'), ('𑑇', '𑑊'), ('𑒀', '𑒯'),
  ('𑓄', '𑓅'), ('𑓇', '𑓇'), ('𑖀', '𑖮'), ('𑗘', '𑗛'),
  ('𑘀', '𑘯'), ('𑙄', '𑙄'), ('𑚀', '𑚪'), ('𑜀', '𑜙'),
  ('𑢠', '𑣟'), ('𑣿', '𑣿'), ('𑨀', '𑨀'), ('𑨋', '𑨲'),
  ('𑨺', '𑨺'), ('𑩐', '𑩐'), ('𑩜', '𑪃'), ('𑪆', '𑪉'),
  ('𑫀', '𑫸'), ('𑰀', '𑰈'), ('𑰊', '𑰮'), ('𑱀', '𑱀'),
  ('𑱲', '𑲏'), ('𑴀', '𑴆'), ('𑴈', '𑴉'), ('𑴋', '𑴰'),
  ('𑵆', '𑵆'), ('𒀀', '𒎙'), ('𒐀', '𒑮'), ('𒒀', '𒕃'),
  ('𓀀', '𓐮'), ('𔐀', '𔙆'), ('𖠀', '𖨸'), ('𖩀', '𖩞'),
  ('𖫐', '𖫭'), ('𖬀', '𖬯'), ('𖭀', '𖭃'), ('𖭣', '𖭷'),
  ('𖭽', '𖮏'), ('𖼀', '𖽄'), ('𖽐', '𖽐'), ('𖾓', '𖾟'),
  ('𖿠', '𖿡'), ('𗀀', '𘟬'), ('𘠀', '𘫲'), ('𛀀', '𛄞'),
  ('𛅰', '𛋻'), ('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'),
  ('𛲐', '𛲙'), ('𝐀', '𝑔'), ('𝑖', '𝒜'), ('𝒞', '𝒟'),
  ('𝒢', '𝒢'), ('𝒥', '𝒦'), ('𝒩', '𝒬'), ('𝒮', '𝒹'),
  ('𝒻', '𝒻'), ('𝒽', '𝓃'), ('𝓅', '𝔅'), ('𝔇', '𝔊'),
  ('𝔍', '𝔔'), ('𝔖', '𝔜'), ('𝔞', '𝔹'), ('𝔻', '𝔾'),
  ('𝕀', '𝕄'), ('𝕆', '𝕆'), ('𝕊', '𝕐'), ('𝕒', '𝚥'),
  ('𝚨', '𝛀'), ('𝛂', '𝛚'), ('𝛜', '𝛺'), ('𝛼', '𝜔'),
  ('𝜖', '𝜴'), ('𝜶', '𝝎'), ('𝝐', '𝝮'), ('𝝰', '𝞈'),
  ('𝞊', '𝞨'), ('𝞪', '𝟂'), ('𝟄', '𝟋'), ('𞠀', '𞣄'),
  ('𞤀', '𞥃'), ('𞸀', '𞸃'), ('𞸅', '𞸟'), ('𞸡', '𞸢'),
  ('𞸤', '𞸤'), ('𞸧', '𞸧'), ('𞸩', '𞸲'), ('𞸴', '𞸷'),
  ('𞸹', '𞸹'), ('𞸻', '𞸻'), ('𞹂', '𞹂'), ('𞹇', '𞹇'),
  ('𞹉', '𞹉'), ('𞹋', '𞹋'), ('𞹍', '𞹏'), ('𞹑', '𞹒'),
  ('𞹔', '𞹔'), ('𞹗', '𞹗'), ('𞹙', '𞹙'), ('𞹛', '𞹛'),
  ('𞹝', '𞹝'), ('𞹟', '𞹟'), ('𞹡', '𞹢'), ('𞹤', '𞹤'),
  ('𞹧', '𞹪'), ('𞹬', '𞹲'), ('𞹴', '𞹷'), ('𞹹', '𞹼'),
  ('𞹾', '𞹾'), ('𞺀', '𞺉'), ('𞺋', '𞺛'), ('𞺡', '𞺣'),
  ('𞺥', '𞺩'), ('𞺫', '𞺻'), ('𠀀', '𪛖'), ('𪜀', '𫜴'),
  ('𫝀', '𫠝'), ('𫠠', '𬺡'), ('𬺰', '𮯠'), ('丽', '𪘀'),
];

pub const IDEOGRAPHIC: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𗀀', '𘟬'),
  ('𘠀', '𘫲'), ('𛅰', '𛋻'), ('𠀀', '𪛖'), ('𪜀', '𫜴'),
  ('𫝀', '𫠝'), ('𫠠', '𬺡'), ('𬺰', '𮯠'), ('丽', '𪘀'),
];

pub const JOIN_CONTROL: &'static [(char, char)] = &[
  ('\u{200c}', '\u{200d}'),
];

pub const LOGICAL_ORDER_EXCEPTION: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''),
];

pub const LOWERCASE: &'static [(char, char)] = &[
  ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'), ('º', 'º'), ('ß', 'ö'),
  ('ø', 'ÿ'), ('ā', 'ā'), ('ă', 'ă'), ('ą', 'ą'), ('ć', 'ć'),
  ('ĉ', 'ĉ'), ('ċ', 'ċ'), ('č', 'č'), ('ď', 'ď'), ('đ', 'đ'),
  ('ē', 'ē'), ('ĕ', 'ĕ'), ('ė', 'ė'), ('ę', 'ę'), ('ě', 'ě'),
  ('ĝ', 'ĝ'), ('ğ', 'ğ'), ('ġ', 'ġ'), ('ģ', 'ģ'), ('ĥ', 'ĥ'),
  ('ħ', 'ħ'), ('ĩ', 'ĩ'), ('ī', 'ī'), ('ĭ', 'ĭ'), ('į', 'į'),
  ('ı', 'ı'), ('ij', 'ij'), ('ĵ', 'ĵ'), ('ķ', 'ĸ'), ('ĺ', 'ĺ'),
  ('ļ', 'ļ'), ('ľ', 'ľ'), ('ŀ', 'ŀ'), ('ł', 'ł'), ('ń', 'ń'),
  ('ņ', 'ņ'), ('ň', 'ʼn'), ('ŋ', 'ŋ'), ('ō', 'ō'), ('ŏ', 'ŏ'),
  ('ő', 'ő'), ('œ', 'œ'), ('ŕ', 'ŕ'), ('ŗ', 'ŗ'), ('ř', 'ř'),
  ('ś', 'ś'), ('ŝ', 'ŝ'), ('ş', 'ş'), ('š', 'š'), ('ţ', 'ţ'),
  ('ť', 'ť'), ('ŧ', 'ŧ'), ('ũ', 'ũ'), ('ū', 'ū'), ('ŭ', 'ŭ'),
  ('ů', 'ů'), ('ű', 'ű'), ('ų', 'ų'), ('ŵ', 'ŵ'), ('ŷ', 'ŷ'),
  ('ź', 'ź'), ('ż', 'ż'), ('ž', 'ƀ'), ('ƃ', 'ƃ'), ('ƅ', 'ƅ'),
  ('ƈ', 'ƈ'), ('ƌ', 'ƍ'), ('ƒ', 'ƒ'), ('ƕ', 'ƕ'), ('ƙ', 'ƛ'),
  ('ƞ', 'ƞ'), ('ơ', 'ơ'), ('ƣ', 'ƣ'), ('ƥ', 'ƥ'), ('ƨ', 'ƨ'),
  ('ƪ', 'ƫ'), ('ƭ', 'ƭ'), ('ư', 'ư'), ('ƴ', 'ƴ'), ('ƶ', 'ƶ'),
  ('ƹ', 'ƺ'), ('ƽ', 'ƿ'), ('dž', 'dž'), ('lj', 'lj'), ('nj', 'nj'),
  ('ǎ', 'ǎ'), ('ǐ', 'ǐ'), ('ǒ', 'ǒ'), ('ǔ', 'ǔ'), ('ǖ', 'ǖ'),
  ('ǘ', 'ǘ'), ('ǚ', 'ǚ'), ('ǜ', 'ǝ'), ('ǟ', 'ǟ'), ('ǡ', 'ǡ'),
  ('ǣ', 'ǣ'), ('ǥ', 'ǥ'), ('ǧ', 'ǧ'), ('ǩ', 'ǩ'), ('ǫ', 'ǫ'),
  ('ǭ', 'ǭ'), ('ǯ', 'ǰ'), ('dz', 'dz'), ('ǵ', 'ǵ'), ('ǹ', 'ǹ'),
  ('ǻ', 'ǻ'), ('ǽ', 'ǽ'), ('ǿ', 'ǿ'), ('ȁ', 'ȁ'), ('ȃ', 'ȃ'),
  ('ȅ', 'ȅ'), ('ȇ', 'ȇ'), ('ȉ', 'ȉ'), ('ȋ', 'ȋ'), ('ȍ', 'ȍ'),
  ('ȏ', 'ȏ'), ('ȑ', 'ȑ'), ('ȓ', 'ȓ'), ('ȕ', 'ȕ'), ('ȗ', 'ȗ'),
  ('ș', 'ș'), ('ț', 'ț'), ('ȝ', 'ȝ'), ('ȟ', 'ȟ'), ('ȡ', 'ȡ'),
  ('ȣ', 'ȣ'), ('ȥ', 'ȥ'), ('ȧ', 'ȧ'), ('ȩ', 'ȩ'), ('ȫ', 'ȫ'),
  ('ȭ', 'ȭ'), ('ȯ', 'ȯ'), ('ȱ', 'ȱ'), ('ȳ', 'ȹ'), ('ȼ', 'ȼ'),
  ('ȿ', 'ɀ'), ('ɂ', 'ɂ'), ('ɇ', 'ɇ'), ('ɉ', 'ɉ'), ('ɋ', 'ɋ'),
  ('ɍ', 'ɍ'), ('ɏ', 'ʓ'), ('ʕ', 'ʸ'), ('ˀ', 'ˁ'), ('ˠ', 'ˤ'),
  ('ͅ', 'ͅ'), ('ͱ', 'ͱ'), ('ͳ', 'ͳ'), ('ͷ', 'ͷ'), ('ͺ', 'ͽ'),
  ('ΐ', 'ΐ'), ('ά', 'ώ'), ('ϐ', 'ϑ'), ('ϕ', 'ϗ'), ('ϙ', 'ϙ'),
  ('ϛ', 'ϛ'), ('ϝ', 'ϝ'), ('ϟ', 'ϟ'), ('ϡ', 'ϡ'), ('ϣ', 'ϣ'),
  ('ϥ', 'ϥ'), ('ϧ', 'ϧ'), ('ϩ', 'ϩ'), ('ϫ', 'ϫ'), ('ϭ', 'ϭ'),
  ('ϯ', 'ϳ'), ('ϵ', 'ϵ'), ('ϸ', 'ϸ'), ('ϻ', 'ϼ'), ('а', 'џ'),
  ('ѡ', 'ѡ'), ('ѣ', 'ѣ'), ('ѥ', 'ѥ'), ('ѧ', 'ѧ'), ('ѩ', 'ѩ'),
  ('ѫ', 'ѫ'), ('ѭ', 'ѭ'), ('ѯ', 'ѯ'), ('ѱ', 'ѱ'), ('ѳ', 'ѳ'),
  ('ѵ', 'ѵ'), ('ѷ', 'ѷ'), ('ѹ', 'ѹ'), ('ѻ', 'ѻ'), ('ѽ', 'ѽ'),
  ('ѿ', 'ѿ'), ('ҁ', 'ҁ'), ('ҋ', 'ҋ'), ('ҍ', 'ҍ'), ('ҏ', 'ҏ'),
  ('ґ', 'ґ'), ('ғ', 'ғ'), ('ҕ', 'ҕ'), ('җ', 'җ'), ('ҙ', 'ҙ'),
  ('қ', 'қ'), ('ҝ', 'ҝ'), ('ҟ', 'ҟ'), ('ҡ', 'ҡ'), ('ң', 'ң'),
  ('ҥ', 'ҥ'), ('ҧ', 'ҧ'), ('ҩ', 'ҩ'), ('ҫ', 'ҫ'), ('ҭ', 'ҭ'),
  ('ү', 'ү'), ('ұ', 'ұ'), ('ҳ', 'ҳ'), ('ҵ', 'ҵ'), ('ҷ', 'ҷ'),
  ('ҹ', 'ҹ'), ('һ', 'һ'), ('ҽ', 'ҽ'), ('ҿ', 'ҿ'), ('ӂ', 'ӂ'),
  ('ӄ', 'ӄ'), ('ӆ', 'ӆ'), ('ӈ', 'ӈ'), ('ӊ', 'ӊ'), ('ӌ', 'ӌ'),
  ('ӎ', 'ӏ'), ('ӑ', 'ӑ'), ('ӓ', 'ӓ'), ('ӕ', 'ӕ'), ('ӗ', 'ӗ'),
  ('ә', 'ә'), ('ӛ', 'ӛ'), ('ӝ', 'ӝ'), ('ӟ', 'ӟ'), ('ӡ', 'ӡ'),
  ('ӣ', 'ӣ'), ('ӥ', 'ӥ'), ('ӧ', 'ӧ'), ('ө', 'ө'), ('ӫ', 'ӫ'),
  ('ӭ', 'ӭ'), ('ӯ', 'ӯ'), ('ӱ', 'ӱ'), ('ӳ', 'ӳ'), ('ӵ', 'ӵ'),
  ('ӷ', 'ӷ'), ('ӹ', 'ӹ'), ('ӻ', 'ӻ'), ('ӽ', 'ӽ'), ('ӿ', 'ӿ'),
  ('ԁ', 'ԁ'), ('ԃ', 'ԃ'), ('ԅ', 'ԅ'), ('ԇ', 'ԇ'), ('ԉ', 'ԉ'),
  ('ԋ', 'ԋ'), ('ԍ', 'ԍ'), ('ԏ', 'ԏ'), ('ԑ', 'ԑ'), ('ԓ', 'ԓ'),
  ('ԕ', 'ԕ'), ('ԗ', 'ԗ'), ('ԙ', 'ԙ'), ('ԛ', 'ԛ'), ('ԝ', 'ԝ'),
  ('ԟ', 'ԟ'), ('ԡ', 'ԡ'), ('ԣ', 'ԣ'), ('ԥ', 'ԥ'), ('ԧ', 'ԧ'),
  ('ԩ', 'ԩ'), ('ԫ', 'ԫ'), ('ԭ', 'ԭ'), ('ԯ', 'ԯ'), ('ա', 'և'),
  ('', ''), ('', ''), ('', 'ᶿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ḿ', 'ḿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ṿ', 'ṿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ế', 'ế'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ỿ', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ⲿ', 'ⲿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ꮿ'), ('', ''), ('', ''), ('', ''),
  ('𐐨', '𐑏'), ('𐓘', '𐓻'), ('𐳀', '𐳲'), ('𑣀', '𑣟'),
  ('𝐚', '𝐳'), ('𝑎', '𝑔'), ('𝑖', '𝑧'), ('𝒂', '𝒛'),
  ('𝒶', '𝒹'), ('𝒻', '𝒻'), ('𝒽', '𝓃'), ('𝓅', '𝓏'),
  ('𝓪', '𝔃'), ('𝔞', '𝔷'), ('𝕒', '𝕫'), ('𝖆', '𝖟'),
  ('𝖺', '𝗓'), ('𝗮', '𝘇'), ('𝘢', '𝘻'), ('𝙖', '𝙯'),
  ('𝚊', '𝚥'), ('𝛂', '𝛚'), ('𝛜', '𝛡'), ('𝛼', '𝜔'),
  ('𝜖', '𝜛'), ('𝜶', '𝝎'), ('𝝐', '𝝕'), ('𝝰', '𝞈'),
  ('𝞊', '𝞏'), ('𝞪', '𝟂'), ('𝟄', '𝟉'), ('𝟋', '𝟋'),
  ('𞤢', '𞥃'),
];

pub const MATH: &'static [(char, char)] = &[
  ('+', '+'), ('<', '>'), ('^', '^'), ('|', '|'), ('~', '~'), ('¬', '¬'),
  ('±', '±'), ('×', '×'), ('÷', '÷'), ('ϐ', 'ϒ'), ('ϕ', 'ϕ'),
  ('ϰ', 'ϱ'), ('ϴ', '϶'), ('؆', '؈'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('\u{2061}', '\u{2064}'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', '⫿'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𝐀', '𝑔'),
  ('𝑖', '𝒜'), ('𝒞', '𝒟'), ('𝒢', '𝒢'), ('𝒥', '𝒦'),
  ('𝒩', '𝒬'), ('𝒮', '𝒹'), ('𝒻', '𝒻'), ('𝒽', '𝓃'),
  ('𝓅', '𝔅'), ('𝔇', '𝔊'), ('𝔍', '𝔔'), ('𝔖', '𝔜'),
  ('𝔞', '𝔹'), ('𝔻', '𝔾'), ('𝕀', '𝕄'), ('𝕆', '𝕆'),
  ('𝕊', '𝕐'), ('𝕒', '𝚥'), ('𝚨', '𝟋'), ('𝟎', '𝟿'),
  ('𞸀', '𞸃'), ('𞸅', '𞸟'), ('𞸡', '𞸢'), ('𞸤', '𞸤'),
  ('𞸧', '𞸧'), ('𞸩', '𞸲'), ('𞸴', '𞸷'), ('𞸹', '𞸹'),
  ('𞸻', '𞸻'), ('𞹂', '𞹂'), ('𞹇', '𞹇'), ('𞹉', '𞹉'),
  ('𞹋', '𞹋'), ('𞹍', '𞹏'), ('𞹑', '𞹒'), ('𞹔', '𞹔'),
  ('𞹗', '𞹗'), ('𞹙', '𞹙'), ('𞹛', '𞹛'), ('𞹝', '𞹝'),
  ('𞹟', '𞹟'), ('𞹡', '𞹢'), ('𞹤', '𞹤'), ('𞹧', '𞹪'),
  ('𞹬', '𞹲'), ('𞹴', '𞹷'), ('𞹹', '𞹼'), ('𞹾', '𞹾'),
  ('𞺀', '𞺉'), ('𞺋', '𞺛'), ('𞺡', '𞺣'), ('𞺥', '𞺩'),
  ('𞺫', '𞺻'), ('𞻰', '𞻱'),
];

pub const NONCHARACTER_CODE_POINT: &'static [(char, char)] = &[
  ('\u{fdd0}', '\u{fdef}'), ('\u{fffe}', '\u{ffff}'),
  ('\u{1fffe}', '\u{1ffff}'), ('\u{2fffe}', '\u{2ffff}'),
  ('\u{3fffe}', '\u{3ffff}'), ('\u{4fffe}', '\u{4ffff}'),
  ('\u{5fffe}', '\u{5ffff}'), ('\u{6fffe}', '\u{6ffff}'),
  ('\u{7fffe}', '\u{7ffff}'), ('\u{8fffe}', '\u{8ffff}'),
  ('\u{9fffe}', '\u{9ffff}'), ('\u{afffe}', '\u{affff}'),
  ('\u{bfffe}', '\u{bffff}'), ('\u{cfffe}', '\u{cffff}'),
  ('\u{dfffe}', '\u{dffff}'), ('\u{efffe}', '\u{effff}'),
  ('\u{ffffe}', '\u{fffff}'), ('\u{10fffe}', '\u{10ffff}'),
];

pub const OTHER_ALPHABETIC: &'static [(char, char)] = &[
  ('ͅ', 'ͅ'), ('ְ', 'ֽ'), ('ֿ', 'ֿ'), ('ׁ', 'ׂ'), ('ׄ', 'ׅ'),
  ('ׇ', 'ׇ'), ('ؐ', 'ؚ'), ('ً', 'ٗ'), ('ٙ', 'ٟ'), ('ٰ', 'ٰ'),
  ('ۖ', 'ۜ'), ('ۡ', 'ۤ'), ('ۧ', 'ۨ'), ('ۭ', 'ۭ'), ('ܑ', 'ܑ'),
  ('ܰ', 'ܿ'), ('ަ', 'ް'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', 'ⷿ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', 'ꦿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𐍶', '𐍺'),
  ('𐨁', '𐨃'), ('𐨅', '𐨆'), ('𐨌', '𐨏'), ('𑀀', '𑀂'),
  ('𑀸', '𑁅'), ('𑂂', '𑂂'), ('𑂰', '𑂸'), ('𑄀', '𑄂'),
  ('𑄧', '𑄲'), ('𑆀', '𑆂'), ('𑆳', '𑆿'), ('𑈬', '𑈴'),
  ('𑈷', '𑈷'), ('𑈾', '𑈾'), ('𑋟', '𑋨'), ('𑌀', '𑌃'),
  ('𑌾', '𑍄'), ('𑍇', '𑍈'), ('𑍋', '𑍌'), ('𑍗', '𑍗'),
  ('𑍢', '𑍣'), ('𑐵', '𑑁'), ('𑑃', '𑑅'), ('𑒰', '𑓁'),
  ('𑖯', '𑖵'), ('𑖸', '𑖾'), ('𑗜', '𑗝'), ('𑘰', '𑘾'),
  ('𑙀', '𑙀'), ('𑚫', '𑚵'), ('𑜝', '𑜪'), ('𑨁', '𑨊'),
  ('𑨵', '𑨹'), ('𑨻', '𑨾'), ('𑩑', '𑩛'), ('𑪊', '𑪗'),
  ('𑰯', '𑰶'), ('𑰸', '𑰾'), ('𑲒', '𑲧'), ('𑲩', '𑲶'),
  ('𑴱', '𑴶'), ('𑴺', '𑴺'), ('𑴼', '𑴽'), ('𑴿', '𑵁'),
  ('𑵃', '𑵃'), ('𑵇', '𑵇'), ('𖬰', '𖬶'), ('𖽑', '𖽾'),
  ('𛲞', '𛲞'), ('𞀀', '𞀆'), ('𞀈', '𞀘'), ('𞀛', '𞀡'),
  ('𞀣', '𞀤'), ('𞀦', '𞀪'), ('𞥇', '𞥇'), ('🄰', '🅉'),
  ('🅐', '🅩'), ('🅰', '🆉'),
];

pub const OTHER_DEFAULT_IGNORABLE_CODE_POINT: &'static [(char, char)] = &[
  ('͏', '͏'), ('', ''), ('', ''), ('\u{2065}', '\u{2065}'),
  ('', ''), ('', ''), ('\u{fff0}', '\u{fff8}'),
  ('\u{e0000}', '\u{e0000}'), ('\u{e0002}', '\u{e001f}'),
  ('\u{e0080}', '\u{e00ff}'), ('\u{e01f0}', '\u{e0fff}'),
];

pub const OTHER_GRAPHEME_EXTEND: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('\u{200c}', '\u{200c}'), ('', ''), ('', ''), ('𑌾', '𑌾'),
  ('𑍗', '𑍗'), ('𑒰', '𑒰'), ('𑒽', '𑒽'), ('𑖯', '𑖯'),
  ('𝅥', '𝅥'), ('𝅮', '𝅲'), ('\u{e0020}', '\u{e007f}'),
];

pub const OTHER_ID_CONTINUE: &'static [(char, char)] = &[
  ('·', '·'), ('·', '·'), ('', ''), ('', ''),
];

pub const OTHER_ID_START: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''), ('', ''),
];

pub const OTHER_LOWERCASE: &'static [(char, char)] = &[
  ('ª', 'ª'), ('º', 'º'), ('ʰ', 'ʸ'), ('ˀ', 'ˁ'), ('ˠ', 'ˤ'),
  ('ͅ', 'ͅ'), ('ͺ', 'ͺ'), ('', ''), ('', ''), ('', 'ᶿ'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''),
];

pub const OTHER_MATH: &'static [(char, char)] = &[
  ('^', '^'), ('ϐ', 'ϒ'), ('ϕ', 'ϕ'), ('ϰ', 'ϱ'), ('ϴ', 'ϵ'),
  ('', ''), ('', ''), ('', ''), ('\u{2061}', '\u{2064}'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('𝐀', '𝑔'), ('𝑖', '𝒜'), ('𝒞', '𝒟'),
  ('𝒢', '𝒢'), ('𝒥', '𝒦'), ('𝒩', '𝒬'), ('𝒮', '𝒹'),
  ('𝒻', '𝒻'), ('𝒽', '𝓃'), ('𝓅', '𝔅'), ('𝔇', '𝔊'),
  ('𝔍', '𝔔'), ('𝔖', '𝔜'), ('𝔞', '𝔹'), ('𝔻', '𝔾'),
  ('𝕀', '𝕄'), ('𝕆', '𝕆'), ('𝕊', '𝕐'), ('𝕒', '𝚥'),
  ('𝚨', '𝛀'), ('𝛂', '𝛚'), ('𝛜', '𝛺'), ('𝛼', '𝜔'),
  ('𝜖', '𝜴'), ('𝜶', '𝝎'), ('𝝐', '𝝮'), ('𝝰', '𝞈'),
  ('𝞊', '𝞨'), ('𝞪', '𝟂'), ('𝟄', '𝟋'), ('𝟎', '𝟿'),
  ('𞸀', '𞸃'), ('𞸅', '𞸟'), ('𞸡', '𞸢'), ('𞸤', '𞸤'),
  ('𞸧', '𞸧'), ('𞸩', '𞸲'), ('𞸴', '𞸷'), ('𞸹', '𞸹'),
  ('𞸻', '𞸻'), ('𞹂', '𞹂'), ('𞹇', '𞹇'), ('𞹉', '𞹉'),
  ('𞹋', '𞹋'), ('𞹍', '𞹏'), ('𞹑', '𞹒'), ('𞹔', '𞹔'),
  ('𞹗', '𞹗'), ('𞹙', '𞹙'), ('𞹛', '𞹛'), ('𞹝', '𞹝'),
  ('𞹟', '𞹟'), ('𞹡', '𞹢'), ('𞹤', '𞹤'), ('𞹧', '𞹪'),
  ('𞹬', '𞹲'), ('𞹴', '𞹷'), ('𞹹', '𞹼'), ('𞹾', '𞹾'),
  ('𞺀', '𞺉'), ('𞺋', '𞺛'), ('𞺡', '𞺣'), ('𞺥', '𞺩'),
  ('𞺫', '𞺻'),
];

pub const OTHER_UPPERCASE: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('🄰', '🅉'), ('🅐', '🅩'),
  ('🅰', '🆉'),
];

pub const PATTERN_SYNTAX: &'static [(char, char)] = &[
  ('!', '/'), (':', '@'), ('[', '^'), ('`', '`'), ('{', '~'), ('¡', '§'),
  ('©', '©'), ('«', '¬'), ('®', '®'), ('°', '±'), ('', ''),
  ('»', '»'), ('¿', '¿'), ('×', '×'), ('÷', '÷'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '\u{245f}'),
  ('', ''), ('', '\u{2bff}'), ('', '\u{2e7f}'), ('', ''),
  ('', ''), ('', ''), ('', '﴿'), ('', ''),
];

pub const PATTERN_WHITE_SPACE: &'static [(char, char)] = &[
  ('\t', '\r'), (' ', ' '), ('\u{85}', '\u{85}'), ('\u{200e}', '\u{200f}'),
  ('\u{2028}', '\u{2029}'),
];

pub const PREPENDED_CONCATENATION_MARK: &'static [(char, char)] = &[
  ('\u{600}', '\u{605}'), ('\u{6dd}', '\u{6dd}'), ('\u{70f}', '\u{70f}'),
  ('\u{8e2}', '\u{8e2}'), ('\u{110bd}', '\u{110bd}'),
];

pub const QUOTATION_MARK: &'static [(char, char)] = &[
  ('\"', '\"'), ('\'', '\''), ('«', '«'), ('»', '»'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
];

pub const RADICAL: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''),
];

pub const REGIONAL_INDICATOR: &'static [(char, char)] = &[
  ('🇦', '🇿'),
];

pub const SENTENCE_TERMINAL: &'static [(char, char)] = &[
  ('!', '!'), ('.', '.'), ('?', '?'), ('։', '։'), ('؟', '؟'),
  ('۔', '۔'), ('܀', '܂'), ('߹', '߹'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '᱿'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('𐩖', '𐩗'), ('𑁇', '𑁈'),
  ('𑂾', '𑃁'), ('𑅁', '𑅃'), ('𑇅', '𑇆'), ('𑇍', '𑇍'),
  ('𑇞', '𑇟'), ('𑈸', '𑈹'), ('𑈻', '𑈼'), ('𑊩', '𑊩'),
  ('𑑋', '𑑌'), ('𑗂', '𑗃'), ('𑗉', '𑗗'), ('𑙁', '𑙂'),
  ('𑜼', '𑜾'), ('𑩂', '𑩃'), ('𑪛', '𑪜'), ('𑱁', '𑱂'),
  ('𖩮', '𖩯'), ('𖫵', '𖫵'), ('𖬷', '𖬸'), ('𖭄', '𖭄'),
  ('𛲟', '𛲟'), ('𝪈', '𝪈'),
];

pub const SOFT_DOTTED: &'static [(char, char)] = &[
  ('i', 'j'), ('į', 'į'), ('ɉ', 'ɉ'), ('ɨ', 'ɨ'), ('ʝ', 'ʝ'),
  ('ʲ', 'ʲ'), ('ϳ', 'ϳ'), ('і', 'і'), ('ј', 'ј'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('𝐢', '𝐣'), ('𝑖', '𝑗'), ('𝒊', '𝒋'), ('𝒾', '𝒿'),
  ('𝓲', '𝓳'), ('𝔦', '𝔧'), ('𝕚', '𝕛'), ('𝖎', '𝖏'),
  ('𝗂', '𝗃'), ('𝗶', '𝗷'), ('𝘪', '𝘫'), ('𝙞', '𝙟'),
  ('𝚒', '𝚓'),
];

pub const TERMINAL_PUNCTUATION: &'static [(char, char)] = &[
  ('!', '!'), (',', ','), ('.', '.'), (':', ';'), ('?', '?'), (';', ';'),
  ('·', '·'), ('։', '։'), ('׃', '׃'), ('،', '،'), ('؛', '؛'),
  ('؟', '؟'), ('۔', '۔'), ('܀', '܊'), ('܌', '܌'), ('߸', '߹'),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', '᰿'),
  ('', '᱿'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𐎟', '𐎟'),
  ('𐏐', '𐏐'), ('𐡗', '𐡗'), ('𐤟', '𐤟'), ('𐩖', '𐩗'),
  ('𐫰', '𐫵'), ('𐬺', '𐬿'), ('𐮙', '𐮜'), ('𑁇', '𑁍'),
  ('𑂾', '𑃁'), ('𑅁', '𑅃'), ('𑇅', '𑇆'), ('𑇍', '𑇍'),
  ('𑇞', '𑇟'), ('𑈸', '𑈼'), ('𑊩', '𑊩'), ('𑑋', '𑑍'),
  ('𑑛', '𑑛'), ('𑗂', '𑗅'), ('𑗉', '𑗗'), ('𑙁', '𑙂'),
  ('𑜼', '𑜾'), ('𑩂', '𑩃'), ('𑪛', '𑪜'), ('𑪡', '𑪢'),
  ('𑱁', '𑱃'), ('𑱱', '𑱱'), ('𒑰', '𒑴'), ('𖩮', '𖩯'),
  ('𖫵', '𖫵'), ('𖬷', '𖬹'), ('𖭄', '𖭄'), ('𛲟', '𛲟'),
  ('𝪇', '𝪊'),
];

pub const UNIFIED_IDEOGRAPH: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('𠀀', '𪛖'), ('𪜀', '𫜴'), ('𫝀', '𫠝'),
  ('𫠠', '𬺡'), ('𬺰', '𮯠'),
];

pub const UPPERCASE: &'static [(char, char)] = &[
  ('A', 'Z'), ('À', 'Ö'), ('Ø', 'Þ'), ('Ā', 'Ā'), ('Ă', 'Ă'),
  ('Ą', 'Ą'), ('Ć', 'Ć'), ('Ĉ', 'Ĉ'), ('Ċ', 'Ċ'), ('Č', 'Č'),
  ('Ď', 'Ď'), ('Đ', 'Đ'), ('Ē', 'Ē'), ('Ĕ', 'Ĕ'), ('Ė', 'Ė'),
  ('Ę', 'Ę'), ('Ě', 'Ě'), ('Ĝ', 'Ĝ'), ('Ğ', 'Ğ'), ('Ġ', 'Ġ'),
  ('Ģ', 'Ģ'), ('Ĥ', 'Ĥ'), ('Ħ', 'Ħ'), ('Ĩ', 'Ĩ'), ('Ī', 'Ī'),
  ('Ĭ', 'Ĭ'), ('Į', 'Į'), ('İ', 'İ'), ('IJ', 'IJ'), ('Ĵ', 'Ĵ'),
  ('Ķ', 'Ķ'), ('Ĺ', 'Ĺ'), ('Ļ', 'Ļ'), ('Ľ', 'Ľ'), ('Ŀ', 'Ŀ'),
  ('Ł', 'Ł'), ('Ń', 'Ń'), ('Ņ', 'Ņ'), ('Ň', 'Ň'), ('Ŋ', 'Ŋ'),
  ('Ō', 'Ō'), ('Ŏ', 'Ŏ'), ('Ő', 'Ő'), ('Œ', 'Œ'), ('Ŕ', 'Ŕ'),
  ('Ŗ', 'Ŗ'), ('Ř', 'Ř'), ('Ś', 'Ś'), ('Ŝ', 'Ŝ'), ('Ş', 'Ş'),
  ('Š', 'Š'), ('Ţ', 'Ţ'), ('Ť', 'Ť'), ('Ŧ', 'Ŧ'), ('Ũ', 'Ũ'),
  ('Ū', 'Ū'), ('Ŭ', 'Ŭ'), ('Ů', 'Ů'), ('Ű', 'Ű'), ('Ų', 'Ų'),
  ('Ŵ', 'Ŵ'), ('Ŷ', 'Ŷ'), ('Ÿ', 'Ź'), ('Ż', 'Ż'), ('Ž', 'Ž'),
  ('Ɓ', 'Ƃ'), ('Ƅ', 'Ƅ'), ('Ɔ', 'Ƈ'), ('Ɖ', 'Ƌ'), ('Ǝ', 'Ƒ'),
  ('Ɠ', 'Ɣ'), ('Ɩ', 'Ƙ'), ('Ɯ', 'Ɲ'), ('Ɵ', 'Ơ'), ('Ƣ', 'Ƣ'),
  ('Ƥ', 'Ƥ'), ('Ʀ', 'Ƨ'), ('Ʃ', 'Ʃ'), ('Ƭ', 'Ƭ'), ('Ʈ', 'Ư'),
  ('Ʊ', 'Ƴ'), ('Ƶ', 'Ƶ'), ('Ʒ', 'Ƹ'), ('Ƽ', 'Ƽ'), ('DŽ', 'DŽ'),
  ('LJ', 'LJ'), ('NJ', 'NJ'), ('Ǎ', 'Ǎ'), ('Ǐ', 'Ǐ'), ('Ǒ', 'Ǒ'),
  ('Ǔ', 'Ǔ'), ('Ǖ', 'Ǖ'), ('Ǘ', 'Ǘ'), ('Ǚ', 'Ǚ'), ('Ǜ', 'Ǜ'),
  ('Ǟ', 'Ǟ'), ('Ǡ', 'Ǡ'), ('Ǣ', 'Ǣ'), ('Ǥ', 'Ǥ'), ('Ǧ', 'Ǧ'),
  ('Ǩ', 'Ǩ'), ('Ǫ', 'Ǫ'), ('Ǭ', 'Ǭ'), ('Ǯ', 'Ǯ'), ('DZ', 'DZ'),
  ('Ǵ', 'Ǵ'), ('Ƕ', 'Ǹ'), ('Ǻ', 'Ǻ'), ('Ǽ', 'Ǽ'), ('Ǿ', 'Ǿ'),
  ('Ȁ', 'Ȁ'), ('Ȃ', 'Ȃ'), ('Ȅ', 'Ȅ'), ('Ȇ', 'Ȇ'), ('Ȉ', 'Ȉ'),
  ('Ȋ', 'Ȋ'), ('Ȍ', 'Ȍ'), ('Ȏ', 'Ȏ'), ('Ȑ', 'Ȑ'), ('Ȓ', 'Ȓ'),
  ('Ȕ', 'Ȕ'), ('Ȗ', 'Ȗ'), ('Ș', 'Ș'), ('Ț', 'Ț'), ('Ȝ', 'Ȝ'),
  ('Ȟ', 'Ȟ'), ('Ƞ', 'Ƞ'), ('Ȣ', 'Ȣ'), ('Ȥ', 'Ȥ'), ('Ȧ', 'Ȧ'),
  ('Ȩ', 'Ȩ'), ('Ȫ', 'Ȫ'), ('Ȭ', 'Ȭ'), ('Ȯ', 'Ȯ'), ('Ȱ', 'Ȱ'),
  ('Ȳ', 'Ȳ'), ('Ⱥ', 'Ȼ'), ('Ƚ', 'Ⱦ'), ('Ɂ', 'Ɂ'), ('Ƀ', 'Ɇ'),
  ('Ɉ', 'Ɉ'), ('Ɋ', 'Ɋ'), ('Ɍ', 'Ɍ'), ('Ɏ', 'Ɏ'), ('Ͱ', 'Ͱ'),
  ('Ͳ', 'Ͳ'), ('Ͷ', 'Ͷ'), ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'),
  ('Ό', 'Ό'), ('Ύ', 'Ώ'), ('Α', 'Ρ'), ('Σ', 'Ϋ'), ('Ϗ', 'Ϗ'),
  ('ϒ', 'ϔ'), ('Ϙ', 'Ϙ'), ('Ϛ', 'Ϛ'), ('Ϝ', 'Ϝ'), ('Ϟ', 'Ϟ'),
  ('Ϡ', 'Ϡ'), ('Ϣ', 'Ϣ'), ('Ϥ', 'Ϥ'), ('Ϧ', 'Ϧ'), ('Ϩ', 'Ϩ'),
  ('Ϫ', 'Ϫ'), ('Ϭ', 'Ϭ'), ('Ϯ', 'Ϯ'), ('ϴ', 'ϴ'), ('Ϸ', 'Ϸ'),
  ('Ϲ', 'Ϻ'), ('Ͻ', 'Я'), ('Ѡ', 'Ѡ'), ('Ѣ', 'Ѣ'), ('Ѥ', 'Ѥ'),
  ('Ѧ', 'Ѧ'), ('Ѩ', 'Ѩ'), ('Ѫ', 'Ѫ'), ('Ѭ', 'Ѭ'), ('Ѯ', 'Ѯ'),
  ('Ѱ', 'Ѱ'), ('Ѳ', 'Ѳ'), ('Ѵ', 'Ѵ'), ('Ѷ', 'Ѷ'), ('Ѹ', 'Ѹ'),
  ('Ѻ', 'Ѻ'), ('Ѽ', 'Ѽ'), ('Ѿ', 'Ѿ'), ('Ҁ', 'Ҁ'), ('Ҋ', 'Ҋ'),
  ('Ҍ', 'Ҍ'), ('Ҏ', 'Ҏ'), ('Ґ', 'Ґ'), ('Ғ', 'Ғ'), ('Ҕ', 'Ҕ'),
  ('Җ', 'Җ'), ('Ҙ', 'Ҙ'), ('Қ', 'Қ'), ('Ҝ', 'Ҝ'), ('Ҟ', 'Ҟ'),
  ('Ҡ', 'Ҡ'), ('Ң', 'Ң'), ('Ҥ', 'Ҥ'), ('Ҧ', 'Ҧ'), ('Ҩ', 'Ҩ'),
  ('Ҫ', 'Ҫ'), ('Ҭ', 'Ҭ'), ('Ү', 'Ү'), ('Ұ', 'Ұ'), ('Ҳ', 'Ҳ'),
  ('Ҵ', 'Ҵ'), ('Ҷ', 'Ҷ'), ('Ҹ', 'Ҹ'), ('Һ', 'Һ'), ('Ҽ', 'Ҽ'),
  ('Ҿ', 'Ҿ'), ('Ӏ', 'Ӂ'), ('Ӄ', 'Ӄ'), ('Ӆ', 'Ӆ'), ('Ӈ', 'Ӈ'),
  ('Ӊ', 'Ӊ'), ('Ӌ', 'Ӌ'), ('Ӎ', 'Ӎ'), ('Ӑ', 'Ӑ'), ('Ӓ', 'Ӓ'),
  ('Ӕ', 'Ӕ'), ('Ӗ', 'Ӗ'), ('Ә', 'Ә'), ('Ӛ', 'Ӛ'), ('Ӝ', 'Ӝ'),
  ('Ӟ', 'Ӟ'), ('Ӡ', 'Ӡ'), ('Ӣ', 'Ӣ'), ('Ӥ', 'Ӥ'), ('Ӧ', 'Ӧ'),
  ('Ө', 'Ө'), ('Ӫ', 'Ӫ'), ('Ӭ', 'Ӭ'), ('Ӯ', 'Ӯ'), ('Ӱ', 'Ӱ'),
  ('Ӳ', 'Ӳ'), ('Ӵ', 'Ӵ'), ('Ӷ', 'Ӷ'), ('Ӹ', 'Ӹ'), ('Ӻ', 'Ӻ'),
  ('Ӽ', 'Ӽ'), ('Ӿ', 'Ӿ'), ('Ԁ', 'Ԁ'), ('Ԃ', 'Ԃ'), ('Ԅ', 'Ԅ'),
  ('Ԇ', 'Ԇ'), ('Ԉ', 'Ԉ'), ('Ԋ', 'Ԋ'), ('Ԍ', 'Ԍ'), ('Ԏ', 'Ԏ'),
  ('Ԑ', 'Ԑ'), ('Ԓ', 'Ԓ'), ('Ԕ', 'Ԕ'), ('Ԗ', 'Ԗ'), ('Ԙ', 'Ԙ'),
  ('Ԛ', 'Ԛ'), ('Ԝ', 'Ԝ'), ('Ԟ', 'Ԟ'), ('Ԡ', 'Ԡ'), ('Ԣ', 'Ԣ'),
  ('Ԥ', 'Ԥ'), ('Ԧ', 'Ԧ'), ('Ԩ', 'Ԩ'), ('Ԫ', 'Ԫ'), ('Ԭ', 'Ԭ'),
  ('Ԯ', 'Ԯ'), ('Ա', 'Ֆ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'Ἷ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('𐐀', '𐐧'), ('𐒰', '𐓓'),
  ('𐲀', '𐲲'), ('𑢠', '𑢿'), ('𝐀', '𝐙'), ('𝐴', '𝑍'),
  ('𝑨', '𝒁'), ('𝒜', '𝒜'), ('𝒞', '𝒟'), ('𝒢', '𝒢'),
  ('𝒥', '𝒦'), ('𝒩', '𝒬'), ('𝒮', '𝒵'), ('𝓐', '𝓩'),
  ('𝔄', '𝔅'), ('𝔇', '𝔊'), ('𝔍', '𝔔'), ('𝔖', '𝔜'),
  ('𝔸', '𝔹'), ('𝔻', '𝔾'), ('𝕀', '𝕄'), ('𝕆', '𝕆'),
  ('𝕊', '𝕐'), ('𝕬', '𝖅'), ('𝖠', '𝖹'), ('𝗔', '𝗭'),
  ('𝘈', '𝘡'), ('𝘼', '𝙕'), ('𝙰', '𝚉'), ('𝚨', '𝛀'),
  ('𝛢', '𝛺'), ('𝜜', '𝜴'), ('𝝖', '𝝮'), ('𝞐', '𝞨'),
  ('𝟊', '𝟊'), ('𞤀', '𞤡'), ('🄰', '🅉'), ('🅐', '🅩'),
  ('🅰', '🆉'),
];

pub const VARIATION_SELECTOR: &'static [(char, char)] = &[
  ('', ''), ('', ''), ('󠄀', '󠇯'),
];

pub const WHITE_SPACE: &'static [(char, char)] = &[
  ('\t', '\r'), (' ', ' '), ('\u{85}', '\u{85}'), ('\u{a0}', '\u{a0}'),
  ('\u{1680}', '\u{1680}'), ('\u{2000}', '\u{200a}'),
  ('\u{2028}', '\u{2029}'), ('\u{202f}', '\u{202f}'),
  ('\u{205f}', '\u{205f}'), ('\u{3000}', '\u{3000}'),
];

pub const XID_CONTINUE: &'static [(char, char)] = &[
  ('0', '9'), ('A', 'Z'), ('_', '_'), ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'),
  ('·', '·'), ('º', 'º'), ('À', 'Ö'), ('Ø', 'ö'), ('ø', 'ˁ'),
  ('ˆ', 'ˑ'), ('ˠ', 'ˤ'), ('ˬ', 'ˬ'), ('ˮ', 'ˮ'), ('̀', 'ʹ'),
  ('Ͷ', 'ͷ'), ('ͻ', 'ͽ'), ('Ϳ', 'Ϳ'), ('Ά', 'Ί'), ('Ό', 'Ό'),
  ('Ύ', 'Ρ'), ('Σ', 'ϵ'), ('Ϸ', 'ҁ'), ('҃', '҇'), ('Ҋ', 'ԯ'),
  ('Ա', 'Ֆ'), ('ՙ', 'ՙ'), ('ա', 'և'), ('֑', 'ֽ'), ('ֿ', 'ֿ'),
  ('ׁ', 'ׂ'), ('ׄ', 'ׅ'), ('ׇ', 'ׇ'), ('א', 'ת'), ('װ', 'ײ'),
  ('ؐ', 'ؚ'), ('ؠ', '٩'), ('ٮ', 'ۓ'), ('ە', 'ۜ'), ('۟', 'ۨ'),
  ('۪', 'ۼ'), ('ۿ', 'ۿ'), ('ܐ', '݊'), ('ݍ', 'ޱ'), ('߀', 'ߵ'),
  ('ߺ', 'ߺ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', '૿'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ൿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('က', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('᩿', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('⵿', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', 'ⷿ'), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ꀀ', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ﹿ', ''), ('', ''), ('', ''),
  ('_', '_'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𐀀', '𐀋'),
  ('𐀍', '𐀦'), ('𐀨', '𐀺'), ('𐀼', '𐀽'), ('𐀿', '𐁍'),
  ('𐁐', '𐁝'), ('𐂀', '𐃺'), ('𐅀', '𐅴'), ('𐇽', '𐇽'),
  ('𐊀', '𐊜'), ('𐊠', '𐋐'), ('𐋠', '𐋠'), ('𐌀', '𐌟'),
  ('𐌭', '𐍊'), ('𐍐', '𐍺'), ('𐎀', '𐎝'), ('𐎠', '𐏃'),
  ('𐏈', '𐏏'), ('𐏑', '𐏕'), ('𐐀', '𐒝'), ('𐒠', '𐒩'),
  ('𐒰', '𐓓'), ('𐓘', '𐓻'), ('𐔀', '𐔧'), ('𐔰', '𐕣'),
  ('𐘀', '𐜶'), ('𐝀', '𐝕'), ('𐝠', '𐝧'), ('𐠀', '𐠅'),
  ('𐠈', '𐠈'), ('𐠊', '𐠵'), ('𐠷', '𐠸'), ('𐠼', '𐠼'),
  ('𐠿', '𐡕'), ('𐡠', '𐡶'), ('𐢀', '𐢞'), ('𐣠', '𐣲'),
  ('𐣴', '𐣵'), ('𐤀', '𐤕'), ('𐤠', '𐤹'), ('𐦀', '𐦷'),
  ('𐦾', '𐦿'), ('𐨀', '𐨃'), ('𐨅', '𐨆'), ('𐨌', '𐨓'),
  ('𐨕', '𐨗'), ('𐨙', '𐨳'), ('𐨸', '𐨺'), ('𐨿', '𐨿'),
  ('𐩠', '𐩼'), ('𐪀', '𐪜'), ('𐫀', '𐫇'), ('𐫉', '𐫦'),
  ('𐬀', '𐬵'), ('𐭀', '𐭕'), ('𐭠', '𐭲'), ('𐮀', '𐮑'),
  ('𐰀', '𐱈'), ('𐲀', '𐲲'), ('𐳀', '𐳲'), ('𑀀', '𑁆'),
  ('𑁦', '𑁯'), ('𑁿', '𑂺'), ('𑃐', '𑃨'), ('𑃰', '𑃹'),
  ('𑄀', '𑄴'), ('𑄶', '𑄿'), ('𑅐', '𑅳'), ('𑅶', '𑅶'),
  ('𑆀', '𑇄'), ('𑇊', '𑇌'), ('𑇐', '𑇚'), ('𑇜', '𑇜'),
  ('𑈀', '𑈑'), ('𑈓', '𑈷'), ('𑈾', '𑈾'), ('𑊀', '𑊆'),
  ('𑊈', '𑊈'), ('𑊊', '𑊍'), ('𑊏', '𑊝'), ('𑊟', '𑊨'),
  ('𑊰', '𑋪'), ('𑋰', '𑋹'), ('𑌀', '𑌃'), ('𑌅', '𑌌'),
  ('𑌏', '𑌐'), ('𑌓', '𑌨'), ('𑌪', '𑌰'), ('𑌲', '𑌳'),
  ('𑌵', '𑌹'), ('𑌼', '𑍄'), ('𑍇', '𑍈'), ('𑍋', '𑍍'),
  ('𑍐', '𑍐'), ('𑍗', '𑍗'), ('𑍝', '𑍣'), ('𑍦', '𑍬'),
  ('𑍰', '𑍴'), ('𑐀', '𑑊'), ('𑑐', '𑑙'), ('𑒀', '𑓅'),
  ('𑓇', '𑓇'), ('𑓐', '𑓙'), ('𑖀', '𑖵'), ('𑖸', '𑗀'),
  ('𑗘', '𑗝'), ('𑘀', '𑙀'), ('𑙄', '𑙄'), ('𑙐', '𑙙'),
  ('𑚀', '𑚷'), ('𑛀', '𑛉'), ('𑜀', '𑜙'), ('𑜝', '𑜫'),
  ('𑜰', '𑜹'), ('𑢠', '𑣩'), ('𑣿', '𑣿'), ('𑨀', '𑨾'),
  ('𑩇', '𑩇'), ('𑩐', '𑪃'), ('𑪆', '𑪙'), ('𑫀', '𑫸'),
  ('𑰀', '𑰈'), ('𑰊', '𑰶'), ('𑰸', '𑱀'), ('𑱐', '𑱙'),
  ('𑱲', '𑲏'), ('𑲒', '𑲧'), ('𑲩', '𑲶'), ('𑴀', '𑴆'),
  ('𑴈', '𑴉'), ('𑴋', '𑴶'), ('𑴺', '𑴺'), ('𑴼', '𑴽'),
  ('𑴿', '𑵇'), ('𑵐', '𑵙'), ('𒀀', '𒎙'), ('𒐀', '𒑮'),
  ('𒒀', '𒕃'), ('𓀀', '𓐮'), ('𔐀', '𔙆'), ('𖠀', '𖨸'),
  ('𖩀', '𖩞'), ('𖩠', '𖩩'), ('𖫐', '𖫭'), ('𖫰', '𖫴'),
  ('𖬀', '𖬶'), ('𖭀', '𖭃'), ('𖭐', '𖭙'), ('𖭣', '𖭷'),
  ('𖭽', '𖮏'), ('𖼀', '𖽄'), ('𖽐', '𖽾'), ('𖾏', '𖾟'),
  ('𖿠', '𖿡'), ('𗀀', '𘟬'), ('𘠀', '𘫲'), ('𛀀', '𛄞'),
  ('𛅰', '𛋻'), ('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'),
  ('𛲐', '𛲙'), ('𛲝', '𛲞'), ('𝅥', '𝅩'), ('𝅭', '𝅲'),
  ('𝅻', '𝆂'), ('𝆅', '𝆋'), ('𝆪', '𝆭'), ('𝉂', '𝉄'),
  ('𝐀', '𝑔'), ('𝑖', '𝒜'), ('𝒞', '𝒟'), ('𝒢', '𝒢'),
  ('𝒥', '𝒦'), ('𝒩', '𝒬'), ('𝒮', '𝒹'), ('𝒻', '𝒻'),
  ('𝒽', '𝓃'), ('𝓅', '𝔅'), ('𝔇', '𝔊'), ('𝔍', '𝔔'),
  ('𝔖', '𝔜'), ('𝔞', '𝔹'), ('𝔻', '𝔾'), ('𝕀', '𝕄'),
  ('𝕆', '𝕆'), ('𝕊', '𝕐'), ('𝕒', '𝚥'), ('𝚨', '𝛀'),
  ('𝛂', '𝛚'), ('𝛜', '𝛺'), ('𝛼', '𝜔'), ('𝜖', '𝜴'),
  ('𝜶', '𝝎'), ('𝝐', '𝝮'), ('𝝰', '𝞈'), ('𝞊', '𝞨'),
  ('𝞪', '𝟂'), ('𝟄', '𝟋'), ('𝟎', '𝟿'), ('𝨀', '𝨶'),
  ('𝨻', '𝩬'), ('𝩵', '𝩵'), ('𝪄', '𝪄'), ('𝪛', '𝪟'),
  ('𝪡', '𝪯'), ('𞀀', '𞀆'), ('𞀈', '𞀘'), ('𞀛', '𞀡'),
  ('𞀣', '𞀤'), ('𞀦', '𞀪'), ('𞠀', '𞣄'), ('𞣐', '𞣖'),
  ('𞤀', '𞥊'), ('𞥐', '𞥙'), ('𞸀', '𞸃'), ('𞸅', '𞸟'),
  ('𞸡', '𞸢'), ('𞸤', '𞸤'), ('𞸧', '𞸧'), ('𞸩', '𞸲'),
  ('𞸴', '𞸷'), ('𞸹', '𞸹'), ('𞸻', '𞸻'), ('𞹂', '𞹂'),
  ('𞹇', '𞹇'), ('𞹉', '𞹉'), ('𞹋', '𞹋'), ('𞹍', '𞹏'),
  ('𞹑', '𞹒'), ('𞹔', '𞹔'), ('𞹗', '𞹗'), ('𞹙', '𞹙'),
  ('𞹛', '𞹛'), ('𞹝', '𞹝'), ('𞹟', '𞹟'), ('𞹡', '𞹢'),
  ('𞹤', '𞹤'), ('𞹧', '𞹪'), ('𞹬', '𞹲'), ('𞹴', '𞹷'),
  ('𞹹', '𞹼'), ('𞹾', '𞹾'), ('𞺀', '𞺉'), ('𞺋', '𞺛'),
  ('𞺡', '𞺣'), ('𞺥', '𞺩'), ('𞺫', '𞺻'), ('𠀀', '𪛖'),
  ('𪜀', '𫜴'), ('𫝀', '𫠝'), ('𫠠', '𬺡'), ('𬺰', '𮯠'),
  ('丽', '𪘀'), ('󠄀', '󠇯'),
];

pub const XID_START: &'static [(char, char)] = &[
  ('A', 'Z'), ('a', 'z'), ('ª', 'ª'), ('µ', 'µ'), ('º', 'º'),
  ('À', 'Ö'), ('Ø', 'ö'), ('ø', 'ˁ'), ('ˆ', 'ˑ'), ('ˠ', 'ˤ'),
  ('ˬ', 'ˬ'), ('ˮ', 'ˮ'), ('Ͱ', 'ʹ'), ('Ͷ', 'ͷ'), ('ͻ', 'ͽ'),
  ('Ϳ', 'Ϳ'), ('Ά', 'Ά'), ('Έ', 'Ί'), ('Ό', 'Ό'), ('Ύ', 'Ρ'),
  ('Σ', 'ϵ'), ('Ϸ', 'ҁ'), ('Ҋ', 'ԯ'), ('Ա', 'Ֆ'), ('ՙ', 'ՙ'),
  ('ա', 'և'), ('א', 'ת'), ('װ', 'ײ'), ('ؠ', 'ي'), ('ٮ', 'ٯ'),
  ('ٱ', 'ۓ'), ('ە', 'ە'), ('ۥ', 'ۦ'), ('ۮ', 'ۯ'), ('ۺ', 'ۼ'),
  ('ۿ', 'ۿ'), ('ܐ', 'ܐ'), ('ܒ', 'ܯ'), ('ݍ', 'ޥ'), ('ޱ', 'ޱ'),
  ('ߊ', 'ߪ'), ('ߴ', 'ߵ'), ('ߺ', 'ߺ'), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ൿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('က', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', 'ᶿ'), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('ꀀ', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('ﹿ', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('', ''),
  ('', ''), ('', ''), ('', ''), ('𐀀', '𐀋'),
  ('𐀍', '𐀦'), ('𐀨', '𐀺'), ('𐀼', '𐀽'), ('𐀿', '𐁍'),
  ('𐁐', '𐁝'), ('𐂀', '𐃺'), ('𐅀', '𐅴'), ('𐊀', '𐊜'),
  ('𐊠', '𐋐'), ('𐌀', '𐌟'), ('𐌭', '𐍊'), ('𐍐', '𐍵'),
  ('𐎀', '𐎝'), ('𐎠', '𐏃'), ('𐏈', '𐏏'), ('𐏑', '𐏕'),
  ('𐐀', '𐒝'), ('𐒰', '𐓓'), ('𐓘', '𐓻'), ('𐔀', '𐔧'),
  ('𐔰', '𐕣'), ('𐘀', '𐜶'), ('𐝀', '𐝕'), ('𐝠', '𐝧'),
  ('𐠀', '𐠅'), ('𐠈', '𐠈'), ('𐠊', '𐠵'), ('𐠷', '𐠸'),
  ('𐠼', '𐠼'), ('𐠿', '𐡕'), ('𐡠', '𐡶'), ('𐢀', '𐢞'),
  ('𐣠', '𐣲'), ('𐣴', '𐣵'), ('𐤀', '𐤕'), ('𐤠', '𐤹'),
  ('𐦀', '𐦷'), ('𐦾', '𐦿'), ('𐨀', '𐨀'), ('𐨐', '𐨓'),
  ('𐨕', '𐨗'), ('𐨙', '𐨳'), ('𐩠', '𐩼'), ('𐪀', '𐪜'),
  ('𐫀', '𐫇'), ('𐫉', '𐫤'), ('𐬀', '𐬵'), ('𐭀', '𐭕'),
  ('𐭠', '𐭲'), ('𐮀', '𐮑'), ('𐰀', '𐱈'), ('𐲀', '𐲲'),
  ('𐳀', '𐳲'), ('𑀃', '𑀷'), ('𑂃', '𑂯'), ('𑃐', '𑃨'),
  ('𑄃', '𑄦'), ('𑅐', '𑅲'), ('𑅶', '𑅶'), ('𑆃', '𑆲'),
  ('𑇁', '𑇄'), ('𑇚', '𑇚'), ('𑇜', '𑇜'), ('𑈀', '𑈑'),
  ('𑈓', '𑈫'), ('𑊀', '𑊆'), ('𑊈', '𑊈'), ('𑊊', '𑊍'),
  ('𑊏', '𑊝'), ('𑊟', '𑊨'), ('𑊰', '𑋞'), ('𑌅', '𑌌'),
  ('𑌏', '𑌐'), ('𑌓', '𑌨'), ('𑌪', '𑌰'), ('𑌲', '𑌳'),
  ('𑌵', '𑌹'), ('𑌽', '𑌽'), ('𑍐', '𑍐'), ('𑍝', '𑍡'),
  ('𑐀', '𑐴'), ('𑑇', '𑑊'), ('𑒀', '𑒯'), ('𑓄', '𑓅'),
  ('𑓇', '𑓇'), ('𑖀', '𑖮'), ('𑗘', '𑗛'), ('𑘀', '𑘯'),
  ('𑙄', '𑙄'), ('𑚀', '𑚪'), ('𑜀', '𑜙'), ('𑢠', '𑣟'),
  ('𑣿', '𑣿'), ('𑨀', '𑨀'), ('𑨋', '𑨲'), ('𑨺', '𑨺'),
  ('𑩐', '𑩐'), ('𑩜', '𑪃'), ('𑪆', '𑪉'), ('𑫀', '𑫸'),
  ('𑰀', '𑰈'), ('𑰊', '𑰮'), ('𑱀', '𑱀'), ('𑱲', '𑲏'),
  ('𑴀', '𑴆'), ('𑴈', '𑴉'), ('𑴋', '𑴰'), ('𑵆', '𑵆'),
  ('𒀀', '𒎙'), ('𒐀', '𒑮'), ('𒒀', '𒕃'), ('𓀀', '𓐮'),
  ('𔐀', '𔙆'), ('𖠀', '𖨸'), ('𖩀', '𖩞'), ('𖫐', '𖫭'),
  ('𖬀', '𖬯'), ('𖭀', '𖭃'), ('𖭣', '𖭷'), ('𖭽', '𖮏'),
  ('𖼀', '𖽄'), ('𖽐', '𖽐'), ('𖾓', '𖾟'), ('𖿠', '𖿡'),
  ('𗀀', '𘟬'), ('𘠀', '𘫲'), ('𛀀', '𛄞'), ('𛅰', '𛋻'),
  ('𛰀', '𛱪'), ('𛱰', '𛱼'), ('𛲀', '𛲈'), ('𛲐', '𛲙'),
  ('𝐀', '𝑔'), ('𝑖', '𝒜'), ('𝒞', '𝒟'), ('𝒢', '𝒢'),
  ('𝒥', '𝒦'), ('𝒩', '𝒬'), ('𝒮', '𝒹'), ('𝒻', '𝒻'),
  ('𝒽', '𝓃'), ('𝓅', '𝔅'), ('𝔇', '𝔊'), ('𝔍', '𝔔'),
  ('𝔖', '𝔜'), ('𝔞', '𝔹'), ('𝔻', '𝔾'), ('𝕀', '𝕄'),
  ('𝕆', '𝕆'), ('𝕊', '𝕐'), ('𝕒', '𝚥'), ('𝚨', '𝛀'),
  ('𝛂', '𝛚'), ('𝛜', '𝛺'), ('𝛼', '𝜔'), ('𝜖', '𝜴'),
  ('𝜶', '𝝎'), ('𝝐', '𝝮'), ('𝝰', '𝞈'), ('𝞊', '𝞨'),
  ('𝞪', '𝟂'), ('𝟄', '𝟋'), ('𞠀', '𞣄'), ('𞤀', '𞥃'),
  ('𞸀', '𞸃'), ('𞸅', '𞸟'), ('𞸡', '𞸢'), ('𞸤', '𞸤'),
  ('𞸧', '𞸧'), ('𞸩', '𞸲'), ('𞸴', '𞸷'), ('𞸹', '𞸹'),
  ('𞸻', '𞸻'), ('𞹂', '𞹂'), ('𞹇', '𞹇'), ('𞹉', '𞹉'),
  ('𞹋', '𞹋'), ('𞹍', '𞹏'), ('𞹑', '𞹒'), ('𞹔', '𞹔'),
  ('𞹗', '𞹗'), ('𞹙', '𞹙'), ('𞹛', '𞹛'), ('𞹝', '𞹝'),
  ('𞹟', '𞹟'), ('𞹡', '𞹢'), ('𞹤', '𞹤'), ('𞹧', '𞹪'),
  ('𞹬', '𞹲'), ('𞹴', '𞹷'), ('𞹹', '𞹼'), ('𞹾', '𞹾'),
  ('𞺀', '𞺉'), ('𞺋', '𞺛'), ('𞺡', '𞺣'), ('𞺥', '𞺩'),
  ('𞺫', '𞺻'), ('𠀀', '𪛖'), ('𪜀', '𫜴'), ('𫝀', '𫠝'),
  ('𫠠', '𬺡'), ('𬺰', '𮯠'), ('丽', '𪘀'),
];