unicode_xid/
tables.rs

1// Copyright 2012-2024 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// https://www.rust-lang.org/policies/licenses.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11// NOTE: The following code was generated by "scripts/unicode.py", do not edit directly
12
13#![allow(missing_docs, non_upper_case_globals, non_snake_case)]
14
15/// The version of [Unicode](http://www.unicode.org/)
16/// that this version of unicode-xid is based on.
17pub const UNICODE_VERSION: (u64, u64, u64) = (16, 0, 0);
18
19fn bsearch_range_table(c: char, r: &[(char, char)]) -> bool {
20    use core::cmp::Ordering::{Equal, Greater, Less};
21
22    r.binary_search_by(|&(lo, hi)| {
23        // Because ASCII ranges are at the start of the tables, a search for an
24        // ASCII char will involve more `Greater` results (i.e. the `(lo,hi)`
25        // table entry is greater than `c`) than `Less` results. And given that
26        // ASCII chars are so common, it makes sense to favor them. Therefore,
27        // the `Greater` case is tested for before the `Less` case.
28        if lo > c {
29            Greater
30        } else if hi < c {
31            Less
32        } else {
33            Equal
34        }
35    })
36    .is_ok()
37}
38
39pub mod derived_property {
40    static XID_Continue_table: &[(char, char)] = &[
41        ('\u{30}', '\u{39}'),
42        ('\u{41}', '\u{5a}'),
43        ('\u{5f}', '\u{5f}'),
44        ('\u{61}', '\u{7a}'),
45        ('\u{aa}', '\u{aa}'),
46        ('\u{b5}', '\u{b5}'),
47        ('\u{b7}', '\u{b7}'),
48        ('\u{ba}', '\u{ba}'),
49        ('\u{c0}', '\u{d6}'),
50        ('\u{d8}', '\u{f6}'),
51        ('\u{f8}', '\u{2c1}'),
52        ('\u{2c6}', '\u{2d1}'),
53        ('\u{2e0}', '\u{2e4}'),
54        ('\u{2ec}', '\u{2ec}'),
55        ('\u{2ee}', '\u{2ee}'),
56        ('\u{300}', '\u{374}'),
57        ('\u{376}', '\u{377}'),
58        ('\u{37b}', '\u{37d}'),
59        ('\u{37f}', '\u{37f}'),
60        ('\u{386}', '\u{38a}'),
61        ('\u{38c}', '\u{38c}'),
62        ('\u{38e}', '\u{3a1}'),
63        ('\u{3a3}', '\u{3f5}'),
64        ('\u{3f7}', '\u{481}'),
65        ('\u{483}', '\u{487}'),
66        ('\u{48a}', '\u{52f}'),
67        ('\u{531}', '\u{556}'),
68        ('\u{559}', '\u{559}'),
69        ('\u{560}', '\u{588}'),
70        ('\u{591}', '\u{5bd}'),
71        ('\u{5bf}', '\u{5bf}'),
72        ('\u{5c1}', '\u{5c2}'),
73        ('\u{5c4}', '\u{5c5}'),
74        ('\u{5c7}', '\u{5c7}'),
75        ('\u{5d0}', '\u{5ea}'),
76        ('\u{5ef}', '\u{5f2}'),
77        ('\u{610}', '\u{61a}'),
78        ('\u{620}', '\u{669}'),
79        ('\u{66e}', '\u{6d3}'),
80        ('\u{6d5}', '\u{6dc}'),
81        ('\u{6df}', '\u{6e8}'),
82        ('\u{6ea}', '\u{6fc}'),
83        ('\u{6ff}', '\u{6ff}'),
84        ('\u{710}', '\u{74a}'),
85        ('\u{74d}', '\u{7b1}'),
86        ('\u{7c0}', '\u{7f5}'),
87        ('\u{7fa}', '\u{7fa}'),
88        ('\u{7fd}', '\u{7fd}'),
89        ('\u{800}', '\u{82d}'),
90        ('\u{840}', '\u{85b}'),
91        ('\u{860}', '\u{86a}'),
92        ('\u{870}', '\u{887}'),
93        ('\u{889}', '\u{88e}'),
94        ('\u{897}', '\u{8e1}'),
95        ('\u{8e3}', '\u{963}'),
96        ('\u{966}', '\u{96f}'),
97        ('\u{971}', '\u{983}'),
98        ('\u{985}', '\u{98c}'),
99        ('\u{98f}', '\u{990}'),
100        ('\u{993}', '\u{9a8}'),
101        ('\u{9aa}', '\u{9b0}'),
102        ('\u{9b2}', '\u{9b2}'),
103        ('\u{9b6}', '\u{9b9}'),
104        ('\u{9bc}', '\u{9c4}'),
105        ('\u{9c7}', '\u{9c8}'),
106        ('\u{9cb}', '\u{9ce}'),
107        ('\u{9d7}', '\u{9d7}'),
108        ('\u{9dc}', '\u{9dd}'),
109        ('\u{9df}', '\u{9e3}'),
110        ('\u{9e6}', '\u{9f1}'),
111        ('\u{9fc}', '\u{9fc}'),
112        ('\u{9fe}', '\u{9fe}'),
113        ('\u{a01}', '\u{a03}'),
114        ('\u{a05}', '\u{a0a}'),
115        ('\u{a0f}', '\u{a10}'),
116        ('\u{a13}', '\u{a28}'),
117        ('\u{a2a}', '\u{a30}'),
118        ('\u{a32}', '\u{a33}'),
119        ('\u{a35}', '\u{a36}'),
120        ('\u{a38}', '\u{a39}'),
121        ('\u{a3c}', '\u{a3c}'),
122        ('\u{a3e}', '\u{a42}'),
123        ('\u{a47}', '\u{a48}'),
124        ('\u{a4b}', '\u{a4d}'),
125        ('\u{a51}', '\u{a51}'),
126        ('\u{a59}', '\u{a5c}'),
127        ('\u{a5e}', '\u{a5e}'),
128        ('\u{a66}', '\u{a75}'),
129        ('\u{a81}', '\u{a83}'),
130        ('\u{a85}', '\u{a8d}'),
131        ('\u{a8f}', '\u{a91}'),
132        ('\u{a93}', '\u{aa8}'),
133        ('\u{aaa}', '\u{ab0}'),
134        ('\u{ab2}', '\u{ab3}'),
135        ('\u{ab5}', '\u{ab9}'),
136        ('\u{abc}', '\u{ac5}'),
137        ('\u{ac7}', '\u{ac9}'),
138        ('\u{acb}', '\u{acd}'),
139        ('\u{ad0}', '\u{ad0}'),
140        ('\u{ae0}', '\u{ae3}'),
141        ('\u{ae6}', '\u{aef}'),
142        ('\u{af9}', '\u{aff}'),
143        ('\u{b01}', '\u{b03}'),
144        ('\u{b05}', '\u{b0c}'),
145        ('\u{b0f}', '\u{b10}'),
146        ('\u{b13}', '\u{b28}'),
147        ('\u{b2a}', '\u{b30}'),
148        ('\u{b32}', '\u{b33}'),
149        ('\u{b35}', '\u{b39}'),
150        ('\u{b3c}', '\u{b44}'),
151        ('\u{b47}', '\u{b48}'),
152        ('\u{b4b}', '\u{b4d}'),
153        ('\u{b55}', '\u{b57}'),
154        ('\u{b5c}', '\u{b5d}'),
155        ('\u{b5f}', '\u{b63}'),
156        ('\u{b66}', '\u{b6f}'),
157        ('\u{b71}', '\u{b71}'),
158        ('\u{b82}', '\u{b83}'),
159        ('\u{b85}', '\u{b8a}'),
160        ('\u{b8e}', '\u{b90}'),
161        ('\u{b92}', '\u{b95}'),
162        ('\u{b99}', '\u{b9a}'),
163        ('\u{b9c}', '\u{b9c}'),
164        ('\u{b9e}', '\u{b9f}'),
165        ('\u{ba3}', '\u{ba4}'),
166        ('\u{ba8}', '\u{baa}'),
167        ('\u{bae}', '\u{bb9}'),
168        ('\u{bbe}', '\u{bc2}'),
169        ('\u{bc6}', '\u{bc8}'),
170        ('\u{bca}', '\u{bcd}'),
171        ('\u{bd0}', '\u{bd0}'),
172        ('\u{bd7}', '\u{bd7}'),
173        ('\u{be6}', '\u{bef}'),
174        ('\u{c00}', '\u{c0c}'),
175        ('\u{c0e}', '\u{c10}'),
176        ('\u{c12}', '\u{c28}'),
177        ('\u{c2a}', '\u{c39}'),
178        ('\u{c3c}', '\u{c44}'),
179        ('\u{c46}', '\u{c48}'),
180        ('\u{c4a}', '\u{c4d}'),
181        ('\u{c55}', '\u{c56}'),
182        ('\u{c58}', '\u{c5a}'),
183        ('\u{c5d}', '\u{c5d}'),
184        ('\u{c60}', '\u{c63}'),
185        ('\u{c66}', '\u{c6f}'),
186        ('\u{c80}', '\u{c83}'),
187        ('\u{c85}', '\u{c8c}'),
188        ('\u{c8e}', '\u{c90}'),
189        ('\u{c92}', '\u{ca8}'),
190        ('\u{caa}', '\u{cb3}'),
191        ('\u{cb5}', '\u{cb9}'),
192        ('\u{cbc}', '\u{cc4}'),
193        ('\u{cc6}', '\u{cc8}'),
194        ('\u{cca}', '\u{ccd}'),
195        ('\u{cd5}', '\u{cd6}'),
196        ('\u{cdd}', '\u{cde}'),
197        ('\u{ce0}', '\u{ce3}'),
198        ('\u{ce6}', '\u{cef}'),
199        ('\u{cf1}', '\u{cf3}'),
200        ('\u{d00}', '\u{d0c}'),
201        ('\u{d0e}', '\u{d10}'),
202        ('\u{d12}', '\u{d44}'),
203        ('\u{d46}', '\u{d48}'),
204        ('\u{d4a}', '\u{d4e}'),
205        ('\u{d54}', '\u{d57}'),
206        ('\u{d5f}', '\u{d63}'),
207        ('\u{d66}', '\u{d6f}'),
208        ('\u{d7a}', '\u{d7f}'),
209        ('\u{d81}', '\u{d83}'),
210        ('\u{d85}', '\u{d96}'),
211        ('\u{d9a}', '\u{db1}'),
212        ('\u{db3}', '\u{dbb}'),
213        ('\u{dbd}', '\u{dbd}'),
214        ('\u{dc0}', '\u{dc6}'),
215        ('\u{dca}', '\u{dca}'),
216        ('\u{dcf}', '\u{dd4}'),
217        ('\u{dd6}', '\u{dd6}'),
218        ('\u{dd8}', '\u{ddf}'),
219        ('\u{de6}', '\u{def}'),
220        ('\u{df2}', '\u{df3}'),
221        ('\u{e01}', '\u{e3a}'),
222        ('\u{e40}', '\u{e4e}'),
223        ('\u{e50}', '\u{e59}'),
224        ('\u{e81}', '\u{e82}'),
225        ('\u{e84}', '\u{e84}'),
226        ('\u{e86}', '\u{e8a}'),
227        ('\u{e8c}', '\u{ea3}'),
228        ('\u{ea5}', '\u{ea5}'),
229        ('\u{ea7}', '\u{ebd}'),
230        ('\u{ec0}', '\u{ec4}'),
231        ('\u{ec6}', '\u{ec6}'),
232        ('\u{ec8}', '\u{ece}'),
233        ('\u{ed0}', '\u{ed9}'),
234        ('\u{edc}', '\u{edf}'),
235        ('\u{f00}', '\u{f00}'),
236        ('\u{f18}', '\u{f19}'),
237        ('\u{f20}', '\u{f29}'),
238        ('\u{f35}', '\u{f35}'),
239        ('\u{f37}', '\u{f37}'),
240        ('\u{f39}', '\u{f39}'),
241        ('\u{f3e}', '\u{f47}'),
242        ('\u{f49}', '\u{f6c}'),
243        ('\u{f71}', '\u{f84}'),
244        ('\u{f86}', '\u{f97}'),
245        ('\u{f99}', '\u{fbc}'),
246        ('\u{fc6}', '\u{fc6}'),
247        ('\u{1000}', '\u{1049}'),
248        ('\u{1050}', '\u{109d}'),
249        ('\u{10a0}', '\u{10c5}'),
250        ('\u{10c7}', '\u{10c7}'),
251        ('\u{10cd}', '\u{10cd}'),
252        ('\u{10d0}', '\u{10fa}'),
253        ('\u{10fc}', '\u{1248}'),
254        ('\u{124a}', '\u{124d}'),
255        ('\u{1250}', '\u{1256}'),
256        ('\u{1258}', '\u{1258}'),
257        ('\u{125a}', '\u{125d}'),
258        ('\u{1260}', '\u{1288}'),
259        ('\u{128a}', '\u{128d}'),
260        ('\u{1290}', '\u{12b0}'),
261        ('\u{12b2}', '\u{12b5}'),
262        ('\u{12b8}', '\u{12be}'),
263        ('\u{12c0}', '\u{12c0}'),
264        ('\u{12c2}', '\u{12c5}'),
265        ('\u{12c8}', '\u{12d6}'),
266        ('\u{12d8}', '\u{1310}'),
267        ('\u{1312}', '\u{1315}'),
268        ('\u{1318}', '\u{135a}'),
269        ('\u{135d}', '\u{135f}'),
270        ('\u{1369}', '\u{1371}'),
271        ('\u{1380}', '\u{138f}'),
272        ('\u{13a0}', '\u{13f5}'),
273        ('\u{13f8}', '\u{13fd}'),
274        ('\u{1401}', '\u{166c}'),
275        ('\u{166f}', '\u{167f}'),
276        ('\u{1681}', '\u{169a}'),
277        ('\u{16a0}', '\u{16ea}'),
278        ('\u{16ee}', '\u{16f8}'),
279        ('\u{1700}', '\u{1715}'),
280        ('\u{171f}', '\u{1734}'),
281        ('\u{1740}', '\u{1753}'),
282        ('\u{1760}', '\u{176c}'),
283        ('\u{176e}', '\u{1770}'),
284        ('\u{1772}', '\u{1773}'),
285        ('\u{1780}', '\u{17d3}'),
286        ('\u{17d7}', '\u{17d7}'),
287        ('\u{17dc}', '\u{17dd}'),
288        ('\u{17e0}', '\u{17e9}'),
289        ('\u{180b}', '\u{180d}'),
290        ('\u{180f}', '\u{1819}'),
291        ('\u{1820}', '\u{1878}'),
292        ('\u{1880}', '\u{18aa}'),
293        ('\u{18b0}', '\u{18f5}'),
294        ('\u{1900}', '\u{191e}'),
295        ('\u{1920}', '\u{192b}'),
296        ('\u{1930}', '\u{193b}'),
297        ('\u{1946}', '\u{196d}'),
298        ('\u{1970}', '\u{1974}'),
299        ('\u{1980}', '\u{19ab}'),
300        ('\u{19b0}', '\u{19c9}'),
301        ('\u{19d0}', '\u{19da}'),
302        ('\u{1a00}', '\u{1a1b}'),
303        ('\u{1a20}', '\u{1a5e}'),
304        ('\u{1a60}', '\u{1a7c}'),
305        ('\u{1a7f}', '\u{1a89}'),
306        ('\u{1a90}', '\u{1a99}'),
307        ('\u{1aa7}', '\u{1aa7}'),
308        ('\u{1ab0}', '\u{1abd}'),
309        ('\u{1abf}', '\u{1ace}'),
310        ('\u{1b00}', '\u{1b4c}'),
311        ('\u{1b50}', '\u{1b59}'),
312        ('\u{1b6b}', '\u{1b73}'),
313        ('\u{1b80}', '\u{1bf3}'),
314        ('\u{1c00}', '\u{1c37}'),
315        ('\u{1c40}', '\u{1c49}'),
316        ('\u{1c4d}', '\u{1c7d}'),
317        ('\u{1c80}', '\u{1c8a}'),
318        ('\u{1c90}', '\u{1cba}'),
319        ('\u{1cbd}', '\u{1cbf}'),
320        ('\u{1cd0}', '\u{1cd2}'),
321        ('\u{1cd4}', '\u{1cfa}'),
322        ('\u{1d00}', '\u{1f15}'),
323        ('\u{1f18}', '\u{1f1d}'),
324        ('\u{1f20}', '\u{1f45}'),
325        ('\u{1f48}', '\u{1f4d}'),
326        ('\u{1f50}', '\u{1f57}'),
327        ('\u{1f59}', '\u{1f59}'),
328        ('\u{1f5b}', '\u{1f5b}'),
329        ('\u{1f5d}', '\u{1f5d}'),
330        ('\u{1f5f}', '\u{1f7d}'),
331        ('\u{1f80}', '\u{1fb4}'),
332        ('\u{1fb6}', '\u{1fbc}'),
333        ('\u{1fbe}', '\u{1fbe}'),
334        ('\u{1fc2}', '\u{1fc4}'),
335        ('\u{1fc6}', '\u{1fcc}'),
336        ('\u{1fd0}', '\u{1fd3}'),
337        ('\u{1fd6}', '\u{1fdb}'),
338        ('\u{1fe0}', '\u{1fec}'),
339        ('\u{1ff2}', '\u{1ff4}'),
340        ('\u{1ff6}', '\u{1ffc}'),
341        ('\u{200c}', '\u{200d}'),
342        ('\u{203f}', '\u{2040}'),
343        ('\u{2054}', '\u{2054}'),
344        ('\u{2071}', '\u{2071}'),
345        ('\u{207f}', '\u{207f}'),
346        ('\u{2090}', '\u{209c}'),
347        ('\u{20d0}', '\u{20dc}'),
348        ('\u{20e1}', '\u{20e1}'),
349        ('\u{20e5}', '\u{20f0}'),
350        ('\u{2102}', '\u{2102}'),
351        ('\u{2107}', '\u{2107}'),
352        ('\u{210a}', '\u{2113}'),
353        ('\u{2115}', '\u{2115}'),
354        ('\u{2118}', '\u{211d}'),
355        ('\u{2124}', '\u{2124}'),
356        ('\u{2126}', '\u{2126}'),
357        ('\u{2128}', '\u{2128}'),
358        ('\u{212a}', '\u{2139}'),
359        ('\u{213c}', '\u{213f}'),
360        ('\u{2145}', '\u{2149}'),
361        ('\u{214e}', '\u{214e}'),
362        ('\u{2160}', '\u{2188}'),
363        ('\u{2c00}', '\u{2ce4}'),
364        ('\u{2ceb}', '\u{2cf3}'),
365        ('\u{2d00}', '\u{2d25}'),
366        ('\u{2d27}', '\u{2d27}'),
367        ('\u{2d2d}', '\u{2d2d}'),
368        ('\u{2d30}', '\u{2d67}'),
369        ('\u{2d6f}', '\u{2d6f}'),
370        ('\u{2d7f}', '\u{2d96}'),
371        ('\u{2da0}', '\u{2da6}'),
372        ('\u{2da8}', '\u{2dae}'),
373        ('\u{2db0}', '\u{2db6}'),
374        ('\u{2db8}', '\u{2dbe}'),
375        ('\u{2dc0}', '\u{2dc6}'),
376        ('\u{2dc8}', '\u{2dce}'),
377        ('\u{2dd0}', '\u{2dd6}'),
378        ('\u{2dd8}', '\u{2dde}'),
379        ('\u{2de0}', '\u{2dff}'),
380        ('\u{3005}', '\u{3007}'),
381        ('\u{3021}', '\u{302f}'),
382        ('\u{3031}', '\u{3035}'),
383        ('\u{3038}', '\u{303c}'),
384        ('\u{3041}', '\u{3096}'),
385        ('\u{3099}', '\u{309a}'),
386        ('\u{309d}', '\u{309f}'),
387        ('\u{30a1}', '\u{30ff}'),
388        ('\u{3105}', '\u{312f}'),
389        ('\u{3131}', '\u{318e}'),
390        ('\u{31a0}', '\u{31bf}'),
391        ('\u{31f0}', '\u{31ff}'),
392        ('\u{3400}', '\u{4dbf}'),
393        ('\u{4e00}', '\u{a48c}'),
394        ('\u{a4d0}', '\u{a4fd}'),
395        ('\u{a500}', '\u{a60c}'),
396        ('\u{a610}', '\u{a62b}'),
397        ('\u{a640}', '\u{a66f}'),
398        ('\u{a674}', '\u{a67d}'),
399        ('\u{a67f}', '\u{a6f1}'),
400        ('\u{a717}', '\u{a71f}'),
401        ('\u{a722}', '\u{a788}'),
402        ('\u{a78b}', '\u{a7cd}'),
403        ('\u{a7d0}', '\u{a7d1}'),
404        ('\u{a7d3}', '\u{a7d3}'),
405        ('\u{a7d5}', '\u{a7dc}'),
406        ('\u{a7f2}', '\u{a827}'),
407        ('\u{a82c}', '\u{a82c}'),
408        ('\u{a840}', '\u{a873}'),
409        ('\u{a880}', '\u{a8c5}'),
410        ('\u{a8d0}', '\u{a8d9}'),
411        ('\u{a8e0}', '\u{a8f7}'),
412        ('\u{a8fb}', '\u{a8fb}'),
413        ('\u{a8fd}', '\u{a92d}'),
414        ('\u{a930}', '\u{a953}'),
415        ('\u{a960}', '\u{a97c}'),
416        ('\u{a980}', '\u{a9c0}'),
417        ('\u{a9cf}', '\u{a9d9}'),
418        ('\u{a9e0}', '\u{a9fe}'),
419        ('\u{aa00}', '\u{aa36}'),
420        ('\u{aa40}', '\u{aa4d}'),
421        ('\u{aa50}', '\u{aa59}'),
422        ('\u{aa60}', '\u{aa76}'),
423        ('\u{aa7a}', '\u{aac2}'),
424        ('\u{aadb}', '\u{aadd}'),
425        ('\u{aae0}', '\u{aaef}'),
426        ('\u{aaf2}', '\u{aaf6}'),
427        ('\u{ab01}', '\u{ab06}'),
428        ('\u{ab09}', '\u{ab0e}'),
429        ('\u{ab11}', '\u{ab16}'),
430        ('\u{ab20}', '\u{ab26}'),
431        ('\u{ab28}', '\u{ab2e}'),
432        ('\u{ab30}', '\u{ab5a}'),
433        ('\u{ab5c}', '\u{ab69}'),
434        ('\u{ab70}', '\u{abea}'),
435        ('\u{abec}', '\u{abed}'),
436        ('\u{abf0}', '\u{abf9}'),
437        ('\u{ac00}', '\u{d7a3}'),
438        ('\u{d7b0}', '\u{d7c6}'),
439        ('\u{d7cb}', '\u{d7fb}'),
440        ('\u{f900}', '\u{fa6d}'),
441        ('\u{fa70}', '\u{fad9}'),
442        ('\u{fb00}', '\u{fb06}'),
443        ('\u{fb13}', '\u{fb17}'),
444        ('\u{fb1d}', '\u{fb28}'),
445        ('\u{fb2a}', '\u{fb36}'),
446        ('\u{fb38}', '\u{fb3c}'),
447        ('\u{fb3e}', '\u{fb3e}'),
448        ('\u{fb40}', '\u{fb41}'),
449        ('\u{fb43}', '\u{fb44}'),
450        ('\u{fb46}', '\u{fbb1}'),
451        ('\u{fbd3}', '\u{fc5d}'),
452        ('\u{fc64}', '\u{fd3d}'),
453        ('\u{fd50}', '\u{fd8f}'),
454        ('\u{fd92}', '\u{fdc7}'),
455        ('\u{fdf0}', '\u{fdf9}'),
456        ('\u{fe00}', '\u{fe0f}'),
457        ('\u{fe20}', '\u{fe2f}'),
458        ('\u{fe33}', '\u{fe34}'),
459        ('\u{fe4d}', '\u{fe4f}'),
460        ('\u{fe71}', '\u{fe71}'),
461        ('\u{fe73}', '\u{fe73}'),
462        ('\u{fe77}', '\u{fe77}'),
463        ('\u{fe79}', '\u{fe79}'),
464        ('\u{fe7b}', '\u{fe7b}'),
465        ('\u{fe7d}', '\u{fe7d}'),
466        ('\u{fe7f}', '\u{fefc}'),
467        ('\u{ff10}', '\u{ff19}'),
468        ('\u{ff21}', '\u{ff3a}'),
469        ('\u{ff3f}', '\u{ff3f}'),
470        ('\u{ff41}', '\u{ff5a}'),
471        ('\u{ff65}', '\u{ffbe}'),
472        ('\u{ffc2}', '\u{ffc7}'),
473        ('\u{ffca}', '\u{ffcf}'),
474        ('\u{ffd2}', '\u{ffd7}'),
475        ('\u{ffda}', '\u{ffdc}'),
476        ('\u{10000}', '\u{1000b}'),
477        ('\u{1000d}', '\u{10026}'),
478        ('\u{10028}', '\u{1003a}'),
479        ('\u{1003c}', '\u{1003d}'),
480        ('\u{1003f}', '\u{1004d}'),
481        ('\u{10050}', '\u{1005d}'),
482        ('\u{10080}', '\u{100fa}'),
483        ('\u{10140}', '\u{10174}'),
484        ('\u{101fd}', '\u{101fd}'),
485        ('\u{10280}', '\u{1029c}'),
486        ('\u{102a0}', '\u{102d0}'),
487        ('\u{102e0}', '\u{102e0}'),
488        ('\u{10300}', '\u{1031f}'),
489        ('\u{1032d}', '\u{1034a}'),
490        ('\u{10350}', '\u{1037a}'),
491        ('\u{10380}', '\u{1039d}'),
492        ('\u{103a0}', '\u{103c3}'),
493        ('\u{103c8}', '\u{103cf}'),
494        ('\u{103d1}', '\u{103d5}'),
495        ('\u{10400}', '\u{1049d}'),
496        ('\u{104a0}', '\u{104a9}'),
497        ('\u{104b0}', '\u{104d3}'),
498        ('\u{104d8}', '\u{104fb}'),
499        ('\u{10500}', '\u{10527}'),
500        ('\u{10530}', '\u{10563}'),
501        ('\u{10570}', '\u{1057a}'),
502        ('\u{1057c}', '\u{1058a}'),
503        ('\u{1058c}', '\u{10592}'),
504        ('\u{10594}', '\u{10595}'),
505        ('\u{10597}', '\u{105a1}'),
506        ('\u{105a3}', '\u{105b1}'),
507        ('\u{105b3}', '\u{105b9}'),
508        ('\u{105bb}', '\u{105bc}'),
509        ('\u{105c0}', '\u{105f3}'),
510        ('\u{10600}', '\u{10736}'),
511        ('\u{10740}', '\u{10755}'),
512        ('\u{10760}', '\u{10767}'),
513        ('\u{10780}', '\u{10785}'),
514        ('\u{10787}', '\u{107b0}'),
515        ('\u{107b2}', '\u{107ba}'),
516        ('\u{10800}', '\u{10805}'),
517        ('\u{10808}', '\u{10808}'),
518        ('\u{1080a}', '\u{10835}'),
519        ('\u{10837}', '\u{10838}'),
520        ('\u{1083c}', '\u{1083c}'),
521        ('\u{1083f}', '\u{10855}'),
522        ('\u{10860}', '\u{10876}'),
523        ('\u{10880}', '\u{1089e}'),
524        ('\u{108e0}', '\u{108f2}'),
525        ('\u{108f4}', '\u{108f5}'),
526        ('\u{10900}', '\u{10915}'),
527        ('\u{10920}', '\u{10939}'),
528        ('\u{10980}', '\u{109b7}'),
529        ('\u{109be}', '\u{109bf}'),
530        ('\u{10a00}', '\u{10a03}'),
531        ('\u{10a05}', '\u{10a06}'),
532        ('\u{10a0c}', '\u{10a13}'),
533        ('\u{10a15}', '\u{10a17}'),
534        ('\u{10a19}', '\u{10a35}'),
535        ('\u{10a38}', '\u{10a3a}'),
536        ('\u{10a3f}', '\u{10a3f}'),
537        ('\u{10a60}', '\u{10a7c}'),
538        ('\u{10a80}', '\u{10a9c}'),
539        ('\u{10ac0}', '\u{10ac7}'),
540        ('\u{10ac9}', '\u{10ae6}'),
541        ('\u{10b00}', '\u{10b35}'),
542        ('\u{10b40}', '\u{10b55}'),
543        ('\u{10b60}', '\u{10b72}'),
544        ('\u{10b80}', '\u{10b91}'),
545        ('\u{10c00}', '\u{10c48}'),
546        ('\u{10c80}', '\u{10cb2}'),
547        ('\u{10cc0}', '\u{10cf2}'),
548        ('\u{10d00}', '\u{10d27}'),
549        ('\u{10d30}', '\u{10d39}'),
550        ('\u{10d40}', '\u{10d65}'),
551        ('\u{10d69}', '\u{10d6d}'),
552        ('\u{10d6f}', '\u{10d85}'),
553        ('\u{10e80}', '\u{10ea9}'),
554        ('\u{10eab}', '\u{10eac}'),
555        ('\u{10eb0}', '\u{10eb1}'),
556        ('\u{10ec2}', '\u{10ec4}'),
557        ('\u{10efc}', '\u{10f1c}'),
558        ('\u{10f27}', '\u{10f27}'),
559        ('\u{10f30}', '\u{10f50}'),
560        ('\u{10f70}', '\u{10f85}'),
561        ('\u{10fb0}', '\u{10fc4}'),
562        ('\u{10fe0}', '\u{10ff6}'),
563        ('\u{11000}', '\u{11046}'),
564        ('\u{11066}', '\u{11075}'),
565        ('\u{1107f}', '\u{110ba}'),
566        ('\u{110c2}', '\u{110c2}'),
567        ('\u{110d0}', '\u{110e8}'),
568        ('\u{110f0}', '\u{110f9}'),
569        ('\u{11100}', '\u{11134}'),
570        ('\u{11136}', '\u{1113f}'),
571        ('\u{11144}', '\u{11147}'),
572        ('\u{11150}', '\u{11173}'),
573        ('\u{11176}', '\u{11176}'),
574        ('\u{11180}', '\u{111c4}'),
575        ('\u{111c9}', '\u{111cc}'),
576        ('\u{111ce}', '\u{111da}'),
577        ('\u{111dc}', '\u{111dc}'),
578        ('\u{11200}', '\u{11211}'),
579        ('\u{11213}', '\u{11237}'),
580        ('\u{1123e}', '\u{11241}'),
581        ('\u{11280}', '\u{11286}'),
582        ('\u{11288}', '\u{11288}'),
583        ('\u{1128a}', '\u{1128d}'),
584        ('\u{1128f}', '\u{1129d}'),
585        ('\u{1129f}', '\u{112a8}'),
586        ('\u{112b0}', '\u{112ea}'),
587        ('\u{112f0}', '\u{112f9}'),
588        ('\u{11300}', '\u{11303}'),
589        ('\u{11305}', '\u{1130c}'),
590        ('\u{1130f}', '\u{11310}'),
591        ('\u{11313}', '\u{11328}'),
592        ('\u{1132a}', '\u{11330}'),
593        ('\u{11332}', '\u{11333}'),
594        ('\u{11335}', '\u{11339}'),
595        ('\u{1133b}', '\u{11344}'),
596        ('\u{11347}', '\u{11348}'),
597        ('\u{1134b}', '\u{1134d}'),
598        ('\u{11350}', '\u{11350}'),
599        ('\u{11357}', '\u{11357}'),
600        ('\u{1135d}', '\u{11363}'),
601        ('\u{11366}', '\u{1136c}'),
602        ('\u{11370}', '\u{11374}'),
603        ('\u{11380}', '\u{11389}'),
604        ('\u{1138b}', '\u{1138b}'),
605        ('\u{1138e}', '\u{1138e}'),
606        ('\u{11390}', '\u{113b5}'),
607        ('\u{113b7}', '\u{113c0}'),
608        ('\u{113c2}', '\u{113c2}'),
609        ('\u{113c5}', '\u{113c5}'),
610        ('\u{113c7}', '\u{113ca}'),
611        ('\u{113cc}', '\u{113d3}'),
612        ('\u{113e1}', '\u{113e2}'),
613        ('\u{11400}', '\u{1144a}'),
614        ('\u{11450}', '\u{11459}'),
615        ('\u{1145e}', '\u{11461}'),
616        ('\u{11480}', '\u{114c5}'),
617        ('\u{114c7}', '\u{114c7}'),
618        ('\u{114d0}', '\u{114d9}'),
619        ('\u{11580}', '\u{115b5}'),
620        ('\u{115b8}', '\u{115c0}'),
621        ('\u{115d8}', '\u{115dd}'),
622        ('\u{11600}', '\u{11640}'),
623        ('\u{11644}', '\u{11644}'),
624        ('\u{11650}', '\u{11659}'),
625        ('\u{11680}', '\u{116b8}'),
626        ('\u{116c0}', '\u{116c9}'),
627        ('\u{116d0}', '\u{116e3}'),
628        ('\u{11700}', '\u{1171a}'),
629        ('\u{1171d}', '\u{1172b}'),
630        ('\u{11730}', '\u{11739}'),
631        ('\u{11740}', '\u{11746}'),
632        ('\u{11800}', '\u{1183a}'),
633        ('\u{118a0}', '\u{118e9}'),
634        ('\u{118ff}', '\u{11906}'),
635        ('\u{11909}', '\u{11909}'),
636        ('\u{1190c}', '\u{11913}'),
637        ('\u{11915}', '\u{11916}'),
638        ('\u{11918}', '\u{11935}'),
639        ('\u{11937}', '\u{11938}'),
640        ('\u{1193b}', '\u{11943}'),
641        ('\u{11950}', '\u{11959}'),
642        ('\u{119a0}', '\u{119a7}'),
643        ('\u{119aa}', '\u{119d7}'),
644        ('\u{119da}', '\u{119e1}'),
645        ('\u{119e3}', '\u{119e4}'),
646        ('\u{11a00}', '\u{11a3e}'),
647        ('\u{11a47}', '\u{11a47}'),
648        ('\u{11a50}', '\u{11a99}'),
649        ('\u{11a9d}', '\u{11a9d}'),
650        ('\u{11ab0}', '\u{11af8}'),
651        ('\u{11bc0}', '\u{11be0}'),
652        ('\u{11bf0}', '\u{11bf9}'),
653        ('\u{11c00}', '\u{11c08}'),
654        ('\u{11c0a}', '\u{11c36}'),
655        ('\u{11c38}', '\u{11c40}'),
656        ('\u{11c50}', '\u{11c59}'),
657        ('\u{11c72}', '\u{11c8f}'),
658        ('\u{11c92}', '\u{11ca7}'),
659        ('\u{11ca9}', '\u{11cb6}'),
660        ('\u{11d00}', '\u{11d06}'),
661        ('\u{11d08}', '\u{11d09}'),
662        ('\u{11d0b}', '\u{11d36}'),
663        ('\u{11d3a}', '\u{11d3a}'),
664        ('\u{11d3c}', '\u{11d3d}'),
665        ('\u{11d3f}', '\u{11d47}'),
666        ('\u{11d50}', '\u{11d59}'),
667        ('\u{11d60}', '\u{11d65}'),
668        ('\u{11d67}', '\u{11d68}'),
669        ('\u{11d6a}', '\u{11d8e}'),
670        ('\u{11d90}', '\u{11d91}'),
671        ('\u{11d93}', '\u{11d98}'),
672        ('\u{11da0}', '\u{11da9}'),
673        ('\u{11ee0}', '\u{11ef6}'),
674        ('\u{11f00}', '\u{11f10}'),
675        ('\u{11f12}', '\u{11f3a}'),
676        ('\u{11f3e}', '\u{11f42}'),
677        ('\u{11f50}', '\u{11f5a}'),
678        ('\u{11fb0}', '\u{11fb0}'),
679        ('\u{12000}', '\u{12399}'),
680        ('\u{12400}', '\u{1246e}'),
681        ('\u{12480}', '\u{12543}'),
682        ('\u{12f90}', '\u{12ff0}'),
683        ('\u{13000}', '\u{1342f}'),
684        ('\u{13440}', '\u{13455}'),
685        ('\u{13460}', '\u{143fa}'),
686        ('\u{14400}', '\u{14646}'),
687        ('\u{16100}', '\u{16139}'),
688        ('\u{16800}', '\u{16a38}'),
689        ('\u{16a40}', '\u{16a5e}'),
690        ('\u{16a60}', '\u{16a69}'),
691        ('\u{16a70}', '\u{16abe}'),
692        ('\u{16ac0}', '\u{16ac9}'),
693        ('\u{16ad0}', '\u{16aed}'),
694        ('\u{16af0}', '\u{16af4}'),
695        ('\u{16b00}', '\u{16b36}'),
696        ('\u{16b40}', '\u{16b43}'),
697        ('\u{16b50}', '\u{16b59}'),
698        ('\u{16b63}', '\u{16b77}'),
699        ('\u{16b7d}', '\u{16b8f}'),
700        ('\u{16d40}', '\u{16d6c}'),
701        ('\u{16d70}', '\u{16d79}'),
702        ('\u{16e40}', '\u{16e7f}'),
703        ('\u{16f00}', '\u{16f4a}'),
704        ('\u{16f4f}', '\u{16f87}'),
705        ('\u{16f8f}', '\u{16f9f}'),
706        ('\u{16fe0}', '\u{16fe1}'),
707        ('\u{16fe3}', '\u{16fe4}'),
708        ('\u{16ff0}', '\u{16ff1}'),
709        ('\u{17000}', '\u{187f7}'),
710        ('\u{18800}', '\u{18cd5}'),
711        ('\u{18cff}', '\u{18d08}'),
712        ('\u{1aff0}', '\u{1aff3}'),
713        ('\u{1aff5}', '\u{1affb}'),
714        ('\u{1affd}', '\u{1affe}'),
715        ('\u{1b000}', '\u{1b122}'),
716        ('\u{1b132}', '\u{1b132}'),
717        ('\u{1b150}', '\u{1b152}'),
718        ('\u{1b155}', '\u{1b155}'),
719        ('\u{1b164}', '\u{1b167}'),
720        ('\u{1b170}', '\u{1b2fb}'),
721        ('\u{1bc00}', '\u{1bc6a}'),
722        ('\u{1bc70}', '\u{1bc7c}'),
723        ('\u{1bc80}', '\u{1bc88}'),
724        ('\u{1bc90}', '\u{1bc99}'),
725        ('\u{1bc9d}', '\u{1bc9e}'),
726        ('\u{1ccf0}', '\u{1ccf9}'),
727        ('\u{1cf00}', '\u{1cf2d}'),
728        ('\u{1cf30}', '\u{1cf46}'),
729        ('\u{1d165}', '\u{1d169}'),
730        ('\u{1d16d}', '\u{1d172}'),
731        ('\u{1d17b}', '\u{1d182}'),
732        ('\u{1d185}', '\u{1d18b}'),
733        ('\u{1d1aa}', '\u{1d1ad}'),
734        ('\u{1d242}', '\u{1d244}'),
735        ('\u{1d400}', '\u{1d454}'),
736        ('\u{1d456}', '\u{1d49c}'),
737        ('\u{1d49e}', '\u{1d49f}'),
738        ('\u{1d4a2}', '\u{1d4a2}'),
739        ('\u{1d4a5}', '\u{1d4a6}'),
740        ('\u{1d4a9}', '\u{1d4ac}'),
741        ('\u{1d4ae}', '\u{1d4b9}'),
742        ('\u{1d4bb}', '\u{1d4bb}'),
743        ('\u{1d4bd}', '\u{1d4c3}'),
744        ('\u{1d4c5}', '\u{1d505}'),
745        ('\u{1d507}', '\u{1d50a}'),
746        ('\u{1d50d}', '\u{1d514}'),
747        ('\u{1d516}', '\u{1d51c}'),
748        ('\u{1d51e}', '\u{1d539}'),
749        ('\u{1d53b}', '\u{1d53e}'),
750        ('\u{1d540}', '\u{1d544}'),
751        ('\u{1d546}', '\u{1d546}'),
752        ('\u{1d54a}', '\u{1d550}'),
753        ('\u{1d552}', '\u{1d6a5}'),
754        ('\u{1d6a8}', '\u{1d6c0}'),
755        ('\u{1d6c2}', '\u{1d6da}'),
756        ('\u{1d6dc}', '\u{1d6fa}'),
757        ('\u{1d6fc}', '\u{1d714}'),
758        ('\u{1d716}', '\u{1d734}'),
759        ('\u{1d736}', '\u{1d74e}'),
760        ('\u{1d750}', '\u{1d76e}'),
761        ('\u{1d770}', '\u{1d788}'),
762        ('\u{1d78a}', '\u{1d7a8}'),
763        ('\u{1d7aa}', '\u{1d7c2}'),
764        ('\u{1d7c4}', '\u{1d7cb}'),
765        ('\u{1d7ce}', '\u{1d7ff}'),
766        ('\u{1da00}', '\u{1da36}'),
767        ('\u{1da3b}', '\u{1da6c}'),
768        ('\u{1da75}', '\u{1da75}'),
769        ('\u{1da84}', '\u{1da84}'),
770        ('\u{1da9b}', '\u{1da9f}'),
771        ('\u{1daa1}', '\u{1daaf}'),
772        ('\u{1df00}', '\u{1df1e}'),
773        ('\u{1df25}', '\u{1df2a}'),
774        ('\u{1e000}', '\u{1e006}'),
775        ('\u{1e008}', '\u{1e018}'),
776        ('\u{1e01b}', '\u{1e021}'),
777        ('\u{1e023}', '\u{1e024}'),
778        ('\u{1e026}', '\u{1e02a}'),
779        ('\u{1e030}', '\u{1e06d}'),
780        ('\u{1e08f}', '\u{1e08f}'),
781        ('\u{1e100}', '\u{1e12c}'),
782        ('\u{1e130}', '\u{1e13d}'),
783        ('\u{1e140}', '\u{1e149}'),
784        ('\u{1e14e}', '\u{1e14e}'),
785        ('\u{1e290}', '\u{1e2ae}'),
786        ('\u{1e2c0}', '\u{1e2f9}'),
787        ('\u{1e4d0}', '\u{1e4f9}'),
788        ('\u{1e5d0}', '\u{1e5fa}'),
789        ('\u{1e7e0}', '\u{1e7e6}'),
790        ('\u{1e7e8}', '\u{1e7eb}'),
791        ('\u{1e7ed}', '\u{1e7ee}'),
792        ('\u{1e7f0}', '\u{1e7fe}'),
793        ('\u{1e800}', '\u{1e8c4}'),
794        ('\u{1e8d0}', '\u{1e8d6}'),
795        ('\u{1e900}', '\u{1e94b}'),
796        ('\u{1e950}', '\u{1e959}'),
797        ('\u{1ee00}', '\u{1ee03}'),
798        ('\u{1ee05}', '\u{1ee1f}'),
799        ('\u{1ee21}', '\u{1ee22}'),
800        ('\u{1ee24}', '\u{1ee24}'),
801        ('\u{1ee27}', '\u{1ee27}'),
802        ('\u{1ee29}', '\u{1ee32}'),
803        ('\u{1ee34}', '\u{1ee37}'),
804        ('\u{1ee39}', '\u{1ee39}'),
805        ('\u{1ee3b}', '\u{1ee3b}'),
806        ('\u{1ee42}', '\u{1ee42}'),
807        ('\u{1ee47}', '\u{1ee47}'),
808        ('\u{1ee49}', '\u{1ee49}'),
809        ('\u{1ee4b}', '\u{1ee4b}'),
810        ('\u{1ee4d}', '\u{1ee4f}'),
811        ('\u{1ee51}', '\u{1ee52}'),
812        ('\u{1ee54}', '\u{1ee54}'),
813        ('\u{1ee57}', '\u{1ee57}'),
814        ('\u{1ee59}', '\u{1ee59}'),
815        ('\u{1ee5b}', '\u{1ee5b}'),
816        ('\u{1ee5d}', '\u{1ee5d}'),
817        ('\u{1ee5f}', '\u{1ee5f}'),
818        ('\u{1ee61}', '\u{1ee62}'),
819        ('\u{1ee64}', '\u{1ee64}'),
820        ('\u{1ee67}', '\u{1ee6a}'),
821        ('\u{1ee6c}', '\u{1ee72}'),
822        ('\u{1ee74}', '\u{1ee77}'),
823        ('\u{1ee79}', '\u{1ee7c}'),
824        ('\u{1ee7e}', '\u{1ee7e}'),
825        ('\u{1ee80}', '\u{1ee89}'),
826        ('\u{1ee8b}', '\u{1ee9b}'),
827        ('\u{1eea1}', '\u{1eea3}'),
828        ('\u{1eea5}', '\u{1eea9}'),
829        ('\u{1eeab}', '\u{1eebb}'),
830        ('\u{1fbf0}', '\u{1fbf9}'),
831        ('\u{20000}', '\u{2a6df}'),
832        ('\u{2a700}', '\u{2b739}'),
833        ('\u{2b740}', '\u{2b81d}'),
834        ('\u{2b820}', '\u{2cea1}'),
835        ('\u{2ceb0}', '\u{2ebe0}'),
836        ('\u{2ebf0}', '\u{2ee5d}'),
837        ('\u{2f800}', '\u{2fa1d}'),
838        ('\u{30000}', '\u{3134a}'),
839        ('\u{31350}', '\u{323af}'),
840        ('\u{e0100}', '\u{e01ef}'),
841    ];
842
843    pub fn XID_Continue(c: char) -> bool {
844        super::bsearch_range_table(c, XID_Continue_table)
845    }
846
847    static XID_Start_table: &[(char, char)] = &[
848        ('\u{41}', '\u{5a}'),
849        ('\u{61}', '\u{7a}'),
850        ('\u{aa}', '\u{aa}'),
851        ('\u{b5}', '\u{b5}'),
852        ('\u{ba}', '\u{ba}'),
853        ('\u{c0}', '\u{d6}'),
854        ('\u{d8}', '\u{f6}'),
855        ('\u{f8}', '\u{2c1}'),
856        ('\u{2c6}', '\u{2d1}'),
857        ('\u{2e0}', '\u{2e4}'),
858        ('\u{2ec}', '\u{2ec}'),
859        ('\u{2ee}', '\u{2ee}'),
860        ('\u{370}', '\u{374}'),
861        ('\u{376}', '\u{377}'),
862        ('\u{37b}', '\u{37d}'),
863        ('\u{37f}', '\u{37f}'),
864        ('\u{386}', '\u{386}'),
865        ('\u{388}', '\u{38a}'),
866        ('\u{38c}', '\u{38c}'),
867        ('\u{38e}', '\u{3a1}'),
868        ('\u{3a3}', '\u{3f5}'),
869        ('\u{3f7}', '\u{481}'),
870        ('\u{48a}', '\u{52f}'),
871        ('\u{531}', '\u{556}'),
872        ('\u{559}', '\u{559}'),
873        ('\u{560}', '\u{588}'),
874        ('\u{5d0}', '\u{5ea}'),
875        ('\u{5ef}', '\u{5f2}'),
876        ('\u{620}', '\u{64a}'),
877        ('\u{66e}', '\u{66f}'),
878        ('\u{671}', '\u{6d3}'),
879        ('\u{6d5}', '\u{6d5}'),
880        ('\u{6e5}', '\u{6e6}'),
881        ('\u{6ee}', '\u{6ef}'),
882        ('\u{6fa}', '\u{6fc}'),
883        ('\u{6ff}', '\u{6ff}'),
884        ('\u{710}', '\u{710}'),
885        ('\u{712}', '\u{72f}'),
886        ('\u{74d}', '\u{7a5}'),
887        ('\u{7b1}', '\u{7b1}'),
888        ('\u{7ca}', '\u{7ea}'),
889        ('\u{7f4}', '\u{7f5}'),
890        ('\u{7fa}', '\u{7fa}'),
891        ('\u{800}', '\u{815}'),
892        ('\u{81a}', '\u{81a}'),
893        ('\u{824}', '\u{824}'),
894        ('\u{828}', '\u{828}'),
895        ('\u{840}', '\u{858}'),
896        ('\u{860}', '\u{86a}'),
897        ('\u{870}', '\u{887}'),
898        ('\u{889}', '\u{88e}'),
899        ('\u{8a0}', '\u{8c9}'),
900        ('\u{904}', '\u{939}'),
901        ('\u{93d}', '\u{93d}'),
902        ('\u{950}', '\u{950}'),
903        ('\u{958}', '\u{961}'),
904        ('\u{971}', '\u{980}'),
905        ('\u{985}', '\u{98c}'),
906        ('\u{98f}', '\u{990}'),
907        ('\u{993}', '\u{9a8}'),
908        ('\u{9aa}', '\u{9b0}'),
909        ('\u{9b2}', '\u{9b2}'),
910        ('\u{9b6}', '\u{9b9}'),
911        ('\u{9bd}', '\u{9bd}'),
912        ('\u{9ce}', '\u{9ce}'),
913        ('\u{9dc}', '\u{9dd}'),
914        ('\u{9df}', '\u{9e1}'),
915        ('\u{9f0}', '\u{9f1}'),
916        ('\u{9fc}', '\u{9fc}'),
917        ('\u{a05}', '\u{a0a}'),
918        ('\u{a0f}', '\u{a10}'),
919        ('\u{a13}', '\u{a28}'),
920        ('\u{a2a}', '\u{a30}'),
921        ('\u{a32}', '\u{a33}'),
922        ('\u{a35}', '\u{a36}'),
923        ('\u{a38}', '\u{a39}'),
924        ('\u{a59}', '\u{a5c}'),
925        ('\u{a5e}', '\u{a5e}'),
926        ('\u{a72}', '\u{a74}'),
927        ('\u{a85}', '\u{a8d}'),
928        ('\u{a8f}', '\u{a91}'),
929        ('\u{a93}', '\u{aa8}'),
930        ('\u{aaa}', '\u{ab0}'),
931        ('\u{ab2}', '\u{ab3}'),
932        ('\u{ab5}', '\u{ab9}'),
933        ('\u{abd}', '\u{abd}'),
934        ('\u{ad0}', '\u{ad0}'),
935        ('\u{ae0}', '\u{ae1}'),
936        ('\u{af9}', '\u{af9}'),
937        ('\u{b05}', '\u{b0c}'),
938        ('\u{b0f}', '\u{b10}'),
939        ('\u{b13}', '\u{b28}'),
940        ('\u{b2a}', '\u{b30}'),
941        ('\u{b32}', '\u{b33}'),
942        ('\u{b35}', '\u{b39}'),
943        ('\u{b3d}', '\u{b3d}'),
944        ('\u{b5c}', '\u{b5d}'),
945        ('\u{b5f}', '\u{b61}'),
946        ('\u{b71}', '\u{b71}'),
947        ('\u{b83}', '\u{b83}'),
948        ('\u{b85}', '\u{b8a}'),
949        ('\u{b8e}', '\u{b90}'),
950        ('\u{b92}', '\u{b95}'),
951        ('\u{b99}', '\u{b9a}'),
952        ('\u{b9c}', '\u{b9c}'),
953        ('\u{b9e}', '\u{b9f}'),
954        ('\u{ba3}', '\u{ba4}'),
955        ('\u{ba8}', '\u{baa}'),
956        ('\u{bae}', '\u{bb9}'),
957        ('\u{bd0}', '\u{bd0}'),
958        ('\u{c05}', '\u{c0c}'),
959        ('\u{c0e}', '\u{c10}'),
960        ('\u{c12}', '\u{c28}'),
961        ('\u{c2a}', '\u{c39}'),
962        ('\u{c3d}', '\u{c3d}'),
963        ('\u{c58}', '\u{c5a}'),
964        ('\u{c5d}', '\u{c5d}'),
965        ('\u{c60}', '\u{c61}'),
966        ('\u{c80}', '\u{c80}'),
967        ('\u{c85}', '\u{c8c}'),
968        ('\u{c8e}', '\u{c90}'),
969        ('\u{c92}', '\u{ca8}'),
970        ('\u{caa}', '\u{cb3}'),
971        ('\u{cb5}', '\u{cb9}'),
972        ('\u{cbd}', '\u{cbd}'),
973        ('\u{cdd}', '\u{cde}'),
974        ('\u{ce0}', '\u{ce1}'),
975        ('\u{cf1}', '\u{cf2}'),
976        ('\u{d04}', '\u{d0c}'),
977        ('\u{d0e}', '\u{d10}'),
978        ('\u{d12}', '\u{d3a}'),
979        ('\u{d3d}', '\u{d3d}'),
980        ('\u{d4e}', '\u{d4e}'),
981        ('\u{d54}', '\u{d56}'),
982        ('\u{d5f}', '\u{d61}'),
983        ('\u{d7a}', '\u{d7f}'),
984        ('\u{d85}', '\u{d96}'),
985        ('\u{d9a}', '\u{db1}'),
986        ('\u{db3}', '\u{dbb}'),
987        ('\u{dbd}', '\u{dbd}'),
988        ('\u{dc0}', '\u{dc6}'),
989        ('\u{e01}', '\u{e30}'),
990        ('\u{e32}', '\u{e32}'),
991        ('\u{e40}', '\u{e46}'),
992        ('\u{e81}', '\u{e82}'),
993        ('\u{e84}', '\u{e84}'),
994        ('\u{e86}', '\u{e8a}'),
995        ('\u{e8c}', '\u{ea3}'),
996        ('\u{ea5}', '\u{ea5}'),
997        ('\u{ea7}', '\u{eb0}'),
998        ('\u{eb2}', '\u{eb2}'),
999        ('\u{ebd}', '\u{ebd}'),
1000        ('\u{ec0}', '\u{ec4}'),
1001        ('\u{ec6}', '\u{ec6}'),
1002        ('\u{edc}', '\u{edf}'),
1003        ('\u{f00}', '\u{f00}'),
1004        ('\u{f40}', '\u{f47}'),
1005        ('\u{f49}', '\u{f6c}'),
1006        ('\u{f88}', '\u{f8c}'),
1007        ('\u{1000}', '\u{102a}'),
1008        ('\u{103f}', '\u{103f}'),
1009        ('\u{1050}', '\u{1055}'),
1010        ('\u{105a}', '\u{105d}'),
1011        ('\u{1061}', '\u{1061}'),
1012        ('\u{1065}', '\u{1066}'),
1013        ('\u{106e}', '\u{1070}'),
1014        ('\u{1075}', '\u{1081}'),
1015        ('\u{108e}', '\u{108e}'),
1016        ('\u{10a0}', '\u{10c5}'),
1017        ('\u{10c7}', '\u{10c7}'),
1018        ('\u{10cd}', '\u{10cd}'),
1019        ('\u{10d0}', '\u{10fa}'),
1020        ('\u{10fc}', '\u{1248}'),
1021        ('\u{124a}', '\u{124d}'),
1022        ('\u{1250}', '\u{1256}'),
1023        ('\u{1258}', '\u{1258}'),
1024        ('\u{125a}', '\u{125d}'),
1025        ('\u{1260}', '\u{1288}'),
1026        ('\u{128a}', '\u{128d}'),
1027        ('\u{1290}', '\u{12b0}'),
1028        ('\u{12b2}', '\u{12b5}'),
1029        ('\u{12b8}', '\u{12be}'),
1030        ('\u{12c0}', '\u{12c0}'),
1031        ('\u{12c2}', '\u{12c5}'),
1032        ('\u{12c8}', '\u{12d6}'),
1033        ('\u{12d8}', '\u{1310}'),
1034        ('\u{1312}', '\u{1315}'),
1035        ('\u{1318}', '\u{135a}'),
1036        ('\u{1380}', '\u{138f}'),
1037        ('\u{13a0}', '\u{13f5}'),
1038        ('\u{13f8}', '\u{13fd}'),
1039        ('\u{1401}', '\u{166c}'),
1040        ('\u{166f}', '\u{167f}'),
1041        ('\u{1681}', '\u{169a}'),
1042        ('\u{16a0}', '\u{16ea}'),
1043        ('\u{16ee}', '\u{16f8}'),
1044        ('\u{1700}', '\u{1711}'),
1045        ('\u{171f}', '\u{1731}'),
1046        ('\u{1740}', '\u{1751}'),
1047        ('\u{1760}', '\u{176c}'),
1048        ('\u{176e}', '\u{1770}'),
1049        ('\u{1780}', '\u{17b3}'),
1050        ('\u{17d7}', '\u{17d7}'),
1051        ('\u{17dc}', '\u{17dc}'),
1052        ('\u{1820}', '\u{1878}'),
1053        ('\u{1880}', '\u{18a8}'),
1054        ('\u{18aa}', '\u{18aa}'),
1055        ('\u{18b0}', '\u{18f5}'),
1056        ('\u{1900}', '\u{191e}'),
1057        ('\u{1950}', '\u{196d}'),
1058        ('\u{1970}', '\u{1974}'),
1059        ('\u{1980}', '\u{19ab}'),
1060        ('\u{19b0}', '\u{19c9}'),
1061        ('\u{1a00}', '\u{1a16}'),
1062        ('\u{1a20}', '\u{1a54}'),
1063        ('\u{1aa7}', '\u{1aa7}'),
1064        ('\u{1b05}', '\u{1b33}'),
1065        ('\u{1b45}', '\u{1b4c}'),
1066        ('\u{1b83}', '\u{1ba0}'),
1067        ('\u{1bae}', '\u{1baf}'),
1068        ('\u{1bba}', '\u{1be5}'),
1069        ('\u{1c00}', '\u{1c23}'),
1070        ('\u{1c4d}', '\u{1c4f}'),
1071        ('\u{1c5a}', '\u{1c7d}'),
1072        ('\u{1c80}', '\u{1c8a}'),
1073        ('\u{1c90}', '\u{1cba}'),
1074        ('\u{1cbd}', '\u{1cbf}'),
1075        ('\u{1ce9}', '\u{1cec}'),
1076        ('\u{1cee}', '\u{1cf3}'),
1077        ('\u{1cf5}', '\u{1cf6}'),
1078        ('\u{1cfa}', '\u{1cfa}'),
1079        ('\u{1d00}', '\u{1dbf}'),
1080        ('\u{1e00}', '\u{1f15}'),
1081        ('\u{1f18}', '\u{1f1d}'),
1082        ('\u{1f20}', '\u{1f45}'),
1083        ('\u{1f48}', '\u{1f4d}'),
1084        ('\u{1f50}', '\u{1f57}'),
1085        ('\u{1f59}', '\u{1f59}'),
1086        ('\u{1f5b}', '\u{1f5b}'),
1087        ('\u{1f5d}', '\u{1f5d}'),
1088        ('\u{1f5f}', '\u{1f7d}'),
1089        ('\u{1f80}', '\u{1fb4}'),
1090        ('\u{1fb6}', '\u{1fbc}'),
1091        ('\u{1fbe}', '\u{1fbe}'),
1092        ('\u{1fc2}', '\u{1fc4}'),
1093        ('\u{1fc6}', '\u{1fcc}'),
1094        ('\u{1fd0}', '\u{1fd3}'),
1095        ('\u{1fd6}', '\u{1fdb}'),
1096        ('\u{1fe0}', '\u{1fec}'),
1097        ('\u{1ff2}', '\u{1ff4}'),
1098        ('\u{1ff6}', '\u{1ffc}'),
1099        ('\u{2071}', '\u{2071}'),
1100        ('\u{207f}', '\u{207f}'),
1101        ('\u{2090}', '\u{209c}'),
1102        ('\u{2102}', '\u{2102}'),
1103        ('\u{2107}', '\u{2107}'),
1104        ('\u{210a}', '\u{2113}'),
1105        ('\u{2115}', '\u{2115}'),
1106        ('\u{2118}', '\u{211d}'),
1107        ('\u{2124}', '\u{2124}'),
1108        ('\u{2126}', '\u{2126}'),
1109        ('\u{2128}', '\u{2128}'),
1110        ('\u{212a}', '\u{2139}'),
1111        ('\u{213c}', '\u{213f}'),
1112        ('\u{2145}', '\u{2149}'),
1113        ('\u{214e}', '\u{214e}'),
1114        ('\u{2160}', '\u{2188}'),
1115        ('\u{2c00}', '\u{2ce4}'),
1116        ('\u{2ceb}', '\u{2cee}'),
1117        ('\u{2cf2}', '\u{2cf3}'),
1118        ('\u{2d00}', '\u{2d25}'),
1119        ('\u{2d27}', '\u{2d27}'),
1120        ('\u{2d2d}', '\u{2d2d}'),
1121        ('\u{2d30}', '\u{2d67}'),
1122        ('\u{2d6f}', '\u{2d6f}'),
1123        ('\u{2d80}', '\u{2d96}'),
1124        ('\u{2da0}', '\u{2da6}'),
1125        ('\u{2da8}', '\u{2dae}'),
1126        ('\u{2db0}', '\u{2db6}'),
1127        ('\u{2db8}', '\u{2dbe}'),
1128        ('\u{2dc0}', '\u{2dc6}'),
1129        ('\u{2dc8}', '\u{2dce}'),
1130        ('\u{2dd0}', '\u{2dd6}'),
1131        ('\u{2dd8}', '\u{2dde}'),
1132        ('\u{3005}', '\u{3007}'),
1133        ('\u{3021}', '\u{3029}'),
1134        ('\u{3031}', '\u{3035}'),
1135        ('\u{3038}', '\u{303c}'),
1136        ('\u{3041}', '\u{3096}'),
1137        ('\u{309d}', '\u{309f}'),
1138        ('\u{30a1}', '\u{30fa}'),
1139        ('\u{30fc}', '\u{30ff}'),
1140        ('\u{3105}', '\u{312f}'),
1141        ('\u{3131}', '\u{318e}'),
1142        ('\u{31a0}', '\u{31bf}'),
1143        ('\u{31f0}', '\u{31ff}'),
1144        ('\u{3400}', '\u{4dbf}'),
1145        ('\u{4e00}', '\u{a48c}'),
1146        ('\u{a4d0}', '\u{a4fd}'),
1147        ('\u{a500}', '\u{a60c}'),
1148        ('\u{a610}', '\u{a61f}'),
1149        ('\u{a62a}', '\u{a62b}'),
1150        ('\u{a640}', '\u{a66e}'),
1151        ('\u{a67f}', '\u{a69d}'),
1152        ('\u{a6a0}', '\u{a6ef}'),
1153        ('\u{a717}', '\u{a71f}'),
1154        ('\u{a722}', '\u{a788}'),
1155        ('\u{a78b}', '\u{a7cd}'),
1156        ('\u{a7d0}', '\u{a7d1}'),
1157        ('\u{a7d3}', '\u{a7d3}'),
1158        ('\u{a7d5}', '\u{a7dc}'),
1159        ('\u{a7f2}', '\u{a801}'),
1160        ('\u{a803}', '\u{a805}'),
1161        ('\u{a807}', '\u{a80a}'),
1162        ('\u{a80c}', '\u{a822}'),
1163        ('\u{a840}', '\u{a873}'),
1164        ('\u{a882}', '\u{a8b3}'),
1165        ('\u{a8f2}', '\u{a8f7}'),
1166        ('\u{a8fb}', '\u{a8fb}'),
1167        ('\u{a8fd}', '\u{a8fe}'),
1168        ('\u{a90a}', '\u{a925}'),
1169        ('\u{a930}', '\u{a946}'),
1170        ('\u{a960}', '\u{a97c}'),
1171        ('\u{a984}', '\u{a9b2}'),
1172        ('\u{a9cf}', '\u{a9cf}'),
1173        ('\u{a9e0}', '\u{a9e4}'),
1174        ('\u{a9e6}', '\u{a9ef}'),
1175        ('\u{a9fa}', '\u{a9fe}'),
1176        ('\u{aa00}', '\u{aa28}'),
1177        ('\u{aa40}', '\u{aa42}'),
1178        ('\u{aa44}', '\u{aa4b}'),
1179        ('\u{aa60}', '\u{aa76}'),
1180        ('\u{aa7a}', '\u{aa7a}'),
1181        ('\u{aa7e}', '\u{aaaf}'),
1182        ('\u{aab1}', '\u{aab1}'),
1183        ('\u{aab5}', '\u{aab6}'),
1184        ('\u{aab9}', '\u{aabd}'),
1185        ('\u{aac0}', '\u{aac0}'),
1186        ('\u{aac2}', '\u{aac2}'),
1187        ('\u{aadb}', '\u{aadd}'),
1188        ('\u{aae0}', '\u{aaea}'),
1189        ('\u{aaf2}', '\u{aaf4}'),
1190        ('\u{ab01}', '\u{ab06}'),
1191        ('\u{ab09}', '\u{ab0e}'),
1192        ('\u{ab11}', '\u{ab16}'),
1193        ('\u{ab20}', '\u{ab26}'),
1194        ('\u{ab28}', '\u{ab2e}'),
1195        ('\u{ab30}', '\u{ab5a}'),
1196        ('\u{ab5c}', '\u{ab69}'),
1197        ('\u{ab70}', '\u{abe2}'),
1198        ('\u{ac00}', '\u{d7a3}'),
1199        ('\u{d7b0}', '\u{d7c6}'),
1200        ('\u{d7cb}', '\u{d7fb}'),
1201        ('\u{f900}', '\u{fa6d}'),
1202        ('\u{fa70}', '\u{fad9}'),
1203        ('\u{fb00}', '\u{fb06}'),
1204        ('\u{fb13}', '\u{fb17}'),
1205        ('\u{fb1d}', '\u{fb1d}'),
1206        ('\u{fb1f}', '\u{fb28}'),
1207        ('\u{fb2a}', '\u{fb36}'),
1208        ('\u{fb38}', '\u{fb3c}'),
1209        ('\u{fb3e}', '\u{fb3e}'),
1210        ('\u{fb40}', '\u{fb41}'),
1211        ('\u{fb43}', '\u{fb44}'),
1212        ('\u{fb46}', '\u{fbb1}'),
1213        ('\u{fbd3}', '\u{fc5d}'),
1214        ('\u{fc64}', '\u{fd3d}'),
1215        ('\u{fd50}', '\u{fd8f}'),
1216        ('\u{fd92}', '\u{fdc7}'),
1217        ('\u{fdf0}', '\u{fdf9}'),
1218        ('\u{fe71}', '\u{fe71}'),
1219        ('\u{fe73}', '\u{fe73}'),
1220        ('\u{fe77}', '\u{fe77}'),
1221        ('\u{fe79}', '\u{fe79}'),
1222        ('\u{fe7b}', '\u{fe7b}'),
1223        ('\u{fe7d}', '\u{fe7d}'),
1224        ('\u{fe7f}', '\u{fefc}'),
1225        ('\u{ff21}', '\u{ff3a}'),
1226        ('\u{ff41}', '\u{ff5a}'),
1227        ('\u{ff66}', '\u{ff9d}'),
1228        ('\u{ffa0}', '\u{ffbe}'),
1229        ('\u{ffc2}', '\u{ffc7}'),
1230        ('\u{ffca}', '\u{ffcf}'),
1231        ('\u{ffd2}', '\u{ffd7}'),
1232        ('\u{ffda}', '\u{ffdc}'),
1233        ('\u{10000}', '\u{1000b}'),
1234        ('\u{1000d}', '\u{10026}'),
1235        ('\u{10028}', '\u{1003a}'),
1236        ('\u{1003c}', '\u{1003d}'),
1237        ('\u{1003f}', '\u{1004d}'),
1238        ('\u{10050}', '\u{1005d}'),
1239        ('\u{10080}', '\u{100fa}'),
1240        ('\u{10140}', '\u{10174}'),
1241        ('\u{10280}', '\u{1029c}'),
1242        ('\u{102a0}', '\u{102d0}'),
1243        ('\u{10300}', '\u{1031f}'),
1244        ('\u{1032d}', '\u{1034a}'),
1245        ('\u{10350}', '\u{10375}'),
1246        ('\u{10380}', '\u{1039d}'),
1247        ('\u{103a0}', '\u{103c3}'),
1248        ('\u{103c8}', '\u{103cf}'),
1249        ('\u{103d1}', '\u{103d5}'),
1250        ('\u{10400}', '\u{1049d}'),
1251        ('\u{104b0}', '\u{104d3}'),
1252        ('\u{104d8}', '\u{104fb}'),
1253        ('\u{10500}', '\u{10527}'),
1254        ('\u{10530}', '\u{10563}'),
1255        ('\u{10570}', '\u{1057a}'),
1256        ('\u{1057c}', '\u{1058a}'),
1257        ('\u{1058c}', '\u{10592}'),
1258        ('\u{10594}', '\u{10595}'),
1259        ('\u{10597}', '\u{105a1}'),
1260        ('\u{105a3}', '\u{105b1}'),
1261        ('\u{105b3}', '\u{105b9}'),
1262        ('\u{105bb}', '\u{105bc}'),
1263        ('\u{105c0}', '\u{105f3}'),
1264        ('\u{10600}', '\u{10736}'),
1265        ('\u{10740}', '\u{10755}'),
1266        ('\u{10760}', '\u{10767}'),
1267        ('\u{10780}', '\u{10785}'),
1268        ('\u{10787}', '\u{107b0}'),
1269        ('\u{107b2}', '\u{107ba}'),
1270        ('\u{10800}', '\u{10805}'),
1271        ('\u{10808}', '\u{10808}'),
1272        ('\u{1080a}', '\u{10835}'),
1273        ('\u{10837}', '\u{10838}'),
1274        ('\u{1083c}', '\u{1083c}'),
1275        ('\u{1083f}', '\u{10855}'),
1276        ('\u{10860}', '\u{10876}'),
1277        ('\u{10880}', '\u{1089e}'),
1278        ('\u{108e0}', '\u{108f2}'),
1279        ('\u{108f4}', '\u{108f5}'),
1280        ('\u{10900}', '\u{10915}'),
1281        ('\u{10920}', '\u{10939}'),
1282        ('\u{10980}', '\u{109b7}'),
1283        ('\u{109be}', '\u{109bf}'),
1284        ('\u{10a00}', '\u{10a00}'),
1285        ('\u{10a10}', '\u{10a13}'),
1286        ('\u{10a15}', '\u{10a17}'),
1287        ('\u{10a19}', '\u{10a35}'),
1288        ('\u{10a60}', '\u{10a7c}'),
1289        ('\u{10a80}', '\u{10a9c}'),
1290        ('\u{10ac0}', '\u{10ac7}'),
1291        ('\u{10ac9}', '\u{10ae4}'),
1292        ('\u{10b00}', '\u{10b35}'),
1293        ('\u{10b40}', '\u{10b55}'),
1294        ('\u{10b60}', '\u{10b72}'),
1295        ('\u{10b80}', '\u{10b91}'),
1296        ('\u{10c00}', '\u{10c48}'),
1297        ('\u{10c80}', '\u{10cb2}'),
1298        ('\u{10cc0}', '\u{10cf2}'),
1299        ('\u{10d00}', '\u{10d23}'),
1300        ('\u{10d4a}', '\u{10d65}'),
1301        ('\u{10d6f}', '\u{10d85}'),
1302        ('\u{10e80}', '\u{10ea9}'),
1303        ('\u{10eb0}', '\u{10eb1}'),
1304        ('\u{10ec2}', '\u{10ec4}'),
1305        ('\u{10f00}', '\u{10f1c}'),
1306        ('\u{10f27}', '\u{10f27}'),
1307        ('\u{10f30}', '\u{10f45}'),
1308        ('\u{10f70}', '\u{10f81}'),
1309        ('\u{10fb0}', '\u{10fc4}'),
1310        ('\u{10fe0}', '\u{10ff6}'),
1311        ('\u{11003}', '\u{11037}'),
1312        ('\u{11071}', '\u{11072}'),
1313        ('\u{11075}', '\u{11075}'),
1314        ('\u{11083}', '\u{110af}'),
1315        ('\u{110d0}', '\u{110e8}'),
1316        ('\u{11103}', '\u{11126}'),
1317        ('\u{11144}', '\u{11144}'),
1318        ('\u{11147}', '\u{11147}'),
1319        ('\u{11150}', '\u{11172}'),
1320        ('\u{11176}', '\u{11176}'),
1321        ('\u{11183}', '\u{111b2}'),
1322        ('\u{111c1}', '\u{111c4}'),
1323        ('\u{111da}', '\u{111da}'),
1324        ('\u{111dc}', '\u{111dc}'),
1325        ('\u{11200}', '\u{11211}'),
1326        ('\u{11213}', '\u{1122b}'),
1327        ('\u{1123f}', '\u{11240}'),
1328        ('\u{11280}', '\u{11286}'),
1329        ('\u{11288}', '\u{11288}'),
1330        ('\u{1128a}', '\u{1128d}'),
1331        ('\u{1128f}', '\u{1129d}'),
1332        ('\u{1129f}', '\u{112a8}'),
1333        ('\u{112b0}', '\u{112de}'),
1334        ('\u{11305}', '\u{1130c}'),
1335        ('\u{1130f}', '\u{11310}'),
1336        ('\u{11313}', '\u{11328}'),
1337        ('\u{1132a}', '\u{11330}'),
1338        ('\u{11332}', '\u{11333}'),
1339        ('\u{11335}', '\u{11339}'),
1340        ('\u{1133d}', '\u{1133d}'),
1341        ('\u{11350}', '\u{11350}'),
1342        ('\u{1135d}', '\u{11361}'),
1343        ('\u{11380}', '\u{11389}'),
1344        ('\u{1138b}', '\u{1138b}'),
1345        ('\u{1138e}', '\u{1138e}'),
1346        ('\u{11390}', '\u{113b5}'),
1347        ('\u{113b7}', '\u{113b7}'),
1348        ('\u{113d1}', '\u{113d1}'),
1349        ('\u{113d3}', '\u{113d3}'),
1350        ('\u{11400}', '\u{11434}'),
1351        ('\u{11447}', '\u{1144a}'),
1352        ('\u{1145f}', '\u{11461}'),
1353        ('\u{11480}', '\u{114af}'),
1354        ('\u{114c4}', '\u{114c5}'),
1355        ('\u{114c7}', '\u{114c7}'),
1356        ('\u{11580}', '\u{115ae}'),
1357        ('\u{115d8}', '\u{115db}'),
1358        ('\u{11600}', '\u{1162f}'),
1359        ('\u{11644}', '\u{11644}'),
1360        ('\u{11680}', '\u{116aa}'),
1361        ('\u{116b8}', '\u{116b8}'),
1362        ('\u{11700}', '\u{1171a}'),
1363        ('\u{11740}', '\u{11746}'),
1364        ('\u{11800}', '\u{1182b}'),
1365        ('\u{118a0}', '\u{118df}'),
1366        ('\u{118ff}', '\u{11906}'),
1367        ('\u{11909}', '\u{11909}'),
1368        ('\u{1190c}', '\u{11913}'),
1369        ('\u{11915}', '\u{11916}'),
1370        ('\u{11918}', '\u{1192f}'),
1371        ('\u{1193f}', '\u{1193f}'),
1372        ('\u{11941}', '\u{11941}'),
1373        ('\u{119a0}', '\u{119a7}'),
1374        ('\u{119aa}', '\u{119d0}'),
1375        ('\u{119e1}', '\u{119e1}'),
1376        ('\u{119e3}', '\u{119e3}'),
1377        ('\u{11a00}', '\u{11a00}'),
1378        ('\u{11a0b}', '\u{11a32}'),
1379        ('\u{11a3a}', '\u{11a3a}'),
1380        ('\u{11a50}', '\u{11a50}'),
1381        ('\u{11a5c}', '\u{11a89}'),
1382        ('\u{11a9d}', '\u{11a9d}'),
1383        ('\u{11ab0}', '\u{11af8}'),
1384        ('\u{11bc0}', '\u{11be0}'),
1385        ('\u{11c00}', '\u{11c08}'),
1386        ('\u{11c0a}', '\u{11c2e}'),
1387        ('\u{11c40}', '\u{11c40}'),
1388        ('\u{11c72}', '\u{11c8f}'),
1389        ('\u{11d00}', '\u{11d06}'),
1390        ('\u{11d08}', '\u{11d09}'),
1391        ('\u{11d0b}', '\u{11d30}'),
1392        ('\u{11d46}', '\u{11d46}'),
1393        ('\u{11d60}', '\u{11d65}'),
1394        ('\u{11d67}', '\u{11d68}'),
1395        ('\u{11d6a}', '\u{11d89}'),
1396        ('\u{11d98}', '\u{11d98}'),
1397        ('\u{11ee0}', '\u{11ef2}'),
1398        ('\u{11f02}', '\u{11f02}'),
1399        ('\u{11f04}', '\u{11f10}'),
1400        ('\u{11f12}', '\u{11f33}'),
1401        ('\u{11fb0}', '\u{11fb0}'),
1402        ('\u{12000}', '\u{12399}'),
1403        ('\u{12400}', '\u{1246e}'),
1404        ('\u{12480}', '\u{12543}'),
1405        ('\u{12f90}', '\u{12ff0}'),
1406        ('\u{13000}', '\u{1342f}'),
1407        ('\u{13441}', '\u{13446}'),
1408        ('\u{13460}', '\u{143fa}'),
1409        ('\u{14400}', '\u{14646}'),
1410        ('\u{16100}', '\u{1611d}'),
1411        ('\u{16800}', '\u{16a38}'),
1412        ('\u{16a40}', '\u{16a5e}'),
1413        ('\u{16a70}', '\u{16abe}'),
1414        ('\u{16ad0}', '\u{16aed}'),
1415        ('\u{16b00}', '\u{16b2f}'),
1416        ('\u{16b40}', '\u{16b43}'),
1417        ('\u{16b63}', '\u{16b77}'),
1418        ('\u{16b7d}', '\u{16b8f}'),
1419        ('\u{16d40}', '\u{16d6c}'),
1420        ('\u{16e40}', '\u{16e7f}'),
1421        ('\u{16f00}', '\u{16f4a}'),
1422        ('\u{16f50}', '\u{16f50}'),
1423        ('\u{16f93}', '\u{16f9f}'),
1424        ('\u{16fe0}', '\u{16fe1}'),
1425        ('\u{16fe3}', '\u{16fe3}'),
1426        ('\u{17000}', '\u{187f7}'),
1427        ('\u{18800}', '\u{18cd5}'),
1428        ('\u{18cff}', '\u{18d08}'),
1429        ('\u{1aff0}', '\u{1aff3}'),
1430        ('\u{1aff5}', '\u{1affb}'),
1431        ('\u{1affd}', '\u{1affe}'),
1432        ('\u{1b000}', '\u{1b122}'),
1433        ('\u{1b132}', '\u{1b132}'),
1434        ('\u{1b150}', '\u{1b152}'),
1435        ('\u{1b155}', '\u{1b155}'),
1436        ('\u{1b164}', '\u{1b167}'),
1437        ('\u{1b170}', '\u{1b2fb}'),
1438        ('\u{1bc00}', '\u{1bc6a}'),
1439        ('\u{1bc70}', '\u{1bc7c}'),
1440        ('\u{1bc80}', '\u{1bc88}'),
1441        ('\u{1bc90}', '\u{1bc99}'),
1442        ('\u{1d400}', '\u{1d454}'),
1443        ('\u{1d456}', '\u{1d49c}'),
1444        ('\u{1d49e}', '\u{1d49f}'),
1445        ('\u{1d4a2}', '\u{1d4a2}'),
1446        ('\u{1d4a5}', '\u{1d4a6}'),
1447        ('\u{1d4a9}', '\u{1d4ac}'),
1448        ('\u{1d4ae}', '\u{1d4b9}'),
1449        ('\u{1d4bb}', '\u{1d4bb}'),
1450        ('\u{1d4bd}', '\u{1d4c3}'),
1451        ('\u{1d4c5}', '\u{1d505}'),
1452        ('\u{1d507}', '\u{1d50a}'),
1453        ('\u{1d50d}', '\u{1d514}'),
1454        ('\u{1d516}', '\u{1d51c}'),
1455        ('\u{1d51e}', '\u{1d539}'),
1456        ('\u{1d53b}', '\u{1d53e}'),
1457        ('\u{1d540}', '\u{1d544}'),
1458        ('\u{1d546}', '\u{1d546}'),
1459        ('\u{1d54a}', '\u{1d550}'),
1460        ('\u{1d552}', '\u{1d6a5}'),
1461        ('\u{1d6a8}', '\u{1d6c0}'),
1462        ('\u{1d6c2}', '\u{1d6da}'),
1463        ('\u{1d6dc}', '\u{1d6fa}'),
1464        ('\u{1d6fc}', '\u{1d714}'),
1465        ('\u{1d716}', '\u{1d734}'),
1466        ('\u{1d736}', '\u{1d74e}'),
1467        ('\u{1d750}', '\u{1d76e}'),
1468        ('\u{1d770}', '\u{1d788}'),
1469        ('\u{1d78a}', '\u{1d7a8}'),
1470        ('\u{1d7aa}', '\u{1d7c2}'),
1471        ('\u{1d7c4}', '\u{1d7cb}'),
1472        ('\u{1df00}', '\u{1df1e}'),
1473        ('\u{1df25}', '\u{1df2a}'),
1474        ('\u{1e030}', '\u{1e06d}'),
1475        ('\u{1e100}', '\u{1e12c}'),
1476        ('\u{1e137}', '\u{1e13d}'),
1477        ('\u{1e14e}', '\u{1e14e}'),
1478        ('\u{1e290}', '\u{1e2ad}'),
1479        ('\u{1e2c0}', '\u{1e2eb}'),
1480        ('\u{1e4d0}', '\u{1e4eb}'),
1481        ('\u{1e5d0}', '\u{1e5ed}'),
1482        ('\u{1e5f0}', '\u{1e5f0}'),
1483        ('\u{1e7e0}', '\u{1e7e6}'),
1484        ('\u{1e7e8}', '\u{1e7eb}'),
1485        ('\u{1e7ed}', '\u{1e7ee}'),
1486        ('\u{1e7f0}', '\u{1e7fe}'),
1487        ('\u{1e800}', '\u{1e8c4}'),
1488        ('\u{1e900}', '\u{1e943}'),
1489        ('\u{1e94b}', '\u{1e94b}'),
1490        ('\u{1ee00}', '\u{1ee03}'),
1491        ('\u{1ee05}', '\u{1ee1f}'),
1492        ('\u{1ee21}', '\u{1ee22}'),
1493        ('\u{1ee24}', '\u{1ee24}'),
1494        ('\u{1ee27}', '\u{1ee27}'),
1495        ('\u{1ee29}', '\u{1ee32}'),
1496        ('\u{1ee34}', '\u{1ee37}'),
1497        ('\u{1ee39}', '\u{1ee39}'),
1498        ('\u{1ee3b}', '\u{1ee3b}'),
1499        ('\u{1ee42}', '\u{1ee42}'),
1500        ('\u{1ee47}', '\u{1ee47}'),
1501        ('\u{1ee49}', '\u{1ee49}'),
1502        ('\u{1ee4b}', '\u{1ee4b}'),
1503        ('\u{1ee4d}', '\u{1ee4f}'),
1504        ('\u{1ee51}', '\u{1ee52}'),
1505        ('\u{1ee54}', '\u{1ee54}'),
1506        ('\u{1ee57}', '\u{1ee57}'),
1507        ('\u{1ee59}', '\u{1ee59}'),
1508        ('\u{1ee5b}', '\u{1ee5b}'),
1509        ('\u{1ee5d}', '\u{1ee5d}'),
1510        ('\u{1ee5f}', '\u{1ee5f}'),
1511        ('\u{1ee61}', '\u{1ee62}'),
1512        ('\u{1ee64}', '\u{1ee64}'),
1513        ('\u{1ee67}', '\u{1ee6a}'),
1514        ('\u{1ee6c}', '\u{1ee72}'),
1515        ('\u{1ee74}', '\u{1ee77}'),
1516        ('\u{1ee79}', '\u{1ee7c}'),
1517        ('\u{1ee7e}', '\u{1ee7e}'),
1518        ('\u{1ee80}', '\u{1ee89}'),
1519        ('\u{1ee8b}', '\u{1ee9b}'),
1520        ('\u{1eea1}', '\u{1eea3}'),
1521        ('\u{1eea5}', '\u{1eea9}'),
1522        ('\u{1eeab}', '\u{1eebb}'),
1523        ('\u{20000}', '\u{2a6df}'),
1524        ('\u{2a700}', '\u{2b739}'),
1525        ('\u{2b740}', '\u{2b81d}'),
1526        ('\u{2b820}', '\u{2cea1}'),
1527        ('\u{2ceb0}', '\u{2ebe0}'),
1528        ('\u{2ebf0}', '\u{2ee5d}'),
1529        ('\u{2f800}', '\u{2fa1d}'),
1530        ('\u{30000}', '\u{3134a}'),
1531        ('\u{31350}', '\u{323af}'),
1532    ];
1533
1534    pub fn XID_Start(c: char) -> bool {
1535        super::bsearch_range_table(c, XID_Start_table)
1536    }
1537}