forked from MetrodataTeam/pinyin-data
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprepare_words.py
More file actions
467 lines (464 loc) · 57.4 KB
/
prepare_words.py
File metadata and controls
467 lines (464 loc) · 57.4 KB
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
"""
if multiple pronunciations are available, the first one is used
syllable divider is removed
tone numbers are removed
"""
import json
import re
from zhon.pinyin import a_syl
CHARACTERS = re.compile(
r'^[〇㐀㐁㐄-㐆㐌㐖㐜㐡㐤㐨㐩㐫-㐵㐷-㐽㑁-㑅㑇-㑐㑔㑗-㑟㑣-㑪㑮-㑱㑳㑵-㒎㒑-㒗㒙-㒡㒤-㒧㒩㒫㒰㒲-㒵㒷㒸㒻-㒿㓁-㓅㓈-㓌㓎-㓑㓓㓔㓖-㓘㓚㓜-㓪㓭-㓺㓼-㓾㔀-㔆㔉-㔏㔑-㔓㔕㔗-㔚㔜-㔞㔠-㔪㔭-㔱㔳-㔺㔼-㔿㕁-㕌㕎-㕒㕕-㕗㕙-㕜㕞-㕲㕴-㕻㕽㖀-㖃㖅-㖇㖊㖏-㖘㖞-㖫㖭㖮㖵-㗌㗏㗑-㗜㗢-㗩㗫-㗭㗰-㗷㗻-㘂㘄-㘎㘐㘑㘓-㘗㘙-㘞㘠-㘭㘰-㘲㘴-㘺㘿-㙅㙇-㙊㙍-㙕㙗-㙦㙨-㙬㙮-㙼㙾㚀-㚃㚅-㚇㚉-㚍㚏㚐㚒-㚭㚯-㚲㚴-㚷㚹-㚻㚽-㛆㛊㛍-㛞㛣-㛯㛱-㛼㛾㛿㜂-㜓㜕-㜞㜠㜡㜣-㜫㜮-㝅㝇-㝑㝓-㝛㝝-㝧㝩-㝫㝭-㝲㝴-㝶㝸-㞌㞎-㞜㞞-㞡㞤-㞭㞯-㞴㞶-㟔㟖-㟠㟢㟤㟦-㟮㟰-㟷㟹-㠀㠂㠄-㠝㠟-㠣㠥-㠨㠪㠭-㠯㠱㠲㠴-㠺㠼-㡅㡇-㡌㡏㡑-㡣㡥-㡫㡭-㢆㢈-㢋㢍-㢏㢑-㢔㢖-㢡㢣㢥㢧-㢩㢬㢮-㢰㢲㢳㢵㢶㢸㢺-㢾㣀-㣈㣌-㣔㣙-㣠㣢-㣧㣪-㣭㣯-㣲㣵-㣷㣺-㣿㤁-㤖㤘㤚-㤢㤤-㤬㤮-㤺㤽-㥐㥒-㥖㥚-㥣㥥-㥪㥬-㥺㥼-㦇㦉-㦘㦚-㦟㦡-㦱㦴-㧚㧜㧟㧡-㧦㧨-㧾㨀-㨢㨤-㨫㨭-㩁㩃㩄㩆-㩎㩐㩒-㩔㩖-㩢㩤㩦-㩪㩭-㩹㩻-㪞㪠-㪯㪱㪴-㪷㪹-㫅㫊㫍-㫔㫗-㫝㫟㫢㫤-㫨㫫㫯-㫳㫵-㫹㫻-㫽㬂-㬐㬒-㬕㬗-㬡㬣-㬧㬩-㬶㬸㬹㬻㬼㬿㭁㭂㭄㭇-㭉㭋㭌㭎㭏㭑-㭕㭘-㭢㭤㭨-㭲㭴㭸-㮈㮋㮌㮏-㮟㮡-㮣㮥-㮳㮵-㮺㮾-㯐㯓-㯢㯤-㯦㯩-㯳㯶-㯻㯽-㰆㰈㰊-㰎㰐-㰒㰔㰖-㰛㰝-㱏㱔㱖-㱜㱞-㱶㱸-㲆㲈-㲏㲒-㲘㲚-㲢㲤-㲨㲪-㲭㲯-㲴㲶-㳈㳊-㳒㳔-㳜㳠㳡㳥-㳮㳴-㴄㴆-㴉㴋㴎-㴝㴥-㴰㴲-㴸㴼-㵀㵂-㵆㵊-㵘㵝㵞㵠-㵻㵽-㶁㶄-㶉㶌-㶏㶑-㶘㶚㶛㶞-㶡㶣-㶧㶫-㶭㶯㶰㶲-㶶㶹㶺㶼-㷀㷂-㷋㷍-㷐㷒-㷘㷟-㷤㷦㷪-㷬㷮-㷰㷳-㷹㷻㷼㷾-㸁㸃-㸇㸉-㸓㸕-㸳㸵-㸻㸽-㹦㹨㹫-㹮㹱-㺅㺇-㺘㺚-㺦㺨-㺮㺱-㺵㺷-㺺㺿㻀㻂-㻅㻉-㻏㻑-㻗㻝-㻡㻧㻪-㻲㻵-㻺㻽-㻿㼂㼇-㽄㽆-㽌㽎㽏㽑㽕㽖㽘-㽭㽯-㽴㽷-㽻㽽㽾㾀-㾫㾭-㾱㾴-㾿㿃-㿇㿉-㿏㿑-㿜㿞-㿠㿢-㿱㿳-䀜䀞-䀿䁁-䁠䁢-䂊䂌-䂒䂔-䂗䂙-䂧䂩-䃂䃅䃇-䃏䃑-䃞䃠-䃧䃩-䃻䃽-䄉䄋-䄕䄘-䄝䄟-䄢䄤-䄳䄶-䅧䅩䅪䅬-䆅䆈-䆋䆍-䆣䆦䆨-䆳䆵-䆻䆽-䇃䇅䇇䇈䇋-䇔䇖-䇙䇛䇜䇞-䇲䇵-䇾䈀-䈓䈕-䈧䈪-䉆䉈-䉨䉪-䊀䊂-䊊䊍䊎䊐䊑䊓䊔䊖-䊙䊛-䊡䊣-䊶䊺-䋄䋈-䋌䋎-䋑䋓-䋖䋘-䋜䋞-䋠䋢-䋹䋻-䌈䌊-䌱䌳-䌵䌷-䍎䍐-䍦䍨-䍬䍮䍯䍱-䍸䍺-䎌䎎-䎚䎜䎝䎟-䎤䎦-䏤䏦-䏬䏮-䏽䏿-䑑䑓-䑕䑗-䑠䑣-䑨䑪-䑭䑯-䑶䑸䑹䑻-䑽䑿-䒗䒚-䒭䒰䒲-䒵䒷-䒿䓂-䓓䓕-䓨䓫-䓺䓼-䓿䔁-䔋䔎-䔤䔧䔪䔬-䔴䔶-䕁䕃䕅-䕏䕑-䕕䕗-䕛䕝-䕫䕭-䕿䖁-䖈䖊-䖫䖭-䖽䖿-䗥䗧-䗫䗮-䗲䗴-䘁䘃-䘕䘘-䘚䘝䘟-䘦䘨-䘮䘰䘱䘳䘵-䙁䙃-䙊䙌䙎-䙕䙗-䙦䙨-䙪䙬䙮-䙱䙳-䙵䙷-䙺䙼-䙿䚂-䚋䚍䚏-䚣䚥-䛒䛔-䜁䜃-䜣䜧䜩-䜯䜱䜲䜴-䜾䝀-䝅䝈䝊-䝓䝕䝖䝘-䝳䝵-䞍䞐-䞱䞳-䟍䟏-䟰䟴-䟼䟾-䠀䠂-䠋䠍-䠕䠗-䠹䠻-䡃䡅-䡟䡡-䡭䡯-䡷䡹-䢁䢃-䢅䢇-䢍䢐-䢗䢙-䢛䢝-䢫䢭-䢳䢵䢸-䣂䣄-䣈䣊-䣎䣐䣑䣓-䣖䣘-䣲䣴-䣿䤁-䤆䤉-䤡䤣-䥉䥋-䥙䥛-䥟䥡-䥥䥧-䥳䥵-䥸䥺䥽䥾䦂䦃䦅-䦈䦊-䦨䦪-䦯䦱-䦷䦹-䦾䧁-䧇䧉-䧎䧑-䧢䧤-䧨䧪-䧬䧮-䧰䧲-䧷䧹䧺䧼䧽䧿-䨂䨄-䨆䨈䨊-䨔䨖-䨦䨨-䩍䩏-䩕䩗-䩟䩡-䩬䩮-䪞䪤-䪩䪫-䫦䫨-䫮䫰-䬙䬛䬝-䬟䬡䬣-䬨䬪-䬬䬮-䬷䬹-䭎䭐-䭛䭝-䮂䮄䮇-䮋䮍-䮏䮑-䮢䮤䮥䮧-䮵䮷-䯂䯄-䯨䯪-䯺䯼-䰄䰆-䰐䰒-䰭䰯-䰲䰴䰵䰷-䱥䱨䱫-䲆䲉-䲜䲞-䲣䲦-䲨䲪䲬䲮-䲵䲸-䳋䳍-䳤䳦-䳻䳽-䴧䴩-䵌䵎-䵷䵹-䶬䶮䶰-䶳䶵䶸一-兘党-兠兢-嗦嗨-桚桜-烩烫-瓦瓨-瓯瓲-瓻瓽-甄甆-龥鿃鿍-鿏鿔鿕鿫-鿭------礼𠀀𠀁𠀃𠀅𠀉𠀊𠀍𠀓𠀔𠀛𠀝𠀢𠀦𠀱𠀷-𠀹𠀼𠀽𠁁𠁉𠁗𠁠𠁥𠁭𠁷𠂄𠂆-𠂈𠂑𠂔𠂝𠂟𠂢𠂤𠂥𠂧𠂸𠃊𠃌𠃖𠃫𠃺𠄅𠄉𠄌𠄍𠄏𠄑𠄒𠄖𠄚𠄣𠄮𠄱𠄿𠅂𠅌𠅗𠅚𠅤𠅬𠅱𠅹𠆌𠆐𠆙𠆛𠆟𠆣𠆩𠆮𠆱𠆲𠆵𠆶𠇋𠇏𠇒𠇗𠇘𠇯𠇱𠇳𠇵𠇷𠈁𠈅𠈊𠈤𠈥𠈬𠈭𠈰𠈱𠈵𠈶𠈸𠈺𠉂𠉗𠉢-𠉤𠉧𠉩𠉬𠊉𠊌𠊎𠊏𠊒𠊔𠊟𠊣-𠊧𠊩-𠊭𠊰𠊲𠊶𠊷𠊾𠋆𠋖𠋗𠋜-𠋟𠋡𠋢𠋤𠋧𠋩𠋬𠋭𠋯𠋲𠋵-𠋷𠋺𠋻𠌕𠌖𠌚𠌞-𠌠𠌪𠌭-𠌲𠌴𠌽𠍃𠍄𠍗𠍚-𠍜𠍨-𠍫𠍯𠍲𠍳𠍵𠍹𠍽𠎙𠎮𠎰𠎳𠎶-𠎸𠎻𠎿𠏀𠏃𠏇𠏈𠏓𠏕𠏖𠏚𠏛𠏡𠏢𠏤𠏧-𠏩𠏫𠏭𠏮𠏰𠏿-𠐁𠐈-𠐍𠐑𠐡𠐢𠐧𠐩𠐵𠐺-𠐿𠑃-𠑆𠑐𠑑𠑘-𠑛𠑞𠑟𠑡𠑪𠑯-𠑲𠑴𠑹𠒄𠒜𠒝𠒢𠒰𠒵𠒸𠒾𠒿𠓊-𠓌𠓖𠓗𠓙𠓜-𠓞𠓢-𠓤𠓪𠓫𠓭𠓮𠓶-𠓸𠓽𠓿𠔂𠔃𠔉𠔋𠔍𠔎𠔑𠔕𠔠𠔨𠔯𠔲𠔶𠔺-𠔼𠕁𠕄𠕊𠕌𠕕𠕖𠕟𠕠𠕣𠕦𠕧𠕭𠕳𠕴𠕸𠕻𠕿𠖂𠖄𠖆𠖋𠖓𠖛𠖟𠖥𠖫𠖬𠖶𠖷𠖹𠗂𠗆𠗈-𠗌𠗏𠗘𠗚𠗛𠗝𠗥𠗦𠗨𠗩𠗳-𠗶𠗺-𠗿𠘁𠘂𠘅𠘆𠘊-𠘌𠘕𠘖𠘝-𠘟𠘢𠘣𠘥𠘧𠘪𠘱𠘳𠘺𠘻𠙁𠙂𠙆𠙎𠙔𠙕𠙞𠙤𠙬𠙶𠙼𠚃-𠚆𠚉𠚊𠚓𠚔𠚜𠚠𠚥𠚧𠚨𠚭-𠚯𠚱𠚳-𠚵𠚹-𠚽𠛀𠛃𠛅𠛆𠛊𠛋𠛎𠛑-𠛖𠛘-𠛚𠛡𠛥𠛦𠛩-𠛫𠛭𠛮𠛱𠛳𠛵𠛶𠛸𠜁𠜃-𠜅𠜈𠜉𠜋𠜎𠜐𠜑𠜖-𠜙𠜤𠜱-𠜵𠜹𠜼𠜾𠝄𠝐𠝑𠝘𠝚𠝛𠝝-𠝟𠝢𠝤𠝨𠝪𠝬𠝲𠝳𠝽𠝿𠞀𠞃𠞄𠞆𠞈-𠞊𠞕-𠞗𠞙𠞞𠞤𠞧𠞩𠞬-𠞱𠞵𠞶𠞾𠞿𠟂𠟃𠟅𠟈-𠟍𠟓𠟗𠟣𠟦-𠟪𠟰𠟶𠟺-𠟼𠠁𠠃𠠄𠠋𠠎-𠠐𠠔𠠗𠠜𠠝𠠠𠠢𠠪𠠯𠠳𠠵-𠠷𠠹𠡀𠡂𠡄𠡊𠡑𠡒𠡔𠡜-𠡞𠡡𠡣-𠡥𠡭𠡮𠡱𠡶-𠡸𠡻𠢃𠢆𠢇𠢌𠢍𠢓-𠢕𠢙-𠢛𠢠-𠢥𠢩𠢪𠢱-𠢵𠢹𠣄𠣇𠣉𠣊𠣐-𠣒𠣕𠣖𠣘𠣠𠣡𠣪-𠣬𠣰𠣲𠣳𠣺𠣾-𠤀𠤄𠤊𠤍-𠤏𠤕𠤗𠤘𠤝𠤦𠤫𠤮𠤰𠤴𠤹𠤺𠤼𠤾𠥇𠥍𠥎𠥐𠥑𠥕𠥖𠥘𠥙𠥜-𠥞𠥢𠥦𠥨𠥰𠥴𠥿𠦃𠦈𠦊-𠦌𠦎-𠦐𠦒𠦗𠦜𠦧𠦨𠦪-𠦬𠦲𠧀𠧅𠧇𠧒𠧕𠧖𠧙-𠧛𠧟𠧠𠧤𠧩-𠧫𠧰𠧴𠧵𠧿𠨃𠨆𠨊𠨌-𠨎𠨕𠨘𠨚𠨠𠨢𠨥𠨦𠨭𠨲𠨵𠨸𠨻𠨾𠨿𠩂𠩄𠩆𠩈𠩉𠩏𠩔𠩗𠩘𠩠𠩥𠩧𠩪𠩫𠩵𠩷𠩺𠩿𠪂-𠪄𠪇𠪐-𠪒𠪗𠪙𠪚𠪟𠪣𠪧𠪮𠪶𠪷𠪺𠪻𠫃𠫄𠫉𠫌𠫓𠫘𠫛-𠫝𠫣𠫨𠫭𠫮𠫶-𠫺𠬆𠬈𠬋𠬓𠬙𠬛𠬝𠬢𠬣𠬪𠬬𠬮𠬶𠬾𠭈𠭉𠭋𠭗𠭥𠭯𠭰𠭴𠭹𠭿𠮃𠮆𠮊𠮌𠮑𠮙𠮜𠮟-𠮡𠮨𠮫𠮭𠮯𠮰𠮳-𠮵𠮽-𠯀𠯂-𠯄𠯈𠯉𠯋𠯍𠯐𠯑𠯓𠯔𠯗-𠯙𠯜𠯟𠯠𠯩-𠯫𠯭𠯯-𠯴𠯷𠯹𠰄𠰅𠰇-𠰉𠰋𠰍𠰏-𠰑𠰓𠰕𠰖𠰚-𠰜𠰴𠰹-𠰾𠱀𠱐𠱑𠱓𠱔𠱗-𠱞𠱠𠱡𠱤𠱥𠱧𠱨𠱫𠱯𠱲𠱳𠲊-𠲏𠲑-𠲔𠲖𠲙-𠲜𠲮𠲱𠲴𠲵𠲷𠲹-𠲻𠲽-𠳃𠳇𠳊-𠳌𠳎𠳐𠳬𠳭𠳳𠳴𠳶𠳹𠳼𠳽𠳿𠴂𠴄𠴇𠴡-𠴣𠴦𠴨𠴩𠴫𠴭𠴯-𠴳𠴵𠴸-𠴼𠴾𠵠𠵣𠵦-𠵩𠵫-𠵯𠵳𠵷-𠵼𠵾𠶧𠶨𠶫𠶬𠶰-𠶲𠶷-𠶹𠶻𠶾-𠷅𠷇-𠷓𠷖𠷙𠷞𠷟𠷢𠷸𠷺𠷻𠷿𠸁𠸂𠸄𠸮𠸱-𠸴𠸸-𠸺𠹀𠹁𠹃-𠹆𠹈𠹊-𠹎𠹐𠹑𠹓-𠹖𠹘𠹛𠹝𠹟𠹠𠹤-𠹦𠺐𠺒𠺔-𠺚𠺝𠺟𠺢𠺣𠻍𠻏𠻐𠻗𠻙𠻚𠻜-𠻡𠻤-𠻨𠻪-𠻬𠻱𠻴𠼖-𠼘𠼝-𠼢𠼤𠼩𠼪𠼬𠼻𠽜𠽝𠽡𠽣𠽦𠽨-𠽬𠽰-𠽲𠽵-𠽷𠽹𠽻𠽼𠽾-𠾀𠾆𠾇𠾉𠾋𠾌𠾏𠾐𠾢𠾤𠾥𠾨𠾩𠾫𠾬𠾮𠾲𠿆-𠿉𠿋𠿏𠿑𠿓-𠿕𠿗𠿘𠿛-𠿥𡀑𡀔𡀖-𡀙𡀹𡀺𡀽-𡁁𡁆-𡁎𡁑𡁓-𡁕𡁧𡁨𡁪𡁮𡁰𡁱𡁳𡁴𡂊𡂏𡂒𡂓𡂕-𡂛𡂝𡂟-𡂡𡂣𡂩𡂫𡂭𡂿𡃂-𡃆𡃖𡃝𡃡𡃢𡃦𡃩𡃳𡃷𡃸𡄇𡄑-𡄖𡄟𡄡-𡄤𡄱-𡄵𡄷𡄹𡄻𡅂-𡅇𡅓𡅕𡅖𡅘𡅙𡅡𡅥𡅭𡅱𡅵𡅶𡅹-𡅻𡆅𡆆𡆏𡆕𡆣-𡆦𡆩𡆪𡆮-𡆲𡆸𡆽𡇀𡇂𡇄𡇈𡇑-𡇓𡇖𡇚𡇜-𡇠𡇤𡇦𡇧𡇩𡇬-𡇱𡇳𡇵-𡇸𡇺𡇼𡇿𡈀𡈅𡈆𡈉𡈊𡈍-𡈐𡈒𡈓𡈗𡈙𡈞𡈠𡈣𡈦-𡈨𡈮-𡈰𡈲𡈴-𡈶𡈼𡈿𡉄-𡉆𡉉𡉎𡉐-𡉓𡉗𡉚𡉛𡉩𡉪𡉭𡉴𡉷𡉸𡉺𡊁𡊄𡊅𡊉𡊍𡊛𡊝-𡊡𡊣𡊧𡊨𡊫𡊭𡊶𡊸𡊻𡊼𡋙𡋚𡋟𡋧-𡋪𡋬𡋭𡋯𡌔𡌚𡌜𡌞𡌣𡌤𡌦𡌩𡌪𡌭𡌲𡌴𡍌𡍍𡍐𡍒𡍡𡍤-𡍦𡍨𡍪𡍫𡍮𡍲𡍶𡍷𡍻𡎉𡎍𡎑𡎒𡎔𡎘𡎚𡎫𡎬𡎮𡎳𡎺𡎻𡎾-𡏁𡏘𡏚𡏛𡏞𡏩𡏪𡏭-𡏯𡏵𡏼𡐋𡐌𡐏𡐒-𡐔𡐖𡐝𡐞𡐠𡐤𡐥𡐿𡑀𡑄𡑆𡑈𡑍𡑎𡑘𡑚𡑞𡑟𡑣𡑯𡑶𡑻𡑽𡑾𡒁𡒃𡒄𡒊𡒌𡒍𡒏𡒒𡒓𡒖𡒢𡒧𡒯𡒱𡒳𡒾𡓉𡓍𡓒-𡓔𡓖𡓘𡓣𡓦𡓭𡓰𡓷𡓿𡔇𡔕𡔛𡔜𡔞𡔣𡔨𡔪𡔱𡔴𡕁𡕉𡕏𡕐𡕒𡕖𡕗𡕢𡕧𡕪𡕮𡕰𡖉𡖌𡖎𡖐-𡖔𡖛𡖝𡖞𡖢-𡖤𡖧𡖪-𡖬𡖯𡖲𡖳𡖺𡖻𡖾𡗁𡗆𡗈𡗍𡗏𡗑𡗗𡗞𡗢𡗤-𡗦𡗲𡗳𡗵𡗷-𡗹𡗼𡘍𡘏𡘐𡘛𡘝𡘡𡘧𡘪𡘭𡘰𡘴𡙀𡙅𡙋𡙎𡙐-𡙓𡙘𡙛𡙣𡙪𡙬𡙭𡙶𡚁𡚅𡚇𡚈𡚊𡚌𡚑𡚔𡚗𡚙𡚛𡚜𡚟𡚠𡚨𡚭𡚮𡚷𡚹𡚻-𡚽𡛌𡛗-𡛙𡛜-𡛡𡛵𡛶𡛽𡜀-𡜃𡜉-𡜋𡜚𡜢𡜥-𡜨𡜫𡜬𡜯𡜱-𡜳𡜵𡝈-𡝋𡝍𡝐𡝒𡝓𡝙-𡝝𡝟𡝠𡝦𡝧𡝩𡝫𡞘-𡞚𡞜𡞞-𡞠𡞢𡞣𡞥-𡞧𡞪𡞫𡞭𡞯𡞾𡟍𡟑𡟓𡟕𡟞-𡟠𡟢-𡟥𡟨𡟩𡟫-𡟭𡟯𡟳𡠆𡠊𡠋𡠏𡠒𡠖-𡠚𡠜𡠞𡠥𡠹𡠼𡠿𡡀𡡂𡡄𡡈-𡡊𡡎-𡡒𡡔-𡡗𡡥𡡺𡢀𡢈𡢊𡢒𡢕𡢖𡢘𡢚𡢜𡢱𡢳𡢹𡣀-𡣂𡣈𡣋𡣔𡣠𡣢𡣪𡣬𡣮𡣯𡣹𡣽𡣾𡤋𡤌𡤎𡤗𡤙𡤛𡤞𡤢𡤫𡤶𡤽𡤿𡥁𡥆𡥈𡥋𡥍𡥎𡥞𡥦𡥨𡥩𡥶𡥸𡥽𡥿𡦁𡦃𡦄𡦆𡦊𡦍𡦎𡦔𡦕𡦛-𡦝𡦟𡦨𡦪𡦳𡦷𡦻𡦼𡧍𡧒𡧔-𡧗𡧙𡧣𡧥𡧦𡧨𡧩𡧭𡧹𡧼𡧽𡨀𡨄𡨅𡨇𡨖𡨗𡨛𡨢𡨣𡨩𡨲𡨳𡨵𡨻𡨽𡨿𡩂-𡩄𡩆𡩇𡩘𡩚𡩡𡩣-𡩥𡩩𡩶𡩸𡩽𡩾𡪁𡪅𡪑𡪒𡪗𡪙𡪞𡪠𡪰𡪱𡪳𡪵𡪺𡫀-𡫃𡫟𡫥-𡫧𡫬𡫯𡫵𡫸-𡫺𡫽𡬁𡬂𡬄𡬆𡬇𡬉-𡬎𡬐𡬓𡬕-𡬙𡬜𡬞𡬥𡬫𡬯𡬲𡬳𡬵𡬸𡭂𡭇𡭋𡭐𡭘𡭛𡭞𡭢𡭣𡭥𡭭𡭮𡭳𡭷𡭸𡭾𡭿𡮎𡮙𡮚𡮞𡮦𡮰𡮻𡮿𡯁𡯄𡯇-𡯉𡯋𡯏-𡯒𡯘𡯙𡯢𡯥𡯨𡯩𡯫𡯰𡯱𡯳-𡯵𡯷𡯽𡯿𡰀𡰅𡰆𡰋𡰌𡰎𡰐-𡰒𡰖𡰚𡰝𡰞𡰠𡰢𡰥𡰨𡰪𡰫𡰯𡰲𡰹𡰽-𡰿𡱁𡱅-𡱇𡱉𡱊𡱌𡱐𡱑𡱔𡱜𡱣𡱯𡱱𡱳𡱷𡱺𡱼-𡱾𡲀𡲍𡲕𡲗𡲚𡲣𡲪𡲭𡲮𡲰𡲼𡲿𡳂𡳄𡳆𡳏𡳑𡳘𡳚𡳞𡳭𡳮𡳴𡳸𡳾𡴅𡴆𡴎𡴔𡴭𡴯𡴱𡵀𡵉𡵌𡵑-𡵓𡵕-𡵜𡵞𡵬𡵶𡵷𡵻𡶂-𡶄𡶆𡶈𡶉𡶋𡶌𡶎-𡶑𡶢-𡶦𡶪𡶫𡶭𡶯𡶱𡶲𡶴𡷈𡷋𡷍-𡷐𡷓𡷕-𡷘𡷛-𡷞𡷠-𡷢𡷤𡷥𡷨𡷪𡷸𡷺-𡷽𡷿𡸂𡸃𡸈𡸉𡸌𡸎𡸑𡸔𡸕𡸗𡸘𡸛𡸜𡸞𡸟𡸡𡸣-𡸦𡸨𡸪𡹄𡹇𡹉𡹎𡹓𡹕𡹖𡹘𡹙𡹢𡹣𡹥𡹨-𡹪𡹬𡹭𡹯𡹰𡹲𡹵-𡹹𡹼𡹾𡺇𡺐-𡺘𡺛𡺜𡺟𡺡𡺧𡺫𡺭-𡺯𡺴𡺵𡺷𡺸𡺺𡺽𡻈𡻌𡻎𡻐𡻑𡻕𡻘-𡻚𡻝-𡻤𡻧-𡻱𡼁𡼃𡼄𡼊𡼎𡼓𡼖-𡼘𡼚-𡼜𡼬𡼱𡼻-𡼿𡽁𡽂𡽅𡽆𡽉𡽊𡽖𡽛-𡽝𡽠𡽢𡽣𡽧𡽱-𡽴𡽶𡽻𡽼𡾂𡾅𡾇𡾉𡾋𡾌𡾒𡾓𡾕𡾖𡾙𡾛𡾜𡾥𡾦𡾨𡾮𡾰-𡾲𡾻-𡾾𡿂𡿄𡿉-𡿋𡿎𡿏𡿓𡿖𡿗𡿙𡿛𡿝𡿠𡿡𡿤𡿥𡿧-𡿩𡿯𡿰𡿺𡿼𡿾𡿿𢀁𢀊-𢀍𢀕-𢀙𢀜𢀡𢀪𢀵𢀼𢁀-𢁂𢁏𢁒𢁓𢁕-𢁘𢁝𢁞𢁠𢁢𢁤𢁧𢁩𢁪𢁬𢁮𢁱𢁶𢁷𢁹𢁻-𢂁𢂃𢂄𢂆𢂊𢂍𢂏-𢂒𢂔𢂕𢂗𢂘𢂝𢂤𢂨𢂱𢂶𢂹𢂺𢂼𢃀𢃍-𢃐𢃕𢃗𢃘𢃜𢃢𢃥𢃦𢃩𢃬-𢃴𢃸𢃺𢄀𢄄𢄅𢄇𢄊-𢄐𢄓𢄔𢄗𢄜𢄟-𢄤𢄦𢄧𢄱𢄳𢄵-𢄺𢄼𢄽𢄿-𢅁𢅈-𢅋𢅎𢅏𢅑𢅒𢅕-𢅗𢅚𢅜-𢅡𢅤𢅥𢅩-𢅫𢅭-𢅰𢅹𢅺𢅼𢅾𢆀𢆂𢆉𢆜𢆞𢆟𢆣𢆦𢆩𢆯𢆰𢆴𢆶-𢆸𢆺𢆻𢆽𢇇𢇈𢇕𢇗-𢇛𢇞𢇟𢇤-𢇨𢇪𢇫𢇰𢇲-𢇸𢈂𢈄𢈆-𢈉𢈋𢈓𢈕𢈙-𢈝𢈠-𢈢𢈤𢈯𢈲𢈴-𢈶𢈸𢈹𢈻-𢈾𢉁-𢉃𢉅𢉆𢉑𢉓𢉕𢉗𢉘𢉚𢉜-𢉞𢉢𢉤-𢉩𢉭𢉵𢉺𢉿-𢊁𢊄𢊅𢊇𢊍𢊏𢊒𢊓𢊕-𢊜𢊧𢊩𢊮𢊯𢊱𢊲𢊻𢋂-𢋈𢋒𢋔𢋚𢋝𢋡𢋣𢋮𢋹𢋻𢋼𢋿𢌀𢌄𢌈𢌍𢌔𢌕𢌚𢌦𢌨𢌲𢌳𢌷𢌹𢌻𢍁𢍆-𢍈𢍎𢍏𢍑𢍓𢍕𢍚𢍧𢍫𢍭𢍰𢍱𢍼𢍿𢎀𢎂-𢎄𢎆𢎈𢎉𢎋𢎌𢎎𢎔-𢎖𢎘𢎙𢎠𢎡𢎥𢎪𢎭𢎴𢎵𢎹𢎻𢏃-𢏆𢏈𢏍𢏎𢏒𢏕𢏗𢏙𢏜-𢏞𢏤𢏦𢏧𢏭-𢏰𢏳𢏷𢐂-𢐄𢐆𢐊𢐎𢐐𢐒𢐔𢐖𢐚𢐞𢐟𢐦𢐩𢐫𢐲𢐳𢐾𢐿𢑅-𢑈𢑓𢑖𢑝𢑟𢑠𢑢𢑧𢑬𢑮𢑹𢒆𢒉𢒍𢒐𢒒𢒔𢒝𢒞𢒩𢒯-𢒲𢒷𢒹𢒾𢓀𢓃𢓄𢓆𢓇𢓋𢓍𢓎𢓒𢓔-𢓙𢓜-𢓟𢓡-𢓣𢓧𢓬𢓮-𢓲𢓵𢓿𢔁𢔂𢔅-𢔈𢔊𢔋𢔑𢔔𢔟-𢔥𢔧𢔩𢔪𢔬𢔱-𢔴𢕅𢕋𢕎𢕑𢕓-𢕖𢕘-𢕚𢕞𢕟𢕦𢕨𢕪-𢕯𢕷𢕺𢕻𢖄-𢖈𢖊𢖋𢖎𢖏𢖑𢖗𢖛𢖝𢖟𢖡𢖤𢖦𢖧𢖩𢖫𢖬𢖳-𢖵𢖷𢖺𢖿𢗀𢗂𢗄𢗈-𢗊𢗎𢗫𢗭𢗯𢗰𢗲-𢗵𢗹𢗺𢗿𢘀𢘃-𢘅𢘇𢘉-𢘍𢘝𢘟𢘧𢘸-𢘺𢘽𢘿𢙁𢙂𢙅𢙇𢙐𢙓𢙮𢙱-𢙳𢙺𢙼𢙾-𢚂𢚄-𢚆𢚋𢚌𢚑𢚨𢚪𢚫𢚭𢚮𢚺𢚻𢛁𢛃𢛄𢛆𢛉𢛍𢛎𢛒-𢛖𢛘-𢛜𢛞𢛟𢛥𢛦𢛨𢛮𢛯𢜗𢜣𢜥𢜨-𢜴𢜶𢜸𢜻-𢜽𢜿-𢝂𢝅-𢝉𢝌𢝍𢝓𢝬𢝯𢝳𢝴𢝸𢝹𢝻𢞇𢞉𢞋𢞏𢞐𢞒𢞕-𢞗𢞚𢞜𢞞-𢞡𢞣𢞦𢞬𢞭𢟅𢟊𢟋𢟢-𢟤𢟧-𢟪𢟭𢟯-𢟱𢟳-𢟵𢟾𢟿𢠛𢠝𢠡𢠫-𢠮𢠲𢠳𢠵𢠷𢠹𢠺𢠼𢠽𢠿-𢡃𢡅𢡇-𢡉𢡍-𢡏𢡑𢡒𢡰𢡴𢡵𢡹𢢂𢢌𢢍𢢒𢢓𢢖𢢗𢢚𢢜𢢞𢢹𢣉𢣊𢣎-𢣐𢣓-𢣕𢣗-𢣚𢣞𢣠𢣳𢣵𢣻𢣼𢣿𢤁𢤂𢤄𢤆𢤋𢤍𢤎𢤐𢤘𢤚𢤤𢤧𢤩𢤫𢤯-𢤲𢥂𢥃𢥋𢥌𢥏𢥐𢥘𢥚𢥞𢥳𢥽𢦅𢦈𢦊𢦌-𢦏𢦑𢦒𢦕𢦚𢦟𢦰-𢦲𢦴𢦸𢦺𢦼𢦽𢦿𢧀𢧅𢧇𢧈𢧏𢧑𢧖𢧗𢧝𢧞𢧠𢧤-𢧧𢧮𢧰𢧱𢧳𢧴𢧻𢧽𢨁𢨂𢨏𢨐𢨒𢨔𢨖𢨗𢨜𢨝𢨟𢨡𢨥𢨦𢨨𢨫𢨮-𢨱𢨳𢨺𢨿-𢩁𢩄𢩈𢩏-𢩓𢩕-𢩘𢩞-𢩢𢩦𢩨𢩮-𢩰𢩲𢩷-𢩹𢩻𢩼𢪃𢪇𢪈𢪋𢪍-𢪏𢪥-𢪧𢪪𢪬𢪶𢪷𢪼𢪾𢫐𢫓𢫔𢫢𢫧𢫨𢫫-𢫭𢫯𢫰𢫲𢫴𢫵𢫷𢫸𢫻𢫿𢬀𢬫𢬬𢬱-𢬷𢬼𢬾𢬿𢭁-𢭆𢭈𢭎𢭏𢭥-𢭧𢮁-𢮄𢮇𢮉𢮊𢮌𢮍𢮏𢮐𢮚𢮛𢮞𢯅𢯉𢯋𢯌𢯩𢯫𢯭𢯮𢯰𢯲-𢯷𢯹𢯺𢯼-𢯾𢰆𢰇𢰊𢰌𢰍𢰒𢰘𢰙𢰜𢰿𢱁𢱄𢱆𢱈𢱉𢱌𢱟𢱡-𢱤𢱦-𢱨𢱮𢱴𢱶𢱷𢱺𢱽𢱾𢲔𢲰𢲴-𢲸𢲼-𢳄𢳆-𢳈𢳋𢳑𢳓𢳙𢳚𢳟𢳽𢳾𢴂𢴠𢴢𢴦-𢴪𢴬-𢴮𢴰-𢴳𢴼𢴾𢵇𢵈𢵥𢶀𢶃𢶅𢶇𢶉𢶋-𢶍𢶑-𢶓𢶡𢶣𢶳𢶴𢶶𢷍𢷑𢷔-𢷗𢷙𢷢𢷶𢷸-𢷻𢷾-𢸁𢸌𢸗-𢸙𢸣𢸥𢸦𢸨𢸫𢸭𢸳𢸴𢹃𢹍𢹏𢹑-𢹔𢹖𢹘-𢹚𢹝𢹮𢹲𢹳𢹼𢺄-𢺉𢺑𢺞𢺟𢺡𢺫𢺯𢺰𢺴𢺵𢺷𢺼𢺽𢺿𢻀𢻂𢻅𢻇𢻉𢻋𢻓𢻔𢻗-𢻚𢻜𢻟𢻠𢻢𢻤𢻨𢻪𢻫𢻮𢻵-𢻹𢻼𢻿-𢼁𢼃𢼉-𢼌𢼐𢼑𢼖𢼙-𢼛𢼟𢼠𢼣𢼤𢼦𢼩𢼫𢼰-𢼳𢼵𢼷-𢼺𢼼𢽂-𢽄𢽇𢽕-𢽗𢽚𢽜𢽝𢽢𢽦-𢽩𢽭𢽸𢽹𢽾𢾀𢾁𢾃-𢾇𢾊𢾎𢾐-𢾒𢾔𢾦𢾧𢾩-𢾬𢾱-𢾳𢾺𢾿𢿂𢿈𢿌𢿎𢿏𢿚𢿜𢿞𢿡-𢿤𢿦𢿧𢿭𢿸𣀀-𣀄𣀍𣀏𣀐𣀒-𣀔𣀜-𣀞𣀣𣀥𣀧𣀫𣀯𣀳𣀶𣀷𣀻𣀾𣁉𣁍𣁒𣁖𣁗𣁜𣁟𣁢𣁦𣁨𣁭𣁯𣁰𣁳-𣁵𣁷𣁹𣁻𣂁𣂄𣂆𣂇𣂉𣂊𣂒𣂖𣂗𣂜-𣂞𣂤𣂥𣂬𣂮𣂳-𣂵𣂻𣂽𣃄𣃅𣃈𣃉𣃍𣃑𣃗𣃘𣃝𣃧𣃳𣃵𣃽𣃾𣄅𣄉𣄊𣄍-𣄏𣄑𣄓𣄙𣄜𣄝𣄟𣄠𣄧𣄮-𣄲𣄴𣄸𣄺𣄻𣄿𣅃𣅄𣅉𣅍𣅚𣅝𣅟𣅡𣅤𣅥𣅰𣅷𣅺𣅻𣅾𣆈𣆍𣆐𣆒𣆔-𣆛𣆟𣆧𣆲-𣆵𣆽𣇇𣇖𣇗𣇙𣇢𣇦-𣇨𣇫𣇬𣇰𣇲𣇳𣈅𣈊𣈍𣈎𣈠𣈡𣈥𣈶𣉄-𣉆𣉒-𣉘𣉚-𣉜𣉡𣉩𣉪𣉮𣉾𣉿𣊁𣊃𣊔𣊖𣊝-𣊟𣊧𣊶𣊷𣊺𣋄𣋉-𣋋𣋍𣋏𣋘𣋞𣋟𣋢𣋣𣋲𣋳𣋵𣋶𣋹𣋿𣌅𣌍𣌏𣌓𣌗𣌚𣌜𣌞-𣌠𣌧𣌨𣌬𣌭𣌾𣍆𣍇𣍏𣍖𣍛𣍟𣍦𣍧𣍯𣍰𣍴𣍸𣍺𣎄-𣎆𣎑𣎓𣎔𣎚𣎛𣎩𣎮𣎱-𣎵𣎸𣏀𣏎𣏑𣏔𣏖𣏗𣏚𣏞-𣏡𣏶𣏷𣏺𣐂𣐃𣐊𣐋𣐎𣐏𣐑𣐓𣐤𣐫𣐬𣐮𣐯𣐵𣐺𣐿𣑁-𣑃𣑦𣑧𣑸𣑹𣑿𣒂-𣒇𣒷-𣒹𣒻𣒼𣓀𣓃𣓅𣓆𣓈-𣓌𣓏𣓐𣓒𣓔𣓕𣓗𣓛𣓝𣔐𣔓𣔗-𣔛𣔫𣔬𣔮𣔯𣔱𣔲𣔵-𣔽𣕁𣕃-𣕅𣕇𣕉𣕌-𣕏𣕾𣖄-𣖆𣖉𣖊𣖌𣖐𣖣𣖤𣖨𣖪-𣖱𣖳𣖵𣖷-𣖹𣖻𣖼𣖾𣖿𣗁𣗋𣗐𣗲𣗵𣗶𣗸-𣗻𣘖-𣘛𣘝-𣘠𣘣-𣘨𣘪-𣘬𣘱𣘲𣘴𣘷𣘻𣙗𣙘𣙛𣙟𣙢𣙰𣙱𣙴-𣙷𣙻𣙼𣙿-𣚁𣚃𣚄𣚆𣚇𣚋𣚌𣚎-𣚐𣚒-𣚖𣚘𣚙𣚜𣚝𣚟-𣚢𣚦𣚧𣚩𣚪𣛓-𣛕𣛗𣛚𣛫𣛱𣛴-𣛻𣛽𣛾𣜁𣜂𣜄𣜇𣜢𣜣𣜧𣜨𣜬𣜭𣜹𣜺𣜽𣝁𣝂𣝅𣝇-𣝉𣝋-𣝒𣝕𣝗𣝚𣝜-𣝞𣝸𣝽𣞇𣞐-𣞔𣞗-𣞙𣞜𣞝𣞟𣞰𣞴𣟀𣟁𣟄𣟆-𣟌𣟏-𣟒𣟤𣟦𣟰𣟲-𣟵𣟸-𣟺𣟼𣟽𣠎𣠏𣠚𣠜𣠞𣠠𣠭𣠷-𣠺𣠼𣡉-𣡋𣡎𣡕𣡗𣡞-𣡠𣡧𣡩𣡰𣡶𣡺𣡽𣡾𣢁𣢂𣢄𣢅𣢇𣢉-𣢓𣢕-𣢗𣢚-𣢡𣢤-𣢦𣢨𣢪-𣢭𣢰𣢲-𣢴𣢶𣢷𣢺𣢻𣣈-𣣌𣣎𣣏𣣑𣣒𣣚𣣜-𣣡𣣣𣣩𣣭𣣮𣣲-𣣴𣣶-𣣺𣣿𣤁𣤃𣤇𣤈𣤊-𣤌𣤎𣤖𣤘𣤡𣤢𣤨-𣤪𣤯-𣤷𣤺𣥂𣥃𣥇𣥊𣥋𣥐𣥞𣥡𣥣-𣥥𣥨𣥮-𣥰𣥳𣥷𣥹-𣥼𣥾𣦇𣦉𣦌𣦏𣦐𣦖𣦜𣦠-𣦢𣦦𣦩-𣦭𣦯𣦵𣦶𣦼𣧂-𣧄𣧈𣧊𣧌-𣧏𣧒𣧖𣧗𣧙-𣧝𣧡𣧣-𣧧𣧬𣧲𣧳𣧵𣧷𣧹𣧺𣧼-𣨀𣨂𣨄𣨅𣨇𣨉-𣨋𣨍𣨎𣨓𣨔𣨗-𣨙𣨛-𣨥𣨪𣨫𣨲𣨳𣨶𣨺𣨻𣨾-𣩀𣩄𣩅𣩈𣩏𣩑-𣩔𣩙𣩚𣩜𣩟-𣩢𣩧𣩩-𣩫𣩭𣩯-𣩱𣩴𣩷𣩹𣩺𣩽𣪀-𣪂𣪄𣪇𣪉𣪌𣪐𣪕𣪠𣪨𣪪𣪭-𣪯𣪶𣪸𣪹𣫀𣫈𣫉𣫌𣫎𣫐𣫒𣫔𣫙𣫜𣫝𣫣𣫥𣫧𣫨𣫪𣫬𣫱𣫳𣫴𣫹𣫻𣬂𣬆𣬉𣬋𣬍-𣬐𣬕𣬘-𣬛𣬠𣬩-𣬬𣬮𣬴-𣬽𣬿𣭀𣭇𣭖-𣭙𣭝𣭠𣭡𣭤𣭮𣭲𣭳𣭷𣭹-𣭻𣮃𣮄𣮆𣮈-𣮊𣮌-𣮐𣮠-𣮢𣮦𣮧𣮪-𣮬𣮰𣮾-𣯀𣯃𣯅𣯆𣯋-𣯐𣯚𣯜𣯤𣯧-𣯪𣯬𣯭𣯯𣯱𣯴𣯵𣯸𣯹𣯻𣯼𣰃𣰇𣰈𣰋𣰌𣰕𣰘𣰚-𣰜𣰞𣰠𣰡𣰥𣰦𣰨𣰩𣰬𣰶𣰷𣰺-𣰼𣰿𣱀𣱂𣱈𣱉𣱍𣱐𣱓𣱗𣱜𣱦𣱧𣱫𣱱𣱳𣱶𣱺-𣱽𣲀𣲂𣲄𣲊𣲋𣲑-𣲓𣲖-𣲘𣲜𣲡𣲢𣲥𣲱-𣲳𣲵-𣲷𣲽𣲾𣳀𣳃𣳜𣳟𣳠𣳤𣳦𣳩𣳬𣳭𣳰𣳲𣴓𣴖𣴞𣴟𣴢𣴣𣴥𣴨𣴪𣴼𣴽𣵞𣵟𣵢𣵱𣵷𣵸𣵺-𣵼𣶆𣶈𣶊-𣶍𣶏𣶐𣶘𣶝𣶠𣶡𣶣𣶤𣶦𣶩𣶫𣷠𣷡𣷥𣷩-𣷫𣷶𣷾-𣸀𣸃𣸄𣸆𣸇𣸉-𣸋𣸎-𣸐𣸒𣸘-𣸛𣸝𣸠𣸣𣹇𣹋𣹒𣹚𣹜-𣹡𣹥𣹧𣹩𣹪𣹬𣹮𣹯𣹱𣹲𣹵𣹶𣺀𣺬-𣺮𣺰𣺳𣺼𣺽𣻍𣻎𣻐-𣻒𣻕𣻖𣻘𣻚-𣻜𣻟-𣻢𣻩𣻬𣻮𣻱𣼚𣼞-𣼠𣼦𣼧𣽅𣽆𣽈𣽉𣽌-𣽎𣽒𣽕𣽖𣽚𣽛𣽝𣽟𣽡𣽤-𣽦𣽨𣽫𣽭-𣽰𣽳𣽴𣽷𣾤𣾦𣿅-𣿊𣿌𣿎𣿐𣿒𣿓𣿝-𣿟𣿣𣿤𤀃𤀉𤀊𤀝𤀣𤀤𤀦𤀨-𤀫𤀰𤀲𤀷𤁡-𤁣𤁥-𤁧𤁪𤁫𤁮-𤁱𤁳𤁵𤁹𤁼𤁽𤁿-𤂁𤂃𤂆𤂠𤂤𤂲𤂶𤂷𤂹𤂺𤂼𤂿𤃀𤃨-𤃫𤃭𤃮𤃲𤃵-𤃷𤃺-𤃽𤄎𤄏𤄑-𤄔𤄖𤄘𤄛𤄜𤄥𤄧𤄫𤄬𤄶𤄷𤄺𤄼𤄽𤅊𤅋𤅎𤅐-𤅒𤅣𤅱𤅲𤅸𤅹𤆀-𤆂𤆄𤆍𤆏𤆑𤆒𤆙𤆜-𤆟𤆡𤆮𤆰𤆳-𤆵𤆼𤆾𤇃𤇄𤇜𤇞𤇠𤇯𤇰𤇳𤇴𤇾𤈔𤈙𤈥-𤈧𤈩𤈶𤈷𤉌-𤉐𤉤-𤉨𤉪𤉫𤊲𤊴-𤊶𤊻-𤊿𤋂𤋏𤋨𤋫𤋭𤋰𤌂𤌃𤌇𤌊-𤌐𤌔𤌷𤌹𤌾-𤍁𤍐𤍒𤍓𤍕𤍖𤍜𤍠𤍤𤍽𤎄𤎋𤎗𤎘𤎣-𤎥𤎧𤎭𤎯𤎱𤎲𤏗𤏘𤏜𤏱𤏲𤏶𤏸𤏽𤏿𤐀𤐔𤐙𤐣𤐩𤐫𤐰-𤐲𤑃𤑄𤑓𤑕𤑗𤑣𤑦𤑪𤑳𤑷-𤑹𤑿𤒔𤒕𤒝𤒦𤒻𤓑𤓔𤓕𤓚𤓝𤓤𤓦𤓯𤓵𤓷𤓾-𤔀𤔉𤔋𤔔𤔖𤔙𤔚𤔝𤔟𤔣𤔨𤔫𤔶𤕀𤕄𤕇𤕊𤕒𤕘𤕚𤕛𤕝-𤕟𤕢𤕦𤕭𤕯𤕷𤕽𤕾𤖀𤖆𤖇𤖒𤖓𤖖-𤖘𤖛𤖝𤖞𤖢𤖦𤖪𤖬-𤖮𤖰𤖱𤖳𤖵𤖷𤖺-𤖽𤖿-𤗁𤗃𤗇𤗈𤗍-𤗏𤗓𤗘-𤗜𤗞𤗢𤗨𤗪-𤗭𤗯𤗳-𤗵𤗷𤗸𤗺𤗻𤗾-𤘀𤘃𤘅-𤘇𤘊𤘌𤘔𤘖𤘘𤘛-𤘝𤘟-𤘤𤘦𤘧𤘲𤘵-𤘻𤘽𤘾𤙅𤙇𤙋𤙌𤙎𤙏𤙒𤙔-𤙖𤙘𤙛𤙝-𤙟𤙡𤙣𤙤𤙩𤙭𤙰𤙱𤙴𤙵𤙼-𤙾𤚀𤚅𤚉𤚊𤚍-𤚏𤚓𤚔𤚚𤚜𤚝𤚟𤚡-𤚤𤚨-𤚭𤚯-𤚱𤚵𤚼𤚽𤛁𤛄𤛊𤛍-𤛑𤛖-𤛝𤛢𤛣𤛥-𤛧𤛪𤛬-𤛮𤛱𤛲𤛷𤛻𤜁𤜂𤜄𤜇𤜉-𤜋𤜍𤜓-𤜖𤜘𤜙𤜜𤜝𤜡-𤜤𤜧𤜫𤜯-𤜲𤜵𤜷𤜹𤜻𤜼𤜾𤝂𤝄𤝅𤝇-𤝉𤝍𤝎𤝐𤝒-𤝖𤝘𤝚𤝛𤝞𤝟𤝧𤝬-𤝱𤝳𤝷-𤝹𤝻𤝽𤝿𤞂𤞇-𤞍𤞗𤞚𤞛𤞞-𤞢𤞤𤞥𤞮𤞰𤞲-𤞴𤞶𤞿𤟀𤟃𤟅-𤟇𤟉𤟍𤟎𤟑𤟓𤟖𤟘𤟚𤟝-𤟠𤟢-𤟧𤟪𤟷𤟸𤟼𤟾-𤠀𤠇𤠋-𤠎𤠐𤠓𤠖𤠘-𤠛𤠝𤠟𤠠𤠪𤠫𤠭𤠯𤠶𤠺𤠼𤠽𤠿𤡂𤡃𤡆𤡇𤡏𤡐𤡓-𤡖𤡝𤡟𤡡-𤡥𤡧𤡨𤡪𤡬-𤡳𤡶𤡾-𤢂𤢄𤢊𤢋𤢎-𤢐𤢒𤢓𤢕-𤢘𤢟𤢣𤢦𤢨𤢪𤢭𤢮𤢴-𤢶𤢹𤢺𤢼𤣃𤣅𤣆𤣌𤣎𤣑𤣘𤣙𤣞-𤣠𤣨𤣬𤣮-𤣰𤣲𤣵𤣶𤣸𤣹𤣻𤣼𤤊𤤋𤤐-𤤒𤤦𤤧𤤩𤤫𤤬𤤮𤤱𤤲𤤶-𤤸𤤺𤥒-𤥔𤥗𤥙𤥭𤥮𤥰𤥷𤥽𤥿𤦀𤦃𤦄𤦤𤦦𤦪𤦮𤧕𤧘-𤧜𤧠𤧣𤧩𤧫𤧭𤨍𤨎𤨐𤨑𤨖𤨗𤨙𤨶𤨻𤩂𤩄𤩨-𤩪𤩭𤩮𤩱𤩲𤩽𤪄𤪆𤪋-𤪎𤪡𤪪𤪮𤫉𤫕𤫝𤫞𤫣𤫧-𤫩𤫫𤫬𤫱𤫲𤫵-𤫷𤫹-𤫻𤬁-𤬃𤬌𤬏𤬐𤬓-𤬖𤬘𤬛𤬝𤬠𤬥-𤬫𤬭𤬯𤬱𤬳𤬵𤬷𤬾𤬿𤭂𤭈𤭉𤭌𤭍𤭑𤭒𤭔𤭙𤭛𤭜𤭞-𤭠𤭢𤭧𤭩𤭫𤭬𤭱𤭴𤭻-𤭽𤮆𤮊-𤮐𤮕𤮘-𤮚𤮜𤮧𤮩𤮪𤮭𤮯-𤮱𤮳𤮷𤮸𤮼𤮽𤯄𤯇𤯌𤯐𤯖𤯚𤯜𤯡𤯥𤯷𤯸𤯻𤰂𤰅𤰈𤰌𤰑𤰙𤰚𤰝𤰟-𤰡𤰦𤰪𤰬𤰳𤱃𤱅-𤱇𤱋-𤱎𤱐𤱛-𤱝𤱟-𤱡𤱣𤱧-𤱩𤱴𤱵𤱷-𤱺𤱽𤱾𤲉𤲑𤲓𤲕-𤲗𤲚𤲨𤲩𤲬𤲭𤲰𤲶𤲸𤲺𤳂𤳃𤳅𤳈-𤳊𤳎𤳓𤳕𤳖𤳘𤳝𤳠𤳤-𤳦𤳪𤳭𤳯𤳳-𤳵𤴀𤴍𤴓𤴘𤴙𤴛𤴟𤴢𤴣𤴥-𤴨𤴪𤴯𤴱𤴻-𤵀𤵂𤵊𤵋𤵎𤵐𤵒𤵘𤵛𤵝-𤵠𤵥𤵦𤵬-𤵯𤵸𤵹𤵻-𤵾𤶀𤶁𤶈𤶋𤶓𤶕𤶖𤶘𤶚-𤶜𤶠𤶤𤶧𤶮𤶰-𤶴𤷀-𤷉𤷌-𤷏𤷑-𤷙𤷟𤷡𤷢𤷤𤷦𤷹𤷻-𤸁𤸅𤸆𤸈-𤸊𤸎𤸏𤸑-𤸓𤸕-𤸗𤸡𤸤𤸦𤸪-𤸬𤸮𤸯𤸱-𤸵𤸷-𤸹𤸻𤸼𤹇𤹈𤹊-𤹌𤹎𤹛-𤹞𤹡-𤹪𤹲𤹴𤹵𤹷𤹸𤺀𤺃-𤺅𤺇𤺉𤺊𤺌𤺎-𤺐𤺓-𤺗𤺪𤺫𤺷𤺺-𤺼𤺾𤻂-𤻇𤻌𤻖𤻘𤻙𤻜𤻝𤻢𤻤𤻦𤻱𤻶𤻷𤻿-𤼃𤼅𤼋-𤼍𤼏𤼐𤼒𤼗-𤼚𤼜𤼢𤼮𤼳𤼶𤼺𤽁𤽃𤽅𤽉𤽊𤽌𤽓𤽕𤽣𤽥𤽦𤽯𤽱-𤽳𤽹𤽺𤽼𤽿𤾀𤾄𤾅𤾈-𤾊𤾑𤾒𤾛𤾝𤾠𤾢𤾣𤾥𤾦𤾫-𤾭𤾲𤾵𤾺𤾿𤿀𤿄-𤿈𤿋𤿎-𤿓𤿕-𤿚𤿟-𤿡𤿣𤿧-𤿩𤿫𤿭𤿳-𤿷𤿼-𤿾𥀁-𥀃𥀈𥀉𥀎-𥀐𥀓𥀔𥀖𥀘𥀙𥀛𥀝𥀠𥀣𥀥𥀫-𥀮𥀰-𥀲𥀵𥀹-𥀻𥀾𥁁-𥁃𥁆𥁇𥁎𥁐-𥁒𥁕𥁟-𥁢𥁮𥁯𥁲𥁵𥁸𥁹𥂁-𥂃𥂋𥂒𥂓𥂙𥂢-𥂨𥂰𥂵𥂸𥃀𥃌𥃔𥃕𥃟𥃠𥃣𥃤𥃧-𥃫𥃮𥃰𥃴𥃵𥃸-𥃺𥃽-𥃿𥄁𥄇-𥄉𥄋𥄍𥄎𥄑-𥄘𥄛-𥄝𥄦𥄨𥄱𥄲𥄴-𥄹𥄻-𥄽𥄿𥅁𥅄𥅑-𥅔𥅗𥅘𥅞-𥅡𥅦-𥅨𥅪𥅬𥅴𥅵𥅷𥅸𥅺𥅻𥆅𥆆𥆉𥆌𥆑𥆔𥆖𥆘-𥆟𥆡𥆣𥆥-𥆧𥆯𥆲𥆶-𥆸𥇄𥇆𥇇𥇉𥇌-𥇏𥇑-𥇜𥇞-𥇠𥇢𥇭𥇯-𥇳𥇿𥈂𥈄𥈆-𥈋𥈏𥈑-𥈓𥈕-𥈜𥈟𥈬𥈮𥈷𥈸𥈻-𥉁𥉃-𥉈𥉊-𥉌𥉐-𥉖𥉘𥉙𥉜𥉝𥉟𥉰𥉴-𥉸𥉺-𥊀𥊇-𥊊𥊑-𥊔𥊧𥊪-𥊯𥊴𥊶𥊸𥊼-𥊿𥋁𥋌𥋙-𥋝𥋟𥋡𥋣-𥋥𥋮𥋿-𥌆𥌈𥌊𥌍𥌏𥌐𥌘𥌚𥌛𥌞𥌟𥌤𥌨-𥌪𥌭-𥌱𥌺-𥍁𥍅𥍆𥍉𥍋𥍓𥍔𥍚𥍝-𥍟𥍣𥍨𥍪-𥍯𥍱-𥍴𥍷-𥍼𥎀𥎂𥎃𥎅𥎆𥎈𥎊𥎋𥎍𥎎𥎐-𥎘𥎛𥎜𥎟𥎡-𥎤𥎮𥎰𥎱𥎸-𥎺𥏄𥏅𥏇𥏈𥏊𥏎𥏒𥏓𥏕𥏖𥏘𥏙𥏜𥏝𥏠𥏤𥏥𥏨𥏪𥏫𥏮-𥏰𥏷𥏹𥐀-𥐂𥐊𥐑𥐓𥐕𥐘-𥐚𥐞𥐟𥐩𥐬𥐹𥐻𥐽𥐿𥑅𥑇𥑈𥑋𥑎-𥑔𥑡-𥑣𥑥𥑪𥑫𥑯-𥑱𥑳-𥑶𥑸-𥒁𥒓𥒗𥒘𥒛𥒞𥒠-𥒢𥒧𥒨𥒫-𥒮𥒰-𥒳𥒵𥒶𥒾𥓃𥓆-𥓈𥓌𥓍𥓐-𥓒𥓖𥓬𥓰𥓻𥓾-𥔂𥔄𥔇𥔊𥔑𥔡-𥔣𥔩-𥔫𥔭-𥔯𥔱𥔲𥔻𥔽𥕀-𥕂𥕇𥕉𥕍-𥕑𥕓𥕖-𥕙𥕢𥕣𥕦𥕰-𥕲𥕵𥕶𥕸𥕹𥕻-𥕿𥖍𥖗-𥖙𥖜-𥖞𥖠𥖨𥖪-𥖬𥖵𥖶𥖻𥖼𥖾-𥗁𥗊𥗒𥗓𥗙𥗚𥗝𥗟𥗦𥗧𥗪-𥗮𥗵𥗶𥗺𥗽𥗿𥘁𥘄𥘊-𥘌𥘏𥘒𥘠𥘡𥘤-𥘦𥘫𥘬𥘮𥙀𥙁𥙆𥙇𥙉𥙋𥙎𥙡𥙣𥙦𥙨𥙬𥙰𥙾𥙿𥚂𥚉𥚊𥚚𥚛𥚠𥚦𥚩𥚾𥚿𥛂𥛅𥛑𥛘𥛚𥛜-𥛟𥛥𥛧-𥛫𥛯-𥛱𥜃𥜄𥜌𥜏𥜐𥜒𥜓𥜖𥜙𥜚𥜥𥜦𥜬-𥜮𥜰𥜲𥜴-𥜶𥝀𥝂𥝄𥝊-𥝍𥝑𥝒𥝔-𥝖𥝘𥝟𥝠𥝢𥝥-𥝨𥝮𥝸𥝹𥝾𥝿𥞁𥞃-𥞅𥞊𥞍-𥞏𥞒𥞘𥞚-𥞜𥞧𥞩𥞪𥞯𥞲𥞴𥞵𥞺𥞼𥟃𥟅𥟍𥟎𥟒-𥟕𥟗𥟘𥟚𥟪𥟶𥟽-𥠁𥠃-𥠅𥠈-𥠋𥠍𥠛𥠜𥠡𥠩𥠱-𥠴𥠶𥠷𥠹𥠺𥠽𥡀𥡁𥡒𥡜𥡝𥡟𥡠𥡢-𥡤𥡦𥡧𥡪𥡬-𥡮𥡴𥡽𥢇𥢊𥢌-𥢒𥢔𥢟𥢢𥢦𥢧𥢮𥢲𥢶-𥢹𥢻𥢽𥣆𥣈𥣋𥣌𥣗-𥣙𥣛𥣝𥣟𥣤𥣥𥣩𥣫𥣬𥣮-𥣰𥣸-𥣺𥤂𥤊𥤋𥤐𥤗𥤘𥤜𥤞𥤟𥤣-𥤦𥤨𥤩𥤱𥤳-𥤵𥤷-𥤼𥥅𥥈𥥊-𥥍𥥏𥥛𥥝𥥟-𥥡𥥥𥥧𥥩𥥱𥥳-𥥹𥥽-𥦁𥦃𥦅𥦊𥦌𥦍𥦔𥦖𥦘𥦜-𥦟𥦢𥦣𥦥𥦨𥦶𥦷𥧂𥧆𥧇𥧋𥧑-𥧓𥧕𥧙𥧚𥧡𥧣𥧤𥧧𥧫-𥧮𥧰-𥧲𥧴𥧷𥧻𥨌-𥨎𥨐𥨒𥨕𥨜𥨝𥨪𥨳𥨻𥨿𥩀𥩌𥩒𥩔𥩖𥩗𥩙𥩝𥩡-𥩤𥩱𥩲𥪀-𥪂𥪊-𥪍𥪏𥪘𥪚𥪢𥪦𥪧𥪫𥪯𥪱𥪴𥪵𥪻𥪼𥫂𥫃𥫅𥫋𥫎𥫖𥫙𥫛-𥫟𥫢𥫬𥫯-𥫱𥫳-𥫹𥫼𥫽𥬀𥬆𥬈𥬉𥬍𥬎𥬐𥬒-𥬕𥬙𥬜-𥬞𥬠𥬪-𥬴𥬼𥭋𥭌𥭐-𥭔𥭖𥭘-𥭚𥭜-𥭞𥭠-𥭢𥭥𥭫-𥭮𥮍-𥮐𥮒𥮕-𥮘𥮜𥮝𥮣-𥮥𥮧𥮨𥮪𥮬𥮯𥮾𥯃𥯑𥯔-𥯖𥯘-𥯟𥯡𥯢𥯤-𥯦𥯨-𥯪𥯬𥯮𥯳𥯶𥯸𥯾𥰛-𥰣𥰥-𥰨𥰪𥰭𥰮𥰰-𥰳𥰶𥰻𥰼𥰾𥱀-𥱃𥱧𥱨𥱵-𥱽𥲀-𥲋𥲍-𥲑𥲕𥲗𥲚-𥲝𥲟-𥲣𥲥-𥲧𥲪𥳆-𥳉𥳋-𥳐𥳒-𥳘𥳚𥳜-𥳣𥳥𥳪-𥳬𥳯-𥳺𥴐-𥴒𥴕𥴖𥴡𥴤𥴦-𥴯𥴱𥴴𥴵𥴺𥴻𥴿𥵏𥵒𥵜-𥵠𥵣𥵤𥵦-𥵨𥵪-𥵬𥵯𥵶𥶅-𥶈𥶌𥶍𥶏-𥶕𥶗𥶛𥶜𥶢𥶵-𥶷𥶹-𥶻𥶽𥶿-𥷁𥷃-𥷈𥷑𥷔-𥷚𥷜𥷞𥷨-𥷬𥷮𥷱𥷹𥷼𥸃𥸈-𥸊𥸗𥸘𥸚𥸡-𥸥𥸧𥸨𥸪𥸬𥸲𥸴𥸵𥸸𥹁𥹂𥹄𥹆𥹇𥹉-𥹍𥹓𥹔𥹖𥹚-𥹜𥹠𥹩𥹫𥹬𥹱-𥹸𥹺𥹻𥺅𥺉𥺊𥺙𥺚𥺜-𥺞𥺣𥺴𥺵𥺷𥻄𥻇𥻉𥻋𥻍𥻑𥻒𥻗𥻝𥻞𥻤-𥻩𥻫𥻬𥻮𥻴𥻾-𥼀𥼂𥼃𥼅𥼘𥼚-𥼜𥼞𥼟𥼩-𥼮𥼶𥼺-𥼼𥽁𥽈𥽏𥽐𥽒𥽗𥽘𥽟𥽥𥽧𥽬𥽰𥽳𥽶𥽸𥽿𥾂𥾅𥾇𥾊-𥾍𥾐𥾓𥾕𥾚𥾛𥾝𥾡𥾣𥾤𥾧𥾨𥾬𥾮𥾯𥾹𥾼𥿃-𥿇𥿉-𥿋𥿍𥿎𥿑𥿚𥿜-𥿞𥿦-𥿫𥿭-𥿰𥿴𥿵𥿷𥿹𥿺𦀇𦀓-𦀖𦀘𦀛-𦀝𦀠𦀡𦀣𦀨𦀸𦁄𦁆-𦁊𦁍-𦁐𦁕-𦁗𦁙𦁛𦁜𦁟𦁲𦁳𦁶𦁷𦂀𦂄-𦂍𦂑𦂒𦂔-𦂗𦂠𦂡𦃄𦃇𦃊𦃋𦃒-𦃙𦃝𦃡𦃢𦃤𦃽𦄂𦄊-𦄍𦄏-𦄑𦄓𦄔𦄜𦄯𦄰𦄼𦄽𦅀𦅃𦅄𦅆-𦅈𦅊𦅋𦅏𦅑𦅔𦅵-𦅸𦅺𦅼𦅽𦅿-𦆁𦆄𦆆𦆈𦆋-𦆍𦆘𦆞𦆟𦆡𦆤𦆦𦆸𦆻𦆾𦇀𦇁𦇄𦇅𦇎𦇔𦇖𦇘𦇙𦇛𦇧𦇪𦇬𦇭𦇱𦇲𦇵𦇸𦈃𦈅𦈈𦈉𦈋𦈌𦈎-𦈡𦈣𦈤𦈦-𦈩𦈬𦈰𦈲𦈵-𦈸𦈺𦈻𦉂𦉆𦉈𦉉𦉎𦉐𦉙𦉝𦉟𦉢𦉧𦉬𦉹𦊁-𦊃𦊊-𦊌𦊎𦊐𦊑𦊓𦊗𦊘𦊦𦊧𦊪-𦊬𦊱𦊹𦊻-𦊿𦋅𦋆𦋈𦋉𦋋𦋓𦋔𦋞𦋡-𦋣𦋩𦋪𦋯𦋰𦋳𦋿-𦌁𦌆𦌉-𦌋𦌒𦌔𦌕𦌗𦌚𦌟𦌡𦌢𦌦𦌩𦌪𦌬𦌰𦌷𦌸𦌺𦌿-𦍁𦍄𦍅𦍌𦍏𦍒𦍓𦍕𦍦𦍧𦍩𦍪𦍭𦍱𦍲𦍴𦍵𦍷-𦍺𦍼𦎄𦎇𦎈𦎊𦎌𦎎-𦎐𦎒𦎓𦎘𦎚𦎜-𦎞𦎢𦎣𦎦-𦎨𦎭-𦎱𦎵𦎷-𦎹𦎼𦏀𦏂𦏅-𦏇𦏔𦏕𦏗𦏛𦏜𦏢𦏤-𦏦𦏨𦏮𦏱𦏳𦏷-𦏻𦏿𦐁𦐄-𦐉𦐌𦐍𦐖𦐛𦐠𦐡𦐣𦐤𦐦𦐨𦐰𦐳𦐸-𦐺𦐽-𦑀𦑇𦑈𦑋-𦑏𦑑𦑘-𦑡𦑣𦑯𦑱𦑲𦑵𦑶𦑸-𦑼𦑾𦒁𦒃𦒅𦒆𦒈𦒍-𦒑𦒜𦒝𦒟𦒦𦒧𦒰𦒴𦒶𦒺𦒻𦓈𦓋𦓍𦓎𦓐𦓓-𦓖𦓝𦓢𦓤𦓥𦓧𦓬𦓯-𦓱𦓳𦓴𦓹-𦓾𦔂-𦔆𦔈𦔉𦔋-𦔎𦔓𦔔𦔖𦔗𦔛𦔜𦔠𦔥𦔦𦔩𦔫-𦔰𦔷-𦔹𦔼𦔿𦕆𦕉𦕏𦕒𦕓𦕙𦕠-𦕢𦕰𦕵𦕷𦕸𦕺𦕽𦖀𦖈-𦖋𦖍𦖎𦖐𦖝𦖞𦖢𦖤𦖦𦖧𦖩𦖬𦖸𦖺𦖼-𦗁𦗋𦗍𦗐-𦗗𦗛𦗜𦗟𦗡-𦗣𦗥𦗧𦗨𦗮𦗳-𦗵𦗻𦗼𦘊𦘌𦘍𦘒𦘔𦘩𦘪𦘲-𦘶𦘸𦘹𦘼𦘿𦙀𦙂𦙄𦙆-𦙋𦙙𦙜𦙝𦙧𦙨𦙫𦙮𦙯𦙱𦙴-𦙶𦙸-𦙻𦚈𦚊𦚏𦚐𦚓𦚝-𦚟𦚡-𦚣𦚥-𦚩𦚫𦚸𦛅𦛏𦛐𦛓-𦛚𦛜-𦛠𦛢-𦛤𦛧𦛨𦛯-𦛲𦜁𦜃𦜄𦜆𦜇𦜊𦜋𦜍-𦜐𦜒𦜓𦜖𦜛𦜜𦜭𦜯-𦜴𦜷𦜸𦝏𦝒𦝔𦝖𦝚𦝛𦝝-𦝟𦝢-𦝨𦝪𦝬𦝮𦝰𦝳𦝴𦝷𦝼𦞁𦞂𦞆-𦞈𦞌𦞕-𦞗𦞙𦞚𦞝-𦞟𦞡-𦞦𦞨𦞫-𦞭𦞱𦞲𦞽𦟂-𦟄𦟓-𦟕𦟘𦟙𦟛𦟜𦟞-𦟠𦟣𦟤𦟧𦟮𦟰-𦟳𦠁𦠄-𦠇𦠉𦠎𦠒𦠓𦠖𦠛𦠜𦠞-𦠠𦠢𦠣𦠦𦠪𦠷-𦠻𦠾𦠿𦡂-𦡆𦡉𦡕𦡖𦡙𦡨𦡪𦡫𦡭𦡱𦡲𦡴𦡵𦡷𦡹-𦡽𦢆𦢊𦢎-𦢐𦢙𦢣𦢧𦢩𦢯𦢱𦢺𦢿𦣀𦣂𦣄𦣇𦣋𦣍𦣏𦣒𦣖𦣘𦣛𦣜𦣢𦣥-𦣩𦣯𦣴𦣸-𦣻𦣾𦤂𦤇𦤈𦤊𦤋𦤎𦤕𦤘-𦤚𦤟𦤢𦤣𦤦-𦤨𦤪-𦤬𦤸𦤻𦤽𦥁𦥂𦥈-𦥊𦥍-𦥑𦥖𦥚𦥝𦥣𦥤𦥦𦥬𦥭𦥯-𦥲𦥻𦦃-𦦅𦦌𦦑𦦕𦦗𦦘𦦛𦦜𦦢𦦣𦦧𦦩𦦫𦦯𦦱𦦲𦦹𦦺𦦽-𦦿𦧁𦧅𦧈𦧉𦧋𦧍𦧏𦧐𦧒𦧔𦧖𦧘-𦧛𦧝-𦧢𦧤𦧥𦧬𦧮𦧯𦧱𦧴𦧵𦧸𦧹𦧼𦨆-𦨉𦨋𦨍𦨎𦨖𦨙𦨚𦨜𦨡-𦨤𦨦𦨩𦨬𦨭𦨯𦨰𦨲-𦨵𦨸𦨾𦩄𦩈𦩋-𦩍𦩏𦩕𦩖𦩘𦩜-𦩞𦩠-𦩤𦩧𦩩𦩫-𦩭𦩯𦩱𦩲𦩴𦩵𦩷𦩸𦩼𦩿𦪀𦪇𦪈𦪊𦪋𦪍𦪑𦪒𦪔-𦪝𦪠𦪡𦪣𦪧𦪪-𦪭𦪱𦪶𦪹𦪽-𦫀𦫃𦫈-𦫊𦫎𦫔-𦫖𦫙𦫡𦫤𦫪𦫫𦫭-𦫰𦫳𦫶𦫻𦬁-𦬅𦬔-𦬛𦬞𦬣𦬸-𦬻𦬾𦭁𦭈𦭉𦭜𦭟𦭡𦭥𦭭-𦭰𦭲-𦭼𦮁𦮃𦮅𦮐𦮑𦮯𦮶-𦮼𦮾𦯀𦯅𦯈𦯉𦯌𦯍𦯏-𦯒𦯕𦯖𦯛𦯣𦯤𦯪-𦯬𦯯𦯰𦰏𦰖𦰘𦰙𦰛𦰡𦰥𦰪-𦰭𦰯-𦰴𦰸-𦰺𦰽𦰾𦱀-𦱃𦱅-𦱇𦱊-𦱌𦱒-𦱔𦱖𦱜𦱠𦱣𦱰-𦱲𦱵𦱷𦲫𦲯-𦲱𦳁𦳃-𦳅𦳇𦳈𦳊-𦳌𦳏-𦳑𦳓𦳔𦳗𦳘𦳚-𦳟𦳡-𦳣𦳥-𦳧𦳩𦳫-𦳮𦳲𦳳𦳶𦳷𦳹𦳺𦳽-𦴀𦴉𦴊𦴌-𦴎𦴑𦴔𦴚𦵐𦵟𦵡𦵣𦵦𦵧𦵩-𦵭𦵯𦵱𦵴𦵵𦵷𦵸𦵼-𦶀𦶂𦶅𦶇𦶈𦶊-𦶑𦶓𦶕𦶙𦶚𦶲𦷙𦷝𦷦𦷲-𦷵𦷷-𦷹𦷻𦷽𦷿𦸁𦸂𦸆𦸈-𦸊𦸏𦸐𦸓𦸔𦸗-𦸛𦸡-𦸣𦸪𦸮-𦸱𦸶𦸷𦸺𦹫𦹽𦺀𦺆𦺇𦺉-𦺎𦺐-𦺔𦺖-𦺙𦺛𦺜𦺞-𦺣𦺥-𦺭𦺰-𦺲𦺴-𦺹𦺻𦺽𦺾𦻀𦻁𦻃𦻅𦼆-𦼋𦼎𦼏𦼓𦼗𦼡𦼢𦼧𦼪𦼫𦼭𦼮𦼰-𦼵𦼷𦼹𦼻𦼿-𦽅𦽇𦽊𦽋𦽎-𦽐𦽒𦽔-𦽖𦽜𦽞𦽟𦽤𦽫-𦽮𦾏𦾑𦾕𦾘-𦾛𦾝𦾞𦾩𦾫-𦾮𦾱-𦾳𦾵-𦾻𦾽-𦿃𦿅-𦿇𦿊-𦿍𦿏𦿐𦿓𦿖𧀄-𧀇𧀊𧀌𧀔𧀕𧀗-𧀚𧀠-𧀩𧀬-𧀲𧀴-𧀶𧀹-𧀻𧀿𧁃𧁈-𧁋𧁾𧁿𧂁-𧂉𧂋𧂍𧂏𧂐𧂒𧂔𧂙𧂛-𧂞𧂠-𧂢𧂦𧂨𧂩𧃏-𧃒𧃔𧃘-𧃛𧃝-𧃠𧃨-𧃪𧃮𧃱𧄍-𧄔𧄚-𧄜𧄠𧄤𧄸-𧄽𧄿𧅀𧅃𧅆𧅈𧅋𧅖-𧅘𧅚𧅮-𧅰𧅲𧅺𧆂𧆉𧆊𧆏-𧆑𧆓𧆕𧆘𧆜𧆡-𧆣𧆥𧆦𧆮-𧆰𧆷-𧆼𧇄𧇈𧇌-𧇎𧇓𧇙-𧇡𧇥𧇦𧇮-𧇱𧇶-𧇹𧇼𧇿𧈁𧈄𧈅𧈈𧈌𧈍𧈑𧈔𧈖𧈗𧈙𧈚𧈜-𧈞𧈦𧈧𧈪𧈭𧈯𧈹𧈻-𧉃𧉅-𧉈𧉊𧉍𧉎𧉑𧉓𧉗𧉛𧉞𧉟𧉡-𧉥𧉧𧉩-𧉫𧉭𧉮𧉲𧊄𧊅𧊇𧊏𧊒𧊔-𧊖𧊘-𧊜𧊞-𧊠𧊣-𧊧𧊬𧊭𧊯𧊱𧊽𧊾𧋉𧋊𧋌-𧋘𧋚𧋠𧋡𧋱𧋲𧌁𧌃-𧌑𧌓𧌔𧌖-𧌚𧌝𧌞𧌠𧌢𧌣𧌧𧌻𧌽-𧍃𧍒-𧍖𧍘𧍙𧍜𧍝𧍟𧍠𧍢𧍥𧍨-𧍲𧍴-𧍶𧍿𧎃𧎄𧎕-𧎙𧎡𧎣-𧎥𧎨𧎪𧎫𧎭-𧎵𧎷-𧎻𧎾𧎿𧏂𧏃𧏆𧏋𧏑𧏓𧏥𧏧𧏫𧏸-𧏻𧏽-𧏿𧐁𧐃-𧐅𧐈-𧐎𧐐𧐒-𧐗𧐙𧐟𧐬𧐯-𧐴𧑀𧑆-𧑈𧑊-𧑎𧑐-𧑚𧑜𧑝𧑠𧑡𧑤𧑦-𧑩𧑫𧒀𧒂𧒈𧒎𧒐𧒑𧒓𧒕-𧒗𧒙𧒚𧒜𧒝𧒨𧒭𧒽𧒿-𧓂𧓄𧓋𧓎-𧓑𧓓-𧓘𧓨-𧓪𧓲𧓴𧓸𧓺𧓻𧓽𧓿𧔂𧔅𧔖𧔗𧔝𧔞𧔡𧔣-𧔪𧔬-𧔮𧔳𧔴𧔷𧔼𧕃-𧕅𧕇𧕉𧕋-𧕎𧕒𧕓𧕙𧕝-𧕟𧕡𧕤-𧕨𧕮𧕯𧕱𧕲𧕴𧕵𧕸𧕺𧕼𧕿𧖁𧖆𧖇𧖉𧖑𧖒𧖔𧖘-𧖚𧖜𧖠𧖢𧖨𧖪𧖬𧖮𧖵𧖷𧖻𧖼𧖿𧗁𧗆𧗈𧗋𧗌𧗎𧗏𧗒𧗖𧗦𧗩-𧗫𧗱𧗲𧗴𧗶𧗸𧗹𧗼𧗿𧘂𧘃𧘈𧘍𧘏𧘑𧘗𧘜𧘞𧘟𧘢𧘥𧘧-𧘩𧘫𧘮𧘽𧘿-𧙁𧙃-𧙉𧙌𧙏𧙛𧙝𧙞𧙡𧙣-𧙥𧙧𧙭𧙮𧙶𧙸𧙺𧙾𧚀-𧚇𧚉𧚋𧚏𧚐𧚡𧚥𧚨-𧚭𧚯𧚷𧛄𧛏𧛒-𧛔𧛗𧛚𧛞𧛟𧛡𧛢𧛧𧛸-𧛼𧛾𧜁-𧜃𧜅𧜉𧜊𧜔𧜚𧜞𧜠𧜡𧜣𧜤𧜦𧜧𧜱𧜲𧜵𧜽𧝂𧝃𧝆𧝇𧝉-𧝋𧝎𧝐-𧝒𧝔𧝕𧝗𧝘𧝜𧝤𧝪-𧝬𧝮𧝲𧝳𧝷𧝸𧞀𧞍𧞏-𧞒𧞕𧞝𧞞𧞣𧞩-𧞭𧞰𧞲𧞸-𧞺𧟃𧟄𧟌𧟑𧟘𧟙𧟜𧟠𧟣𧟨𧟬𧟱𧟼𧠂𧠆𧠈𧠊𧠋𧠎𧠒𧠓𧠚-𧠟𧠡-𧠣𧠥𧠦𧠩-𧠬𧠴𧠶𧠼-𧠾𧡇-𧡉𧡋𧡍𧡏𧡑𧡘-𧡚𧡜𧡡-𧡤𧡦𧡨-𧡬𧡮𧡯𧡴-𧡶𧡸-𧡺𧡼𧢂𧢃𧢆𧢋𧢌𧢐𧢒𧢖𧢛-𧢞𧢢𧢦𧢧𧢩𧢬𧢭𧢰𧢵𧢶𧢹𧢼-𧢾𧣁𧣃𧣋𧣌𧣑𧣒𧣕𧣖𧣚𧣛𧣟𧣡-𧣤𧣦𧣩𧣪𧣬𧣭𧣵𧣷-𧣼𧣾𧤃𧤍-𧤓𧤕-𧤗𧤙𧤛𧤜𧤟-𧤡𧤣𧤨𧤮𧤯𧤲𧤴𧤵𧤼𧤽𧥄𧥆𧥈𧥊-𧥎𧥑𧥓𧥕𧥖𧥚-𧥜𧥞𧥟𧥣𧥤𧥮𧥯𧥱𧥴𧥵𧥷-𧥺𧥼𧥿𧦁𧦎𧦑𧦚𧦝-𧦟𧦤𧦧𧦭𧦮𧦸𧦹𧧃-𧧇𧧉-𧧋𧧏𧧒-𧧕𧧜𧧝𧧟𧧠𧧩𧧵𧧶𧧸-𧧻𧧾𧨀𧨂𧨄𧨆𧨈𧨊𧨋𧨗𧨟𧨡𧨧𧨩𧨰-𧨵𧨷-𧨹𧨾𧨿𧩃𧩅𧩒𧩓𧩚𧩝𧩣𧩦-𧩨𧩪-𧩬𧩮𧩰-𧩲𧩴𧩶𧩸𧩹𧩼𧪅𧪇𧪓𧪕𧪘𧪚𧪝𧪞𧪠-𧪣𧪦𧪨𧪫𧪮𧪯𧪹𧫊𧫑-𧫓𧫕𧫗𧫛-𧫞𧫠-𧫢𧫤-𧫧𧫬𧫹𧫾𧫿𧬁𧬂𧬅-𧬈𧬊-𧬌𧬏𧬕𧬞𧬤𧬦-𧬬𧬰𧬱𧭃𧭇𧭈𧭊𧭌-𧭏𧭓-𧭕𧭚𧭜-𧭠𧭣-𧭦𧭪𧭳𧭵𧭸𧭹𧭻-𧭾𧮆𧮈𧮍𧮑-𧮓𧮗𧮙𧮛𧮝𧮞𧮠𧮡𧮤𧮪-𧮮𧮰𧮱𧮳-𧮶𧮺-𧮽𧮿𧯀𧯃𧯆𧯈-𧯍𧯏𧯒𧯖-𧯘𧯞𧯠𧯡𧯤-𧯦𧯨𧯩𧯫𧯯-𧯲𧯺𧯼𧯾𧰃𧰄𧰇𧰈𧰊𧰒𧰘𧰙𧰠𧰡𧰣𧰨-𧰫𧰭𧰯-𧰲𧰴𧰵𧰷𧰹𧰻𧰿𧱀𧱄-𧱆𧱊𧱏𧱐𧱒𧱓𧱘𧱜𧱝𧱡𧱢𧱩-𧱬𧱰𧱲-𧱵𧱹𧱻𧱼𧱾𧲀𧲂-𧲅𧲇𧲈𧲋-𧲍𧲗-𧲙𧲜𧲝𧲡𧲢𧲤-𧲨𧲭-𧲱𧲴𧲵𧲺𧲻𧲾-𧳂𧳄-𧳆𧳉𧳌-𧳐𧳕𧳙-𧳠𧳣𧳦-𧳮𧳶𧳸𧳹𧳻𧳼𧳿𧴁-𧴅𧴇𧴉𧴊𧴌𧴎𧴓𧴕-𧴗𧴙𧴚𧴠𧴢-𧴥𧴪𧴬𧴭𧴲𧴸𧴺𧵃𧵈𧵊-𧵌𧵎𧵛𧵞𧵠-𧵤𧵧𧵨𧵬𧵭𧵱𧵳𧵻𧵼𧶄𧶆𧶇𧶊𧶍𧶔-𧶖𧶙𧶜𧶠𧶡𧶲𧶵-𧶸𧶺𧷅𧷋𧷎𧷐-𧷒𧷛𧷟𧷡𧷥-𧷧𧷱𧷳𧷶𧷾𧷿𧸂𧸅𧸈𧸕-𧸙𧸦-𧸫𧸲𧸽-𧸿𧹈𧹊𧹌𧹐𧹑𧹓𧹕-𧹗𧹛𧹞𧹣𧹨𧹩𧹬𧹭𧹲-𧹴𧹶𧹺𧹽𧹾𧺅𧺎-𧺐𧺒𧺜𧺝𧺟-𧺤𧺧𧺨𧺰𧺲𧺴𧺶-𧺺𧺼-𧺿𧻁𧻃𧻍𧻒-𧻚𧻜𧻝𧻧𧻰-𧻺𧻼𧻿𧼊𧼎-𧼙𧼜𧼟𧼠𧼤𧼨-𧼱𧼳-𧼶𧽄-𧽆𧽉-𧽔𧽖𧽞-𧽠𧽢-𧽩𧽫𧽲𧽶-𧽸𧽻-𧽿𧾁𧾂𧾆𧾇𧾊𧾍-𧾑𧾔𧾚𧾛𧾝𧾠-𧾥𧾧-𧾩𧾮-𧾳𧾵𧾶𧾻𧾽𧾾𧿅𧿆𧿈𧿉𧿋𧿌𧿏𧿒-𧿚𧿝𧿞𧿠𧿥𧿧-𧿩𧿫𧿲-𧿷𧿹-𧿽𨀀𨀄𨀅𨀔-𨀖𨀘𨀙𨀛-𨀝𨀟𨀠𨀤𨀥𨀧𨀨𨀫𨀬𨀮𨀯𨀳𨀴𨀶𨀸𨁀-𨁒𨁗𨁟-𨁡𨁴𨁶-𨁺𨁽𨁿-𨂃𨂅𨂇𨂐𨂒𨂜-𨂣𨂦𨂩-𨂫𨂭𨂯-𨂲𨂴𨂵𨂺𨂿𨃃-𨃅𨃇𨃓𨃕-𨃛𨃞𨃟𨃣𨃤𨃭𨃯𨃰𨃲𨃳𨄄𨄅𨄇-𨄍𨄐𨄓-𨄕𨄗𨄚𨄛𨄮-𨄱𨅅𨅊𨅋𨅍-𨅏𨅑-𨅔𨅗𨅘𨅝𨅣𨅤𨅪𨅬𨆁-𨆅𨆇-𨆊𨆌-𨆏𨆙𨆧𨆨𨆪𨆬𨆰-𨆲𨆵𨆽𨆾𨇁𨇃-𨇆𨇍𨇎𨇕-𨇙𨇝𨇤𨇦𨇨𨇩𨇯𨇻-𨇽𨈀𨈈𨈊-𨈌𨈎𨈓𨈕-𨈚𨈥𨈧𨈩𨈫𨈮𨈶𨈷𨈹𨈺𨉁𨉃𨉅𨉋𨉖𨉗𨉚𨉜𨉝𨉡-𨉥𨉩-𨉭𨉱𨉴𨉷-𨉹𨉽𨉾𨊅𨊈𨊉𨊔𨊘𨊚𨊛𨊝-𨊟𨊡𨊢𨊧𨊰𨊱𨊳𨊸-𨊼𨊿𨋀𨋈𨋉𨋐-𨋒𨋔-𨋛𨋝-𨋡𨋥-𨋩𨋫𨋬𨋮-𨋰𨋲𨋷𨋺𨋽𨋾𨌁𨌄-𨌆𨌈𨌌-𨌎𨌑𨌔𨌘𨌝𨌠𨌢-𨌥𨌧-𨌩𨌫-𨌮𨌰𨌳𨌴𨌶𨍅-𨍊𨍎-𨍒𨍛𨍜𨍞𨍢𨍧𨍩𨍫𨍭-𨍰𨍲-𨍴𨍶-𨍺𨎉𨎋-𨎍𨎔𨎖𨎗𨎛𨎝𨎡𨎢𨎤𨎦𨎧𨎩-𨎮𨎳𨎴𨎶-𨎹𨎾𨏂𨏆𨏈-𨏊𨏒𨏔𨏚𨏛𨏞𨏠𨏤𨏥𨏨-𨏬𨏳-𨏶𨏹𨏺𨏿𨐁𨐃𨐅-𨐋𨐍𨐐𨐑𨐔-𨐖𨐛𨐡𨐣𨐥𨐦𨐨𨐩𨐰𨐱𨐳𨐴𨐶𨐾𨑊𨑌𨑎𨑑𨑒𨑜𨑝𨑠𨑣-𨑥𨑨-𨑫𨑹𨑼𨑽𨑿𨒀𨒃-𨒇𨒉-𨒋𨒍𨒑𨒙𨒜𨒞𨒢𨒤𨒦-𨒩𨒫𨒬𨒮𨒱𨒲𨒴𨒼𨒽𨓁𨓇𨓈𨓊𨓍𨓚𨓞𨓦𨓨𨓩𨓬-𨓰𨓲-𨓴𨓷𨓿𨔗𨔙𨔛𨔡-𨔦𨔯𨕕𨕗𨕚𨕜𨕠𨕢𨕦𨕧𨕹-𨕻𨕽𨕿𨖃𨖊-𨖌𨖎𨖏𨖚𨖛𨖠𨖢𨖬-𨖮𨖰𨖱𨖳-𨖷𨖹𨖼𨖾𨖿𨗓𨗝𨗞𨗡𨗥𨗦𨗨𨗰𨗼𨗾𨘁-𨘄𨘇𨘉𨘌𨘔𨘙𨘞𨘬𨘮𨘲𨘴𨘵𨘸𨘼𨘾𨙀𨙂𨙄𨙎𨙏𨙓𨙔𨙡𨙩𨙫-𨙯𨙲-𨙻𨙽𨚍𨚓-𨚙𨚡𨚣𨚧𨚮-𨚶𨚾𨛈-𨛖𨛜𨛡𨛣-𨛥𨛫-𨛱𨛳𨛵𨛶𨜌-𨜔𨜖-𨜘𨜜𨜩𨜰𨜱𨜳-𨜷𨜺-𨝀𨝆𨝈𨝋-𨝑𨝓𨝖𨝘𨝛𨝜𨝞𨝟𨝢𨝦𨝨𨝩𨝫𨝭-𨝵𨝸𨞌𨞎𨞐-𨞓𨞕𨞗-𨞙𨞛𨞢𨞣𨞨-𨞫𨞲𨞳𨞶𨞷𨞺𨞼-𨞿𨟂-𨟄𨟊𨟏𨟑𨟖𨟗𨟙𨟚𨟠𨟥𨟲𨟴-𨟶𨟸-𨟺𨟼-𨟾𨠋𨠌𨠎-𨠔𨠖𨠟𨠡𨠤-𨠦𨠬𨠭𨠶-𨠹𨠿𨡁-𨡄𨡌-𨡒𨡗𨡞𨡡-𨡤𨡩𨡫-𨡮𨡱𨡲𨡴𨡸𨡻𨢂𨢅-𨢌𨢎𨢐𨢑𨢜𨢠𨢢-𨢦𨢩𨢪𨢬𨢮𨢯𨢵𨢸𨢹𨢿-𨣅𨣇𨣈𨣍𨣔𨣕𨣗-𨣛𨣝𨣠𨣢𨣦-𨣨𨣬𨣯𨣱𨣵𨣸𨣻𨣾𨤂-𨤄𨤇𨤎𨤑𨤕𨤘𨤚𨤡𨤢𨤤𨤩𨤫𨤱𨤴𨤷𨤹𨤽𨥂𨥇𨥍𨥑𨥙𨥛𨥞𨥣𨥦-𨥨𨥪𨥴𨥶𨥸𨥺𨦂-𨦄𨦆𨦖𨦗𨦛𨦜𨦞𨦡𨦭-𨦱𨦳𨧀𨧐𨧑𨧕-𨧗𨧙𨧥-𨧨𨧪𨧫𨧭𨧰𨧱𨧳𨧵𨨏𨨗-𨨜𨨠𨨡𨨬𨨭𨨯-𨨴𨨶-𨨺𨩥-𨩬𨩯𨩰𨩲𨩴-𨩶𨩸𨩻𨩽𨪄𨪅𨪈-𨪊𨪌-𨪒𨪕𨪗𨪳𨪶𨪷𨪹𨪺𨪾-𨫁𨫒𨫔𨬁𨬅𨬍𨬐-𨬒𨬔-𨬗𨬚𨭁-𨭃𨭅𨭆𨭉𨭎𨭓𨭖𨭗𨭚𨭛𨭺𨮂𨮒𨮔𨮪𨮬𨮭𨮴𨮸-𨮻𨮿𨯓𨯞𨯲𨯽𨰂𨰆𨰏𨰑𨰓𨰛𨰜𨰞𨰠𨰦𨰭𨰵𨰸𨰻𨰾-𨱅𨱇-𨱖𨱙-𨱝𨱡𨱣𨱦𨱧𨱫𨱭-𨱯𨱱𨱵𨱸𨱺-𨱼𨱿-𨲁𨲄𨲆𨲈-𨲋𨲎𨲐-𨲓𨲗𨲛𨲜𨲞𨲟𨲧𨲪-𨲱𨲳𨲵𨲾-𨳂𨳆𨳉-𨳌𨳑𨳔𨳕𨳗-𨳛𨳝𨳞𨳠𨳡𨳣𨳲𨳷𨳺-𨳼𨳿𨴀𨴆𨴊𨴌-𨴓𨴗𨴘𨴚-𨴜𨴞𨴡-𨴣𨴩𨴪𨴬𨴭𨴯𨴰𨴹-𨴼𨴾𨵂-𨵄𨵆𨵈-𨵎𨵐𨵗𨵘𨵚𨵛𨵝-𨵡𨵥-𨵧𨵩-𨵮𨵰𨵴𨵶𨵸𨵼𨶀-𨶂𨶅-𨶈𨶊𨶐𨶗𨶙𨶜𨶝𨶟𨶠𨶢𨶨𨶪𨶬-𨶲𨶺𨶼𨶽𨶿-𨷁𨷃𨷄𨷆𨷇𨷎𨷐𨷒-𨷔𨷘𨷙𨷥𨷦𨷩𨷬-𨷮𨷱𨷲𨷻𨷽-𨸇𨸉𨸋𨸌𨸎𨸐-𨸔𨸗-𨸝𨸟𨸩𨸬-𨸱𨸷𨸺-𨸼𨹀𨹁𨹃𨹅𨹆𨹈𨹊-𨹌𨹔𨹗-𨹚𨹜𨹝𨹡𨹵𨹶𨹸𨹹𨹻𨺀𨺅𨺖𨺘-𨺚𨺝𨺟-𨺩𨺫𨺭𨺮𨺵𨺸𨺹𨺿-𨻄𨻆𨻈𨻊𨻌𨻍𨻏𨻒𨻕-𨻗𨻣𨻥𨻧𨻨𨻱-𨻳𨻵𨻷𨻺-𨻼𨼈-𨼎𨼐-𨼔𨼣-𨼥𨼪-𨼬𨼮𨼯𨼱𨼽𨼿-𨽂𨽄𨽉𨽊𨽍𨽏-𨽑𨽖𨽗𨽟𨽦-𨽨𨽯𨽲𨽷𨽹𨽻𨽼𨽿𨾂𨾅𨾉𨾊𨾌𨾎𨾒-𨾔𨾗𨾚𨾛𨾞𨾡𨾤𨾬𨾰𨾴𨾻𨾾𨿁𨿇𨿏𨿐𨿛𨿠𨿢𨿭𨿿𩀋𩀖𩀜𩀞𩀠𩀣𩀧𩀪𩀫𩀲𩀶𩀼𩀿𩁌𩁞𩁟𩁯𩁴𩁷𩁺𩂂-𩂄𩂆𩂈𩂉𩂍𩂎𩂒-𩂗𩂙𩂝𩂞𩂢-𩂨𩂪𩂫𩂴𩂵𩂹𩂻-𩃁𩃃𩃋𩃍𩃎𩃐-𩃒𩃕𩃖𩃘-𩃚𩃜𩃞𩃠𩃡𩃬𩃭𩃯-𩃱𩃴-𩃷𩃹𩃺𩃾𩄅𩄊𩄋𩄕-𩄞𩄠-𩄢𩄦𩄪𩄬𩄮𩄯𩄷𩄸𩄺-𩅁𩅃-𩅇𩅌𩅍𩅖𩅝𩅞𩅠-𩅢𩅥-𩅪𩅮𩅰𩅲𩅴𩅼-𩆂𩆄-𩆆𩆎𩆑-𩆔𩆘𩆚𩆝𩆟𩆣𩆤𩆦𩆫𩆮𩆯𩆱𩆲𩆵-𩆸𩆻-𩆽𩆿𩇄𩇇𩇎-𩇐𩇔-𩇖𩇜𩇝𩇟𩇠𩇣𩇩𩇫𩇮𩇯𩇴𩇵𩇺𩇻𩇽𩈁𩈆-𩈋𩈍-𩈑𩈔-𩈗𩈚𩈜𩈞𩈡-𩈦𩈬-𩈯𩈱𩈲𩈴-𩈶𩈸-𩈼𩉀-𩉂𩉄𩉆𩉋𩉍𩉐𩉔𩉕𩉗𩉙𩉜𩉝𩉡𩉢𩉥𩉧𩉫𩉬𩉯-𩉱𩉴𩉵𩉸-𩉺𩉼-𩊅𩊇𩊌𩊍𩊏𩊑𩊓𩊔𩊖𩊚-𩊝𩊡-𩊤𩊨-𩊰𩊴-𩊶𩊺𩊻𩊿𩋁-𩋆𩋈-𩋍𩋏𩋒𩋗-𩋙𩋜-𩋤𩋧-𩋬𩋮-𩋱𩋵𩋷𩋹-𩋻𩋽-𩋿𩌃𩌄𩌆-𩌊𩌌𩌍𩌏-𩌑𩌘𩌝𩌠-𩌢𩌧-𩌰𩌲𩌾𩍂𩍃𩍅𩍆𩍉𩍋𩍌𩍎-𩍐𩍓𩍔𩍖𩍗𩍙𩍚𩍜𩍝𩍡𩍥-𩍨𩍪𩍲𩍳𩍵𩍷𩍸𩍻𩍼𩍿𩎂𩎃𩎉𩎊𩎎𩎑𩎒𩎔-𩎜𩎟𩎢𩎤𩎥𩎫𩎭𩎰𩎲𩎳𩎵𩎷𩎹𩎻-𩎾𩏂𩏅-𩏉𩏏𩏐𩏒𩏓𩏖-𩏘𩏚𩏝-𩏡𩏣-𩏥𩏩-𩏫𩏭-𩏯𩏲𩏴-𩏷𩏹𩏺𩏼-𩐁𩐅𩐆𩐉𩐌𩐍𩐘-𩐜𩐞𩐠𩐡𩐣-𩐦𩐨𩐫-𩐱𩐴-𩐷𩐻𩐼𩐾𩑀-𩑃𩑇-𩑊𩑍𩑐𩑒-𩑚𩑝𩑟𩑡-𩑦𩑬-𩑰𩑳-𩑹𩑻𩑼𩑾𩒀𩒂-𩒄𩒇𩒈𩒊𩒏𩒐𩒓-𩒖𩒘-𩒛𩒝𩒞𩒢𩒣𩒦-𩒨𩒪𩒮𩒰𩒳-𩒵𩒷𩒺𩒼-𩒿𩓂𩓅𩓐𩓒𩓓𩓖𩓗𩓝-𩓠𩓢-𩓨𩓪-𩓬𩓮𩓺-𩓽𩔀-𩔄𩔆-𩔋𩔔𩔕𩔗-𩔚𩔝𩔟-𩔣𩔥𩔦𩔮𩔱𩔳-𩔹𩔻𩔼𩕀𩕆𩕉𩕊𩕌𩕍𩕏𩕐𩕕𩕖𩕜𩕟-𩕡𩕤𩕪𩕬𩕭𩕯𩕱-𩕳𩕵𩕹𩕾𩖀𩖁𩖄𩖇𩖉𩖊𩖌𩖍𩖒𩖔-𩖗𩖛𩖝𩖠𩖣-𩖦𩖨𩖩𩖬𩖭𩖯-𩖱𩖴-𩖺𩖼-𩖾𩗀𩗄𩗅𩗉𩗊𩗎-𩗕𩗘-𩗚𩗜-𩗞𩗢-𩗥𩗧𩗩-𩗫𩗭𩗰-𩗲𩗴-𩗷𩗼-𩗾𩘀𩘁𩘅𩘇𩘈𩘊𩘋𩘍-𩘏𩘑-𩘓𩘘𩘜𩘝𩘟-𩘡𩘤𩘧𩘭-𩘱𩘳𩘵𩘹-𩘽𩘿𩙄𩙆-𩙈𩙏-𩙒𩙖𩙘-𩙝𩙠-𩙣𩙥-𩙰𩙲𩙷𩙸𩙽𩙾𩚂𩚄𩚇-𩚉𩚕-𩚗𩚛𩚣𩚥𩚪-𩚯𩚱𩚲𩚵𩚹𩚻𩚾𩛅-𩛇𩛋𩛌𩛎𩛏𩛑𩛘𩛝-𩛢𩛥-𩛪𩛭𩛮𩛲𩛳𩛵𩛶𩛹-𩛽𩜀𩜁𩜃𩜆𩜇𩜊𩜌𩜍𩜒𩜖𩜟𩜣𩜥-𩜧𩜬𩜭𩜰-𩜳𩜵-𩜸𩜺𩜽𩝈𩝊𩝌𩝐𩝔-𩝗𩝚𩝛𩝝-𩝠𩝣𩝥𩝨𩝷𩝸𩝽-𩞁𩞃-𩞋𩞙𩞞𩞤-𩞩𩞬𩞯𩞶𩞺𩞻𩞾-𩟃𩟅𩟇-𩟋𩟍𩟐-𩟕𩟗𩟞-𩟠𩟥-𩟨𩟫𩟭𩟮𩟰𩟳𩟶-𩟸𩟺𩟿-𩠃𩠅-𩠌𩠎𩠏𩠑𩠚𩠟𩠦𩠨𩠮𩠯𩠶𩠷𩠹𩠻𩠽-𩠿𩡃𩡄𩡌𩡎𩡓-𩡕𩡝𩡟𩡠𩡣𩡦-𩡩𩡫𩡯𩡷𩡺𩡾𩢄𩢅𩢈𩢊𩢌-𩢎𩢐-𩢒𩢔-𩢖𩢘𩢛𩢞𩢡𩢨𩢪𩢫𩢮-𩢱𩢳-𩢹𩢻-𩢿𩣊𩣖𩣘𩣚𩣜-𩣞𩣡𩣣𩣩𩣫𩣮𩣯𩣱-𩣼𩤁𩤈-𩤋𩤏𩤒𩤖-𩤜𩤞-𩤡𩤣-𩤦𩤩𩤲𩤸-𩤺𩤽𩤿𩥁𩥂𩥄-𩥌𩥐𩥑𩥔𩥘𩥠𩥣𩥫-𩥯𩥲𩥴𩥽𩥿𩦂𩦇𩦉-𩦌𩦎𩦐𩦘𩦠-𩦢𩦤𩦱𩦲𩦹𩦺𩧃-𩧌𩧏𩧐𩧒𩧓𩧘𩧜𩧡𩧦𩧨-𩧵𩧺𩧼𩧿-𩨁𩨃-𩨍𩨏-𩨔𩨗-𩨚𩨜-𩨡𩨨𩨩𩨫-𩨯𩨲-𩨴𩨷-𩨹𩨻𩨽𩨾𩩀𩩄𩩅𩩋-𩩍𩩑𩩒𩩔𩩗𩩘𩩛𩩝-𩩢𩩤𩩥𩩧𩩮-𩩴𩩶𩩺-𩩼𩩾𩪀-𩪃𩪈-𩪊𩪌-𩪎𩪐𩪖-𩪘𩪛𩪟𩪢-𩪥𩪧𩪭𩪮𩪱𩪴𩪸𩪺𩪾𩫀-𩫂𩫇𩫊𩫍𩫏𩫓-𩫕𩫠𩫥𩫦𩫫𩫲-𩫴𩫹𩫺𩬀𩬍𩬏𩬑𩬔𩬖𩬗𩬙-𩬠𩬤𩬫𩬭𩬮𩬰-𩬳𩬵𩬷-𩬽𩭇𩭊-𩭌𩭏-𩭓𩭘𩭝𩭟𩭡-𩭧𩭩𩭫𩭯𩭲𩭳𩭷𩭺𩭼-𩮅𩮉𩮎-𩮑𩮖-𩮘𩮚-𩮝𩮟𩮠𩮫𩮬𩮯𩮱𩮳-𩮹𩯃𩯄𩯆-𩯏𩯑𩯒𩯘𩯛𩯜𩯞𩯨𩯰-𩯳𩯺𩯽𩰀𩰃𩰍𩰎𩰓𩰗𩰙𩰞-𩰠𩰢𩰤𩰨𩰪𩰬𩰭𩰯𩰲-𩰶𩰹𩰻𩰽𩰾𩱀𩱁𩱃𩱄𩱆-𩱈𩱊-𩱏𩱓𩱘-𩱚𩱝𩱞𩱦-𩱨𩱪𩱬𩱱-𩱴𩱷𩱻𩱼𩱾𩲁-𩲅𩲈𩲊-𩲏𩲒𩲠-𩲤𩲦-𩲪𩲬𩲱𩲲𩲴𩲵𩲷𩲹𩲻𩲾𩳅-𩳈𩳌-𩳐𩳒-𩳕𩳝𩳡-𩳥𩳧𩳨𩳯𩳲𩳵𩳶𩳸𩴀-𩴃𩴇-𩴉𩴍𩴐-𩴓𩴘𩴙𩴜-𩴡𩴣𩴤𩴧-𩴪𩴮𩴱-𩴳𩴵𩴹-𩴻𩵀𩵄𩵅𩵇𩵉𩵍-𩵏𩵓𩵕-𩵗𩵚𩵛𩵠𩵢𩵣𩵥𩵦𩵩𩵬-𩵮𩵰𩵱𩵹𩶁𩶂𩶄𩶅𩶇-𩶉𩶎𩶖𩶘𩶛𩶞𩶡-𩶧𩶩𩶫𩶭𩶯𩶱𩷁𩷂𩷄𩷋-𩷐𩷓𩷕-𩷘𩷚𩷧𩷭𩷯𩷰𩷵𩷶𩷸𩷹𩷻𩷽𩷾𩸀-𩸄𩸇𩸋𩸎𩸐𩸖𩸞𩸟𩸥-𩸨𩸹𩸾-𩹀𩹂𩹄𩹅𩹇-𩹊𩹍-𩹏𩹑𩹞𩹟𩹢𩹥𩹱𩹳-𩹸𩹺𩹼𩹾𩹿𩺄𩺗𩺛𩺝𩺞𩺫𩺯-𩺲𩺵𩺼𩻋𩻌𩻎𩻖-𩻘𩻚-𩻝𩻟𩻡𩻢𩻤𩻧𩻱𩻵𩻷𩻼𩼂𩼄𩼅𩼈-𩼌𩼒𩼙𩼚𩼦𩼨𩼫𩼭𩼴𩼼𩽀𩽁𩽆𩽇𩽍-𩽏𩽛-𩽞𩽡𩽧-𩽩𩽰𩽳-𩽵𩽷𩽹-𩽾𩾁-𩾈𩾊-𩾌𩾒-𩾕𩾗𩾘𩾚𩾝𩾞𩾠-𩾢𩾧𩾬𩾳𩾶-𩾸𩾺-𩿀𩿂-𩿄𩿈-𩿊𩿑𩿓-𩿕𩿛𩿝𩿟-𩿥𩿧𩿩𩿪𩿬𩿷𩿺𩿽𩿿𪀁𪀈-𪀊𪀏𪀒-𪀕𪀗𪀘𪀚𪀛𪀝-𪀠𪀣𪀥-𪀧𪀩𪀪𪀬𪀭𪀺𪀽-𪁀𪁈-𪁋𪁍-𪁑𪁓-𪁖𪁘𪁚-𪁜𪁞-𪁡𪁥𪁧𪁩𪁪𪁮𪁱𪁲𪁸-𪁺𪁼-𪁾𪂀𪂄-𪂉𪂋-𪂍𪂏𪂒𪂓𪂕𪂛𪂜𪂟𪂠𪂤𪂦𪂧𪂴-𪂶𪂹𪂺𪂼-𪂾𪃂𪃄-𪃆𪃈𪃋𪃍-𪃓𪃛𪃦𪃨𪃭𪃶𪃺𪃼𪃾-𪄂𪄅𪄆𪄈-𪄊𪄌𪄎𪄏𪄑𪄕-𪄗𪄛𪄝𪄭-𪄯𪄱-𪄻𪅂-𪅉𪅋𪅍𪅖𪅙𪅝𪅟𪅮𪅰𪅲𪅴𪅵𪅸-𪅼𪅾𪆀-𪆂𪆋𪆗𪆛𪆠𪆯-𪆷𪆹𪆻𪆿𪇁𪇂𪇄𪇆-𪇈𪇊𪇑-𪇓𪇕-𪇘𪇛-𪇞𪇭𪇯-𪇵𪇷𪇹𪈀𪈃𪈆-𪈈𪈊𪈋𪈑𪈘𪈜𪈟𪈥𪈨𪈩𪈰𪈴𪈸𪈻𪈼𪈿𪉂-𪉆𪉈-𪉒𪉔-𪉘𪉚𪉜𪉢𪉣𪉦-𪉨𪉪𪉭-𪉯𪉱𪉸𪉻𪉿𪊂𪊄𪊆𪊇𪊉𪊍𪊐𪊕𪊗𪊜𪊢𪊥𪊧𪊪𪊳𪊵-𪊷𪊹𪊻𪋁𪋄-𪋇𪋉-𪋍𪋏-𪋑𪋖𪋗𪋜𪋝𪋡𪋢𪋫𪋬𪋮𪋰𪋳𪋺𪋾𪌀𪌂𪌄-𪌆𪌈-𪌋𪌍𪌏𪌓𪌔𪌘𪌞𪌟𪌢-𪌤𪌧𪌩-𪌬𪌮𪌰𪌱𪌳𪌵-𪌷𪌹𪌺𪌼𪌽𪌿𪍁𪍂𪍄𪍅𪍇𪍈𪍌𪍎𪍏𪍑𪍔𪍗𪍛𪍝𪍟-𪍡𪍣𪍤𪍦-𪍪𪍲𪍴-𪍶𪍸-𪍻𪍿𪎃𪎅-𪎋𪎒𪎔𪎗𪎛𪎝𪎞𪎠𪎣𪎤𪎦𪎨𪎫𪎭𪎲𪎴-𪎶𪎺𪎻𪎽𪎾𪏀-𪏂𪏅-𪏋𪏍𪏏𪏐𪏒-𪏔𪏖𪏗𪏙𪏚𪏟𪏠𪏢𪏤𪏦𪏨-𪏫𪏮𪏲-𪏶𪏸𪏺-𪏼𪏿𪐀𪐂-𪐈𪐋-𪐏𪐓𪐔𪐖𪐘𪐝𪐞𪐣𪐥-𪐧𪐬𪐮-𪐰𪐲𪐺𪐻𪐿𪑀𪑂-𪑄𪑆𪑈-𪑌𪑏𪑐𪑒𪑕-𪑗𪑙𪑚𪑜𪑝𪑟𪑦-𪑪𪑬-𪑱𪑳𪑶-𪑹𪑻𪑽-𪒀𪒂𪒄𪒆𪒇𪒊𪒋𪒍𪒏𪒑𪒒𪒔𪒕𪒘𪒙𪒛-𪒝𪒟-𪒢𪒥𪒩-𪒭𪒯𪒲𪒴𪒹𪒼𪒾-𪓀𪓃-𪓅𪓊𪓌𪓍𪓐𪓘𪓚-𪓜𪓡𪓬𪓮𪓰𪓷𪓹𪓻𪓼𪓿𪔂𪔃𪔅𪔆𪔊𪔋𪔍𪔏𪔑𪔔𪔕𪔗-𪔙𪔟𪔣𪔦𪔩𪔪𪔬𪔰𪔳𪔶𪔷𪔺𪔽-𪕁𪕃𪕇-𪕊𪕌-𪕎𪕒-𪕔𪕝𪕞𪕦𪕨𪕩𪕫𪕭-𪕯𪕱𪕳𪕴𪕶𪕷𪕹𪖀-𪖂𪖄𪖇-𪖉𪖋-𪖎𪖐𪖕𪖙-𪖜𪖞𪖢𪖥𪖦𪖩𪖯𪖲𪖳𪖶𪖷𪖼𪗁𪗂𪗅𪗆𪗉𪗋𪗍𪗏𪗐𪗒-𪗔𪗖𪗙𪗜𪗝𪗤𪗦-𪗨𪗭𪗴𪗵𪗷-𪗹𪗻𪗽𪗾𪘀𪘁𪘃𪘆𪘇𪘉𪘊𪘎𪘐-𪘓𪘕𪘗𪘘𪘛𪘝𪘥-𪘪𪘬𪘲𪘳𪘹𪘺𪘾𪙃𪙈𪙊𪙌-𪙏𪙛𪙞𪙟𪙡𪙤𪙥𪙧𪙨𪙫𪙭𪙯𪙳𪙴𪙹𪙺𪙽𪙾𪚁𪚃𪚅𪚇𪚎𪚏𪚑𪚓𪚘𪚝𪚠𪚢𪚥𪚬-𪚰𪚷𪚹-𪚻𪛀𪛂𪛃𪛈𪛊𪛎𪛒𪞝𪟝𪠳𪡈𪡏𪢮𪣝𪣻𪤗𪨇𪨊𪨗𪨧𪨰𪨶𪩘𪪝𪮋𪱷𪷽𪺹𪻐𪽇𪾔𪾢𪾦𫁡𫂈𫂙𫃜𫄛𫄟𫄤𫄥𫄧𫄨𫄷𫄸𫇭𫈰𫉁𫋌𫋐𫌀𫌨𫍙𫍟𫍢𫍣𫍯𫍰𫍲𫍻𫍽𫎫𫎬𫏋𫏐𫐄𫐆𫐉𫐐𫐑𫐓𫐖𫐘𫑡𫒶𫓧𫓩𫓯𫓶𫓹𫔍𫔎𫔶𫖃𫖔𫖮𫖯𫖳𫗠𫗦𫗧𫗩𫗫𫗮𫗰𫗴𫘜-𫘞𫘣𫘤𫘦-𫘨𫘪𫘬𫘭𫚈𫚉𫚒𫚔-𫚖𫚙𫚥𫚭𫛛𫛞𫛢𫛣𫛭𫛳𫛶𫛸𫜨𫜬𫜷𫜸𫞩𫟅𫟦𫟷𫟹𫟼𫠆𫠊𫠜𫠥𫠦𫡑𫢒𫢸𫧯𫫇𫫦𫭟𫭢𫭼𫮃𫮬𫰂𫰛𫵒𫵘𫵷𫶇𫷷𫸩𫼛𫼝𫽮𬀩𬀪𬀷𬁠𬂩𬃊𬄩𬆛𬆮𬇕𬇘𬇙𬇹𬈧𬉼𬊈𬊤𬌗𬍙𬍛𬍡𬍤𬐚𬑔𬑗𬑡𬒈𬒔𬒗𬒘𬓫𬓼𬕂𬘓𬘖𬘘𬘜𬘝𬘡𬘢𬘩𬘫-𬘭𬘯𬘵𬙂𬙆𬙊𬙋𬛸𬜬𬜯𬞟𬟁𬟽𬢊𬣀𬣙𬣞𬣡𬣳𬤇𬤊𬤐𬤝𬤥𬤰𬧀𬨂𬨎𬩽𬪩𬬩𬬫𬬭𬬮𬬱𬬲𬬸-𬬻𬬿𬭁𬭊𬭎𬭚𬭛𬭣𬭤𬭩𬭬𬭯𬭲-𬭴𬭶𬭸𬭼𬮤𬮱𬮿𬯀𬯅𬯎𬰃𬱖𬱟𬱦𬲜𬳲𬳳𬳵𬳶𬳽𬳿𬴂𬴃𬴊𬴐𬶋𬶍𬶏𬶐𬶟𬶠𬶨𬶭𬶮𬷕𬸅𬸘𬸚𬸣𬸦𬸪𬸱𬹼𬺈𬺓𭀖𭄛𭕆𭘓𭚦𭣇𭤰𭪆𭱊𭹜𮆏𮉡𮉢𮉤𮉧𮉨𮉪-𮉬𮉯𮐨𮔂𮔅𮔊𮖁𮖱𮙊𮙋𮝴𮝵𮝸-𮝺𮠞𮣲-𮣷𮤲𮧴𮧵𮩛𮪣𮪥𮫂𮬜-𮬤𮭥𮭦𮭨𮭪𮭰𮯙灰𰃷𰗣𰟘𰧉𰱱𰵝𰵴𰷠𰷥𰻝𰻞𱂨𱂯𱂱𱂻𱃺𱅈𱉔𱊈]+$'
)
PINYIN_TOKENIZER = re.compile(
'(chuang|shuang|zhuang|chang|cheng|chong|chuai|chuan|guang|huang|jiang|jiong|kuang|liang|niang|qiang|qiong|shang|sheng|shuai|shuan|xiang|xiong|zhang|zheng|zhong|zhuai|zhuan|bang|beng|bian|biao|bing|cang|ceng|chai|chan|chao|chen|chou|chua|chui|chun|chuo|cong|cuan|dang|deng|dian|diao|ding|dong|duan|fang|feng|gang|geng|gong|guai|guan|hang|heng|hong|huai|huan|jian|jiao|jing|juan|kang|keng|kong|kuai|kuan|lang|leng|lian|liao|ling|long|luan|mang|meng|mian|miao|ming|nang|neng|nian|niao|ning|nong|nuan|pang|peng|pian|piao|ping|qian|qiao|qing|quan|rang|reng|rong|ruan|sang|seng|shai|shan|shao|shei|shen|shou|shua|shui|shun|shuo|song|suan|tang|teng|tian|tiao|ting|tong|tuan|wang|weng|xian|xiao|xing|xuan|yang|ying|yong|yuan|zang|zeng|zhai|zhan|zhao|zhei|zhen|zhou|zhua|zhui|zhun|zhuo|zong|zuan|ang|bai|ban|bao|bei|ben|bie|bin|cai|can|cao|cen|cha|che|chi|chu|cou|cui|cun|cuo|dai|dan|dao|dei|den|dia|die|diu|dou|dui|dun|duo|eng|fan|fei|fen|fou|gai|gan|gao|gei|gen|gou|gua|gui|gun|guo|hai|han|hao|hei|hen|hou|hua|hui|hun|huo|jia|jie|jin|jiu|jue|jun|kai|kan|kao|kei|ken|kou|kua|kui|kun|kuo|lai|lan|lao|lei|lia|lie|lin|liu|lou|lun|luo|lve|mai|man|mao|mei|men|mie|min|miu|mou|nai|nan|nao|nei|nen|nie|nin|niu|nou|nun|nuo|nve|pai|pan|pao|pei|pen|pie|pin|pou|qia|qie|qin|qiu|que|qun|ran|rao|ren|rou|rua|rui|run|ruo|sai|san|sao|sen|sha|she|shi|shu|sou|sui|sun|suo|tai|tan|tao|tei|tie|tou|tui|tun|tuo|wai|wan|wei|wen|xia|xie|xin|xiu|xue|xun|yan|yao|yin|you|yue|yun|zai|zan|zao|zei|zen|zha|zhe|zhi|zhu|zou|zui|zun|zuo|ai|an|ao|ba|bi|bo|bu|ca|ce|ci|cu|da|de|di|du|ei|en|er|fa|fo|fu|ga|ge|gu|ha|he|hu|ji|ju|ka|ke|ku|la|le|li|lo|lu|lv|ma|me|mi|mo|mu|na|ne|ni|nu|nv|ou|pa|pi|po|pu|qi|qu|re|ri|ru|sa|se|si|su|ta|te|ti|tu|wa|wo|wu|xi|xu|ya|ye|yi|yo|yu|za|ze|zi|zu|zh|ch|sh|[a-z])'
)
QUANPIN_TOKENIZER = re.compile(
'(chuang|shuang|zhuang|chang|cheng|chong|chuai|chuan|guang|huang|jiang|jiong|kuang|liang|niang|qiang|qiong|shang|sheng|shuai|shuan|xiang|xiong|zhang|zheng|zhong|zhuai|zhuan|bang|beng|bian|biao|bing|cang|ceng|chai|chan|chao|chen|chou|chua|chui|chun|chuo|cong|cuan|dang|deng|dian|diao|ding|dong|duan|fang|feng|gang|geng|gong|guai|guan|hang|heng|hong|huai|huan|jian|jiao|jing|juan|kang|keng|kong|kuai|kuan|lang|leng|lian|liao|ling|long|luan|mang|meng|mian|miao|ming|nang|neng|nian|niao|ning|nong|nuan|pang|peng|pian|piao|ping|qian|qiao|qing|quan|rang|reng|rong|ruan|sang|seng|shai|shan|shao|shei|shen|shou|shua|shui|shun|shuo|song|suan|tang|teng|tian|tiao|ting|tong|tuan|wang|weng|xian|xiao|xing|xuan|yang|ying|yong|yuan|zang|zeng|zhai|zhan|zhao|zhei|zhen|zhou|zhua|zhui|zhun|zhuo|zong|zuan|ang|bai|ban|bao|bei|ben|bie|bin|cai|can|cao|cen|cha|che|chi|chu|cou|cui|cun|cuo|dai|dan|dao|dei|den|dia|die|diu|dou|dui|dun|duo|eng|fan|fei|fen|fou|gai|gan|gao|gei|gen|gou|gua|gui|gun|guo|hai|han|hao|hei|hen|hou|hua|hui|hun|huo|jia|jie|jin|jiu|jue|jun|kai|kan|kao|kei|ken|kou|kua|kui|kun|kuo|lai|lan|lao|lei|lia|lie|lin|liu|lou|lun|luo|lve|mai|man|mao|mei|men|mie|min|miu|mou|nai|nan|nao|nei|nen|nie|nin|niu|nou|nun|nuo|nve|pai|pan|pao|pei|pen|pie|pin|pou|qia|qie|qin|qiu|que|qun|ran|rao|ren|rou|rua|rui|run|ruo|sai|san|sao|sen|sha|she|shi|shu|sou|sui|sun|suo|tai|tan|tao|tei|tie|tou|tui|tun|tuo|wai|wan|wei|wen|xia|xie|xin|xiu|xue|xun|yan|yao|yin|you|yue|yun|zai|zan|zao|zei|zen|zha|zhe|zhi|zhu|zou|zui|zun|zuo|ai|an|ao|ba|bi|bo|bu|ca|ce|ci|cu|da|de|di|du|ei|en|er|fa|fo|fu|ga|ge|gu|ha|he|hu|ji|ju|ka|ke|ku|la|le|li|lo|lu|lv|ma|me|mi|mo|mu|na|ne|ni|nu|nv|ou|pa|pi|po|pu|qi|qu|re|ri|ru|sa|se|si|su|ta|te|ti|tu|wa|wo|wu|xi|xu|ya|ye|yi|yo|yu|za|ze|zi|zu|a|o|e|\'|.+?)'
)
normalizer = re.compile(r'(.)')
AVAILABLE_PINYINS = {
"'",
'a',
'ai',
'an',
'ang',
'ao',
'ba',
'bai',
'ban',
'bang',
'bao',
'bei',
'ben',
'beng',
'bi',
'bian',
'biao',
'bie',
'bin',
'bing',
'bo',
'bu',
'ca',
'cai',
'can',
'cang',
'cao',
'ce',
'cen',
'ceng',
'cha',
'chai',
'chan',
'chang',
'chao',
'che',
'chen',
'cheng',
'chi',
'chong',
'chou',
'chu',
'chuai',
'chuan',
'chuang',
'chui',
'chun',
'chuo',
'ci',
'cong',
'cou',
'cu',
'cuan',
'cui',
'cun',
'cuo',
'da',
'dai',
'dan',
'dang',
'dao',
'de',
'dei',
'den',
'deng',
'di',
'dian',
'diao',
'die',
'ding',
'diu',
'dong',
'dou',
'du',
'duan',
'dui',
'dun',
'duo',
'e',
'ei',
'en',
'eng',
'er',
'fa',
'fan',
'fang',
'fei',
'fen',
'feng',
'fo',
'fou',
'fu',
'ga',
'gai',
'gan',
'gang',
'gao',
'ge',
'gei',
'gen',
'geng',
'gong',
'gou',
'gu',
'gua',
'guai',
'guan',
'guang',
'gui',
'gun',
'guo',
'ha',
'hai',
'han',
'hang',
'hao',
'he',
'hei',
'hen',
'heng',
'hong',
'hou',
'hu',
'hua',
'huai',
'huan',
'huang',
'hui',
'hun',
'huo',
'i',
#'ing',
#'iu',
'ji',
'jia',
'jian',
'jiang',
'jiao',
'jie',
'jin',
'jing',
'jiong',
'jiu',
'ju',
'juan',
'jue',
'jun',
'ka',
'kai',
'kan',
'kang',
'kao',
'ke',
'kei',
'ken',
'keng',
'kong',
'kou',
'ku',
'kua',
'kuai',
'kuan',
'kuang',
'kui',
'kun',
'kuo',
'la',
'lai',
'lan',
'lang',
'lao',
'le',
'lei',
'leng',
'li',
'lia',
'lian',
'liang',
'liao',
'lie',
'lin',
'ling',
'liu',
'long',
'lou',
'lu',
'luan',
'lun',
'luo',
'lv',
'lve',
'ma',
'mai',
'man',
'mang',
'mao',
'me',
'mei',
'men',
'meng',
'mi',
'mian',
'miao',
'mie',
'min',
'ming',
'miu',
'mo',
'mou',
'mu',
'na',
'nai',
'nan',
'nang',
'nao',
'ne',
'nei',
'nen',
'neng',
'ng',
'ni',
'nian',
'niang',
'niao',
'nie',
'nin',
'ning',
'niu',
'nong',
'nu',
'nuan',
'nun',
'nuo',
'nv',
'nve',
'o',
'ou',
'pa',
'pai',
'pan',
'pang',
'pao',
'pei',
'pen',
'peng',
'pi',
'pian',
'piao',
'pie',
'pin',
'ping',
'po',
'pou',
'pu',
'qi',
'qia',
'qian',
'qiang',
'qiao',
'qie',
'qin',
'qing',
'qiong',
'qiu',
'qu',
'quan',
'que',
'qun',
#'r',
'ran',
'rang',
'rao',
're',
'ren',
'reng',
'ri',
'rong',
'rou',
'ru',
'ruan',
'rui',
'run',
'ruo',
'sa',
'sai',
'san',
'sang',
'sao',
'se',
'sen',
'seng',
'sha',
'shai',
'shan',
'shang',
'shao',
'she',
'shei',
'shen',
'sheng',
'shi',
'shou',
'shu',
'shua',
'shuai',
'shuan',
'shuang',
'shui',
'shun',
'shuo',
'si',
'song',
'sou',
'su',
'suan',
'sui',
'sun',
'suo',
'ta',
'tai',
'tan',
'tang',
'tao',
'te',
'teng',
'ti',
'tian',
'tiao',
'tie',
'ting',
'tong',
'tou',
'tu',
'tuan',
'tui',
'tun',
'tuo',
'u',
'ui',
'un',
'ur',
#'v',
'wa',
'wai',
'wan',
'wang',
'wei',
'wen',
'weng',
'wo',
'wu',
'xi',
'xia',
'xian',
'xiang',
'xiao',
'xie',
'xin',
'xing',
'xiong',
'xiu',
'xu',
'xuan',
'xue',
'xun',
'ya',
'yan',
'yang',
'yao',
'ye',
'yi',
'yin',
'ying',
'yo',
'yong',
'you',
'yu',
'yuan',
'yue',
'yun',
'za',
'zai',
'zan',
'zang',
'zao',
'ze',
'zei',
'zen',
'zeng',
'zha',
'zhai',
'zhan',
'zhang',
'zhao',
'zhe',
'zhen',
'zheng',
'zhi',
'zhong',
'zhou',
'zhu',
'zhua',
'zhuai',
'zhuan',
'zhuang',
'zhui',
'zhun',
'zhuo',
'zi',
'zong',
'zou',
'zu',
'zuan',
'zui',
'zun',
'zuo',
}
with open('ok.json', 'r') as f:
pinyins = json.load(f)
# e.g. ping'an
# pinyins["'"] = "'"
result = []
normalized_result = []
items_mapper = {'r': 'er', "'": ''}
with open('hanzi_pinyin_words.tsv') as f:
for i in f:
character, pronounciation = i.strip().split('\t')
character = character.strip()
if not CHARACTERS.match(character):
#print('unknown characters:', character)
continue
pronounciation = pronounciation.split('/')[0].strip().lower()
# remove the tone
normalized = ''.join(pinyins.get(i, i) for i in pronounciation)
items = [
items_mapper.get(i, i)
for i in re.split('(' + a_syl + '|.+?)', normalized)
]
if set(items) - {''} - AVAILABLE_PINYINS:
print('unknown pinyin:', character, pronounciation, items)
continue
result.append(f'{character},{"".join(items)}\n')
with open('hanzi_pinyin_words.csv', 'w') as f:
f.writelines(result)
print(len(result))