comparison js/cjst.js @ 89:e681d693240e extractapp

new: generated regex to SmartRegex
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Wed, 03 Jun 2015 16:54:09 +0200
parents
children
comparison
equal deleted inserted replaced
88:61593b047289 89:e681d693240e
1 /* A javascript toolset for helping work with Chinese characters in a web context or nodeJS.
2 *
3 * (The MIT License)
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
5 * and associated documentation files (the 'Software'), to deal in the Software without restriction,
6 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
7 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions:
9 *
10 * The above copyright notice and this permission notice shall be included in all copies or
11 * substantial portions of the Software.
12 *
13 * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
14 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18 *
19 * 這是一份MIT的非官方中文翻譯。它並非MIT發布,也不是使用MIT授權的軟件的法定發布條款——只有MIT授權的英文原版具
20  * 有這樣的效力。然而,我們希望這份翻譯能夠幫助中文讀者更好的理解MIT授權。
21  *
22  * 現授予的權限,免費向任何人索取該軟件和相關的文檔文件( “軟件” ),以處理軟件,沒有任何限制,包括但不限於使用權,複製,
23  * 修改,合併,出版,發行,授權,和/或銷售軟件的副本,並允許的人提供的軟件是這樣做,但須符合下列條件:
24  * 上述版權聲明和本許可聲明中應包括所有副本或實質性部分的軟件。
25  * 該軟件是“按原樣”提供,不做任何保證,明示或暗示,包括但不限於適銷性,針對特定用途的適用性和非侵權的。
26  * 在任何情況下,作者或版權持有人對任何索賠,損害賠償或其他責任,無論是在一項行動的合同,侵權或其他因出於或有關的軟件
27  * 或利用等交易必須軟件。
28 */
29
30
31 (function(window, exports){
32
33 var module = (function(){
34
35 /* A complete lookup reference from pinyin (with no tones) to zhuyin (also with no tones) */
36 var __pinyinToZhuyinLookup = {
37 a:'ㄚ',
38 ai:'ㄞ',
39 an:'ㄢ',
40 ang:'ㄤ',
41 ao:'ㄠ',
42 ba:'ㄅㄚ',
43 bai:'ㄅㄞ',
44 ban:'ㄅㄢ',
45 bang:'ㄅㄤ',
46 bao:'ㄅㄠ',
47 bei:'ㄅㄟ',
48 ben:'ㄅㄣ',
49 beng:'ㄅㄥ',
50 bi:'ㄅㄧ',
51 bian:'ㄅㄧㄢ',
52 biao:'ㄅㄧㄠ',
53 bie:'ㄅㄧㄝ',
54 bin:'ㄅㄧㄣ',
55 bing:'ㄅㄧㄥ',
56 bo:'ㄅㄛ',
57 bu:'ㄅㄨ',
58 ca:'ㄘㄚ',
59 cai:'ㄘㄞ',
60 can:'ㄘㄢ',
61 cang:'ㄘㄤ',
62 cao:'ㄘㄠ',
63 ce:'ㄘㄜ',
64 cen:'ㄘㄣ',
65 ceng:'ㄘㄥ',
66 cha:'ㄔㄚ',
67 chai:'ㄔㄞ',
68 chan:'ㄔㄢ',
69 chang:'ㄔㄤ',
70 chao:'ㄔㄠ',
71 che:'ㄔㄜ',
72 chen:'ㄔㄣ',
73 cheng:'ㄔㄥ',
74 chi:'ㄔ',
75 chong:'ㄔㄨㄥ',
76 chou:'ㄔㄡ',
77 chu:'ㄔㄨ',
78 chua:'ㄔㄨㄚ',
79 chuai:'ㄔㄨㄞ',
80 chuan:'ㄔㄨㄢ',
81 chuang:'ㄔㄨㄤ',
82 chui:'ㄔㄨㄟ',
83 chun:'ㄔㄨㄣ',
84 chuo:'ㄔㄨㄛ',
85 ci:'ㄘ',
86 cong:'ㄘㄨㄥ',
87 cou:'ㄘㄡ',
88 cu:'ㄘㄨ',
89 cuan:'ㄘㄨㄢ',
90 cui:'ㄘㄨㄟ',
91 cun:'ㄘㄨㄣ',
92 cuo:'ㄘㄨㄛ',
93 da:'ㄉㄚ',
94 dai:'ㄉㄞ',
95 dan:'ㄉㄢ',
96 dang:'ㄉㄤ',
97 dao:'ㄉㄠ',
98 de:'ㄉㄜ',
99 dei:'ㄉㄟ',
100 den:'ㄉㄣ',
101 deng:'ㄉㄥ',
102 di:'ㄉㄧ',
103 dia:'ㄉㄧㄚ',
104 dian:'ㄉㄧㄢ',
105 diao:'ㄉㄧㄠ',
106 die:'ㄉㄧㄝ',
107 ding:'ㄉㄧㄥ',
108 diu:'ㄉㄧㄡ',
109 dong:'ㄉㄨㄥ',
110 dou:'ㄉㄡ',
111 du:'ㄉㄨ',
112 duan:'ㄉㄨㄢ',
113 dui:'ㄉㄨㄟ',
114 dun:'ㄉㄨㄣ',
115 duo:'ㄉㄨㄛ',
116 e:'ㄜ',
117 ei:'ㄟ',
118 en:'ㄣ',
119 eng:'ㄥ',
120 er:'ㄦ',
121 fa:'ㄈㄚ',
122 fan:'ㄈㄢ',
123 fang:'ㄈㄤ',
124 fei:'ㄈㄟ',
125 fen:'ㄈㄣ',
126 feng:'ㄈㄥ',
127 fo:'ㄈㄛ',
128 fou:'ㄈㄡ',
129 fu:'ㄈㄨ',
130 ga:'ㄍㄚ',
131 gai:'ㄍㄞ',
132 gan:'ㄍㄢ',
133 gang:'ㄍㄤ',
134 gao:'ㄍㄠ',
135 ge:'ㄍㄜ',
136 gei:'ㄍㄟ',
137 gen:'ㄍㄣ',
138 geng:'ㄍㄥ',
139 gong:'ㄍㄨㄥ',
140 gou:'ㄍㄡ',
141 gu:'ㄍㄨ',
142 gua:'ㄍㄨㄚ',
143 guai:'ㄍㄨㄞ',
144 guan:'ㄍㄨㄢ',
145 guang:'ㄍㄨㄤ',
146 gui:'ㄍㄨㄟ',
147 gun:'ㄍㄨㄣ',
148 guo:'ㄍㄨㄛ',
149 ha:'ㄏㄚ',
150 hai:'ㄏㄞ',
151 han:'ㄏㄢ',
152 hang:'ㄏㄤ',
153 hao:'ㄏㄠ',
154 he:'ㄏㄜ',
155 hei:'ㄏㄟ',
156 hen:'ㄏㄣ',
157 heng:'ㄏㄥ',
158 hong:'ㄏㄨㄥ',
159 hou:'ㄏㄡ',
160 hu:'ㄏㄨ',
161 hua:'ㄏㄨㄚ',
162 huai:'ㄏㄨㄞ',
163 huan:'ㄏㄨㄢ',
164 huang:'ㄏㄨㄤ',
165 hui:'ㄏㄨㄟ',
166 hun:'ㄏㄨㄣ',
167 huo:'ㄏㄨㄛ',
168 ji:'ㄐㄧ',
169 jia:'ㄐㄧㄚ',
170 jian:'ㄐㄧㄢ',
171 jiang:'ㄐㄧㄤ',
172 jiao:'ㄐㄧㄠ',
173 jie:'ㄐㄧㄝ',
174 jin:'ㄐㄧㄣ',
175 jing:'ㄐㄧㄥ',
176 jiong:'ㄐㄩㄥ',
177 jiu:'ㄐㄧㄡ',
178 ju:'ㄐㄩ',
179 juan:'ㄐㄩㄢ',
180 jue:'ㄐㄩㄝ',
181 jun:'ㄐㄩㄣ',
182 ka:'ㄎㄚ',
183 kai:'ㄎㄞ',
184 kan:'ㄎㄢ',
185 kang:'ㄎㄤ',
186 kao:'ㄎㄠ',
187 ke:'ㄎㄜ',
188 kei:'ㄎㄟ',
189 ken:'ㄎㄣ',
190 keng:'ㄎㄥ',
191 kong:'ㄎㄨㄥ',
192 kou:'ㄎㄡ',
193 ku:'ㄎㄨ',
194 kua:'ㄎㄨㄚ',
195 kuai:'ㄎㄨㄞ',
196 kuan:'ㄎㄨㄢ',
197 kuang:'ㄎㄨㄤ',
198 kui:'ㄎㄨㄟ',
199 kun:'ㄎㄨㄣ',
200 kuo:'ㄎㄨㄛ',
201 la:'ㄌㄚ',
202 lai:'ㄌㄞ',
203 lan:'ㄌㄢ',
204 lang:'ㄌㄤ',
205 lao:'ㄌㄠ',
206 le:'ㄌㄜ',
207 lei:'ㄌㄟ',
208 leng:'ㄌㄥ',
209 li:'ㄌㄧ',
210 lia:'ㄌㄧㄚ',
211 lian:'ㄌㄧㄢ',
212 liang:'ㄌㄧㄤ',
213 liao:'ㄌㄧㄠ',
214 lie:'ㄌㄧㄝ',
215 lin:'ㄌㄧㄣ',
216 ling:'ㄌㄧㄥ',
217 liu:'ㄌㄧㄡ',
218 long:'ㄌㄨㄥ',
219 lou:'ㄌㄡ',
220 lu:'ㄌㄨ',
221 lü:'ㄌㄩ',
222 luan:'ㄌㄨㄢ',
223 lüe:'ㄌㄩㄝ',
224 lun:'ㄌㄨㄣ',
225 luo:'ㄌㄨㄛ',
226 ma:'ㄇㄚ',
227 mai:'ㄇㄞ',
228 man:'ㄇㄢ',
229 mang:'ㄇㄤ',
230 mao:'ㄇㄠ',
231 me:'ㄇㄜ',
232 mei:'ㄇㄟ',
233 men:'ㄇㄣ',
234 meng:'ㄇㄥ',
235 mi:'ㄇㄧ',
236 mian:'ㄇㄧㄢ',
237 miao:'ㄇㄧㄠ',
238 mie:'ㄇㄧㄝ',
239 min:'ㄇㄧㄣ',
240 ming:'ㄇㄧㄥ',
241 miu:'ㄇㄧㄡ',
242 mo:'ㄇㄛ',
243 mou:'ㄇㄡ',
244 mu:'ㄇㄨ',
245 na:'ㄋㄚ',
246 nai:'ㄋㄞ',
247 nan:'ㄋㄢ',
248 nang:'ㄋㄤ',
249 nao:'ㄋㄠ',
250 ne:'ㄋㄜ',
251 nei:'ㄋㄟ',
252 nen:'ㄋㄣ',
253 neng:'ㄋㄥ',
254 ni:'ㄋㄧ',
255 nian:'ㄋㄧㄢ',
256 niang:'ㄋㄧㄤ',
257 niao:'ㄋㄧㄠ',
258 nie:'ㄋㄧㄝ',
259 nin:'ㄋㄧㄣ',
260 ning:'ㄋㄧㄥ',
261 niu:'ㄋㄧㄡ',
262 nong:'ㄋㄨㄥ',
263 nou:'ㄋㄡ',
264 nu:'ㄋㄨ',
265 nü:'ㄋㄩ',
266 nuan:'ㄋㄨㄢ',
267 nüe:'ㄋㄩㄝ',
268 nun:'ㄋㄨㄣ',
269 nuo:'ㄋㄨㄛ',
270 o:'ㄛ',
271 ou:'ㄡ',
272 pa:'ㄆㄚ',
273 pai:'ㄆㄞ',
274 pan:'ㄆㄢ',
275 pang:'ㄆㄤ',
276 pao:'ㄆㄠ',
277 pei:'ㄆㄟ',
278 pen:'ㄆㄣ',
279 peng:'ㄆㄥ',
280 pi:'ㄆㄧ',
281 pian:'ㄆㄧㄢ',
282 piao:'ㄆㄧㄠ',
283 pie:'ㄆㄧㄝ',
284 pin:'ㄆㄧㄣ',
285 ping:'ㄆㄧㄥ',
286 po:'ㄆㄛ',
287 pou:'ㄆㄡ',
288 pu:'ㄆㄨ',
289 qi:'ㄑㄧ',
290 qia:'ㄑㄧㄚ',
291 qian:'ㄑㄧㄢ',
292 qiang:'ㄑㄧㄤ',
293 qiao:'ㄑㄧㄠ',
294 qie:'ㄑㄧㄝ',
295 qin:'ㄑㄧㄣ',
296 qing:'ㄑㄧㄥ',
297 qiong:'ㄑㄩㄥ',
298 qiu:'ㄑㄧㄡ',
299 qu:'ㄑㄩ',
300 quan:'ㄑㄩㄢ',
301 que:'ㄑㄩㄝ',
302 qun:'ㄑㄩㄣ',
303 ran:'ㄖㄢ',
304 rang:'ㄖㄤ',
305 rao:'ㄖㄠ',
306 re:'ㄖㄜ',
307 ren:'ㄖㄣ',
308 reng:'ㄖㄥ',
309 ri:'ㄖ',
310 rong:'ㄖㄨㄥ',
311 rou:'ㄖㄡ',
312 ru:'ㄖㄨ',
313 rua:'ㄖㄨㄚ',
314 ruan:'ㄖㄨㄢ',
315 rui:'ㄖㄨㄟ',
316 run:'ㄖㄨㄣ',
317 ruo:'ㄖㄨㄛ',
318 sa:'ㄙㄚ',
319 sai:'ㄙㄞ',
320 san:'ㄙㄢ',
321 sang:'ㄙㄤ',
322 sao:'ㄙㄠ',
323 se:'ㄙㄜ',
324 sen:'ㄙㄣ',
325 seng:'ㄙㄥ',
326 sha:'ㄕㄚ',
327 shai:'ㄕㄞ',
328 shan:'ㄕㄢ',
329 shang:'ㄕㄤ',
330 shao:'ㄕㄠ',
331 she:'ㄕㄜ',
332 shei:'ㄕㄟ',
333 shen:'ㄕㄣ',
334 sheng:'ㄕㄥ',
335 shi:'ㄕ',
336 shou:'ㄕㄡ',
337 shu:'ㄕㄨ',
338 shua:'ㄕㄨㄚ',
339 shuai:'ㄕㄨㄞ',
340 shuan:'ㄕㄨㄢ',
341 shuang:'ㄕㄨㄤ',
342 shui:'ㄕㄨㄟ',
343 shun:'ㄕㄨㄣ',
344 shuo:'ㄕㄨㄛ',
345 si:'ㄙ',
346 song:'ㄙㄨㄥ',
347 sou:'ㄙㄡ',
348 su:'ㄙㄨ',
349 suan:'ㄙㄨㄢ',
350 sui:'ㄙㄨㄟ',
351 sun:'ㄙㄨㄣ',
352 suo:'ㄙㄨㄛ',
353 ta:'ㄊㄚ',
354 tai:'ㄊㄞ',
355 tan:'ㄊㄢ',
356 tang:'ㄊㄤ',
357 tao:'ㄊㄠ',
358 te:'ㄊㄜ',
359 tei:'ㄊㄟ',
360 teng:'ㄊㄥ',
361 ti:'ㄊㄧ',
362 tian:'ㄊㄧㄢ',
363 tiao:'ㄊㄧㄠ',
364 tie:'ㄊㄧㄝ',
365 ting:'ㄊㄧㄥ',
366 tong:'ㄊㄨㄥ',
367 tou:'ㄊㄡ',
368 tu:'ㄊㄨ',
369 tuan:'ㄊㄨㄢ',
370 tui:'ㄊㄨㄟ',
371 tun:'ㄊㄨㄣ',
372 tuo:'ㄊㄨㄛ',
373 wa:'ㄨㄚ',
374 wai:'ㄨㄞ',
375 wan:'ㄨㄢ',
376 wang:'ㄨㄤ',
377 wei:'ㄨㄟ',
378 wen:'ㄨㄣ',
379 weng:'ㄨㄥ',
380 wo:'ㄨㄛ',
381 wu:'ㄨ',
382 xi:'ㄒㄧ',
383 xia:'ㄒㄧㄚ',
384 xian:'ㄒㄧㄢ',
385 xiang:'ㄒㄧㄤ',
386 xiao:'ㄒㄧㄠ',
387 xie:'ㄒㄧㄝ',
388 xin:'ㄒㄧㄣ',
389 xing:'ㄒㄧㄥ',
390 xiong:'ㄒㄩㄥ',
391 xiu:'ㄒㄧㄡ',
392 xu:'ㄒㄩ',
393 xuan:'ㄒㄩㄢ',
394 xue:'ㄒㄩㄝ',
395 xun:'ㄒㄩㄣ',
396 ya:'ㄧㄚ',
397 yan:'ㄧㄢ',
398 yang:'ㄧㄤ',
399 yao:'ㄧㄠ',
400 ye:'ㄧㄝ',
401 yi:'ㄧ',
402 yin:'ㄧㄣ',
403 ying:'ㄧㄥ',
404 yong:'ㄩㄥ',
405 you:'ㄧㄡ',
406 yu:'ㄩ',
407 yuan:'ㄩㄢ',
408 yue:'ㄩㄝ',
409 yun:'ㄩㄣ',
410 za:'ㄗㄚ',
411 zai:'ㄗㄞ',
412 zan:'ㄗㄢ',
413 zang:'ㄗㄤ',
414 zao:'ㄗㄠ',
415 ze:'ㄗㄜ',
416 zei:'ㄗㄟ',
417 zen:'ㄗㄣ',
418 zeng:'ㄗㄥ',
419 zha:'ㄓㄚ',
420 zhai:'ㄓㄞ',
421 zhan:'ㄓㄢ',
422 zhang:'ㄓㄤ',
423 zhao:'ㄓㄠ',
424 zhe:'ㄓㄜ',
425 zhei:'ㄓㄟ',
426 zhen:'ㄓㄣ',
427 zheng:'ㄓㄥ',
428 zhi:'ㄓ',
429 zhong:'ㄓㄨㄥ',
430 zhou:'ㄓㄡ',
431 zhu:'ㄓㄨ',
432 zhua:'ㄓㄨㄚ',
433 zhuai:'ㄓㄨㄞ',
434 zhuan:'ㄓㄨㄢ',
435 zhuang:'ㄓㄨㄤ',
436 zhui:'ㄓㄨㄟ',
437 zhun:'ㄓㄨㄣ',
438 zhuo:'ㄓㄨㄛ',
439 zi:'ㄗ',
440 zong:'ㄗㄨㄥ',
441 zou:'ㄗㄡ',
442 zu:'ㄗㄨ',
443 zuan:'ㄗㄨㄢ',
444 zui:'ㄗㄨㄟ',
445 zun:'ㄗㄨㄣ',
446 zuo:'ㄗㄨㄛ'
447 };
448
449
450 /* A reference lookup to convert pinyin with a tone into pinyin without */
451 var __pinyinToneLookup = {
452 'ā':'a1',
453 'á':'a2',
454 'ǎ':'a3',
455 'à':'a4',
456 'ē':'e1',
457 'é':'e2',
458 'ě':'e3',
459 'è':'e4',
460 'ō':'o1',
461 'ó':'o2',
462 'ǒ':'o3',
463 'ò':'o4',
464 'ī':'i1',
465 'í':'i2',
466 'ǐ':'i3',
467 'ì':'i4',
468 'ū':'u1',
469 'ú':'u2',
470 'ǔ':'u3',
471 'ù':'u4',
472 'ü':'v1',
473 'ǘ':'v2',
474 'ǚ':'v3',
475 'ǜ':'v4',
476 'ń':'n2',
477 'ň':'n3',
478 '':'m2'
479 }
480
481
482 /* The possible tones to use while rendering zhuyin. */
483 var __zhuyinTones = ' ˊˇˋ˙';
484
485
486 /* A list of chinese symbols that we have no intention of trying to write pinyin or zhuyin for. */
487 var __chineseGrammarTokens = ',。 《》/? ;「:『」』';
488
489
490 /* A lookup of all chinese characters to the respective pinyin equivalant. */
491 var __chineseToPinyinLookup = {
492 '':'桛烪',
493 bei:'呗唄',
494 biàn:'辧辨辩辯变遍卞辫忭汴苄弁変峅徧抃昪汳艑覍變辡辮釆玣諚便缏緶閞',
495 biào:'鳔俵摽',
496 biáo:'嫑',
497 biè:'彆',
498 bié:'别別蹩徶莂蛂襒',
499 biān:'边编鞭砭蝙笾鳊煸炞甂箯籩編萹邉鍽邊鯾鯿牑猵獱糄鞕',
500 biāo:'髟标彪膘飑飙瘭飚镳镖儦墂幖標滮瀌熛爂猋脿臕蔈謤贆鏢颷颮鑣飇飆飊飈驫骉磦檦淲穮藨颩',
501 biē:'憋鳖虌鼈龞鱉瘪癟蟞',
502 biǎn:'扁贬匾碥褊窆惼揙稨藊貶鴘',
503 biǎo:'表婊裱褾諘錶',
504 bo:'啵蔔',
505 bà:'爸坝霸鲅灞垻弝壩欛矲鮁罢罷耙覇跁',
506 bài:'败稗拜拝敗粺薭贁韛庍猈',
507 bàn:'半办伴扮瓣绊姅怑秚絆辦鉡靽拌湴',
508 bàng:'棒镑傍谤塝蒡玤稖艕蜯謗鎊磅蚌挷搒棓',
509 bào:'报抱爆豹鲍儤勽報忁曓菢虣蚫鉋鑤铇髱骲鮑犦暴趵袌',
510 bá:'拔跋茇菝魃叐妭抜炦癹胈詙軷鼥颰',
511 bái:'白',
512 báo:'薄雹窇',
513 bèi:'鞁鞴倍备辈贝钡焙狈惫褙悖蓓鐾孛碚俻偝偹僃備邶愂昁憊梖牬犕琲珼狽禙糒苝蛽軰貝鄁輩鋇郥被背誖骳',
514 bèn:'倴笨坌捹撪渀逩桳坋',
515 bèng:'蹦迸泵甏塴逬鏰镚揼',
516 béng:'甭甮',
517 bì:'萆薜痺鐴闭碧避必毕壁币蓖弊蔽敝毙庇毖陛痹畀嬖狴筚箅篦荜襞铋跸愎滗璧哔髀弼婢咇佖坒堛嗶奰妼幤幣廦弻彃愊怭斃梐滭煏熚湢獘潷獙珌疪畢皕箆篳粊綼縪繴罼腷苾萞蓽蜌袐襅襣觱詖诐貱贔蹕赑躃躄邲鄨鄪鏎鉍閇閉閟韠饆飶馝駜驆魓鮅鷝鷩鼊睤臂贲賁辟濞睥裨芘禆朇怶柲畁鞸髲',
518 bìn:'摈殡膑髌鬓擯殯臏髩鬂髕鬢',
519 bìng:'並鮩病摒倂併傡垪栤窉竝誁靐并幷庰',
520 bí:'鼻荸嬶',
521 bò:'檗蘗孹譒簸擘',
522 bó:'伯鮊鲌嚗萡驳博搏脖帛渤舶铂箔膊礴亳鹁踣钹仢侼僰懪愽挬桲欂浡淿煿牔狛瓝秡簙糪艊胉葧袯襏襮郣鋍鈸鉑鎛鑮镈餺馛駮駁馞馎髆鵓謈泊勃猼瓟肑袹髉',
523 bù:'抪柨簿不布步部埠怖瓿钚佈勏吥咘埗廍悑歨歩篰荹蔀踄郶鈈餢捗',
524 bú:'醭轐鳪',
525 bā:'扷八巴芭叭笆疤捌粑岜仈哵夿朳玐羓蚆豝釟丷巼吧扒柭魞鲃',
526 bāi:'挀掰',
527 bān:'班般搬斑扳癍颁瘢攽斒肦螁螌褩辬頒鳻',
528 bāng:'帮邦梆浜垹幚幇幫捠邫鞤縍',
529 bāo:'包褒苞胞龅孢煲佨勹笣蕔裦襃闁齙剥剝枹',
530 bēi:'杯悲碑卑鹎揹桮椑盃藣鵯庳陂柸',
531 bēn:'锛犇錛奔泍栟漰',
532 bēng:'嗙绷綳繃崩嘣伻奟嵭閍痭絣祊',
533 běi:'北鉳',
534 běn:'本苯畚奙楍翉',
535 běng:'埲琫菶鞛埄琣',
536 bī:'逼偪屄楅毴豍鰏鲾鵖螕鎞榌',
537 bīn:'彬豳宾濒斌滨缤傧镔椕濵濱瀕虨繽賔賓豩邠霦鑌顮頻槟梹檳玢儐汃瑸璸',
538 bīng:'兵冰仌冫掤氷蛃鋲仒',
539 bō:'波拨播玻菠钵饽僠嶓撥癶砵盋礡碆缽蹳鉢餑驋鱍袰溊紴癷',
540 bū:'晡逋钸峬庯誧餔鈽鵏錻',
541 bǎ:'把靶鈀钯',
542 bǎi:'捭百摆佰栢擺竡粨襬柏絔',
543 bǎn:'版板坂钣舨阪岅昄瓪粄蝂鈑魬闆',
544 bǎng:'绑膀牓綁髈榜',
545 bǎo:'饱保宝褓鸨葆堢寚寳媬寶珤緥藵賲靌飹駂鳵飽鴇堡怉宲',
546 bǐ:'俾笔比彼鄙秕匕舭妣佊夶朼柀沘疕粃筆聛貏毞啚',
547 bǐng:'鞞丙饼秉柄炳禀邴怲抦昞昺棅稟苪鈵陃鞆餠餅偋寎眪鉼',
548 bǒ:'跛',
549 bǔ:'卜补捕哺卟補鸔喸',
550 chi:'麶',
551 chou:'鮘',
552 chuài:'膪踹',
553 chuàn:'串钏汌玔賗釧猭鶨',
554 chuàng:'怆刱剙剏愴创創',
555 chuái:'膗',
556 chuán:'船椽遄舡剶暷篅舩輲传傳圌',
557 chuáng:'床噇牀幢',
558 chuí:'腄垂锤棰槌倕埀捶搥桘陲菙箠錘顀鎚',
559 chuò:'绰綽踀龊辍娖嚽擉歠涰磭辵輟酫辶鑡齪餟啜惙娕婥哾',
560 chuāi:'搋',
561 chuān:'穿川氚巛瑏',
562 chuāng:'窗疮刅摐牎牕瘡窻窓',
563 chuī:'吹炊龡',
564 chuō:'繛趠戳踔逴',
565 chuǎi:'揣',
566 chuǎn:'喘舛僢堾荈踳歂',
567 chuǎng:'闖闯傸磢',
568 chà:'差岔诧衩汊姹侘奼詫刹剎紁',
569 chài:'訍虿囆袃蠆瘥',
570 chàn:'摲颤羼忏懴懺硟韂顫',
571 chàng:'唱畅鬯怅悵暢焻畼誯韔倡玚瑒',
572 chào:'耖仦觘仯',
573 chá:'查査茶搽茬察槎檫垞嵖猹詧靫碴秅',
574 chái:'柴豺侪儕喍犲祡',
575 chán:'孱缠谗蝉馋婵廛蟾潺躔澶劖嚵壥嬋巉棎毚湹潹瀍瀺煘獑磛緾纒纏艬蟬誗讒鄽酁鋋镵鑱饞蟐禅儃儳欃螹苂',
576 cháng:'长仧兏長场塲場常尝肠偿嫦徜苌償嚐嘗瑺瓺甞膓腸萇镸鱨鲿仩裳',
577 cháo:'潮巢晁巣漅牊窲罺謿轈鄛鼂鼌嘲樔',
578 chè:'屮撤掣彻澈坼勶徹烢瞮爡硩聅迠頙',
579 chèn:'讖谶趁衬龀榇儭嚫櫬疢襯趂齓齔',
580 chèng:'秤',
581 chén:'梣辰尘臣晨沉陈忱谌宸塵敐曟樄煁瘎茞莀莐蔯薼螴訦諶軙迧鷐霃陳麎鈂敶栕愖桭',
582 chéng:'棖橙揨成城诚程惩呈承塍铖酲埕枨丞塖堘宬挰懲掁峸檙洆溗澂珵畻珹窚筬絾脭荿誠鋮郕鯎騬乘乗娍椉澄瀓裎憕朾',
583 chì:'硳勑斥翅赤炽饬瘛敕啻叱彳傺侙勅恜憏懘慗抶杘湁灻熾痸烾翄翤翨腟趩遫鉓雴飭鶒鷘銐',
584 chí:'池迟持驰弛踟茌墀篪漦竾筂箎荎蚳謘貾赿迡遅遟鍉遲馳匙',
585 chòng:'铳銃揰',
586 chòu:'臭殠臰遚',
587 chóng:'虫崇崈爞褈蟲蝩隀漴緟',
588 chóu:'愁稠绸酬筹畴踌俦惆雠儔嬦懤栦燽皗絒疇籌綢菗讐讎詶酧躊醻雔雦仇帱幬椆檮薵裯梼',
589 chù:'触搐矗怵亍绌憷黜傗儊斶歜珿竌絀臅觸豖鄐閦俶処埱嘼敊欪滀竐諔泏',
590 chú:'锄除橱滁厨躇雏刍蹰蜍幮廚櫉櫥犓篨耡蒢蒭芻蟵豠趎鉏躕鋤鶵雛媰',
591 chún:'唇纯醇莼鹑浱湻滣犉漘純脣蒓錞蓴陙鯙醕鶉淳',
592 chā:'插馇偛锸嗏扠挿揷臿疀艖芆銟鍤餷叉杈',
593 chāi:'拆肞釵钗',
594 chān:'掺摻搀觇攙裧襜覘辿鋓幨梴',
595 chāng:'昌猖鲳菖阊伥娼倀淐椙琩裮錩锠閶鯧鼚',
596 chāo:'抄超钞怊弨欩訬鈔窼',
597 chē:'车伡俥車砗唓莗硨蛼',
598 chēn:'郴抻嗔琛捵瞋諃賝謓棽',
599 chēng:'穪称稱罉晿撑柽瞠蛏憆摚撐棦橕檉泟浾琤碀緽赪蟶赬阷鏿靗頳饓鐣偁爯僜牚竀',
600 chě:'扯偖撦',
601 chěn:'磣硶碜墋夦贂趻踸鍖',
602 chěng:'逞骋庱悜睈騁侱徎',
603 chī:'吃痴媸哧蚩鸱眵螭魑笞嗤喫噄妛彨彲摛攡瓻癡瞝粚胵訵鵄鴟黐齝殦絺誺',
604 chōng:'冲充艟舂忡憧茺嘃憃摏沖浺珫罿翀蹖衝',
605 chōu:'抽瘳犫犨篘搊紬',
606 chū:'摴出初樗岀榋貙齣',
607 chūn:'春椿媋旾暙杶槆櫄橁蝽瑃箺萅輴鰆鶞',
608 chǎ:'镲蹅鑔',
609 chǎi:'茝',
610 chǎn:'产阐铲蒇谄冁骣丳剷囅嵼旵浐滻灛產産簅蕆譂讇諂鏟閳闡刬剗幝摌斺燀繟醦',
611 chǎng:'厂敞氅惝昶僘厰廠鋹',
612 chǎo:'吵炒巐煼眧麨焣',
613 chǐ:'尺耻侈齿豉褫卶叺呎垑恥歯肔胣蚇裭鉹齒伬欼袲袳',
614 chǒng:'宠寵埫',
615 chǒu:'瞅丑丒吜杽矁醜魗偢',
616 chǔ:'处楚础储杵楮儲椘檚濋礎璴禇處齭齼',
617 chǔn:'蠢偆惷睶萶賰',
618 cuàn:'窜篡爨殩熶簒竄',
619 cuán:'巑櫕欑穳',
620 cuì:'脆淬翠瘁悴粹萃毳伜啛忰焠疩竁紣綷翆粋脃膬臎膵顇襊啐倅琗濢',
621 cuò:'措錯错挫厝锉剒剉夎莝蓌莡逪銼',
622 cuó:'嵳嵯蔖鹾痤矬蒫虘鹺睉',
623 cuān:'镩蹿汆撺攛躥鑹',
624 cuī:'催崔摧榱凗墔慛磪脺鏙嵟槯縗缞',
625 cuō:'鎈搓蹉磋瑳遳醝撮',
626 cuǐ:'璀皠趡漼',
627 cuǒ:'脞',
628 cà:'遪',
629 cài:'蔡菜縩',
630 càn:'灿璨粲儏澯燦薒謲',
631 càng:'賶',
632 cào:'肏襙鄵鼜',
633 cái:'才财材裁纔財',
634 cán:'蚕残惭慙殘慚蝅蠺蠶',
635 cáng:'藏欌鑶',
636 cáo:'曹槽嘈艚螬嶆漕曺蓸褿鏪慒',
637 cè:'册测策厕恻冊厠廁敇憡惻測笧筞筴箣荝萴萗蓛夨侧側拺畟簎粣',
638 cèng:'蹭',
639 cén:'涔岑埁笒',
640 céng:'层嶒層驓竲',
641 cì:'次赐刾佽庛朿栨絘茦莿蛓螆賜刺',
642 cí:'词瓷雌磁辞茨慈鹚祠糍垐嬨柌濨珁礠甆詞辤辝飺餈辭鶿鴜鷀薋',
643 còng:'憁謥愡',
644 còu:'楱辏凑腠湊輳',
645 cóng:'从從丛琮淙婃叢孮従徖悰樷欉灇爜藂誴賨賩徔錝漎潀潈',
646 cù:'促簇蔟醋猝蹙蹴媨憱瘄瘯縬脨誎趗踧蹵顣鼀踿噈',
647 cùn:'寸籿',
648 cú:'徂殂',
649 cún:'存壿侟拵',
650 cā:'擦嚓攃',
651 cāi:'猜偲',
652 cān:'傪参叄參叅餐骖嬠湌爘驂飡喰',
653 cāng:'仓沧舱仺倉苍凔嵢濸獊滄螥蒼艙鸧伧傖鶬',
654 cāo:'操糙撡',
655 cēn:'嵾篸',
656 cēng:'噌',
657 cī:'疵偨蠀趀骴髊齹玼跐縒',
658 cōng:'囪囱葱蔥匆聪璁苁骢忩悤怱暰樬漗瑽篵瞛繱聡聦茐聰蟌蓯騘驄鏦鍯鏓枞樅棇熜潨',
659 cū:'觕粗麁麄麤橻怚',
660 cūn:'膥村皴竴邨澊',
661 cǎ:'礤礸',
662 cǎi:'采寀埰踩睬倸啋彩婇棌採綵跴毝',
663 cǎn:'惨黪憯慘黲朁穇',
664 cǎo:'草愺艸騲慅懆',
665 cǐ:'此佌泚皉鮆',
666 cǔn:'忖刌',
667 da:'繨',
668 de:'的',
669 diàn:'电店殿淀垫惦靛奠坫阽簟玷癜壂墊婝扂橂琔澱磹蜔鈿電驔佃钿甸',
670 diào:'弔魡掉钓吊铞伄瘹窎窵竨訋釣鋽銱鑃鈟雿盄蓧藋铫銚調',
671 diè:'哋',
672 dié:'跮迭碟谍叠牒蝶瓞鲽堞耋垤蹀峌幉恎惵戜曡殜氎牃畳疂疉疊絰绖胅耊艓苵蜨褋詄諜镻鰈鴩眣嵽咥喋挕昳楪眰螲臷趃',
673 diān:'瘨颠掂滇巅傎癫厧嵮巓敁巔槇攧癲蹎顚顛齻槙',
674 diāo:'虭雕刁碉叼鲷凋貂奝刟弴彫汈琱簓蛁錭鯛鮉鼦鵰瞗鳭',
675 diē:'跌爹褺',
676 diū:'铥丟銩丢',
677 diǎ:'嗲',
678 diǎn:'猠点碘典踮奌婰敟椣蒧蕇點嚸跕',
679 diǎo:'扚屌',
680 duàn:'段断锻椴煅簖塅缎毈瑖斷籪腶緞葮躖碫鍛',
681 duì:'对队憝怼碓對対懟濧瀩祋綐薱譈譵陮轛兑兊兌憞隊',
682 duò:'舵剁跺惰刴墯尮憜挅桗跥陊陏飿饳鵽堕墮柮',
683 duó:'踱剫夺奪铎凙痥鈬鐸喥敓敚',
684 duān:'端偳媏褍鍴耑',
685 duī:'堆镦垖塠痽磓鐜鐓鴭',
686 duō:'夛多剟哆掇咄裰嚉毲敠敪',
687 duǎn:'短',
688 duǐ:'頧',
689 duǒ:'奲鬌朵躲哚亸缍嚲埵崜朶綞趓躱軃垛垜挆椯',
690 dà:'大亣眔',
691 dài:'跢带代戴逮袋贷怠殆迨玳岱甙黛绐埭侢垈帒帯廗叇曃帶柋瀻瑇簤緿艜紿蝳蹛軑軚軩轪襶霴靆鴏黱待蚮貸',
692 dàn:'僤但蛋淡氮诞旦萏啖啗啿嚪噉帎憺柦沊泹狚癚禫疍腅窞蜑觛訑贉誕霮餤駳髧鴠饏蓞憚惮繵弹澹嘾弾彈瘅癉唌黮',
693 dàng:'荡档宕菪凼砀圵垱壋檔氹璗瓽瞊礑碭盪簜蘯蕩趤逿雼婸嵣愓潒',
694 dào:'到道盗稻悼纛焘噵椡檤瓙燾稲盜翿菿衟軇衜艔翢辺',
695 dá:'瘩答笪达怛靼妲匒鞑垯炟燵畣羍荅荙薘蟽跶詚迏迖逹鐽達龖龘韃迚剳呾溚畗',
696 dáo:'捯',
697 dèn:'扥扽',
698 dèng:'邓瞪凳磴镫嶝墱櫈覴鄧隥鐙',
699 dé:'得德徳锝恴悳惪淂鍀棏',
700 dì:'蔕蝭踶螮遰遞第递缔帝蒂谛睇娣碲俤偙僀埊墑嶳墬怟梊玓焍甋眱祶禘締菂腣蝃諦逓鉪慸棣地弟坔埅媂珶苐遆摕旳杕枤楴釱',
701 dìng:'定订锭腚碇啶椗矴碠磸聢萣訂錠顁飣饤蝊忊',
702 dí:'敌涤嫡笛迪狄觌嘀荻镝籴唙啇嚁廸敵梑滌糴苖蔋藡覿蔐豴蹢靮頔馰髢鸐翟鏑',
703 dòng:'动洞冻栋恫胨胴硐働凍動姛戙挏棟湩腖迵霘駧侗垌',
704 dòu:'吋豆逗痘窦斣梪浢脰竇荳酘郖閗餖饾鬥鬦鬪闘鬬鬭毭',
705 dù:'度渡杜镀蠹妒芏妬殬秺荰蠧螙鍍靯肚',
706 dùi:'襨',
707 dùn:'沌顿頓钝盾遁砘炖伅潡碷燉踲逇遯鈍囤庉',
708 dú:'毒读渎瀆凟讀独犊椟牍黩髑匵嬻涜殰櫝犢牘瓄獨皾裻読讟豄贕錖鑟韇韣黷騳韥',
709 dā:'搭哒耷褡咑噠墶撘鎝笚鎉',
710 dāi:'呆呔懛獃',
711 dān:'单單単襌眈丹耽郸殚聃箪勯匰妉媅殫甔耼砃簞聸褝躭酖鄲頕担儋擔',
712 dāng:'铛鐺当儅闣裆噹澢珰璫筜簹艡蟷襠當',
713 dāo:'刂刀氘忉舠釖魛鱽螩朷',
714 dē:'嘚',
715 dēng:'登灯蹬嬁噔璒竳燈艠豋簦',
716 děng:'等戥',
717 dī:'岻低滴堤羝仾啲埞彽樀磾袛趆隄鞮秪氐奃',
718 dīng:'盯虰叮玎疔仃耵帄靪丁钉釘酊',
719 dōng:'东冬鸫氡岽倲咚埬崬昸東氭涷笗苳菄蝀鮗鯟鶫鼕鶇徚娻崠',
720 dōu:'兜篼蔸兠剅枓唗橷吺',
721 dū:'都督嘟厾醏剢闍阇',
722 dūn:'蹲吨墩礅噸墪惇撉撴犜獤蜳蹾驐敦',
723 dǎ:'打',
724 dǎi:'歹傣',
725 dǎn:'亶馾掸撣疸胆赕刐伔撢玬瓭紞膽衴黕賧抌黵',
726 dǎng:'黨党谠攩欓譡讜挡擋灙',
727 dǎo:'擣岛导祷蹈捣壔導嶋嶌嶹島搗槝禂禱陦隝隯倒',
728 dǐ:'坻柢坘軧抵邸诋骶砥厎呧弤拞掋牴菧觝詆阺鯳底聜',
729 dǐng:'顶鼎嵿艼薡鐤頂鼑奵濎',
730 dǒng:'懂董嬞箽蕫諌',
731 dǒu:'斗抖陡蚪乧鈄钭阧',
732 dǔ:'赌睹堵笃琽篤覩賭',
733 dǔn:'趸盹躉',
734 fiào:'覅',
735 fà:'珐琺蕟髪髮',
736 fàn:'輽汎泛饭贩范犯畈梵奿嬎氾滼瀪盕笵範訉軬販飯飰軓',
737 fàng:'放',
738 fá:'坺墢笩茷罚乏伐阀筏垡姂傠栰瞂罸罰藅閥浌疺橃',
739 fán:'蕃襎凡烦樊钒矾燔蘩凢凣匥墦蹯杋柉棥煩璠瀿笲礬籵緐羳舤舧薠蠜鐇釩鷭鐢繁膰',
740 fáng:'防房肪妨鲂魴',
741 fèi:'杮蟦胇费費廢肺废沸吠狒镄剕厞廃屝俷昲曊櫠濷癈萉陫鐨靅鼣芾痱疿',
742 fèn:'份奋愤忿粪瀵鲼偾僨奮弅憤秎瞓膹糞鱝',
743 fèng:'俸凤奉湗焨煈賵赗鳯鴌鳳',
744 féi:'肥腓淝蜰',
745 fén:'朌炃燌鐼岎蕡坟焚棼汾鼢墳妢幩枌燓羒羵蒶蚠蚡豶豮隫轒馩魵黂鼖獖橨濆',
746 féng:'漨逢堸綘艂缝縫冯馮夆浲溄摓',
747 fó:'佛仏梻坲',
748 fóu:'紑',
749 fù:'萯复馥輹附鲋嬔富负付赴缚赋妇腹覆傅讣阜咐鳆蝮赙驸冨坿偩媍婦彿復椱禣竎祔緮縛蕧蚹蛗蝜袝複覄詂訃負賦賻鍑鍢駙鮒鰒秿婏副父蚥峊褔',
750 fú:'怫茀幅踾帗艴袚祓紼绋髴芣扶浮福伏符氟俘弗涪辐袱苻蚨幞茯蜉菔蝠罘匐绂凫桴孚郛乀黻芙咈哹刜垘巿岪柫栿澓炥玸泭畉甶癁稪箙綍絥紱翇罦艀葍虙襆襥諨豧輻鉘鉜韍韨颫鮄鮲鴔鵩鳧鳬拂畐鶝服洑榑笰砩莩枎琈棴烰',
751 fā:'發彂沷発冹发',
752 fān:'籓噃番畨翻帆藩幡勫嬏忛憣旛旙繙轓颿飜鱕',
753 fāng:'蚄枋芳方钫邡匚堏淓牥錺鈁鴋坊汸趽',
754 fēi:'蜚非飞啡扉霏鲱绯婔婓暃渄猆緋裶靟飝飛餥馡騑騛鯡菲妃',
755 fēn:'分訜芬纷酚吩氛帉昐朆梤棻竕紛翂衯躮鈖雰餴饙馚哛兺',
756 fēng:'封楓渢蜂丰枫疯峰锋葑酆烽仹偑凨沣僼凬砜凮妦寷崶峯沨檒犎猦灃琒盽瘋篈碸蘴豐鄷鋒鏠靊鎽飌麷堼蠭闏霻风風桻',
757 fěi:'匪诽篚悱翡榧奜棐蕜誹斐朏胐',
758 fěn:'粉黺',
759 fěng:'覂唪讽諷',
760 fū:'尃孵敷肤趺跗稃麸呋伕娐怤懯旉玞砆糐筟綒膚荂荴衭邞鄜酜鈇麬麱麩夫姇粰妋柎紨胕鳺',
761 fǎ:'法砝佱灋鍅峜',
762 fǎn:'反返仮橎払',
763 fǎng:'紡纺仿访舫倣旊昉昘瓬眆訪髣鶭',
764 fǒu:'殕否缶缹缻雬鴀妚',
765 fǔ:'拊俯斧辅腐府抚甫釜脯腑黼滏俌俛呒弣撫椨焤盙簠蜅輔郙釡阝頫鬴乶捬嘸',
766 guà:'挂褂卦诖坬掛啩罣詿絓',
767 guài:'怪恠夬',
768 guàn:'惯罐灌贯掼盥鹳悹慣摜悺樌泴潅爟瓘礶祼罆躀貫鏆遦鑵鱹鸛欟卝丱毌矔雚',
769 guàng:'逛俇臦',
770 guái:'叏',
771 guì:'贵跪桂刽刿劊劌撌攰昋椢槶櫃禬筀蓕襘貴鞼鱥鱖樻鐀鑎柜桧檜鳜癐瞆瞶螝眭',
772 guò:'过腂過鐹',
773 guó:'掴国帼馘虢囯囶囻圀國幗慖摑漍腘蔮聝膕簂',
774 guā:'呱胍刮瓜鸹劀歄煱踻颪騧鴰颳桰栝緺趏',
775 guāi:'乖',
776 guān:'关官棺涫鳏倌瘝癏窤蒄関闗關鱞鰥观冠観覌觀莞',
777 guāng:'咣光胱僙垙姯洸灮炗炚烡炛珖茪輄銧黆桄',
778 guī:'归规硅闺瑰圭皈妫亀嫢媯嬀帰摫椝槼槻櫷歸珪璝瓌瞡茥蘬規邽郌閨騩鬶鬹龟龜鲑嶲巂廆胿袿雟鮭',
779 guō:'锅郭埚聒猓崞蝈啯嘓墎堝彍彉瘑蟈鈛鍋懖楇濄',
780 guǎ:'寡剐冎剮叧',
781 guǎi:'箉罫拐枴柺',
782 guǎn:'管馆琯痯舘筦輨錧館鳤璭',
783 guǎng:'广犷広廣獷臩',
784 guǐ:'鬼轨诡癸庋宄晷匦佹簋匭厬垝姽庪恑湀祪蛫蟡觤詭軌陒攱氿',
785 guǒ:'果裹椁蜾惈槨粿綶菓褁輠餜馃淉',
786 gà:'尬魀',
787 gài:'盖蓋概溉丐戤乢匃钙匄漑瓂槪槩葢鈣摡',
788 gàn:'汵赣绀淦倝凎幹檊灨榦盰紺詌贑骭贛旰',
789 gàng:'筻槓焵焹戆戅戇杠',
790 gào:'告郜诰锆勂吿峼祮祰禞筶誥鋯',
791 gá:'噶钆尜錷釓',
792 gè:'个各個铬虼箇茖鉻亇',
793 gèn:'亘茛艮搄揯亙',
794 gèng:'堩',
795 gé:'佮輵格阁隔骼革塥镉嗝膈搿佫匌呄挌愅櫊滆槅臵觡轕諽閣鞷韐騔韚鮯鬲鎘葛蛤敋獦蛒裓鞈',
796 gén:'哏',
797 gòng:'共贡熕貢莻唝嗊',
798 gòu:'够购构垢彀觏诟遘媾冓坸搆撀煹構夠訽覯詬購雊啂姤',
799 gù:'故顾固雇梏崮鲴锢牿痼僱凅堌崓棝榾祻錮顧鯝',
800 gùn:'棍睔謴',
801 gā:'嘎嘠旮',
802 gāi:'该垓陔赅侅姟峐晐畡豥荄祴賌賅該絯郂',
803 gān:'干竿肝甘酐矸柑疳苷泔坩尴凲尶尲尷漧玕筸粓迀魐杆忓攼鳱',
804 gāng:'钢鋼刚纲缸肛罡冈堽剛冮岡堈掆棡牨犅疘罁綱釭鎠摃矼',
805 gāo:'高篙羔糕睾槔槹櫜橰臯韟餻髙鷎鷱鼛膏皋皐',
806 gē:'胳搁擱歌割哥戈鸽袼圪彁戓戨犵滒肐謌鎶鴚鴿疙牫饹',
807 gēn:'跟根',
808 gēng:'更緪縆耕庚赓刯椩羹焿浭畊絚羮菮鶊鹒賡',
809 gě:'笴舸嗰哿',
810 gěi:'给給',
811 gěng:'綆绠梗耿鲠哽峺挭埂莄郠骾鯁',
812 gōng:'篢工功公弓攻宫恭躬肱龚觥匑匔塨幊杛碽糼宮觵躳髸龔侊糿供蚣厷愩慐龏',
813 gōu:'溝沟钩鞲缑篝簼緱褠袧鉤韝鈎痀勾佝芶',
814 gū:'杚孤箍姑咕沽菇辜鸪轱菰酤蛄觚唂唃嫴橭柧泒稒笟箛篐罛苽蓇軱軲鈲鴣鮕巬巭估',
815 gǎ:'尕玍',
816 gǎi:'絠改忋',
817 gǎn:'澸赶感敢秆擀澉橄皯桿稈衦芉趕鱤鳡仠簳',
818 gǎng:'崗港岗',
819 gǎo:'搞稿镐杲槁藁缟夰槀檺稾稁縞菒藳鎬',
820 gǒng:'拱巩汞珙廾拲栱輁鞏',
821 gǒu:'狗苟岣笱玽耈耉耇豿蚼',
822 gǔ:'扢古股鼓谷蛊鹘臌钴牯诂瞽毂嘏傦罟啒尳愲榖淈濲瀔皷盬穀羖脵薣蠱詁轂逧鈷餶馉鼔皼骨贾汩夃糓縎鶻',
823 gǔn:'鲧滚辊衮丨绲磙惃滾緄蓘袞輥蔉鮌鯀緷',
824 han:'兯爳',
825 huà:'諣话画桦婳嫿嬅崋摦杹槬樺澅畫畵繣舙諙話譮黊夻枠化觟',
826 huài:'咶坏壞壊蘾',
827 huàn:'澣换唤患幻宦涣焕豢痪逭漶鲩奂擐浣喚奐嵈愌攌換槵梙烉渙煥瑍瘓肒藧轘鯶鰀鯇喛嚾',
828 huàng:'愰曂滉榥皝皩鎤',
829 huá:'滑猾铧骅搳撶蕐螖譁鷨鏵驊磆划劃鋘哗嘩华華姡釪釫呚',
830 huái:'怀淮踝徊懐槐懷耲蘹褱褢櫰瀤',
831 huán:'还還絙狟貆环桓鬟寰锾萑洹缳堚寏峘澴環糫羦繯萈荁豲鍰鐶镮阛闤雈鹮獂圜瓛綄嬛',
832 huáng:'潢趪黄簧凰惶皇蝗磺煌隍鳇篁徨遑癀湟璜偟蟥喤堭媓崲墴楻獚瑝穔艎葟諻鍠鐄锽餭韹騜鱑鰉鷬黃揘熿',
833 huì:'屶絵繪绘嬒汇惠晦慧秽贿讳卉诲烩彗蕙喙恚蟪荟僡嘒匯嚖圚寭屷彚彙恵憓懳徻暳槥橞檅櫘泋滙潓獩燴璤瞺篲穢翙翽蔧薉薈詯誨諱譓譿賄鐬闠阓靧頮顪餯颒芔会會璯缋繢藱儶湏濊瘣鏸',
834 huí:'烠佪回蛔茴洄囘囬廽廻恛痐蚘蜖蛕逥迴鮰',
835 huò:'捇藿霍擭穫韄檴或货祸惑获嚯镬锪蠖俰剨咟嚿奯旤曤沎湱瀖癨獲眓矐禍耯臛艧蒦謋貨鍃鑊雘靃窢彟彠濩掝嚄矆閄喐',
836 huó:'活佸秮秳',
837 huā:'花婲埖椛硴糀蘤誮錵蒊',
838 huān:'犿懽鵍欢獾歓歡讙貛酄驩鴅孉',
839 huāng:'慌荒肓塃巟衁宺朚',
840 huī:'隓隳咴蘳灰挥辉恢徽麾晖诙噅噕媈幑婎拻揮楎暉洃瀈灳烣睳禈翬翚褘袆詼豗輝鰴撝煇睢',
841 huō:'秴劐攉耠吙騞豁',
842 huǎn:'缓睆緩',
843 huǎng:'櫎恍谎幌奛怳兤晄炾熀縨詤謊晃',
844 huǐ:'毁悔虺檓毇毀燬譭',
845 huǒ:'灬火伙夥钬邩鈥煷漷',
846 hài:'妎害氦骇亥嗐餀饚駴駭',
847 hàn:'厈屽垾憾扞捍釬汉旱焊翰撼撖悍菡瀚傼颔暵晘涆漢猂皔睅莟蔊蛿蜭螒譀銲鋎雗顄頷駻鶾輚閈闬汗馯熯',
848 hàng:'沆',
849 hào:'侴暠浩澔耗昊颢灏皓傐哠恏昦暤晧暭曍淏灝皜皞皡皥聕薃號鄗鰝顥号悎滈秏',
850 hái:'骸孩',
851 hán:'浛虷含寒韩涵函邗邯焓凾娢圅晗崡梒嵅澏甝筨琀蜬鋡韓唅',
852 háng:'頏颃航杭绗垳斻筕絎蚢貥迒苀魧裄行吭笐',
853 háo:'蚝獔嚎豪毫壕嗥濠儫嘷噑椃獆竓籇蠔譹毜獋乚',
854 hè:'翯贺赫褐鹤壑哬垎寉焃煂燺爀癋碋謞賀靍靎靏鸖鶴穒嗃嚇熇袔鶮',
855 hèn:'恨',
856 hèng:'啈',
857 hé:'閡阂盒釛毼曷菏詥魺頜河荷禾涸劾盍翮阖啝姀峆敆柇楁渮澕熆皬盇盉篕籺粭萂覈訸郃鉌闔鞨鑉餄饸鹖麧齕龁龢礉核合鲄颌閤纥紇貉和何咊惒狢貈螛鶡',
858 hén:'痕拫鞎',
859 héng:'恆珩恒衡蘅姮烆胻鑅鵆鸻鴴撗横橫桁',
860 hòng:'銾澒蕻讧撔訌闀鬨閧闂',
861 hòu:'茩厚后候鲎後逅垕洉堠豞郈鮜鱟鲘',
862 hóng:'红紅渱虹魟洪宏鸿弘闳荭黉仜泓吰垬娂妅宖彋汯浤潂玒玜硔竑竤篊粠紭綋紘翃翝耾纮苰葒葓谹鈜鋐鉷谼閎霐霟鞃鴻黌羾屸沗',
863 hóu:'喉猴篌糇骺瘊帿睺翭葔鄇鍭鯸餱侯矦翵銗',
864 hù:'豰嗀瓠乥户互护沪冱怙鹱笏戽扈祜岵嚛婟嫮嫭帍弖戸戶昈槴沍滬熩簄粐綔蔰護鍙鄠頀鱯鳠鳸鸌摢怘枑芐',
865 hùn:'混睴圂倱溷俒慁掍诨焝諢觨尡婫',
866 hú:'鹄鵠湖壶胡弧狐葫蝴瑚鹕醐囫斛猢煳觳槲喖嘝壷壺媩搰楜瀫焀瓳絗箶縠蔛螜衚鍸頶餬魱鰗鬍鶦鶘抇隺',
867 hún:'浑渾魂忶馄餛鼲珲琿',
868 hā:'紦鉿铪哈',
869 hāi:'嗨咍',
870 hān:'犴頇顸酣憨蚶鼾哻谽馠魽佄嫨',
871 hāng:'夯',
872 hāo:'蒿嚆薅茠薧',
873 hē:'呵喝嗬诃欱蠚訶抲',
874 hēi:'嘿黒潶黑',
875 hēng:'哼涥脝亨悙',
876 hěn:'狠很佷詪',
877 hōng:'訇轰烘薨嚝揈灴焢硡谾軣輷轟鍧呍哄叿渹',
878 hōu:'齁',
879 hū:'呼忽乎烀轷惚滹唿匢匫嘑垀寣幠昒歑泘淴苸虍謼虖軤雐乯糊恗曶雽膴',
880 hūn:'昏荤婚阍昬棔睧睯涽蔒葷轋閽惛殙',
881 hǎi:'胲海醢塰烸酼',
882 hǎn:'豃喊罕浫丆',
883 hǎo:'好郝',
884 hǒng:'晎',
885 hǒu:'吽吼犼',
886 hǔ:'俿唬虎琥乕萀虝錿鯱浒滸汻',
887 jià:'价架驾嫁稼幏榢駕價',
888 jiàn:'覵渐漸溅濺鞬跈洊件键贱箭建健荐剑涧鉴践舰饯牮谏腱毽楗踺俴僭剣剱劎劒劔劍墹寋徤擶旔澗珔瞷礀磵繝糋臶艦薦覸諓諫賎趝轞賤踐鍳鍵鐱鑑鑬鑒鑳餞譛见見槛檻栫瀳袸榗鏩',
889 jiàng:'降夅酱匠犟绛糨洚勥匞嵹弜弶摾櫤滰糡絳謽醤醬',
890 jiào:'噭嘄较叫轿窖酵噍醮呌嘦嘂嬓斠滘漖獥珓皭藠訆譥趭較釂轎教挍敎峤嶠潐窌',
891 jiá:'荚颊铗戛恝郏蛱圿忦戞扴脥莢裌蛺郟鋏頬頰鴶鵊唊袷',
892 jiáo:'嚼',
893 jiè:'芥鎅介骱借界届戒诫疥蚧丯堺屆岕庎徣楐玠琾畍砎犗蛶衸褯誡魪吤藉唶悈',
894 jié:'捷卩掶洁狤訐讦跲頡杢截劫竭杰睫桀羯鲒婕孑倢偼刦傑刼劼刧卪岊媫崨嵥巀嶻幯擮昅桝楶榤滐潔礍節蓵蛣蜐蠘莭蠞蠽衱袺誱詰踕鉣迼鍻鮚镼诘尐鞊結结节拮颉桔碣搩疌',
895 jiù:'鯦咎就旧救舅厩臼疚僦柩桕倃鹫匓匛匶廏廐廄慦捄柾殧舊麔鷲欍齨',
896 jiā:'夹夾鴐加佳嘉葭迦浃镓跏笳痂枷珈袈傢抸梜毠泇犌猳耞糘腵浹豭貑鉫鎵麚乫家拁',
897 jiān:'戔奸鰔菅靬尖兼肩煎歼坚艰笺缄鞯戋搛缣鲣蒹鹣湔冿囏堅姧姦幵惤椾樫櫼殱殲瀐瀸熞熸牋睷瑊礛箋縑緘菺葌艱蔪蕑蕳虃譼豜鑯韀韉餰馢鰜鳒鰹鵳鶼麉雃鵑礷椷间监監鋻間玪犍猏豣碊鳽',
898 jiāng:'将浆將漿畺江僵姜礓豇缰茳壃橿殭疅繮畕翞葁螀螿薑韁鱂鳉疆摪',
899 jiāo:'浇澆虠膠交焦胶娇骄郊蕉礁椒僬蛟跤茭鹪鲛峧嶕嶣嬌憍穚簥膲茮蟭轇驕鐎鮫鵁鷮鷦艽姣燋',
900 jiē:'接喼秸街皆阶喈嗟疖堦媘掲擑楬湝煯痎癤稭脻蝔謯階鞂鶛揭嫅椄菨',
901 jiě:'解觧姐媎毑檞飷',
902 jiōng:'扃冋坰埛冂蘏蘔駉駫絅',
903 jiū:'糾纠揪究赳鬏丩阄啾勼鸠揫朻萛鬮鳩揂摎樛牞糺',
904 jiǎ:'鉀钾甲岬胛叚婽斚斝榎槚檟玾賈假瘕徦椵',
905 jiǎn:'茧减检剪简捡俭硷柬拣碱翦枧趼戬谫笕蹇謇裥睑锏倹儉堿彅弿戩挸揀撿梘検檢減湕瀽瑐瞼礆筧簡絸繭藆蠒襉襺襇詃譾謭鐗鐧鬋鰎鹸鹻鹼囝帴揃篯籛暕',
906 jiǎng:'傋讲奖蒋桨耩塂奨奬槳獎膙蔣講顜',
907 jiǎo:'剿勦劋摷角繳缴憿脚绞搅狡饺铰敫皎佼挢儌孂撹撟攪敽敿晈暞曒灚璬皦纐腳臫絞蟜譑賋踋鉸餃鱎龣燞矫矯徼笅筊侥僥徺捁烄煍',
908 jiǒng:'炅窘炯侰僒迥冏囧泂澃烱煚煛熲燛綗褧逈顈颎浻',
909 jiǔ:'九酒久韭玖灸乆乣奺杦汣紤舏镹韮',
910 juàn:'卷帣巻倦眷绢鄄劵桊狷奆慻淃獧睊絭睠羂絹腃罥蔨餋勌瓹弮惓讂',
911 jué:'嶡趹觖赽鴃鴂焳臄趉决绝爵掘诀抉攫劂桷矍爝镢橛獗珏崛蕨谲孓亅厥刔匷孒崫嶥彏憰憠戄挗欮氒橜灍決熦爴爑玃玦玨瘚瑴矡絕砄絶芵蕝虳蟨蟩觼譎貜蹷訣躩鈌鐍钁鐝鷢觮噊蹶櫭觉覐覚覺斍倔噱弡捔泬疦蚗駃',
912 juān:'鋑鹃捐娟镌蠲涓勬姢脧裐鎸鐫朘焆',
913 juē:'撅噘屩屫撧',
914 juǎn:'锩呟埍臇菤錈捲',
915 jì:'薺伎荠茤魥既记计季寄际绩迹蓟技冀剂悸寂忌妓继洎鲚鲫稷暨跽霁髻骥觊芰兾剤勣劑坖垍廭彑徛惎懻旣暩旡曁梞檵檕漃漈瀱痵癠禝穄穊稩穧紀継繋繼績罽臮茍葪蔇薊蘮蘎蘻裚襀覬誋計記跡蹟際霽鬾魝驥鯚鰶鰿鱀鯽鱭鵋鷑齌塈纪济済濟祭偈哜嚌彐璾紒諅',
916 jìn:'近进浸晋烬靳荩噤缙妗赆觐僸凚嚍墐壗嬧搢枃晉殣浕溍濅濜煡燼瑨璶盡祲縉藎覲賮贐進齽尽劲劤勁伒唫寖歏',
917 jìng:'净淨凈瀞竟静敬镜竞径境痉靖獍弪婧胫迳俓傹妌婙弳徑梷桱曔浄痙竸競竫莖誩踁脛逕鏡靚靜鵛靓竧',
918 jí:'皀卙堲伋及急即极级吉汲嫉棘辑籍集疾戢笈蒺瘠佶楫蕺殛岌亼偮卽叝塉姞嶯彶忣愱揤槉極檝湒潗皍箿級膌艥蕀蝍螏襋觙谻蹐躤踖轚輯郆銡鍓鏶雧霵齎亽亟焏楖濈耤趌磼',
919 jù:'烥巨具距锯剧拒惧聚俱踞炬倨醵屦犋窭飓遽倶讵钜劇勮埧姖壉埾岠屨愳懅拠懼怇昛歫洰澽秬窶簴粔耟虡豦詎蚷躆邭鉅鐻駏颶鮔句袓据據鋸苣寠貗',
920 jùn:'浚濬俊棞峻竣骏郡儁捃呁埈寯懏晙燇珺畯箟葰蜠餕馂陖駿鵔鵕鵘攟賐隽雋攈箘',
921 jú:'局菊橘侷婅巈挶椈泦淗湨焗狊犑粷蘜趜跼輂郹蹫閰駶驧鵙鵴鼳鶪鼰繘',
922 jī:'庴槣几幾机鸡积激基肌姬饥击圾箕讥畸墼齑屐嵇矶笄剞叽跻唧畿玑羁赍芨犄乩刉刏僟喞嘰嗘嵆撃擊枅機毄樭璣癪磯積筓簊羇羈耭虀覉覊譤譏賫賷躸踑銈躋錤鑇鑙鐖隮雞鞿韲飢饑鳮鶏鸄鷄鹡鶺齏朞魕緁缉緝稽咭櫅禨稘觭綨',
923 jīn:'矜矝今斤金筋津巾襟衿堇堻惍琻璡琎珒砛荕觔釒釿钅鹶黅禁紟仐',
924 jīng:'葏经京惊精荆晶粳茎鲸睛兢腈菁旌泾亰坕坙婛旍橸涇猄秔稉経聙經荊鶁鯨驚麖鶄麠鼱綡巠',
925 jū:'苴抅泃鮈居鞠驹狙疽裾锔椐琚掬雎鞫凥匊娵婮崌梮檋毩毱涺砠腒罝艍蜛諊跔踘躹陱駒鴡鶋拘岨眗跙鋦',
926 jūn:'君军均钧皲桾汮皹碅皸莙蚐袀覠軍鈞銁銞鍕鮶鲪麏麕頵菌麇姰',
927 jǐ:'挤己脊戟虮嵴掎麂丮妀撠擠橶泲犱蟣魢鱾穖',
928 jǐn:'仅僅嫤紧锦谨瑾馑槿卺儘侭厪巹漌緊菫蓳謹錦饉廑',
929 jǐng:'丼頸澋井警肼阱刭憬儆坓剄宑幜暻汬汫璄璟璥穽蟼頚殌颈景憼',
930 jǔ:'枸举矩龃榘踽莒榉弆挙擧椇櫸欅筥聥舉蒟襷齟沮咀',
931 kuà:'挎趶跨胯骻',
932 kuài:'哙噲獪巜块快筷侩郐狯脍儈凷圦塊廥旝糩膾鄶鱠鲙欳浍澮墤',
933 kuàng:'矌爌矿框况旷眶邝纩贶圹岲壙懬昿曠況眖砿穬絋礦絖纊貺軦鉱鋛鑛黋鄺',
934 kuáng:'狂诳狅誑軖軠鵟忹抂',
935 kuì:'媿膭謉嘳喟蕢愧馈愦聩篑嬇憒籄簣聵聭餽饋匱匮溃殨潰蒉尯',
936 kuí:'睽騤骙魁葵奎喹逵暌揆馗蝰夔巙戣晆楑楏櫆藈蘷虁躨鍨鄈鍷頯犪',
937 kuò:'括扩擴萿鬠廓蛞拡濶阔筈葀霩闊鞹韕頢鞟挄髺',
938 kuā:'姱夸誇咵舿',
939 kuān:'髋寛寬宽髖鑧臗',
940 kuāng:'硄筐匡诓哐劻匩恇洭誆筺邼軭',
941 kuī:'顝亏窥盔岿刲巋窺聧虧闚悝',
942 kuǎ:'侉垮銙',
943 kuǎi:'蒯擓',
944 kuǎn:'窾窽梡款欵歀',
945 kuǎng:'夼儣懭',
946 kuǐ:'傀跬煃蹞頍磈',
947 kài:'欬忾愾勓烗炌鎎',
948 kàn:'阚鬫瞰墈崁矙磡衎闞看',
949 kàng:'亢伉抗炕钪囥匟鈧犺邟闶',
950 kào:'靠犒铐鮳銬鯌鲓',
951 káng:'扛',
952 kè:'峇錁锞艐衉溘克刻课客恪缂氪骒勀勊愙堁娔碦緙課騍礊愘',
953 kèn:'裉掯褃硍',
954 ké:'咳殻壳殼揢翗',
955 kòng:'控鞚',
956 kòu:'瞉怐扣蔻寇冦筘叩宼敂窛簆蔲釦鷇滱',
957 kù:'焅廤裤库酷喾绔俈嚳庫瘔絝袴褲秙',
958 kùn:'困涃睏',
959 kā:'咖喀',
960 kāi:'揩开锎奒鐦開',
961 kān:'堪刊龛勘戡栞龕嵁',
962 kāng:'忼粇慷康糠嫝嵻槺漮砊穅躿鱇鏮閌',
963 kāo:'尻髛嵪',
964 kē:'匼搕牱頦颏蚵稞棵科颗柯磕蝌轲窠钶珂瞌髁疴嵙樖牁榼犐礚萪薖趷鈳顆醘嗑苛坷軻痾砢',
965 kēi:'剋尅',
966 kēng:'阬坑劥铿牼硁硜誙銵鍞鏗妔摼挳硻',
967 kě:'可渇渴岢炣敤嵑嶱',
968 kěn:'肯啃恳垦墾懇豤肎肻錹貇',
969 kōng:'空倥悾崆埪箜硿躻錓鵼涳',
970 kōu:'抠芤眍剾彄摳瞘',
971 kū:'枯哭窟刳骷堀圐桍矻跍鮬郀',
972 kūn:'錕锟昆坤髡琨醌鲲堃堒崑晜潉焜熴猑瑻崐菎蜫裈裩褌騉髠髨鯤鵾鶤鹍',
973 kǎ:'咯胩佧咔垰裃鉲',
974 kǎi:'剴剀鍇锴凯慨垲铠恺蒈凱塏愷暟輆鎧闓闿颽嵦嘅楷',
975 kǎn:'欿砍坎偘莰侃惂冚輡轗顑凵歁竷',
976 kǎo:'考烤拷栲攷丂洘',
977 kǒng:'孔恐',
978 kǒu:'口劶',
979 kǔ:'苦狜楛',
980 kǔn:'捆梱阃悃壸壼硱祵稇稛綑裍閸閫',
981 la:'鞡',
982 lei:'嘞',
983 li:'哩',
984 liàn:'錬鍊湅煉炼练恋链殓潋僆楝堜媡戀殮澰瀲瑓練纞萰鏈鰊',
985 liàng:'倞哴悢亮辆晾谅喨湸諒輌輛鍄',
986 liào:'料撂廖尥镣尦炓窷鐐',
987 lián:'帘涟漣莲联连怜廉蠊镰鲢奁臁濂裢亷劆匲嗹噒奩匳嫾憐濓熑燫籢簾籨縺聨翴聫聮聯蓮螊覝褳薕謰蹥鎌連鐮鬑鰱瀮慩梿槤櫣溓磏',
988 liáng:'俍粮良梁墚椋粱樑糧輬辌踉凉量涼駺',
989 liáo:'嵺僚橑獠聊疗辽寥鹩寮缭嫽嘹尞屪嶚嶛廫憀敹暸璙療竂簝膋繚膫蟟豂賿蹘遼飉鷯髎藔燎爎爒漻',
990 liè:'儠鱲列捩栵猎劣烈埒鬣趔躐冽劽洌埓姴巤挒浖烮煭犣猟聗獵脟蛚迾颲鮤鬛鴷茢擸裂哷',
991 liù:'飂六馏遛鹨塯廇磟翏雡霤餾鬸鷚',
992 liú:'硫蟉鏐镠流留刘瘤榴琉鎏镏浏旒骝嚠劉媹嵧旈橊瑠璢畱畄瀏瑬疁癅蒥蓅裗鐂飀飗駠駵飅驑騮鶹鰡鹠麍懰藰斿磂鎦',
993 liāo:'撩蹽',
994 liě:'咧毟挘',
995 liū:'溜澑熘蹓',
996 liǎ:'俩倆',
997 liǎn:'裣襝脸敛琏蔹嬚斂羷璉臉蘞蘝鄻歛摙',
998 liǎng:'脼两魉両兩唡啢掚緉蜽裲魎',
999 liǎo:'蓼了钌瞭釕憭鄝镽曢',
1000 liǔ:'柳绺锍嬼栁桞橮桺熮珋罶羀綹鋶',
1001 luàn:'乱亂釠',
1002 luán:'脔娈孌挛攣滦峦孪栾銮鸾圝圞孿奱曫巒癵癴欒羉灤臠虊鵉鑾鸞灓',
1003 luò:'詻鵅駱骆珞洛荦雒摞峈犖笿纙洜硌鮥络絡漯濼泺硦',
1004 luó:'玀罗锣骡箩螺萝逻椤脶镙儸猡攞欏籮羅腡覼蘿邏饠鑼鸁鏍騾驘囖覶',
1005 luō:'捋啰囉頱',
1006 luǎn:'卵',
1007 luǒ:'蠃裸倮瘰剆曪癳臝蓏躶',
1008 là:'臈蜡辣瘌揧楋溂瓎翋臘蝋蝲辢鑞蠟镴鬎鯻腊落剌揦攋櫴爉',
1009 lài:'鵣癩癞赖濑籁赉唻睐瀬瀨籟睞藾賚賴顂頼徕',
1010 làn:'嚂滥濫烂燗爁爤瓓爛糷钄',
1011 làng:'浪蒗阆埌閬莨',
1012 lào:'唠嘮憦烙涝酪耢嗠橯嫪澇耮軂躼',
1013 lá:'嚹旯磖',
1014 lái:'来莱崃涞铼俫倈來崍庲梾棶猍筙琜箂淶萊逨郲騋錸鶆鯠麳婡徠',
1015 lán:'燷蘫蓝兰拦篮栏谰婪澜岚褴斓镧儖囒阑幱嵐攔斕欗欄灆瀾灡燣璼籣籃繿葻襕藍蘭襽襴襤讕譋躝鑭闌韊啉惏懢',
1016 láng:'狼廊稂琅螂榔锒勆嫏桹樃欴瑯硠艆蓈蜋躴郒郞鎯鋃斏郎筤',
1017 láo:'牢劳铹醪僗崂痨労哰勞憥嶗朥浶癆窂簩顟鐒髝磱蟧',
1018 lè:'扐艻鳓仂泐叻忇氻玏砳簕阞韷餎鰳鱳竻乐楽勒樂',
1019 lèi:'肋类泪酹涙淚禷纇蘱銇錑頛頪颣類',
1020 lèng:'踜倰',
1021 léi:'累礧雷镭缧羸嫘儽檑欙瓃畾縲纝罍纍蔂蘲虆轠鐳鑘靁鱩鼺擂攂樏櫑礌',
1022 léng:'唥棱',
1023 lì:'皪莉厲脷力立例利历砾傈荔俐痢粒吏沥栗励厉笠坜苈蜊粝呖枥砺篥猁疬溧戾唳轹詈俪雳莅蛎儮凓儷厤勵叓唎囇塛嚦厯娳壢婯岦屴悧悷搮慄暦曞朸栃栛曆檪櫔欐櫪歴沴歷涖濿瀝犡珕爏瑮瓑瓥癧盭瓅砅磿礫礰秝禲礪糲茘蒚蒞藶蛠蚸蜧蝷蠇蠣赲讈轣轢酈鉝靋靂鬁鴗鳨鷅麜浰睙隶隷隸苙砬丽郦跞攊躒栎櫟疠癘巁棙爄綟擽攭攦觻',
1024 lìn:'膦赁蔺吝躏悋恡橉甐焛藺蹸躙賃躪轥閵',
1025 lìng:'另炩蘦靈',
1026 lí:'厘离離驪骊黧梨漓狸璃篱黎鹂犁缡蓠嫠藜鲡罹喱刕剓剺劙嚟囄孷廲悡梸棃灕犂琍瓈盠睝穲竰筣籬縭糎艃荲菞蔾蘺蟍蠫褵謧蟸貍醨鋫錅鏫鑗鯏鯬鵹鱺鸝樆邌釐孋麗斄纚',
1027 lín:'綝瞵林临邻磷鳞琳霖遴嶙粼麟辚壣崊斴晽暽潾瀶璘燐碄粦繗翷臨轔鏻鄰隣驎麐鱗阾冧淋獜疄厸箖',
1028 líng:'令苓零魿铃玲灵龄凌陵羚菱伶翎绫酃瓴蛉泠呤棂鲮聆囹柃刢坽姈婈孁夌彾掕昤朎櫺淩澪欞燯爧狑琌砱祾秢竛紷皊舲綾笭蓤蕶衑蔆裬詅跉軨輘醽錂閝鈴霊霝霛駖鸰鯪鹷霗麢齢齡鴒龗羐崚',
1029 lòng:'哢梇贚徿',
1030 lòu:'漏陋镂瘘屚瘻瘺鏤露',
1031 lóng:'靇龙隆聋咙窿胧珑栊砻癃茏嚨巃嶐巄昽曨槞朧湰櫳滝漋爖矓瓏礲礱竜眬聾蠬蘢襱豅蠪鏧鑨霳驡鸗龒笼篭籠躘龓龍泷瀧尨',
1032 lóu:'蒌蔞楼娄蝼髅婁耧廔溇樓漊熡艛耬謱螻遱鞻軁髏喽嘍慺鷜瞜',
1033 lù:'熝鏕膔蔍逯樚輅辂穋僇陆陸录路鹿戮赂潞禄麓渌簏辘漉璐鹭侓勎勠塶坴圥峍廘娽彔摝椂淕淥琭甪盝睩硉稑祿簶箓簬籙簵粶菉蕗螰虂踛賂蹗轆醁趢錄録錴鏴騄騼鯥鴼鵦鵱鷺剹碌',
1034 lùn:'论論溣',
1035 lú:'璷芦卢盧炉颅庐栌泸轳鲈垆胪鸬舻嚧壚廬枦櫨瀘獹爐玈瓐矑籚罏纑舮艫蘆臚蠦轤鈩顱髗魲鑪鱸鸕黸曥馿攎',
1036 lún:'錀沦淪轮伦仑囵圇侖婨倫崘崙棆磮腀菕蜦踚陯鯩輪纶綸芲碖耣',
1037 lüè:'略掠锊畧圙稤鋢鋝寽',
1038 lā:'拉啦垃邋柆菈搚',
1039 lāng:'啷',
1040 lāo:'捞撈粩',
1041 lěi:'垒蕾儡磊诔耒傫塁厽壨壘櫐灅癗礨矋蕌藟蘽蠝讄誄鑸鸓洡磥絫',
1042 lěng:'冷',
1043 līn:'拎',
1044 lū:'撸噜嚕擼謢',
1045 lūn:'抡掄',
1046 lǎ:'喇藞',
1047 lǎi:'襰',
1048 lǎn:'懶揽懒缆览榄罱漤壈嬾孄孏擥攬浨欖灠覧覽纜醂顲囕爦',
1049 lǎng:'朗塱崀朖朤烺蓢誏',
1050 lǎo:'荖狫老佬铑栳恅咾珯硓蛯轑銠鮱耂潦',
1051 lǐ:'豊里李理礼鲤鳢锂澧蠡醴逦俚娌峛峲欚浬禮粴裏裡邐鋰鯉鱱鱧峢',
1052 lǐn:'癛癝廩廪懔凛檩僯凜撛懍檁澟亃菻',
1053 lǐng:'领嶺領岭岺袊',
1054 lǒng:'拢垄陇垅壠壟攏竉隴儱',
1055 lǒu:'篓簍嵝塿嶁甊搂摟',
1056 lǔ:'鲁卤虏掳氇橹镥塷擄樐氌櫓澛滷瀂硵磠艣艪蓾虜鏀鐪鑥魯鹵穞',
1057 lǔn:'埨稐惀',
1058 lǘ:'氀膢驴榈闾櫚藘閭驢',
1059 lǚ:'僂偻挔捛铝屡吕缕侣履旅膂褛稆儢侶屢呂焒梠祣穭絽縷郘鋁膐褸',
1060 lǜ:'虑滤濾膟律氯勴垏嵂慮爈箻繂綠葎鑢櫖绿緑',
1061 m:'呣',
1062 miàn:'面糆靣麫麪麺麵',
1063 miào:'庙妙庿玅廟竗',
1064 mián:'宀绵棉眠婂嬵檰櫋矈矊緜綿芇矏蝒杣臱媔',
1065 miáo:'描苗瞄媌嫹鹋鶓緢',
1066 miè:'鴓礣鑖灭篾蠛幭懱搣蔑滅薎衊鱴烕櫗瀎',
1067 miù:'谬謬',
1068 miāo:'喵',
1069 miē:'孭咩吀哶乜',
1070 miǎn:'睌免缅冕勉娩腼湎眄偭丏沔勔喕愐汅緬葂鮸靦絻渑澠',
1071 miǎo:'秒藐眇渺缈淼杪邈篎緲劰',
1072 mà:'骂唛傌嘜睰祃禡罵閁鬕駡杩榪',
1073 mài:'卖迈麦劢佅勱売脈衇邁霡霢麥賣脉',
1074 màn:'慢漫曼幔墁熳缦镘僈嫚澷獌蔄蘰縵鄤鏝蔓槾',
1075 mào:'冒帽貌茂贸耄懋瞀袤瑁冃冐媢愗暓毷皃眊萺覒蝐貿鄚鄮柕',
1076 má:'痳吗嗎嘛麻犘痲蔴蟇蟆',
1077 mái:'霾埋薶',
1078 mán:'樠蛮馒谩鳗姏慲蠻謾鬗饅鰻鬘瞒瞞鞔悗摱',
1079 máng:'蛖茫芒忙盲硭邙吂娏厖哤恾杗杧浝汒牻笀痝蘉釯鋩铓駹庬狵盳',
1080 máo:'氂毛矛锚茅茆蝥髦牦蟊枆渵楙罞軞鉾酕鶜錨犛旄芼堥髳',
1081 mè:'嚰濹',
1082 mèi:'沬妹寐昧媚袂魅抺煝眛痗睸祙篃跊蝞鬽旀嚜韎',
1083 mèn:'闷悶焖懑懣暪燜',
1084 mèng:'癦梦孟夣夢霥懜',
1085 méi:'坆没沒酶枚霉煤玫梅眉媒嵋猸湄鹛莓镅楣堳塺攗栂楳槑徾湈珻瑂睂脄禖腜脢葿苺郿鎇鶥黴鋂',
1086 mén:'门们扪钔們捫璊菛虋鍆閅門玧穈',
1087 méng:'氓朦甿鸏鹲霿盟萌檬礞甍儚虻艨幪曚橗氋溕獴濛莔蕄蝱鄳鄸靀顭饛鯍瞢懞矒',
1088 mì:'秘泌祕宓沕密蜜觅幂汨谧嘧冖冪宻塓峚幎幦榓樒櫁淧滵漞濗熐羃蔤覔覛覓謐鼏怽糸簚',
1089 mìng:'命掵椧',
1090 mí:'靡谜蘪迷醚蘼縻麋祢猕冞擟瀰爢禰獼蒾藌袮詸醾謎醿釄鸍镾麊麛麿糜弥彌戂攠瓕',
1091 mín:'緍緡缗民珉苠岷垊姄崏慜捪旻旼琘琝瑉盿砇碈痻罠鈱錉鍲鴖怋玟',
1092 míng:'嫇明瞑溟蓂冥名铭螟暝茗鸣朙榠洺猽眀眳覭銘鳴詺鄍',
1093 mò:'蓦貊驀獏沫墨眽末默陌漠寞秣殁镆瘼貘茉耱嗼圽塻妺嫼帞昩枺歿爅皌眿瞐瞙砞礳纆莈藦蛨蟔絈貃銆靺鏌魩黙眜莫帓歾',
1094 mó:'嬷尛嬤劘擵膜魔摹蘑嫫馍谟橅糢謩謨饝饃髍魹摩麼麽庅磨模',
1095 móu:'缪繆侔蛑踎谋鍪劺眸恈謀鴾麰牟',
1096 mù:'募幕毣暯艒木目牧墓穆暮慕睦钼沐凩仫苜幙楘慔炑蚞狇雮莯鉬霂坶縸鞪',
1097 mú:'毪氁',
1098 mā:'妈媽嫲',
1099 mān:'颟顢',
1100 māng:'牤',
1101 māo:'猫貓',
1102 mē:'嚒',
1103 mēn:'椚',
1104 mēng:'蒙掹擝矇',
1105 měi:'羙每镁美浼凂媄媺嬍嵄挴毎渼燘躾鎂黣',
1106 měng:'猛锰勐蜢懵蠓艋冡錳鯭鼆',
1107 mī:'咪眯瞇',
1108 mō:'摸嚤',
1109 mōu:'哞',
1110 mǎ:'马码玛犸獁溤瑪碼遤鎷馬鰢鷌蚂螞',
1111 mǎi:'买荬嘪蕒買鷶',
1112 mǎn:'满螨屘満滿襔蟎鏋娨矕',
1113 mǎng:'硥莽漭壾茻蠎莾蟒',
1114 mǎo:'泖鉚铆卯昴冇峁戼笷蓩夘',
1115 mǐ:'沵米弭芈脒敉侎孊洣渳灖粎羋葞蔝銤濔',
1116 mǐn:'愍敃惽泯蠠抿敏闽皿悯闵鳘僶冺刡勄敯憫潣笢笽簢閔閩鰵湣黽黾忞忟暋',
1117 mǐng:'佲凕姳慏酩',
1118 mǒ:'抹懡',
1119 mǒu:'某',
1120 mǔ:'畂母亩牡拇姆峔牳畆畒畮畞畝砪胟踇鉧姥',
1121 niàn:'唸埝念廿卄艌惗',
1122 niào:'尿脲',
1123 nián:'年黏鲶鲇哖秊秥鮎鯰鵇姩',
1124 niáng:'孃',
1125 niè:'蘖湼籋痆鑈镍聂孽涅镊啮陧嗫蹑臬颞噛嚙囁囓圼孼嵲嶭巕帇敜枿槷篞櫱糱糵聶臲蠥讘踂踙踗躡錜鎳钀鑷闑隉齧顳摰菍',
1126 nié:'苶',
1127 niú:'汼牜牛',
1128 niān:'拈蔫',
1129 niē:'捏揑',
1130 niū:'妞',
1131 niǎn:'蹍焾撵碾辇撚涊攆簐蹨躎輦淰捻',
1132 niǎo:'鳥鸟茑嬲嫋嬝蔦袅裊褭樢',
1133 niǔ:'扭鈕钮纽狃忸炄莥靵紐杻',
1134 nuán:'奻',
1135 nuò:'蹃懦糯诺锘搦愞懧掿榒稬穤糑糥逽諾鍩喏',
1136 nuó:'挪傩儺梛橠',
1137 nuǎn:'暖煖煗餪渜',
1138 nà:'貀郍纳钠衲捺肭笝納蒳豽軜鈉靹魶袦呐吶那娜妠',
1139 nài:'耐萘奈柰鼐渿褦錼螚',
1140 nàn:'婻',
1141 nàng:'儾齉',
1142 nào:'淖臑闹閙鬧',
1143 ná:'拿镎嗱拏鎿搻',
1144 nái:'孻腉',
1145 nán:'南男楠侽喃娚抩暔枏柟畘莮遖难難諵',
1146 náng:'囊馕乪嚢欜蠰饢',
1147 náo:'碙呶詉铙挠猱蛲硇夒峱嶩巎撓譊蟯鐃憹怓獶獿',
1148 nè:'疒讷眲訥抐',
1149 nèi:'氞內氝錗内',
1150 nèn:'嫩嫰恁',
1151 néng:'能',
1152 nì:'屰氼腻逆匿昵睨堄嫟嬺愵惄暱眤胒縌膩誽溺',
1153 nìng:'濘泞佞侫澝倿',
1154 ní:'埿倪霓铌尼猊坭怩鲵屔淣籾蚭觬蜺貎跜輗郳鈮馜齯鯢麑聣臡呢泥秜婗棿',
1155 nín:'囜您脌',
1156 níng:'柠凝狞咛儜聍嬣嚀橣檸獰聹鑏薴鬡鸋宁拧擰寍寕寗甯寜寧',
1157 nòng:'弄挊挵齈癑',
1158 nòu:'鎒鐞耨槈檽獳',
1159 nóng:'哝噥譨鬞檂农浓脓侬儂欁禯濃秾蕽膿襛辳穠農醲燶',
1160 nóu:'羺',
1161 nù:'搙怒傉',
1162 nú:'奴驽孥笯駑伮',
1163 nún:'黁',
1164 nüè:'婩硸虐疟瘧',
1165 nān:'囡',
1166 nāng:'囔',
1167 nāo:'孬',
1168 něi:'娞馁脮腇鮾餒鯘',
1169 nī:'妮',
1170 nǎ:'哪乸雫',
1171 nǎi:'乃嬭奶氖艿倷廼疓迺釢',
1172 nǎn:'赧蝻腩戁揇湳煵萳',
1173 nǎng:'曩攮擃灢',
1174 nǎo:'脑恼垴匘瑙堖嫐悩惱碯脳腦',
1175 nǐ:'儗柅聻檷妳掜你拟伱儞旎孴晲擬狔苨薿隬伲抳',
1176 nǐn:'拰',
1177 nǐng:'矃',
1178 nǒng:'繷',
1179 nǔ:'努胬弩砮',
1180 nǚ:'女钕籹釹',
1181 nǜ:'沑衄恧衂朒',
1182 o:'筽',
1183 piàn:'片骗騗魸騙',
1184 piào:'骠僄徱驃鰾票',
1185 pián:'跰骈蹁胼楩腁賆騈駢骿',
1186 piáo:'嫖瓢薸闝',
1187 piè:'嫳',
1188 piān:'鶣篇偏翩囨犏媥楄鍂',
1189 piāo:'剽犥飘螵勡嘌慓旚翲飃魒飄漂彯',
1190 piē:'瞥撆氕暼撇覕',
1191 piě:'苤丿鐅',
1192 piǎn:'谝覑貵諞',
1193 piǎo:'殍瞟皫醥顠篻缥縹',
1194 pà:'怕帕袙帊',
1195 pài:'湃派哌沠蒎鎃渒',
1196 pàn:'拚袢盼肨判畔叛胖襻泮冸沜溿炍牉詊鋬鑻頖鵥聁',
1197 pàng:'炐眫',
1198 pào:'砲靤疱奅礟皰麭礮泡',
1199 pá:'杷爬琶筢掱潖',
1200 pái:'排棑箄牌徘俳犤猅輫簰簲',
1201 pán:'搫柈跘磻蟠縏蹒蹣盘磐爿媻幋槃洀瀊盤蒰鎜鞶丬',
1202 páng:'嫎徬螃鰟鳑舽逄厐庞龐龎旁彷',
1203 páo:'刨炮袍咆狍庖匏垉爮褜軳鞄麅麃炰',
1204 pèi:'犻配佩沛帔旆霈辔姵伂斾珮蓜浿馷轡',
1205 pèn:'喯',
1206 pèng:'踫碰掽椪槰',
1207 péi:'裵裴錇锫陪赔培毰阫賠',
1208 pén:'葐盆湓瓫',
1209 péng:'彭騯傰錋捀蘕鵬鹏袶棚蓬朋硼澎篷蟛膨倗塜塳憉弸椖樥稝纄竼芃蟚輣韸韼髼鬅鑝鬔堋熢莑篣',
1210 pì:'媲鸊屁僻譬甓嫓澼疈闢鷿稫揊淠潎',
1211 pìn:'汖聘牝朩',
1212 pí:'埤崥枇腗脾魮鲏鮍蜱皮琵毗啤疲貔郫鼙罴蚍壀毘焷篺膍蚽螷羆蠯豼鈹阰隦鵧笓肶蚾铍',
1213 pín:'蠙贫嫔颦嚬玭嬪矉薲貧顰娦频琕蘋',
1214 píng:'平荓輧軿瓶评萍坪凭呯凴枰鲆塀岼帡帲幈慿洴憑焩甁玶竮箳簈缾蚲蛢蓱郱評鮃屏檘淜胓苹',
1215 pò:'哱魄湐昢破粕珀岶敀洦烞砶蒪奤迫廹',
1216 pó:'蔢嚩皤鄱婆櫇嘙',
1217 póu:'裒抔箁垺抙捊',
1218 pù:'瀑曝舗舖',
1219 pú:'菩葡蒲僕獛莆匍濮镤璞圤墣瞨穙菐蒱贌酺鏷纀',
1220 pā:'皅苩趴啪妑葩舥',
1221 pāi:'拍',
1222 pān:'潘萠攀眅',
1223 pāng:'雱乓滂胮膖霶',
1224 pāo:'抛脬拋萢',
1225 pēi:'衃呸胚醅怌肧',
1226 pēn:'喷噴歕',
1227 pēng:'抨駍砰烹剻嘭匉怦恲梈軯泙硑磞閛',
1228 pěi:'俖',
1229 pěn:'呠翸',
1230 pěng:'捧淎皏',
1231 pī:'錍鈚陴坯批披霹砒丕邳噼伾伓憵岯炋狉狓磇礕秛秠礔耚豾鉟錃銔駓髬魾悂劈旇枈紕纰翍抷釽',
1232 pīn:'砏拼姘礗穦驞馪',
1233 pīng:'娉乒俜涄甹砯聠艵頩',
1234 pō:'泼潑頗颇坡钋岥溌酦鏺釙醗醱',
1235 pōu:'娝剖',
1236 pū:'撲陠攵扑攴噗潽炇鯆铺痡鋪仆',
1237 pǎn:'坢',
1238 pǎng:'耪覫',
1239 pǎo:'跑',
1240 pǐ:'諀吡仳庀匹痞癖圮噽嚭脴苉銢鴄擗嶏疋',
1241 pǐn:'品榀',
1242 pǐng:'屛',
1243 pǒ:'箥笸叵钷尀駊鉕',
1244 pǒu:'婄掊咅哣犃',
1245 pǔ:'埔擈溥谱圃浦镨普氆蹼圑暜檏樸烳諩譜鐠朴',
1246 qià:'髂洽胢恰冾圶帢殎硈',
1247 qiàn:'嬱欠歉倩芡茜俔椠儙伣刋壍悓棈槧皘篏篟縴蔳蒨輤嵌傔堑塹慊綪',
1248 qiàng:'炝唴熗羻',
1249 qiào:'撽撬窍峭诮僺竅誚躈陗鞩韒髚鞘俏',
1250 qián:'鉗钳乹亁鈐钤偂前葥銭錢钱黚仱潜黔箝掮虔墘媊岒拑歬榩橬濳灊潛軡鎆騚騝鰬乾揵荨蕁忴扲羬',
1251 qiáng:'强強彊蔃墙蔷樯嫱墻嬙漒檣牆艢蘠廧薔',
1252 qiáo:'趫乔侨僑嫶櫵橋蕎鞒鞽桥瞧荞樵谯憔槗犞硚礄荍藮譙鐈顦喬翘嘺翹墧癄睄菬',
1253 qiè:'淁挈窃怯惬锲妾匧厒箧悏穕笡竊籡篋愜踥鍥鯜洯趄蛪郄朅',
1254 qié:'伽茄癿聺',
1255 qióng:'蛩舼宆穹跫穷琼邛茕筇儝銎卭惸桏焪焭橩憌熍煢睘瓊竆笻藭藑窮蛬赹瞏璚瓗',
1256 qiú:'醔朹芁蝤訄頄求球泅囚酋裘巯逑俅虬赇犰鼽遒叴唒崷巰扏梂殏毬汓浗煪玌璆皳盚紌絿湭莍虯蛷觓肍觩訅逎賕釚釻銶鮂鯄鰽渞',
1257 qiā:'擖掐葜',
1258 qiān:'欦騫骞千牵签钎谦扦迁仟岍褰搴愆悭芊佥阡僉奷孯圲慳拪撁攐攑攓杄櫏汘汧竏牽籖籤簽粁茾蚈諐谸謙鈆遷釺鉛韆顅鬜鬝鏲鵮鹐婜厱铅圱掔檶臤',
1259 qiāng:'瑲篬玱呛嗆戧跄戗抢搶摤槍腔枪羌蜣戕锖锵啌嗴嶈斨溬猐牄獇羗謒蹡蹌鏘鎗椌羫',
1260 qiāo:'墽磽鐰勪蹻繑敲锹跷硗劁墝帩橇幧毃燆趬踍蹺郻鄡鄥頝鍫鍬骹缲繰',
1261 qiē:'切苆',
1262 qiě:'且',
1263 qiū:'趥萩秋丘邱楸蚯鳅丠坵媝恘秌穐篍緧蘒蝵蟗蠤鞦鞧鰌鰍鶖鹙龝恷蓲湫湬',
1264 qiǎ:'峠拤跒酠鞐卡',
1265 qiǎn:'淺谴遣缱肷繾膁蜸譴鑓浅槏',
1266 qiǎng:'羥羟襁镪墏繈繦鏹',
1267 qiǎo:'釥巧愀髜悄',
1268 qiǔ:'糗搝',
1269 quàn:'韏劝勧勸牶券',
1270 quán:'輇辁荃醛權蠸埢踡蜷啳权拳全颧泉痊筌诠鬈姾铨峑巏搼佺権洤湶楾牷犈硂縓葲觠瑔跧闎銓詮駩顴鰁騡鳈齤婘恮絟',
1271 què:'棤搉却卻闋阕琷塙确鹊崅榷悫愨燩慤皵礭確鵲礐趞傕埆闕硞雀碻碏',
1272 qué:'瘸',
1273 quān:'圈圏棬奍箞悛鐉椦',
1274 quē:'炔缺缼蒛阙',
1275 quǎn:'犮犭犬绻畎烇綣虇',
1276 qì:'摖呮矵汽蟿泣气器弃迄讫憩汔碛葺咠唭噐夡憇暣棄欫気氣湇湆炁甈盵碶磜磧罊芞訖藒鐑愒契砌栔槭滊磩',
1277 qìn:'沁吣吢唚揿抋搇撳瀙菣藽',
1278 qìng:'儬濪靘庆慶磬凊罄櫦碃箐殸綮掅',
1279 qí:'奇其丌隑芪萕祈棋璂萁蕲蘄褀鄿騎骑頎颀祁歧畦脐崎旗祺骐岐鳍蛴綦亓琪麒蜞琦淇剘埼岓嵜愭掑斉斊旂棊檱櫀濝猉玂疧碕碁禥簱簯籏粸竒綥肵艩藄臍蚑蜝蚚螧蠐軝錡锜釮騹騏鬿鬐鯕鲯鰭鵸麡鶀陭齐帺懠跂齊亝圻耆忯蚔',
1280 qín:'肣埐嶜斳勤擒琴芹秦禽芩嗪螓檎噙懃懄庈捦珡琹瘽澿耹菦鈙蠄靲雂鳹鵭鈫慬菳蚙嫀',
1281 qíng:'擏殑檠葝剠情晴擎氰黥勍夝暒棾樈甠硘啨',
1282 qù:'耝趣去阒刞厺迲閴闃麮鼁觑覻覷',
1283 qú:'朐胊軥鴝鸜鸲爠籧蘧欔蠼蕖磲劬癯衢璩氍佢戵斪欋淭璖灈絇菃臞葋蟝蠷衐鑺躣鼩瞿忂渠螶翑',
1284 qún:'宭群帬峮羣裠裙',
1285 qī:'墄戚踦七漆柒欺凄沏桤萋嘁欹倛僛娸悽慼慽捿桼棲榿淒紪緀褄諆迉郪鏚霋魌鶈期敧攲妻栖傶',
1286 qīn:'兓侵钦衾媇嵚嶔欽誛駸顉鮼骎嵰親亲寴綅',
1287 qīng:'蜻靑青錆轻清氢倾卿圊傾鲭寈淸氫軽郬輕鯖鑋埥',
1288 qū:'趍詘诎坥蛆屈鶌呿敺佉驱躯祛麴黢蛐伹岖匤抾岴憈嶇浀筁粬胠袪阹駆駈軀髷驅魼鰸鱋麹麯煀趋趨区區誳焌曲紶覰',
1289 qūn:'踆囷夋逡',
1290 qǐ:'晵豈起启乞企屺芑杞绮呇唘啔啓婍啟棨玘盀綺諬邔闙岂',
1291 qǐn:'鋟锓寝坅寑寢昑梫笉螼赾',
1292 qǐng:'頃顷请謦苘庼廎檾漀請',
1293 qǔ:'娶取龋竬蝺詓齲竘',
1294 ruán:'堧撋壖',
1295 ruì:'銳鋭锐枘瑞睿芮叡汭蚋蜹',
1296 ruí:'蕤桵甤緌',
1297 ruò:'婼篛箬偌叒弱楉爇焫蒻鄀鰙嵶鶸鰯若渃',
1298 ruó:'挼捼',
1299 ruǎn:'輭腝偄软阮朊瓀瑌礝軟碝媆耎緛',
1300 ruǐ:'蕋蕊壡橤繠蘃蘂',
1301 ràng:'让懹譲讓',
1302 rào:'绕繞遶',
1303 rán:'然燃髯呥嘫蚺繎肰衻袇髥袡蚦',
1304 ráng:'瀼蘘鬤瓤穰禳穣獽躟勷儴',
1305 ráo:'橈桡饶荛襓蕘饒嬈娆',
1306 rè:'热熱',
1307 rèn:'腍认刃韧妊纫饪轫仭衽刄姙屻仞扨牣紝絍纴紉肕訒袵讱認鈓軔靱餁靭飪韌祍杒梕任',
1308 rén:'亻人仁壬忈忎朲秂芢魜鵀銋',
1309 réng:'陾',
1310 rì:'釰釼日馹驲囸鈤衵',
1311 ròng:'穃',
1312 ròu:'譳肉宍',
1313 róng:'肜搑容融绒溶熔荣戎蓉茸榕狨嵘傛蝾媶嫆嬫峵搈曧嶸栄榵毧榮瀜瑢穁烿絨羢茙螎鎔褣镕蠑駥嵤爃縙槦',
1314 róu:'蝚柔糅揉蹂媃鞣渘瑈粈腬瓇煣葇輮鍒騥禸鰇鶔脜厹楺',
1315 rù:'褥縟缛入蓐溽洳嗕媷扖杁鳰',
1316 rùn:'橍润闰潤閠閏',
1317 rú:'濡渪邚嬬如儒茹蠕孺襦铷嚅颥侞帤曘薷桇筎繻蕠袽醹銣鱬顬鴑鴽蝡挐蒘',
1318 rún:'瞤',
1319 rě:'惹',
1320 rěn:'忍荏稔栠栣秹綛荵躵棯',
1321 rū:'嶿',
1322 rǎn:'冄冉染苒媣姌珃蒅橪',
1323 rǎng:'攘壤壌爙嚷',
1324 rǎo:'扰隢擾',
1325 rǒng:'軵冗傇宂氄坈',
1326 rǒu:'韖',
1327 rǔ:'擩汝乳辱肗鄏',
1328 san:'壭',
1329 shi:'籂辻',
1330 shuà:'誜',
1331 shuài:'率卛蟀帅帥',
1332 shuàn:'涮腨',
1333 shuàng:'灀',
1334 shuì:'祱睡税帨涗涚裞稅',
1335 shuí:'谁脽誰',
1336 shuò:'鑠铄烁爍朔搠妁槊蒴矟鎙箾獡硕碩欶',
1337 shuā:'唰刷',
1338 shuāi:'衰摔',
1339 shuān:'拴栓闩閂',
1340 shuāng:'双霜孇孀欆礵艭驦騻骦鷞鸘雙鹴',
1341 shuō:'说説說',
1342 shuǎ:'耍',
1343 shuǎi:'甩',
1344 shuǎng:'漺爽塽慡縔鏯',
1345 shuǐ:'氵水氺閖',
1346 shà:'嗄喢唼霎倽歃箑翜翣萐閯啑帹厦廈',
1347 shài:'晒曬',
1348 shàn:'墠嬗蟺贍赡善膳汕缮蟮鄯擅鳝骟讪疝僐墡敾樿椫灗磰繕謆譱訕赸鐥饍鱓騸鱔歚禪扇掞銏',
1349 shàng:'尙尚绱恦丄緔上鞝',
1350 shào:'綤紹绍哨邵劭潲卲袑娋',
1351 shá:'啥',
1352 sháo:'杓勺芍韶玿柖',
1353 shè:'赦渉涉滠灄摂社舍设慑厍麝弽慴厙懾欇涻舎蔎蠂騇設摄攝射韘',
1354 shèn:'胂涁渗滲葚肾慎侺蜃愼昚瘆瘮祳眘脤腎蜄鋠甚',
1355 shèng:'盛晟嵊圣胜剩剰墭勝晠榺橳琞蕂聖貹賸',
1356 shé:'蛇揲舌佘蛥虵',
1357 shén:'鉮神榊鰰',
1358 shéng:'繉繩绳憴縄譝',
1359 shì:'飾餝饰澨適市适示是事室试式士拭誓柿逝势世嗜噬仕释侍恃视铈舐轼贳筮弑亊丗谥冟卋勢呩奭嬕弒恀戺揓昰枾栻烒煶眎眡眂礻睗簭舓襫觢視試諡謚貰軾遾釈鈰鉃釋鉽餙鰘諟崼柹氏莳蒔螫徥忕秲銴',
1360 shí:'石姼蝕十时蚀实埘鲥炻塒実寔實嵵峕旹時榯湜溡祏竍識遈鉐飠鮖饣鰣鼭鼫乭拾什识食',
1361 shòu:'受瘦授兽售寿狩夀绶壽獣痩獸膄綬涭鏉',
1362 shù:'侸術树束述戍墅竖庶恕漱沭腧庻怷樹潄濖竪絉荗蒁虪裋豎鉥錰鏣鶐霔数數术朮澍尌咰捒',
1363 shùn:'顺瞬舜橓瞚蕣鬊順',
1364 shú:'熟赎孰秫塾尗璹贖',
1365 shā:'粆紗纱桬殺乷鎩铩杀砂杉鲨痧裟唦硰猀繺蔱閷魦鯋鯊髿毮沙煞榝樧',
1366 shāi:'筛篩簁籭簛',
1367 shān:'嘇柵脠縿山衫删煽珊芟潸跚傓舢剼刪挻搧圸澘狦檆笘羴羶軕邖閊鯅苫姍姗钐釤膻幓彡痁',
1368 shāng:'伤商墒熵觞殇慯傷滳殤漡蔏螪謪觴鬺禓',
1369 shāo:'捎稍梢烧艄筲弰旓燒焼萷蕱輎髾鮹莦',
1370 shē:'奓賖賒赊奢猞畲檨輋畭畬',
1371 shēn:'鯵鰺鲹身罙糂蔘曑葠伸深申绅砷呻娠诜侁兟堔妽屾峷扟柛燊氠珅甡甧眒穼籶籸罧蓡紳薓裑訷詵駪鯓鵢敒莘姺',
1372 shēng:'声栍生升甥牲笙呏斘昇曻殅泩枡湦焺珄竔聲鉎鍟阩陞鵿陹鼪苼狌',
1373 shě:'捨',
1374 shěn:'沈瀋谂諗宷审審婶矧渖哂嬸弞曋矤瞫覾訠讅谉邥頣魫',
1375 shěng:'省偗眚渻',
1376 shī:'釃酾师虱失狮施湿诗尸鲺蓍呞屍師浉湤溮溼濕瑡獅葹蒒絁蝨褷襹詩邿鉇鍦鯴鰤鳲鳾鸤鶳箷釶',
1377 shōu:'收収',
1378 shū:'跾淑琡樞菽摅攄书输叔梳疏蔬枢抒殊纾舒姝毹殳倏儵倐婌掓書毺瀭焂疎綀紓軗踈輸鄃陎鮛鵨杸橾',
1379 shǎ:'傻儍',
1380 shǎn:'炶煔闪陕晱熌睒覢閃陝',
1381 shǎng:'鋿鏛垧赏晌鑜賞樉贘扄',
1382 shǎo:'少',
1383 shǐ:'使史矢驶始屎豕乨兘宩榁笶鉂駛',
1384 shǒu:'首手守艏垨扌',
1385 shǔ:'暏襡襩蜀鼠黍薯暑曙署潻癙糬薥藷蠴鱪鱰鼡属屬',
1386 shǔn:'楯吮',
1387 suàn:'算蒜筭笇祘',
1388 suì:'繀韢岁碎穗遂隧祟谇邃亗嵗嬘檖旞燧歳歲澻煫璲砕穂禭穟繐繸襚譢誶賥鐆鐩埣睟',
1389 suí:'隋綏绥随瓍遀隨髄',
1390 suò:'溹蜶逤',
1391 suān:'狻酸痠',
1392 suī:'熣浽虽濉荽倠哸夊滖芕荾鞖雖',
1393 suō:'睃簑唆嗍蓑梭桫娑嗦羧傞摍莏簔趖鮻挲莎挱缩縮',
1394 suǎn:'匴',
1395 suǐ:'髓瀡膸',
1396 suǒ:'褨獕乺所锁琐索唢溑暛嗩琑瑣鎻鏁鎖惢鎍',
1397 sà:'颯飒蕯萨脎卅櫒薩鈒隡馺虄摋钑',
1398 sài:'赛僿賽簺',
1399 sàn:'潵散俕閐',
1400 sào:'埽瘙氉矂髞',
1401 sè:'栜色涩瑟啬铯嗇穑懎擌歮渋澁濏濇澀瀒瘷璱穯繬穡譅轖鏼銫飋摵洓歰雭',
1402 sì:'騃鈶洠佀寺四肆饲嗣巳耜驷兕汜泗姒笥祀亖価儩娰孠柶榹涘瀃牭禩泤竢洍肂蕼覗貄鈻釲飤飼駟耛伺枱俟梩似杫',
1403 sòng:'頌颂送宋讼诵鎹訟誦餸',
1404 sòu:'嗽瘶擞擻',
1405 sù:'橚宿愬洬涑溯潚诉素速塑肃粟愫僳簌觫谡夙嗉傃蔌塐嫊憟榡樎樕殐泝溸潥玊珟璛粛縤膆肅藗訴趚謖蹜遬遡鋉驌餗骕鱐鷫鹔梀碿莤',
1406 sú:'俗',
1407 sā:'撒仨',
1408 sāi:'揌塞腮噻嘥毢顋鰓鳃愢毸',
1409 sān:'三叁毵厁弎毶犙毿鬖',
1410 sāng:'桑槡桒丧喪',
1411 sāo:'骚搔鳋缫掻溞騒繅騷鱢鰠螦臊颾',
1412 sē:'閪',
1413 sēn:'槮森襂椮',
1414 sēng:'僧鬙',
1415 sī:'司纟斯撕丝私嘶蛳锶鸶咝厮缌俬澌凘噝媤恖廝楒泀燍禠禗絲糹罳緦蕬虒蜤蟴螄蟖鉰銯鐁颸鍶飔騦鼶鷥厶思磃鋖',
1416 sōng:'松菘淞嵩倯凇崧庺娀憽枀柗枩檧硹梥濍鬆忪',
1417 sōu:'蒐摉搜溲艘嗖飕锼凁廀廋捜馊獀鄋醙颼鎪騪餿摗蓃',
1418 sū:'苏酥稣囌櫯甦窣穌蘓蘇鯂',
1419 sūn:'飱飧荪狲搎槂猻蕵薞蓀孙孫',
1420 sǎ:'灑訯靸洒躠',
1421 sǎi:'嗮',
1422 sǎn:'鏒鏾伞馓傘繖糤饊糁糣糝',
1423 sǎng:'颡嗓磉搡鎟褬顙',
1424 sǎo:'扫掃嫂',
1425 sǐ:'死',
1426 sǒng:'楤傱耸怂竦悚嵷愯慫駷聳',
1427 sǒu:'薮藪叟瞍傁螋叜嗾櫢籔',
1428 sǔn:'损笋榫隼損箰筍鎨簨鶽',
1429 ta:'侤',
1430 tiàn:'掭舚瑱',
1431 tiào:'絩粜糶眺覜趒跳',
1432 tián:'緂塡田甜恬阗畋屇沺湉璳甛畑碵磌胋闐鴫鷆鷏填搷窴菾',
1433 tiáo:'鯈蜩髫笤萔龆鲦迢岧岹樤祒芀蓚蓨鋚鎥鞗齠鰷调苕条條',
1434 tiè:'呫帖餮飻',
1435 tiān:'天添兲婖酟靔靝黇',
1436 tiāo:'佻祧庣旫聎挑恌',
1437 tiē:'贴萜貼怗聑',
1438 tiě:'鐡鐵铁蛈鉄銕驖僣',
1439 tiǎn:'痶舔腆忝殄倎唺悿晪淟睓觍覥賟錪餂琠',
1440 tiǎo:'嬥宨晀朓窱脁誂窕',
1441 tu:'汢',
1442 tuàn:'彖褖湪',
1443 tuán:'團团抟団慱檲摶糰鷒鏄鷻槫剸漙篿',
1444 tuì:'褪退蜕煺娧蛻駾',
1445 tuí:'魋弚颓尵穨蘈蹪隤頽頹頺橔',
1446 tuò:'跅嶞唾柝箨毤毻籜萚蘀拓',
1447 tuó:'沱驮酡橐詑陀驼跎坨佗鸵鼍堶岮砣槖砤碢紽阤陁駞騨驒驝駝鮀鴕鼉鼧駄馱沲媠柁侻狏袉',
1448 tuān:'湍圕煓猯貒',
1449 tuī:'推蓷藬',
1450 tuō:'仛扡拕拖鮵咜脫脱托侂咃汑莌袥託讬飥饦魠沰挩捝乇杔馲涶',
1451 tuǎn:'墥疃畽',
1452 tuǐ:'腿俀蹆骽僓',
1453 tuǒ:'嫷橢妥椭庹楕鰖鵎彵',
1454 tà:'沓嗒搨橽躂踏挞蹋榻遢闼嚃嚺崉毾涾撻澾濌禢誻譶躢蹹錔闒阘遝鞳鞜闥粏狧傝',
1455 tài:'汏汱太泰态酞汰肽冭夳钛忲態溙舦鈦燤',
1456 tàn:'碳叹探炭嘆歎湠舕',
1457 tàng:'趟铴烫燙摥鐋',
1458 tào:'套',
1459 tái:'抬骀炱跆鲐儓坮邰嬯薹擡炲檯籉臺颱鮐箈菭駘台苔旲',
1460 tán:'倓埮坛壇潭燂檀顃谈痰谭锬郯昙墵壜婒墰憛榃曇罈罎藫談譚貚醰錟譠惔醈橝覃',
1461 táng:'闛樘踼堂糖塘搪唐棠螳膛瑭醣溏傏螗啺坣榶漟煻磄篖糃糛膅蓎赯禟鄌鎕隚餹饄鶶橖',
1462 táo:'洮陶逃桃淘萄鼗啕咷祹綯蜪裪绹迯醄鋾鞉鞀饀騊駣匋',
1463 tè:'忑慝忒',
1464 tèng:'霯',
1465 téng:'痋疼藤儯幐誊滕漛籐籘縢腾虅螣邆駦謄驣鰧騰',
1466 tì:'揥鬄倜笹剃替涕嚏惕屉逖悌嚔悐惖戻掦歒殢屜瓋籊薙褅逷髰鬀朑趯',
1467 tí:'徲鶙鶗提渧碮蹏蹄題题罤媞禵褆謕鷤啼鹈缇偍厗嗁崹漽瑅稊蕛緹趧鍗騠鮷鯷鳀鵜睼惿醍绨綈禔',
1468 tíng:'蜓葶停亭庭廷莛霆婷嵉榳楟筳聤蝏諪邒鼮渟閮',
1469 tòng:'衕痛恸憅慟',
1470 tòu:'透',
1471 tóng:'僮潼酮膧峝桐詷铜童彤瞳茼砼仝哃峂佟庝晍曈氃浵獞犝眮秱粡蚒赨鉖鉵餇鮦鲖銅朣橦峒勭烔燑狪同穜',
1472 tóu:'投骰亠頭头',
1473 tù:'兎兔堍迌鵵菟莵',
1474 tú:'捈梌荼涂跿塗腯图途徒屠凃酴図圖圗峹嵞廜悇揬庩瘏筡蒤鈯鍎馟駼鵌鶟鷋鷵瑹稌潳',
1475 tún:'芚忳豚蛌饨臀豘軘霕魨臋鲀黗飩屯坉',
1476 tā:'她塌趿鉈他它溻榙牠祂褟闧铊',
1477 tāi:'胎囼孡',
1478 tān:'啴嘽滩灘摊攤舑贪瘫坍怹擹癱貪潬痑',
1479 tāng:'汤湯羰镗劏嘡薚蝪蹚鞺鼞鏜',
1480 tāo:'夲涛濤轁掏绦饕韬滔嫍幍慆搯弢槄瑫縚絛縧詜謟鞱韜飸叨',
1481 tēng:'膯鼟熥',
1482 tī:'踢鷉剔梯锑銻鷈擿',
1483 tīng:'汀烃烴听厅厛庁廰廳綎耓聴聼聽鞓桯',
1484 tōng:'絧通嗵樋炵蓪痌',
1485 tōu:'鋀偸偷鍮婾媮緰',
1486 tū:'怢宊突秃凸堗嶀捸涋湥痜葖禿鋵鵚鼵',
1487 tūn:'焞吞暾朜噋呑旽涒',
1488 tǎ:'塔鮙鰨鳎獭墖獺',
1489 tǎn:'忐毯坦袒钽嗿憳憻暺璮菼襢醓鉭僋',
1490 tǎng:'倘儻伖躺傥耥戃曭爣矘鎲钂镋淌偒帑',
1491 tǎo:'讨討',
1492 tǐ:'体挮躰軆骵體',
1493 tǐng:'铤鋌町甼娗挺艇侹圢涏烶珽脡誔頲颋梃',
1494 tǒng:'筩筒捅桶统綂統',
1495 tǒu:'斢妵敨紏蘣黈',
1496 tǔ:'土钍圡釷吐唋',
1497 tǔn:'氽',
1498 wa:'瓲',
1499 wà:'袜腽嗢膃襪韤聉',
1500 wài:'夞外顡',
1501 wàn:'瞣輐錽蟃腕卍卐杤脕萬贎鋄鎫薍澫万妧捥贃',
1502 wàng:'迋徍望忘旺妄朢',
1503 wá:'娃',
1504 wán:'汍完頑顽玩丸烷芄纨刓岏忨抏捖琓笂紈翫貦',
1505 wáng:'王亡亾仼兦莣蚟',
1506 wèi:'磑位味餧蜼未喂胃卫魏畏谓蔚慰渭猬軎墛媦懀煟熭犚緭罻苿菋藯蘶螱衞蝟褽衛讏謂讆躗躛轊鏏霨餵饖鮇鳚尉叞',
1507 wèn:'顐问璺妏問揾搵汶莬渂',
1508 wèng:'蕹瓮罋甕齆',
1509 wéi:'桅沩潙违違韋韦矀围唯维惟潍帏闱涠帷嵬壝圍峗峞幃洈湋濰潿溈犩維蓶覹鄬醀鍏闈鮠囗為为喡爲囲圩媁欈琟硙',
1510 wén:'駇文闻蚊雯阌彣炆珳瘒聞芠螡蚉蟁閺闅闦閿馼魰鳼鴍鼤繧纹紋',
1511 wò:'焥硪渥握卧沃幄仴龌偓肟媉楃濣瓁瞃腛臥齷斡捾枂臒',
1512 wù:'蘁鼿齀卼務霚霧勿婺痦阢杌物雾误悟务戊晤坞寤兀骛鋈鹜焐俉奦塢屼岉嵨忢悞悮扤溩熃矹窹粅誤隖靰騖鶩唔芴嵍雺敄旿',
1513 wú:'无無譕毋蟱墲吴芜梧蜈鼯浯呉吳峿橆洖珸璑祦莁茣蕪郚鋙铻鯃鵐鷡鹀吾娪',
1514 wā:'嗗咼呙哇洼蛙瓾挖娲劸屲媧攨溛漥畖穵窊韈窪鼃窐搲',
1515 wāi:'喎歪竵',
1516 wān:'婠弯湾豌蜿剜塆壪帵彎潫睕灣',
1517 wāng:'汪尣尩尪尫',
1518 wēi:'溦微威危巍葳逶隈偎煨薇喴媙嶶愄揋揻椳楲烓燰癓縅葨蜲蝛覣詴隇霺鰃鰄鳂厃嵔',
1519 wēn:'昷温瘟塭榲殟瑥溫豱轀輼辒鎾饂鰛鰮鳁鞰榅',
1520 wēng:'翁嗡聬鎓螉鶲鹟',
1521 wěi:'踓嶉伪僞偽蒍煒屗骩骪骫伟纬萎苇艉鲔娓玮诿洧猥韪痿炜儰偉寪崣徫愇捤暐梶浘渨瑋腲芛緯荱蔿葦諉鍡韑頠韡韙颹鮪瀢濻硊隗椲亹斖撱尾委痏碨',
1522 wěn:'呅稳吻刎紊抆桽穏肳穩脗伆呡',
1523 wěng:'勜蓊塕嵡奣暡瞈攚滃',
1524 wō:'涡渦蝸踒窝蜗莴涹猧窩萵倭唩',
1525 wū:'洿汚汙污屋钨呜乌诬巫邬圬剭嗚弙杇歍烏窏箼誈螐誣鄔鎢鴮鰞',
1526 wǎ:'瓦佤咓砙邷',
1527 wǎi:'崴',
1528 wǎn:'萖晥皖脘晚碗挽婉惋绾琬畹倇唍晩晼梚椀盌綩綰踠鋔輓宛箢菀埦涴',
1529 wǎng:'罓枉罖罒往网辋魍惘罔彺徃棢菵網蛧蝄誷輞暀瀇',
1530 wǒ:'捰婑我婐',
1531 wǔ:'陚五舞捂武侮伍午牾妩怃忤仵迕庑鹉乄倵儛啎娬嫵廡摀憮潕熓玝珷瑦甒碔逜躌鵡瞴娒',
1532 xià:'吓乤夓夏鎼下罅丅圷懗梺疜睱鏬諕',
1533 xiàn:'娊錎糮橌橺涀塪餡馅霰獻莧苋限线现献陷腺宪羡岘僩僴哯垷姭峴撊憲晛瀗現県睍粯絤綫線缐臔羨臽誢豏鋧陥麲鼸埳壏县縣咞',
1534 xiàng:'巷衖曏向象项像橡蟓勨姠嚮嶑珦缿襐鐌項鱌',
1535 xiào:'啸嘨嘯歗笑效哮孝俲効傚嘋咲斅斆涍熽詨誟校恔敩',
1536 xiá:'轄辖暇柙峡霞狭匣侠狎黠硖遐瑕俠敮炠峽烚珨狹祫碬筪舝縖硤翈舺蕸赮鍜鎋陜騢陿魻鶷埉磍',
1537 xián:'湺涎諴醎鹹輱藖闲嫌弦衔咸贤舷痫娴鹇啣娹婱嫺嫻挦撏澖甉癇癎絃胘蛝蚿衘誸贒賢鑦銜閑鷴鷼麙鷳咁瞯稴閒盷嗛伭妶憪礥',
1538 xiáng:'瓨祥翔庠佭栙絴跭詳详',
1539 xiáo:'郩訤淆崤洨誵殽',
1540 xiè:'焎烲屟渫獬繲齛齥僁谢屑卸蟹泻懈械绁廨榭瀣亵榍邂薤燮伳躞偞偰卨噧塮媟夑屧徢暬洩澥灺炨炧瀉爕祄禼糏絏絬紲缷薢纈蠏褉謝褻韰齂齘靾鞢嶰泄緤',
1541 xié:'斜奊鞋脇脋胁脅縀协谐携缬撷偕勰嗋垥協恊愶拹擕旪擷攜熁燲綊緳翓膎蝢衺襭讗諧鞵龤嚡孈挟挾絜劦邪峫瑎',
1542 xiòng:'夐敻詗诇',
1543 xióng:'熋熊雄',
1544 xiù:'峀溴綉绣锈嗅袖秀岫珛琇璓繍繡螑褏褎鏥銹鏽齅嚊',
1545 xiú:'苬',
1546 xiā:'呷虾蝦虲瞎傄煆谺颬鰕閕',
1547 xiān:'銽銛铦掀纎纖杴襳先锨仙籼祆跹酰暹氙仚佡僊僲嘕奾屳廯忺憸珗秈繊苮褼蹮躚鍁韯韱馦鱻鶱攕纤嬐莶薟孅鲜鮮枮',
1548 xiāng:'忀欀鑲镶稥香乡箱厢襄湘骧芗缃葙楿廂瓖膷萫緗薌郷鄊鄕鄉驤鱜麘纕相',
1549 xiāo:'嚣嚻囂硝踃櫹蛸綃绡颵翛揱萧销消宵霄魈骁枵哓逍潇侾枭箫婋宯嘵彇庨歊毊梟灱灲烋焇瀟猇獢痚痟硣窙簘膮虈簫虓蕭蟂蟏蟰蠨髐髇驍鴞銷鴵鷍鸮嘐憢呺藃削穘撨肖',
1550 xiē:'猲蝎揳歇楔娎蠍些',
1551 xiě:'血写冩藛寫',
1552 xiōng:'匂哅兄胸凶汹兇忷恟匈芎胷訩讻詾洶賯',
1553 xiū:'鱃脩咻修羞馐貅髹鸺俢樇庥烌脙臹銝鎀飍髤饈鮴鵂休鏅',
1554 xiǎ:'閜',
1555 xiǎn:'燹险險冼跣显藓蚬猃筅尠尟崄嶮幰攇毨櫶灦烍獫狝獮玁禒箲蘚蜆譣赻鍌韅険顕顯铣銑搟',
1556 xiǎng:'銄想响享飨鲞饷亯晑蠁蚃響餉饗鮝鯗鱶饟',
1557 xiǎo:'皛謏小晓筱暁曉皢筿篠',
1558 xiǒng:'焸焽',
1559 xiǔ:'潃朽滫糔',
1560 xuàn:'眩泫绚楦渲铉碹镟炫怰昡琄縼繏絢蔙衒袨贙颴鉉鏇眴楥',
1561 xuán:'琁玹悬玄漩璇痃嫙暶懸檈璿蜁旋',
1562 xuè:'趐谑瞲坹岤桖瀥狘謔吷',
1563 xué:'壆踅學学穴澩泶乴峃嶨斈燢茓袕鷽鸴觷',
1564 xuān:'軒轩縇宣喧暄儇煊萱揎塇媗谖愃愋昍晅瑄睻矎箮禤翾翧蓒萲蕿藼蘐蝖蠉諠譞諼鍹駽鰚懁梋鋗鞙吅弲',
1565 xuē:'辪靴薛疶蒆辥鞾',
1566 xuě:'雪鳕樰膤艝轌鱈',
1567 xuǎn:'暅烜选選癣癬咺',
1568 xì:'呬阋鬩墍縘舃舄虩细隙饩禊係匸卌屃屭忥怬恄椞潟澙熂犔磶綌绤細蕮衋覤赩趇郤釳隟霼餼黖屓戏戯戲戱系繫欯盻稧闟慀',
1569 xìn:'脪顖孞衅囟伩炘焮舋訫釁阠馸信軐',
1570 xìng:'幸姓性杏悻倖荇婞嬹涬緈臖莕葕',
1571 xí:'喺謵椺席袭习檄媳隰觋嶍漝習蓆襲趘郋鎴霫飁騱騽驨鰼鳛槢蒵薂',
1572 xín:'镡枔襑鐔',
1573 xíng:'郉邢銒鈃钘陘陉硎饧餳型形刑侀哘娙洐蛵鉶铏鋞荥滎',
1574 xù:'畜慉槒絮勖聓卹昫煦蓄续叙婿旭绪序酗恤蓿洫溆伵侐勗垿壻敍朂敘欰殈汿沀潊烅漵烼獝珬盢瞁稸続緖聟續緒藚訹賉頊鱮銊晇怴旴芧藇',
1575 xùn:'巺潠蕈讯训殉迅驯汛逊巽伨徇侚卂噀愻殾狥訊訓訙迿鑂遜顨馴奞稄',
1576 xú:'俆禑徐冔蒣',
1577 xún:'郇旬栒廵巡恂畃寻尋洵循询鲟浔峋荀偱噚揗攳杊桪樳燅燖潯璕珣紃蟳鄩詢鱏鱘灥駨毥',
1578 xī:'娭肸糦饎郗螅昔谿蹊磎析菥犧牺錫锡邜觹觽觿西吸稀溪熄膝息惜嘻夕矽熙悉希晰硒烯汐犀蜥奚浠嬉兮穸翕僖淅舾醯欷皙蟋羲唏曦樨粞鼷熹俙凞卥唽厀嚱噏嬆屖嵠巇徆徯悕惁晞晳桸榽橀氥渓焁焈焟熈熺燨熻爔犠琋瘜睎瞦礂窸緆繥翖肹莃蒠蠵覡譆豨豀豯貕赥鄎酅釸鑴鏭隵餏饻鯑鸂鵗鐊扱忚恓螇歙狶裼傒怸扸暿潝焬煕',
1579 xīn:'昕廞鈊忄訢新心欣薪锌辛忻歆馨鑫俽噺妡嬜惞杺盺邤鋅馫噷芯',
1580 xīng:'箵興星腥惺猩垶曐煋瑆皨篂觪觲謃騂鮏骍鯹兴',
1581 xū:'歘許需戌鑐燸裇蝑綇虚须墟顼胥盱偦媭嬃楈欨歔疞縃蕦虗訏虛諝譃谞驉須鬚魆魖欻砉揟嘘噓吁',
1582 xūn:'焄獯勋埙醺薰曛勲勛勳嚑坃壎壦塤燻矄纁臐薫蘍熏爋',
1583 xǐ:'諰喜矖鉨鉩徙葸屣玺禧蓰壐憙枲橲歖漇璽縰葈蟢謑蹝躧鈢鱚洗憘',
1584 xǐn:'伈',
1585 xǐng:'醒擤睲',
1586 xǔ:'呴许諿糈栩醑诩喣暊珝盨詡鄦姁湑稰',
1587 ye:'亪',
1588 yi:'弬',
1589 yuàn:'掾瑗苑院愿怨噮妴禐衏裫褑願垸夗媛傆',
1590 yuán:'援謜茒园魭円元圆原猿源缘袁垣辕鼋橼爰沅螈塬厡厵圎園媴嫄圓榞榬櫞溒湲猨笎縁羱緣薗蝝蝯褤邧轅邍酛鈨鎱騵鶢鶰黿蒝蚖杬芫员員貟贠',
1591 yuè:'越月跃躍瀹鑰黦阅岳悦粤钺嬳刖樾岄龠恱嶽戉抈捳悅爚玥礿禴篗籆籰蚎籥粵蚏蘥跀軏鈅鉞閱閲鸑鸙妜泧钥',
1592 yuān:'裷悁惌蜎冤渊鸳眢鸢剈囦寃嬽棩渁渆淵渕灁肙葾蒬蜵駌鴛鳶鵷鼘鹓鼝',
1593 yuē:'箹約约啘曰曱矱',
1594 yuě:'哕噦',
1595 yuǎn:'鋺薳远盶逺遠',
1596 yà:'猰亜亚垭埡齾轧冴覀讶砑娅氩迓俹揠劜圔圠婭椻犽氬稏聐襾訝軋挜掗窫',
1597 yàn:'鴳敥彦烻厌厭宴堰验艳雁砚唁焰谚滟焱赝餍谳晏酽偐喭嚥墕妟姲嬊嬿彥暥曕灎灔灩焔灧熖燄牪猒硯艶艷覎觾觃讌讞諺豔豓贋贗軅酀醼釅騐饜験騴驠鬳驗鳫鴈鷃鷰齞曣嚈囐溎醶爓燕隁',
1598 yàng:'样漾恙怏様樣羕詇',
1599 yào:'纅药藥燿艞鼼耀鹞曜熎矅穾窔筄葯薬袎覞詏讑靿鷂獟要',
1600 yá:'崖岈牙芽涯衙蚜琊睚伢厓堐崕漄玡笌齖猚',
1601 yán:'檐蜒欕炏啱喦嵒炎顔颜沿盐言严岩延阎筵闫妍厳塩壛嚴壧娫姸娮嵓巌巖巗揅昖楌櫩狿琂碞簷莚蔅虤訁訮詽讠郔閆閻顏麣鹽埏綖硏研礹',
1602 yáng:'崵瘍劷洋鴹扬杨阳佯疡炀徉蛘垟崸敭旸昜揚暘楊珜眻諹輰鍚钖阦陽霷鰑颺飏鸉氜羏羊烊煬',
1603 yáo:'軺轺鱙窯顤姚滧爻摇窑谣遥瑶尧鳐珧肴徭倄傜嗂垚媱堯尭峣嶢嶤揺摿暚搖榣烑猺瑤磘窰蘨謡謠遙颻餆飖餚鰩邎愮繇鎐',
1604 yè:'鎑璍邺抴葉洂液鍱鐷页頁靨靥夜业腋曳谒晔烨亱僷墷嶫嶪捙擛擪擫曅枽曗枼曄澲業爗燁皣瞱瞸礏謁鄴餣饁馌驜鵺鸈曵叶殗掖煠',
1605 yé:'耶瑘爷揶铘爺鎁鋣釾捓',
1606 yì:'嗌乂醷硛呹轶邑饐阣屹幆褹鮨篒绎繹肄义義蜴浥鄓亿易亦益翼译异谊翌抑艺役逸疫臆裔毅忆意议诣溢怿癔镒熠驿翊峄懿劓殪瘗羿弈佾刈缢悒弋翳埸奕挹薏亄呓伇镱伿俋兿劮億勚勩匇呭唈圛坄囈垼嬑嫕寱帟帠嶧廙怈憶懌敡晹曀曎杙枍棭槸榏檍歝殔殹浂湙浳潩澺炈瀷焲熤燚熼燡燱獈玴痬異瘱瘞瞖穓竩繶耴縊肊膉艗芅苅萟蓺藙蘙虉藝螠衪袣裛襼訲訳詍詣誼讛譯豙議豛豷貖贀跇釴鈠鐿隿霬鎰駅骮驛鶂鶍鶃鷊鷁鷧鷾鸃鹝黓鹢齸佚泆軼斁睪仡忔埶醳墿羛枻栧蛡悥欭秇貤鯣',
1607 yìn:'堷憖印胤茚垽廕慭憗懚洕湚猌癊酳鮣窨',
1608 yìng:'硬鱦媵映暎膡',
1609 yí:'拸沶狋眙移謻詒嶷螔饴遗遺洟鮧鴺咦仪姨胰沂宜彝颐夷痍怡圯贻侇冝儀匜宧宐寲峓嶬巸彜彛彞恞扅暆栘椬椸熪瓵簃籎羠萓蛦觺貽跠迻鏔頉頥顊頤誃诒柂乁疑媐飴珆荑桋讉杝袘',
1610 yín:'吟訡垠齦乑淫滛银寅鄞夤狺霪噖嚚圁婬峾崯崟檭殥泿烎犾璌碒荶蔩訔訚誾鈝銀鷣珢龈龂蟫冘斦',
1611 yíng:'營謍瀅熒鎣营迎蝇赢盈莹荧萤楹萦蓥茔滢潆嬴瀛僌営塋攍櫿溁溋濙濚濴瀯灐灜瀠盁籝籯縈萾藀蛍蝿螢蠅贏禜巆瑩覮',
1612 yòng:'用砽苚蒏醟',
1613 yòu:'牰蚴佦幼又右诱佑釉宥囿鼬亴侑哊唀峟姷狖祐貁誘迶酭柚櫾孧',
1614 yóng:'喁鰫顒颙',
1615 yóu:'怞郵莜游尢猶由油铀尤犹邮疣蚰鱿猷莸蝣偤庮怣沋秞肬訧蕕輏輶逰遊鈾駀鮋鲉魷甴楢',
1616 yù:'儥硲蜮魊鬻潏妪嫗粖肀醧遇豫鷸鹬諭谕艈熨茟御籲芌芋雤育欲愈狱玉誉域郁喻峪寓浴裕驭预鹆阈蓣煜钰聿昱燠饫毓俼喅喩堉嶎庽彧慾戫棛棜棫櫲欎欝淯滪澦灪焴燏爩獄琙癒瘉砡硢礇礖礜秗稢稶禦篽緎籞罭蒮蓹薁蘌蕷蜟袬譽軉輍逳遹鋊錥鈺鐭霱閾預饇飫驈馭鬰鬱鱊鳿鴥鴧鴪鵒鸒龥欥僪矞忬悆銉惐淢圫媀',
1617 yùn:'餫愠慍蕰薀蕴藴褞蘊韞运韵孕酝恽郓傊惲枟腪鄆運醖醞韗韻緼縕缊韫晕暈',
1618 yú:'揄踰窬逾乻旕臾齵褕余亐于伃謣雩魣餘馀鱼渔愚虞娱舆盂渝榆隅嵛妤觎舁谀瑜竽欤萸腴狳蝓偊堣堬娯嬩娛崳嵎扵旟楡楰歈歶歟湡澞漁牏玙玗璵睮籅羭艅茰萮蕍蘛虶螸衧諛覦轝輿邘酑鍝雓騟骬髃鮽鯲鰅魚鷠鸆桙俞兪隃愉於杅予禺',
1619 yún:'眃勻匀鋆畇筼篔云耘郧芸昀纭伝囩妘愪抣橒沄涢溳澐熉秐縜紜蒷鄖蕓雲筠耺',
1620 yā:'吖亞压壓铔椏押圧鸭丫鸦桠孲庘枒錏鐚鴨鴉鵶呀',
1621 yān:'醃懨淊焑烟淹阉焉菸恹胭鄢崦嫣剦嶖懕樮漹煙珚篶臙閹黫咽湮歅傿嬮渰硽',
1622 yāng:'秧殃鸯央泱姎抰胦鉠鍈雵鴦鞅眏',
1623 yāo:'鴁鴢妖幺夭腰邀吆喓楆殀祅葽訞么',
1624 yē:'噎倻椰吔擨暍歋潱蠮',
1625 yě:'嘢野也冶埜壄漜',
1626 yī:'噫乊揖渏黳吚一衣依医伊壹铱漪咿黟壱夁嫛嬄弌撎檹毉洢瑿畩稦祎禕繄蛜衤譩辷郼醫銥鷖鹥猗悘',
1627 yīn:'隂陰阴氤洇齗因音茵堙姻喑铟侌凐噾囙垔婣愔慇栶溵濦瘖禋秵筃絪緸蒑裀蔭諲陻銦闉阥霒霠鞇韾駰骃殷荫磤',
1628 yīng:'鶑嫈英霙鹰樱缨婴鹦莺璎嘤撄瑛罂膺偀噟媖嚶孆嬰孾愥攖朠桜渶櫻煐珱甇瓔甖碤礯緓绬纓罃罌蘡蝧蠳褮譻譍賏軈鑍锳鴬鶧鷪韺鶯鷹鸎鸚应応應瀴',
1629 yō:'哟喲唷',
1630 yōng:'傭壅拥雍痈臃庸慵墉鳙邕饔嗈镛嫞廱擁滽灉牅癕癰郺鄘雝鏞鷛鱅佣噰澭',
1631 yōu:'泑浟羪优忧悠幽攸呦嚘優峳櫌憂瀀滺纋耰逌鄾麀怮懮',
1632 yū:'扝紆纡込淤迂瘀唹盓箊迃陓扜穻',
1633 yūn:'蝹贇赟氲奫氳蒀蒕煴熅馧',
1634 yǎ:'唖雅痖厊庌瘂蕥哑啞疨',
1635 yǎn:'裺遃顩黬萒弇沇眼演掩衍厣琰魇兖罨偃俨郾鼹乵儼兗噞厴孍嵃巚愝巘戭扊抁曮揜椼檿渷甗蝘褗躽酓隒鰋魘鶠黡黤黭黶齴鼴龑剡夵奄匽棪縯',
1636 yǎng:'仰卬飬蝆养氧痒佒傟咉坱岟慃懩攁氱炴癢礢紻軮駚養柍楧瀁',
1637 yǎo:'眑仸咬鷕舀崾杳偠窈婹宎岆柼榚溔狕窅苭闄騕齩抭枖蓔',
1638 yǐ:'佁倚蟻乙裿齮以逘乛矣已蚁旖酏苡钇舣偯嬟崺庡扆攺敼旑檥礒笖苢艤螘輢轙鈘釔鉯顗鳦迆迱迤椅',
1639 yǐn:'廴隐隠隱飮飲赺輑引饮尹蚓瘾嶾朄檃檼櫽淾濥癮粌蘟螾讔趛鈏靷吲',
1640 yǐng:'浧郢頴颕影颖瘿颍巊廮摬梬潁矨癭穎鐛',
1641 yǒng:'涌甬恿永蛹勇咏泳踊俑勈埇塎嵱彮怺惥愑愹悀柡栐湧慂詠踴鯒鲬硧',
1642 yǒu:'槱有莠黝友酉卣牖铕丣梄湵禉羑聈苃蜏銪栯牗',
1643 yǔ:'頨羽萭齬龉屿禹宇窳俣伛庾圄瘐圉俁匬傴噳寙嶼挧敔斞楀瑀祤穥與貐鄅麌与雨语語懙斔',
1644 yǔn:'鈗阭允陨隕狁殒喗夽抎殞磒荺賱霣馻齫齳',
1645 zhuài:'拽',
1646 zhuàn:'篹腞襈譔撰馔饌赚僎篆堟灷瑑啭囀籑蒃縳転賺',
1647 zhuàng:'撞壮状壯壵焋狀',
1648 zhuì:'惴缀綴腏錣坠赘缒甀礈畷諈膇墜縋醊贅鑆硾笍娷',
1649 zhuó:'彴斫謶镯鐲啄劅茁灼浊卓酌诼擢丵浞圴妰撯娺禚斮擆斵斱晫椓烵斲琸濁硺籗窡籱罬蠗蠿諁鵫鷟諑鋜篧灂叕汋濯啅着斀櫡琢犳',
1650 zhuā:'簻檛髽膼抓挝撾',
1651 zhuān:'甎叀鱄磗專嫥磚专砖専颛瑼蟤諯鄟顓膞塼',
1652 zhuāng:'樁庄装桩妆娤庒梉妝糚粧荘莊裝湷',
1653 zhuī:'椎隹追锥骓鵻錐騅',
1654 zhuō:'穛焯炪穱棁拙捉桌涿倬梲棳槕窧鐯',
1655 zhuǎi:'跩',
1656 zhuǎn:'孨竱轉转',
1657 zhuǐ:'沝',
1658 zhà:'栅灹炸榨诈痄乍咤蚱宱搾溠醡詐吒',
1659 zhài:'瘵寨债砦債',
1660 zhàn:'佔僝棧湛譧站战栈蘸绽偡嶘戦桟戰菚虥虦綻轏驏覱',
1661 zhàng:'胀脹帐仗丈账杖瘴障幛嶂墇扙涱帳痮瞕粀瘬賬',
1662 zhào:'箌赵趙櫂罩照兆肇诏垗笊旐曌枛燳狣罀瞾羄肁肈鮡詔召棹炤',
1663 zhá:'閘闸霅札铡牐箚蚻譗鍘耫',
1664 zhái:'宅檡',
1665 zhán:'讝',
1666 zhè:'這浙柘蔗鹧樜淛蟅鷓这',
1667 zhèn:'侲揕圳甽震鎭镇鎮阵振朕赈鸩塦挋栚眹紖絼纼誫賑鋴陣鴆',
1668 zhèng:'幁靕证郑政塣诤証諍證鄭鴊正挣症',
1669 zhé:'袩矺摺讁謫谪蛰辙哲辄啠磔嚞蜇埑悊喆晢歽晣砓籷虴粍讋詟謺輙蟄鮿輒轍銸厇',
1670 zhì:'歭治滞滯痓騺陟挃窒至郅鯯雉忮穉寘璏鷙鸷制稚质炙痔志挚掷致置帜秩智帙桎蛭觯膣彘踬轾痣骘俧贽豸偫栉儨劕垁娡庢庤廌徏徝幟懥懫旘晊摯梽擲櫍洷櫛滍潌瀄狾熫猘瓆礩祑秷稺紩緻翐芖袠袟覟觗製豑觶貭豒誌跱質贄輊銍鋕躓铚鑕锧隲駤驇鴙騭瘈迣畤墆疐柣剬擳扻乿搱摨峙崻厔傂筫',
1671 zhí:'淔樴直职植侄执值摭絷踯埴跖値嬂執姪戠漐禃縶聀膱蟙職蹠軄釞躑馽瓡殖妷慹潪犆',
1672 zhòng:'重偅祌众仲堹妕媑狆筗茽眾蚛衶諥衆',
1673 zhòu:'縐绉咮皱昼宙骤咒胄纣荮伷籀酎僽呪冑晝甃籒籕粙皺紂葤詋駎驟噣',
1674 zhóu:'妯碡轴軸',
1675 zhù:'助拀祝乼簗杼紵注住贮铸驻柱伫蛀翥苎箸炷疰壴佇墸坾嵀樦柷殶眝竚祩筯篫紸纻羜莇註跓鉒貯軴鋳鑄馵駐著麆苧飳迬筑築砫',
1676 zhùn:'稕訰',
1677 zhú:'烛蓫逐笁逫爥燭蠾舳竹瘃躅劚曯欘斸灟炢笜茿蠋钃鱁孎篴竺窋',
1678 zhā:'楂喳皻觰渣哳偧揸抯齄挓摣樝皶譇齇紥紮劄柤',
1679 zhāi:'摘斋夈捚斎榸粂齋',
1680 zhān:'岾沾詀噡詹飦枬粘鱣毡谵旃瞻惉旜栴氊氈薝蛅趈譫閚邅霑饘驙魙鸇鹯嶦鳣占',
1681 zhāng:'章张樟彰漳嫜璋傽鄣蟑獐慞張暲粻蔁遧鏱餦騿鱆麞',
1682 zhāo:'朝皽招昭钊妱巶鉊鍣駋釗佋',
1683 zhē:'折遮嫬嗻',
1684 zhēn:'碪浈箴甄葴鍼蓁真针臻砧斟珍侦祯贞榛胗桢偵寊帪搸樼殝潧澵獉珎瑧楨湞眞禛蒖薽禎轃貞酙遉錱鉁針鱵帧幀籈溱椹嫃',
1685 zhēng:'埩脀鏳睁争征怔狰蒸峥凧铮筝佂崝姃媜徰崢炡爭眐烝猙篜癥睜聇踭箏鬇錚鉦揁钲掙糽',
1686 zhě:'乽褶鍺锗踷者赭襵',
1687 zhěn:'稹枕疹縝缜诊轸畛姫屒弫抮昣眕縥聄萙袗裖覙診軫辴駗鬒紾黰',
1688 zhěng:'撜氶掟整拯愸抍晸',
1689 zhī:'泜胝鳷隻祗支汁胑肢之芝蜘脂栀卮倁巵搘椥梔榰疷祬秓稙綕蘵衼鴲鼅汥臸吱枝馶栺只知织憄織',
1690 zhōng:'盅蹱蜙泈钟忠终衷伀舯刣妐螽锺幒彸柊汷炂籦蔠終螤衳鈡鴤鼨鐘鍾銿中',
1691 zhōu:'謅诌譸淍鵃鸼騆洲周州舟侜喌徟炿烐珘矪賙輈赒辀輖週郮銂霌駲嚋盩诪婤啁粥',
1692 zhū:'蕏蠩諸诸跦侏猪株珠蛛诛潴洙茱橥铢邾槠櫫櫧瀦硃秼絑蝫袾誅豬銖駯鮢鯺鴸鼄藸朱',
1693 zhūn:'肫啍窀宒谆衠迍諄',
1694 zhǎ:'眨砟拃鮺鲝厏鮓鲊',
1695 zhǎi:'窄鉙',
1696 zhǎn:'嶃崭嶄榐橏輾盏展斩嫸搌琖斬盞醆颭飐辗',
1697 zhǎng:'涨漲掌仉幥礃',
1698 zhǎo:'找沼瑵爪爫',
1699 zhǐ:'徴徵祇夂怾扺衹黹止指纸趾址旨枳轵祉芷咫酯凪劧坧帋恉汦洔淽沚疻砋秖紙藢茋襧訨軹阯抧坁墌',
1700 zhǒng:'种喠徸種肿踵冢塚尰歱煄瘇腫',
1701 zhǒu:'肘帚晭疛睭箒菷鯞',
1702 zhǔ:'褚鸀丶帾陼燝主煮嘱拄瞩渚麈劯宔囑濐煑矚罜詝',
1703 zhǔn:'埻凖準准綧',
1704 zi:'嗭',
1705 zuo:'咗',
1706 zuàn:'攥',
1707 zuì:'最酻冣蕞槜錊醉罪嶵晬栬檇檌祽絊辠酔鋷稡',
1708 zuò:'酢唑葃做作坐座祚胙侳岝岞糳阼葄袏蓙柞怍飵',
1709 zuó:'捽莋昨秨稓筰鈼笮苲',
1710 zuān:'鉆躜躦劗鑚鑽钻',
1711 zuī:'嗺厜樶纗蟕',
1712 zuō:'嘬穝',
1713 zuǎn:'纂纉繤缵籫纘',
1714 zuǐ:'嘴噿嶊璻',
1715 zuǒ:'左佐繓',
1716 zài:'在再儎扗傤洅酨載縡',
1717 zàn:'蹔襸酂酇暂赞瓒錾瓉禶讃讚賛暫瓚鄼饡贊鏨濽灒',
1718 zàng:'蔵脏塟葬弉臓銺臟奘',
1719 zào:'造煰燥灶躁皂唣唕噪慥梍竃皁簉艁譟趮竈喿',
1720 zá:'囃囋杂砸沯襍雑雥韴雜咱喒偺',
1721 záo:'凿鑿',
1722 zè:'仄昃崱庂昗捑汄',
1723 zèn:'譖谮',
1724 zèng:'鬵囎赠甑熷锃贈鋥',
1725 zé:'嫧帻幘齰襗则责箦舴迮啧赜則嘖択歵樍沢泎皟溭瞔矠礋蔶蠌簀謮鸅齚賾諎澤泽啫滜择擇責',
1726 zéi:'戝蠈鰂鱡鲗贼賊',
1727 zì:'胔渍漬荢字自恣倳剚眦牸胾眥茡芓',
1728 zí:'蓻',
1729 zòng:'縦糭粽昮猔瘲疭糉縱纵碂',
1730 zòu:'奏揍',
1731 zùn:'捘銌',
1732 zú:'鏃镞族卆踤崪足哫箤卒崒椊',
1733 zā:'魳匝帀沞咂臜臢鉔迊扎桚拶',
1734 zāi:'畠甾灾栽哉渽溨烖睵災賳',
1735 zān:'鵤橵鐟簪糌兂簮鐕',
1736 zāng:'匨臧羘牂赃賍賘贓贜髒',
1737 zāo:'傮遭糟蹧醩',
1738 zēng:'曾橧曽增憎罾増璔矰磳譄鄫鱛缯繒',
1739 zěn:'怎',
1740 zī:'龇齜姕澬滋茲趑赼齍緕纃玆资姿咨淄孜缁谘鲻锱孳赀髭訾嵫嗞辎崰孶栥椔湽禌秶紎茊葘緇趦諮貲資輺鄑鈭輜鍿鎡镃頾頿錙鰦鶅鼒鯔呲兹粢稵孖仔菑觜',
1741 zōng:'繌緵鍐鬷宗棕鬃踪腙倧堫嵕嵏惾朡椶熧猣磫緃翪葼蝬豵踨鑁騌騣骔鬉蹤鯮鯼综綜稯',
1742 zōu:'箃齱鄒鄹郰邹騶驺陬諏诹棸緅齺鲰黀鯫掫菆棷',
1743 zū:'蒩租葅菹',
1744 zūn:'墫尊鳟遵噂嶟樽鐏鶎鷷罇鱒繜',
1745 zǎ:'咋',
1746 zǎi:'载宰崽',
1747 zǎn:'噆攅趱昝儧儹寁趲攒攢撍揝',
1748 zǎng:'驵駔',
1749 zǎo:'澡早枣藻蚤栆璪薻棗璅',
1750 zǐ:'橴茈吇紫籽子滓笫秭梓耔姉杍姊榟矷虸訿釨呰啙胏秄',
1751 zǒng:'偬燪総緫總总捴倊傯嵸惣搃摠縂蓗焧揔',
1752 zǒu:'赱鯐走',
1753 zǔ:'祖组組阻唨爼诅俎鎺靻詛珇',
1754 zǔn:'僔撙譐',
1755 ài:'爱碍艾嫒瑷隘暧砹僾伌壒塧嬡懓愛曖璦硋皧瞹礙薆譺賹鑀靉馤餲鱫鴱叆懝',
1756 àn:'按岸暗案胺黯堓荌豻貋錌闇隌屵晻洝',
1757 àng:'盎枊醠',
1758 ào:'傲澳懊坳鏊岙垇墺奡岰嫯嶴擙驁奥奧澚隩慠',
1759 ái:'癌捱皑凒嘊啀溰皚敱敳',
1760 án:'儑玵雸',
1761 áng:'昂岇昻',
1762 áo:'翱敖骜廒嗷遨聱螯獒鳌厫鏖嗸滶獓璈翶翺蔜謷謸隞鼇鰲鷔嶅摮磝',
1763 è:'呃呝阸阨頞饿扼遏厄鄂谔垩锷萼阏苊轭鳄颚腭愕鹗噩偔匎卾咢堮堊岋崿廅悪搹搤擜戹歞櫮湂琧歺砈砐硆蕚蚅蝁覨諤讍豟軶軛遌遻鑩鍔顎餓餩鰐鰪鱷齃鶚齶鈪堨咹恶惡僫姶礘閼',
1764 èi:'欸',
1765 èn:'摁',
1766 èr:'誀二贰刵咡弍樲弐貮貳髶佴',
1767 é:'额鹅俄讹峨娥锇莪囮峉峩涐珴皒睋磀訛譌誐迗鈋鋨頟額魤鵞鵝蛾吪',
1768 ér:'而儿鲕鸸侕兒児峏栭洏粫胹袻輀荋轜陑隭髵鮞鴯唲耏聏',
1769 òu:'沤漚怄慪',
1770 ó:'哦',
1771 ā:'阿啊腌锕錒',
1772 āi:'挨哎埃哀锿溾鎄銰唉',
1773 ān:'安鞍氨庵谙鹌侒桉媕峖盫盦腤菴萻蓭誝諳葊鞌韽馣鮟鶕鵪偣啽痷',
1774 āng:'肮骯',
1775 āo:'凹熬柪軪梎爊',
1776 ē:'婀屙妸妿娿',
1777 ēi:'誒诶',
1778 ēn:'蒽恩奀煾',
1779 ēng:'鞥',
1780 ě:'噁砨騀鵈頋枙',
1781 ěn:'峎',
1782 ěr:'耳饵尔洱珥迩铒尒尓栮毦爾薾衈趰邇駬鉺餌',
1783 ň:'嗯',
1784 ō:'噢喔',
1785 ōu:'毆鏂欧鸥殴瓯讴櫙歐甌膒藲謳鴎鷗塸熰',
1786 ǎi:'矮蔼霭毐昹譪藹躷靄嗳噯娾濭',
1787 ǎn:'俺揞铵埯垵唵罯銨',
1788 ǎo:'袄媪媼芺襖镺艹拗抝',
1789 ǒu: '偶藕耦吘嘔腢蕅呕'
1790 };
1791
1792
1793 /* A list of chinese symbols that we have no intention of trying to write pinyin or zhuyin for. */
1794 var __chineseGrammarTokens = ',。 《》/? ;「:『」』';
1795
1796
1797 /* A list of chinese symbols that we have no intention of trying to write pinyin or zhuyin for. */
1798 var __chineseConversion = {
1799 simplified: '皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙币闭边编贬变辩辫标鳖别瘪濒滨宾摈饼并拨钵铂驳卜补财参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘沉陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨锄雏础储触处传疮闯创锤纯绰辞词赐聪葱囱从丛凑蹿窜错达带贷担单郸掸胆惮诞弹当挡党荡档捣岛祷导盗灯邓敌涤递缔颠点垫电淀钓调迭谍叠钉顶锭订丢东动栋冻斗犊独读赌镀锻断缎兑队对吨顿钝夺堕鹅额讹恶饿儿尔饵贰发罚阀珐矾钒烦范贩饭访纺飞诽废费纷坟奋愤粪丰枫锋风疯冯缝讽凤肤辐抚辅赋复负讣妇缚该钙盖干赶秆赣冈刚钢纲岗皋镐搁鸽阁铬个给龚宫巩贡钩沟构购够蛊顾剐关观馆惯贯广规硅归龟闺轨诡柜贵刽辊滚锅国过骇韩汉号阂鹤贺横轰鸿红后壶护沪户哗华画划话怀坏欢环还缓换唤痪焕涣黄谎挥辉毁贿秽会烩汇讳诲绘荤浑伙获货祸击机积饥讥鸡绩缉极辑级挤几蓟剂济计记际继纪夹荚颊贾钾价驾歼监坚笺间艰缄茧检碱硷拣捡简俭减荐槛鉴践贱见键舰剑饯渐溅涧将浆蒋桨奖讲酱胶浇骄娇搅铰矫侥脚饺缴绞轿较秸阶节茎鲸惊经颈静镜径痉竞净纠厩旧驹举据锯惧剧鹃绢杰洁结诫届紧锦仅谨进晋烬尽劲荆觉决诀绝钧军骏开凯颗壳课垦恳抠库裤夸块侩宽矿旷况亏岿窥馈溃扩阔蜡腊莱来赖蓝栏拦篮阑兰澜谰揽览懒缆烂滥捞劳涝乐镭垒类泪篱离里鲤礼丽厉励砾历沥隶俩联莲连镰怜涟帘敛脸链恋炼练粮凉两辆谅疗辽镣猎临邻鳞凛赁龄铃凌灵岭领馏刘龙聋咙笼垄拢陇楼娄搂篓芦卢颅庐炉掳卤虏鲁赂禄录陆驴吕铝侣屡缕虑滤绿峦挛孪滦乱抡轮伦仑沦纶论萝罗逻锣箩骡骆络妈玛码蚂马骂吗买麦卖迈脉瞒馒蛮满谩猫锚铆贸么霉没镁门闷们锰梦谜弥觅幂绵缅庙灭悯闽鸣铭谬谋亩钠纳难挠脑恼闹馁内拟腻撵捻酿鸟聂啮镊镍柠狞宁拧泞钮纽脓浓农疟诺欧鸥殴呕沤盘庞赔喷鹏骗飘频贫苹凭评泼颇扑铺朴谱栖凄脐齐骑岂启气弃讫牵扦钎铅迁签谦钱钳潜浅谴堑枪呛墙蔷强抢锹桥乔侨翘窍窃钦亲寝轻氢倾顷请庆琼穷趋区躯驱龋颧权劝却鹊确让饶扰绕热韧认纫荣绒软锐闰润洒萨鳃赛叁伞丧骚扫涩杀纱筛晒删闪陕赡缮伤赏烧绍赊摄慑设绅审婶肾渗声绳胜圣师狮湿诗尸时蚀实识驶势适释饰视试寿兽枢输书赎属术树竖数帅双谁税顺说硕烁丝饲耸怂颂讼诵擞苏诉肃虽随绥岁孙损笋缩琐锁獭挞抬态摊贪瘫滩坛谭谈叹汤烫涛绦讨腾誊锑题体屉条贴铁厅听烃铜统头秃图涂团颓蜕脱鸵驮驼椭洼袜弯湾顽万网韦违围为潍维苇伟伪纬谓卫温闻纹稳问瓮挝蜗涡窝卧呜钨乌污诬无芜吴坞雾务误锡牺袭习铣戏细虾辖峡侠狭厦吓锨鲜纤咸贤衔闲显险现献县馅羡宪线厢镶乡详响项萧嚣销晓啸蝎协挟携胁谐写泻谢锌衅兴汹锈绣虚嘘须许叙绪续轩悬选癣绚学勋询寻驯训讯逊压鸦鸭哑亚讶阉烟盐严颜阎艳厌砚彦谚验鸯杨扬疡阳痒养样瑶摇尧遥窑谣药爷页业叶医铱颐遗仪彝蚁艺亿忆义诣议谊译异绎荫阴银饮隐樱婴鹰应缨莹萤营荧蝇赢颖哟拥佣痈踊咏涌优忧邮铀犹游诱舆鱼渔娱与屿语吁御狱誉预驭鸳渊辕园员圆缘远愿约跃钥岳粤悦阅云郧匀陨运蕴酝晕韵杂灾载攒暂赞赃脏凿枣灶责择则泽贼赠扎札轧铡闸栅诈斋债毡盏斩辗崭栈战绽张涨帐账胀赵蛰辙锗这贞针侦诊镇阵挣睁狰争帧郑证织职执纸挚掷帜质滞钟终种肿众诌轴皱昼骤猪诸诛烛瞩嘱贮铸筑驻专砖转赚桩庄装妆壮状锥赘坠缀谆着浊兹资渍踪综总纵邹诅组钻',
1800 traditional: '皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃幣閉邊編貶變辯辮標鼈別癟瀕濱賓擯餅並撥缽鉑駁蔔補財參蠶殘慚慘燦蒼艙倉滄廁側冊測層詫攙摻蟬饞讒纏鏟産闡顫場嘗長償腸廠暢鈔車徹塵沈陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢醜櫥廚鋤雛礎儲觸處傳瘡闖創錘純綽辭詞賜聰蔥囪從叢湊躥竄錯達帶貸擔單鄲撣膽憚誕彈當擋黨蕩檔搗島禱導盜燈鄧敵滌遞締顛點墊電澱釣調叠諜疊釘頂錠訂丟東動棟凍鬥犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪墮鵝額訛惡餓兒爾餌貳發罰閥琺礬釩煩範販飯訪紡飛誹廢費紛墳奮憤糞豐楓鋒風瘋馮縫諷鳳膚輻撫輔賦複負訃婦縛該鈣蓋幹趕稈贛岡剛鋼綱崗臯鎬擱鴿閣鉻個給龔宮鞏貢鈎溝構購夠蠱顧剮關觀館慣貫廣規矽歸龜閨軌詭櫃貴劊輥滾鍋國過駭韓漢號閡鶴賀橫轟鴻紅後壺護滬戶嘩華畫劃話懷壞歡環還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴彙諱誨繪葷渾夥獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗將漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較稭階節莖鯨驚經頸靜鏡徑痙競淨糾廄舊駒舉據鋸懼劇鵑絹傑潔結誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲誇塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離裏鯉禮麗厲勵礫曆瀝隸倆聯蓮連鐮憐漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴淩靈嶺領餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿麽黴沒鎂門悶們錳夢謎彌覓冪綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒內擬膩攆撚釀鳥聶齧鑷鎳檸獰甯擰濘鈕紐膿濃農瘧諾歐鷗毆嘔漚盤龐賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜棲淒臍齊騎豈啓氣棄訖牽扡釺鉛遷簽謙錢鉗潛淺譴塹槍嗆牆薔強搶鍬橋喬僑翹竅竊欽親寢輕氫傾頃請慶瓊窮趨區軀驅齲顴權勸卻鵲確讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽三傘喪騷掃澀殺紗篩曬刪閃陝贍繕傷賞燒紹賒攝懾設紳審嬸腎滲聲繩勝聖師獅濕詩屍時蝕實識駛勢適釋飾視試壽獸樞輸書贖屬術樹豎數帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖隨綏歲孫損筍縮瑣鎖獺撻擡態攤貪癱灘壇譚談歎湯燙濤縧討騰謄銻題體屜條貼鐵廳聽烴銅統頭禿圖塗團頹蛻脫鴕馱駝橢窪襪彎灣頑萬網韋違圍爲濰維葦偉僞緯謂衛溫聞紋穩問甕撾蝸渦窩臥嗚鎢烏汙誣無蕪吳塢霧務誤錫犧襲習銑戲細蝦轄峽俠狹廈嚇鍁鮮纖鹹賢銜閑顯險現獻縣餡羨憲線廂鑲鄉詳響項蕭囂銷曉嘯蠍協挾攜脅諧寫瀉謝鋅釁興洶鏽繡虛噓須許敘緒續軒懸選癬絢學勳詢尋馴訓訊遜壓鴉鴨啞亞訝閹煙鹽嚴顔閻豔厭硯彥諺驗鴦楊揚瘍陽癢養樣瑤搖堯遙窯謠藥爺頁業葉醫銥頤遺儀彜蟻藝億憶義詣議誼譯異繹蔭陰銀飲隱櫻嬰鷹應纓瑩螢營熒蠅贏穎喲擁傭癰踴詠湧優憂郵鈾猶遊誘輿魚漁娛與嶼語籲禦獄譽預馭鴛淵轅園員圓緣遠願約躍鑰嶽粵悅閱雲鄖勻隕運蘊醞暈韻雜災載攢暫贊贓髒鑿棗竈責擇則澤賊贈紮劄軋鍘閘柵詐齋債氈盞斬輾嶄棧戰綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮陣掙睜猙爭幀鄭證織職執紙摯擲幟質滯鍾終種腫衆謅軸皺晝驟豬諸誅燭矚囑貯鑄築駐專磚轉賺樁莊裝妝壯狀錐贅墜綴諄著濁茲資漬蹤綜總縱鄒詛組鑽'
1801 };
1802
1803
1804 /* Replace all instances of simplified Chinese characters with traditional Chinese characters.
1805 */
1806 var simplifiedToTraditional = function(input) {
1807 // some minimal validation
1808 if (typeof input !== 'string')
1809 throw 'Only strings should be passed into cjst.simplifiedToTraditional()';
1810
1811 // simply loop through the string and replace simplified chars with respective traditional char.
1812 var output = '',
1813 index = -1;
1814 for (var i = 0; i < input.length; i++) {
1815 index = __chineseConversion.simplified.indexOf(input[i]);
1816 if (index == -1) {
1817 output += input[i];
1818 } else {
1819 output += __chineseConversion.traditional[index];
1820 }
1821 }
1822 return output;
1823 }
1824
1825
1826 /* Replace all instances of traditional Chinese characters with potential simplified Chinese characters.
1827 */
1828 var traditionalToSimplified = function(input) {
1829 // some minimal validation
1830 if (typeof input !== 'string')
1831 throw 'Only strings should be passed into cjst.traditionalToSimplified()';
1832
1833 // simply loop through the string and replace traditional chars with respective simplified char.
1834 var output = '',
1835 index = -1;
1836 for (var i = 0; i < input.length; i++) {
1837 index = __chineseConversion.traditional.indexOf(input[i]);
1838 if (index == -1) {
1839 output += input[i];
1840 } else {
1841 output += __chineseConversion.simplified[index];
1842 }
1843 }
1844 return output;
1845 }
1846
1847
1848 /* A list of useful properties.
1849 */
1850 var __props = {
1851 translationLocation: 'translation/data/'
1852 };
1853
1854
1855 /* Facility for updating one of the above properties.
1856 */
1857 var setProperty = function(name, value) {
1858 if (__props[name]) {
1859 __props[name] = value;
1860 } else {
1861 throw 'An unknown property (' + name + ') has been specified for cjst.setProperty()';
1862 }
1863 }
1864
1865
1866 /* Do a horrible loop to find the pinyin of a character. TODO: alter this into a better solution
1867 * that doesn't just brute-force find chracters in the lookup dictionary.
1868 */
1869 var getPinyinForChar = function(input) {
1870 for (var pinyin in __chineseToPinyinLookup) {
1871 if (__chineseToPinyinLookup[pinyin].indexOf(input) > -1) {
1872
1873 return pinyin;
1874 }
1875 }
1876 return '';
1877 }
1878
1879
1880 /* Accepts a string or an array of Chinese characters.
1881 * Returns an array of pinyin strings for each input character.
1882 * Example:
1883 * console.log(chineseToPinyin("豬牛雞羊"));
1884 * >> ["zhū", "niú", "jī", "yáng"]
1885 */
1886 var chineseToPinyin = function(input) {
1887 var payload;
1888 // ensure our working payload is in array form
1889 if (typeof input == 'string') {
1890 payload = input.split('');
1891 } else {
1892 payload = input;
1893 }
1894 // now start processing input
1895 var output = [];
1896 for (var i = 0; i < payload.length; i++)
1897 output.push(getPinyinForChar(payload[i]));
1898 // return to caller
1899 return output;
1900 }
1901
1902
1903 /* Joseph Myer's md5() algorithm wrapped in a self-invoked function to prevent
1904 * namespace polution.
1905 *
1906 * http://www.myersdaily.org/joseph/javascript/md5-text.html
1907 */
1908 var md5 = (function() {
1909
1910 function md5cycle(x, k) {
1911 var a = x[0],
1912 b = x[1],
1913 c = x[2],
1914 d = x[3];
1915
1916 a = ff(a, b, c, d, k[0], 7, -680876936);
1917 d = ff(d, a, b, c, k[1], 12, -389564586);
1918 c = ff(c, d, a, b, k[2], 17, 606105819);
1919 b = ff(b, c, d, a, k[3], 22, -1044525330);
1920 a = ff(a, b, c, d, k[4], 7, -176418897);
1921 d = ff(d, a, b, c, k[5], 12, 1200080426);
1922 c = ff(c, d, a, b, k[6], 17, -1473231341);
1923 b = ff(b, c, d, a, k[7], 22, -45705983);
1924 a = ff(a, b, c, d, k[8], 7, 1770035416);
1925 d = ff(d, a, b, c, k[9], 12, -1958414417);
1926 c = ff(c, d, a, b, k[10], 17, -42063);
1927 b = ff(b, c, d, a, k[11], 22, -1990404162);
1928 a = ff(a, b, c, d, k[12], 7, 1804603682);
1929 d = ff(d, a, b, c, k[13], 12, -40341101);
1930 c = ff(c, d, a, b, k[14], 17, -1502002290);
1931 b = ff(b, c, d, a, k[15], 22, 1236535329);
1932
1933 a = gg(a, b, c, d, k[1], 5, -165796510);
1934 d = gg(d, a, b, c, k[6], 9, -1069501632);
1935 c = gg(c, d, a, b, k[11], 14, 643717713);
1936 b = gg(b, c, d, a, k[0], 20, -373897302);
1937 a = gg(a, b, c, d, k[5], 5, -701558691);
1938 d = gg(d, a, b, c, k[10], 9, 38016083);
1939 c = gg(c, d, a, b, k[15], 14, -660478335);
1940 b = gg(b, c, d, a, k[4], 20, -405537848);
1941 a = gg(a, b, c, d, k[9], 5, 568446438);
1942 d = gg(d, a, b, c, k[14], 9, -1019803690);
1943 c = gg(c, d, a, b, k[3], 14, -187363961);
1944 b = gg(b, c, d, a, k[8], 20, 1163531501);
1945 a = gg(a, b, c, d, k[13], 5, -1444681467);
1946 d = gg(d, a, b, c, k[2], 9, -51403784);
1947 c = gg(c, d, a, b, k[7], 14, 1735328473);
1948 b = gg(b, c, d, a, k[12], 20, -1926607734);
1949
1950 a = hh(a, b, c, d, k[5], 4, -378558);
1951 d = hh(d, a, b, c, k[8], 11, -2022574463);
1952 c = hh(c, d, a, b, k[11], 16, 1839030562);
1953 b = hh(b, c, d, a, k[14], 23, -35309556);
1954 a = hh(a, b, c, d, k[1], 4, -1530992060);
1955 d = hh(d, a, b, c, k[4], 11, 1272893353);
1956 c = hh(c, d, a, b, k[7], 16, -155497632);
1957 b = hh(b, c, d, a, k[10], 23, -1094730640);
1958 a = hh(a, b, c, d, k[13], 4, 681279174);
1959 d = hh(d, a, b, c, k[0], 11, -358537222);
1960 c = hh(c, d, a, b, k[3], 16, -722521979);
1961 b = hh(b, c, d, a, k[6], 23, 76029189);
1962 a = hh(a, b, c, d, k[9], 4, -640364487);
1963 d = hh(d, a, b, c, k[12], 11, -421815835);
1964 c = hh(c, d, a, b, k[15], 16, 530742520);
1965 b = hh(b, c, d, a, k[2], 23, -995338651);
1966
1967 a = ii(a, b, c, d, k[0], 6, -198630844);
1968 d = ii(d, a, b, c, k[7], 10, 1126891415);
1969 c = ii(c, d, a, b, k[14], 15, -1416354905);
1970 b = ii(b, c, d, a, k[5], 21, -57434055);
1971 a = ii(a, b, c, d, k[12], 6, 1700485571);
1972 d = ii(d, a, b, c, k[3], 10, -1894986606);
1973 c = ii(c, d, a, b, k[10], 15, -1051523);
1974 b = ii(b, c, d, a, k[1], 21, -2054922799);
1975 a = ii(a, b, c, d, k[8], 6, 1873313359);
1976 d = ii(d, a, b, c, k[15], 10, -30611744);
1977 c = ii(c, d, a, b, k[6], 15, -1560198380);
1978 b = ii(b, c, d, a, k[13], 21, 1309151649);
1979 a = ii(a, b, c, d, k[4], 6, -145523070);
1980 d = ii(d, a, b, c, k[11], 10, -1120210379);
1981 c = ii(c, d, a, b, k[2], 15, 718787259);
1982 b = ii(b, c, d, a, k[9], 21, -343485551);
1983
1984 x[0] = add32(a, x[0]);
1985 x[1] = add32(b, x[1]);
1986 x[2] = add32(c, x[2]);
1987 x[3] = add32(d, x[3]);
1988
1989 }
1990
1991 function cmn(q, a, b, x, s, t) {
1992 a = add32(add32(a, q), add32(x, t));
1993 return add32((a << s) | (a >>> (32 - s)), b);
1994 }
1995
1996 function ff(a, b, c, d, x, s, t) {
1997 return cmn((b & c) | ((~b) & d), a, b, x, s, t);
1998 }
1999
2000 function gg(a, b, c, d, x, s, t) {
2001 return cmn((b & d) | (c & (~d)), a, b, x, s, t);
2002 }
2003
2004 function hh(a, b, c, d, x, s, t) {
2005 return cmn(b ^ c ^ d, a, b, x, s, t);
2006 }
2007
2008 function ii(a, b, c, d, x, s, t) {
2009 return cmn(c ^ (b | (~d)), a, b, x, s, t);
2010 }
2011
2012 function md51(s) {
2013 txt = '';
2014 var n = s.length,
2015 state = [1732584193, -271733879, -1732584194, 271733878],
2016 i;
2017 for (i = 64; i <= s.length; i += 64) {
2018 md5cycle(state, md5blk(s.substring(i - 64, i)));
2019 }
2020 s = s.substring(i - 64);
2021 var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
2022 for (i = 0; i < s.length; i++)
2023 tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);
2024 tail[i >> 2] |= 0x80 << ((i % 4) << 3);
2025 if (i > 55) {
2026 md5cycle(state, tail);
2027 for (i = 0; i < 16; i++) tail[i] = 0;
2028 }
2029 tail[14] = n * 8;
2030 md5cycle(state, tail);
2031 return state;
2032 }
2033
2034 /* there needs to be support for Unicode here,
2035 * unless we pretend that we can redefine the MD-5
2036 * algorithm for multi-byte characters (perhaps
2037 * by adding every four 16-bit characters and
2038 * shortening the sum to 32 bits). Otherwise
2039 * I suggest performing MD-5 as if every character
2040 * was two bytes--e.g., 0040 0025 = @%--but then
2041 * how will an ordinary MD-5 sum be matched?
2042 * There is no way to standardize text to something
2043 * like UTF-8 before transformation; speed cost is
2044 * utterly prohibitive. The JavaScript standard
2045 * itself needs to look at this: it should start
2046 * providing access to strings as preformed UTF-8
2047 * 8-bit unsigned value arrays.
2048 */
2049 function md5blk(s) { /* I figured global was faster. */
2050 var md5blks = [],
2051 i; /* Andy King said do it this way. */
2052 for (i = 0; i < 64; i += 4) {
2053 md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);
2054 }
2055 return md5blks;
2056 }
2057
2058 var hex_chr = '0123456789abcdef'.split('');
2059
2060 function rhex(n) {
2061 var s = '',
2062 j = 0;
2063 for (; j < 4; j++)
2064 s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];
2065 return s;
2066 }
2067
2068 function hex(x) {
2069 for (var i = 0; i < x.length; i++)
2070 x[i] = rhex(x[i]);
2071 return x.join('');
2072 }
2073
2074 function md5(s) {
2075 return hex(md51(s));
2076 }
2077
2078 /* this function is much faster,
2079 so if possible we use it. Some IEs
2080 are the only ones I know of that
2081 need the idiotic second function,
2082 generated by an if clause.
2083 */
2084
2085 function add32(a, b) {
2086 return (a + b) & 0xFFFFFFFF;
2087 }
2088
2089 if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') {
2090 function add32(x, y) {
2091 var lsw = (x & 0xFFFF) + (y & 0xFFFF),
2092 msw = (x >> 16) + (y >> 16) + (lsw >> 16);
2093 return (msw << 16) | (lsw & 0xFFFF);
2094 }
2095 }
2096 return md5;
2097 })();
2098
2099
2100 /* Accepts a string or an array of Chinese characters.
2101 * Returns a unique string hex representing the URI encoded Chinese chars.
2102 * - Done like this since MD5ing unicode chars on the client is hard.
2103 */
2104 var md5ChineseText = function(input) {
2105 var payload;
2106 // ensure our working payload is in string form
2107 if (typeof input == 'object') {
2108 payload = input.join('');
2109 } else {
2110 payload = input;
2111 }
2112 // now process input
2113 return md5(encodeURI(payload));
2114 }
2115
2116
2117 /* Lookup pinyin tone. Use the lookup to find a friendly character for the pinyin and a tone number
2118 * for the programmer.
2119 */
2120 var getPinyinTone = function(input) {
2121 for (var pinyin in __pinyinToneLookup) {
2122 if (input.indexOf(pinyin) > -1) {
2123 var tone = __pinyinToneLookup[pinyin].split('');
2124 return [
2125 input.replace(pinyin, tone[0]),
2126 parseInt(tone[1])
2127 ];
2128 }
2129 }
2130 // if it's not found in the lookup table, then it must be a first flat tone,, which is often not
2131 // included in the written form of pinyin when using shorthand.
2132 return [input, 1];
2133 }
2134
2135
2136 /* Accepts an array of, or string of space separated pinyin strings, to be converted into the
2137 * zhuyin equivalants.
2138 * Returns: an array of zhuyin strings for each respective pinyin input
2139 * Example:
2140 * console.log(pinyinToZhuyin(["zhū", "niú", "jī", "yáng"]));
2141 * >> [["ㄓㄨ","1"],["ㄋㄧㄡ","2"],["ㄐㄧ","1"],["ㄧㄤ","2"]]
2142 */
2143 var pinyinToZhuyin = function(input) {
2144 var payload;
2145 // ensure our working payload is in array from
2146 if (typeof input == 'string') {
2147 payload = input.split(' ');
2148 } else {
2149 payload = input;
2150 }
2151 // now start processing input
2152 // __pinyinToZhuyinLookup __pinyinToneLookup
2153 var output = [];
2154 for (var i = 0; i < payload.length; i++) {
2155 var tone = getPinyinTone(payload[i]);
2156 var zhuyin = __pinyinToZhuyinLookup[tone[0]];
2157 if (zhuyin == undefined)
2158 zhuyin = null;
2159 output.push([zhuyin, __zhuyinTones[tone[1]]]);
2160 }
2161 // return to caller
2162 return output;
2163 }
2164
2165
2166 /* Accepts a string or an array of Chinese characters.
2167 * Returns: an array of zhuyin strings for each respective chinese character
2168 * Example:
2169 * console.log(chineseToZhuyin("豬牛雞羊"));
2170 * >> [["ㄓㄨ","1"],["ㄋㄧㄡ","2"],["ㄐㄧ","1"],["ㄧㄤ","2"]]
2171 */
2172 var chineseToZhuyin = function(input) {
2173 return pinyinToZhuyin(chineseToPinyin(input));
2174 }
2175
2176
2177 /* A helpder function to create DOM elements. Purposefully JS-library agnostic.
2178 * Returns: an element of the provided details.
2179 */
2180 var createElement = function(tag, className, contents) {
2181 var element = document.createElement(tag);
2182 if (className)
2183 element.className = className;
2184 if (typeof contents == 'string') {
2185 element.innerHTML = contents;
2186 } else {
2187 for (var i = 0; i < contents.length; i++)
2188 element.appendChild(contents[i]);
2189 }
2190 return element;
2191 }
2192
2193
2194 /* Accepts a single chinese character as input.
2195 * Returns: an element that contains the chinese character and some pinyin all balanced in a layout
2196 * ready for reading.
2197 */
2198 var generatePinyinElement = function(input) {
2199 // some minimal validation
2200 if (typeof input !== 'string' && input.length == 1)
2201 throw 'Only single chracter strings should be passed into cjst.generatePinyinElement()';
2202
2203 /* create a DOM structure like:
2204 <div class="cjst el pinyin">
2205 <div class="c">装</div>
2206 <div class="音">
2207 <div>zhuāng</div>
2208 </div>
2209 </div>
2210 */
2211 var element = createElement('div', 'cjst el pinyin', [
2212 createElement('div', 'c', input),
2213 createElement('div', '音', [
2214 createElement('div', null, getPinyinForChar(input))
2215 ])
2216 ]);
2217
2218 return element;
2219 }
2220
2221
2222 /* Accepts a single chinese character or a string of them as input.
2223 * Returns: an element that contains the chinese character and some pinyin all balanced in a layout
2224 * ready for reading.
2225 */
2226 var generatePinyinElements = function(input) {
2227 // some minimal validation
2228 if (typeof input !== 'string')
2229 throw 'Only character strings should be passed into cjst.generatePinyinElements()';
2230
2231 // now start processing input
2232 var output = [];
2233 for (var i = 0; i < input.length; i++)
2234 output.push(generatePinyinElement(input[i]));
2235 // return to caller
2236 return output;
2237 }
2238
2239
2240 /* Accepts a single chinese character as input.
2241 * Returns: an element that contains the chinese character and some zhuyin all balanced in a layout
2242 * ready for reading.
2243 */
2244 var generateZhuyinElement = function(input) {
2245 // some minimal validation
2246 if (typeof input !== 'string' && input.length == 1)
2247 throw 'Only single chracter strings should be passed into cjst.generateZhuyinElement()';
2248
2249 /* create a DOM structure like:
2250 <div class="cjst el 注音">
2251 <div class="c">装</div>
2252 <div class="音">
2253 <div>ㄓㄨㄤ</div>
2254 </div>
2255 <em>ˇ</em>
2256 </div>
2257 */
2258 var 注音 = chineseToZhuyin(input)[0];
2259 var element = createElement('div', 'cjst el 注音', [
2260 createElement('div', 'c', input),
2261 createElement('div', '音', [
2262 createElement('div', null, 注音[0] ? 注音[0] : '')
2263 ]),
2264 createElement('em', null, 注音[1])
2265 ]);
2266
2267 return element;
2268 }
2269
2270
2271 /* Accepts a single chinese character or a string of them as input.
2272 * Returns: elements that contains the chinese character and some zhuyin all balanced in a layout
2273 * ready for reading.
2274 */
2275 var generateZhuyinElements = function(input) {
2276 // some minimal validation
2277 if (typeof input !== 'string')
2278 throw 'Only character strings should be passed into cjst.generateZhuyinElements()';
2279
2280 // now start processing input
2281 var output = [];
2282 for (var i = 0; i < input.length; i++)
2283 output.push(generateZhuyinElement(input[i]));
2284 // return to caller
2285 return output;
2286 }
2287
2288
2289 /* Accepts an object
2290 * Returns true if the object is a part of the DOM
2291 */
2292 function isObjectAnElement(o){
2293 return (
2294 typeof HTMLElement === 'object' ? o instanceof HTMLElement : //DOM2
2295 o && typeof o === 'object' && o !== null && o.nodeType === 1 && typeof o.nodeName === 'string'
2296 );
2297 }
2298
2299
2300 /* Accepts a single (chinese) character.
2301 * Returns: a boolean value indicating the likeliness that this library can give a conversion for it.
2302 */
2303 var isChineseCharacter = function(input) {
2304 // some minimal validation
2305 if (typeof input !== 'string' || input.length !== 1)
2306 throw 'Only single-character strings should be passed into cjst.isChineseCharacter()';
2307
2308 // check that we have the required constants to work with further below
2309 if (typeof __props.smallestChineseUnicode != 'number' || typeof __props.biggestChineseUnicode != 'number') {
2310 var min = __chineseToPinyinLookup['zhōng'].charCodeAt(0), max = min;
2311 for (var k in __chineseToPinyinLookup) {
2312 if (__chineseToPinyinLookup.hasOwnProperty(k)) {
2313 var match = __chineseToPinyinLookup[k];
2314 for (var i = 0, code; i < match.length; code = match.charCodeAt(i++)) {
2315 if (code < min) min = code;
2316 if (code > max) max = code;
2317 }
2318 }
2319 }
2320 __props.smallestChineseUnicode = min;
2321 __props.biggestChineseUnicode = max;
2322 }
2323
2324 // now process input
2325 var iv = input.charCodeAt(0);
2326 return iv >= __props.smallestChineseUnicode && iv <= __props.biggestChineseUnicode;
2327 }
2328
2329
2330 /* Accepts a string or DOM element.
2331 * Returns: a boolean value indicating the likeliness that this library can give a conversion for it.
2332 */
2333 var hasChineseCharacters = function(input) {
2334 // some minimal validation
2335 if (typeof input !== 'string' && typeof input !== 'object')
2336 throw 'Only character strings and DOM elements should be passed into cjst.hasChineseCharacters()';
2337
2338 // now process input
2339 if (typeof input === 'string') {
2340 for (var i = 0; i < input.length; i++)
2341 if (isChineseCharacter(input[i]))
2342 return true;
2343 } else {
2344 if (isObjectAnElement(input)) {
2345 return hasChineseCharacters(input.textContent);
2346 }
2347 }
2348 return false;
2349 }
2350
2351
2352 /* An event handler that adds a dom element from a tiled element once the mouse has entered.
2353 * Tiles are only added upon mouseover and removed on mouseout in an effort to conserve memory.
2354 */
2355 var tiledCharacterMouseoverEvent = function(element, text, options, generator) {
2356 var tile = generator(text),
2357 bounds = element.getBoundingClientRect(),
2358 top = (((window.pageYOffset || document.scrollTop) - (document.clientTop || 0)) || 0) + (bounds.bottom);
2359
2360 __props.tilePopupContainer.appendChild(tile);
2361 tile.style.left = (bounds.left + ~~((bounds.width - tile.offsetWidth) / 2)) + 'px';
2362 tile.style.top = top + 'px';
2363
2364 // the pinyin/zhuyin tile is not optional. that will be shown upon scroll over
2365 var leaveEvent = function() {
2366 __props.tilePopupContainer.removeChild(tile);
2367 element.removeEventListener('mouseleave', leaveEvent, false);
2368 delete tile;
2369 };
2370 element.addEventListener('mouseleave', leaveEvent, false);
2371
2372 // the translation is an option.
2373 if (options.translation) {
2374 var translationBox = createElement('ul', 'cjst 翻譯', 'Loading...');
2375
2376 var clickEvent = function() {
2377 __props.tilePopupContainer.appendChild(translationBox);
2378 translationBox.style.left = tile.style.left;
2379 translationBox.style.top = (top + 70) + 'px';
2380 translatePhrase(text, {}, function(response) {
2381 // emoty the box
2382 while (translationBox.hasChildNodes()) translationBox.removeChild(translationBox.lastChild);
2383 // now add the translations
2384 for (var i = 0; i < response.translation.length; i++)
2385 translationBox.appendChild(createElement('li', '', response.translation[i]));
2386 });
2387
2388 };
2389 element.addEventListener('click', clickEvent, false);
2390 }
2391 };
2392
2393
2394 /* Accepts a string or DOM element.
2395 * Recursively iterates through every chinese letter and wraps it with a custom element, with wich
2396 * we can attach events, style, and do special stuff.
2397 * Returns: nothing.
2398 */
2399 var recurseDOMNode = function(input, worker, callback) { // okay for up to a thousand or so chars.....
2400 // some minimal validation
2401 if (!isObjectAnElement(input)) {
2402 console.log('xx', input);
2403 throw 'Only DOM elements should be passed into cjst.recurseDOMNode()';
2404 }
2405
2406 // a function to recurse through a dom and check for Chinese text
2407 var check = function(e, innerCallback) {
2408 if (e.childNodes.length === 0 && e.nodeType == 3) { // this is purely a end leaf node
2409 var text = e.textContent,
2410 lastTextGroup = '',
2411 group = createElement('cjst-group', '', '');
2412 if (hasChineseCharacters(text)) {
2413 for (var j = 0; j < text.length; j++) {
2414 if (isChineseCharacter(text[j])) {
2415 if (lastTextGroup.length > 0) { // non chinese text was built between the last chinese and here. group it into one node and append to dom group.
2416 group.appendChild(createElement('cjst-text', '', lastTextGroup));
2417 lastTextGroup = '';
2418 }
2419 var element = createElement('cjst-zi', '', text[j]);
2420 element.className = 'tile';
2421 element.addEventListener('mouseover', worker(element, text[j]), false);
2422
2423 group.appendChild(element);
2424 } else {
2425 lastTextGroup += text[j];
2426 }
2427 }
2428 if (lastTextGroup.length > 0) // non chinese text was built between the last chinese and here. group it into one node and append to dom group.
2429 group.appendChild(createElement('cjst-text', '', lastTextGroup));
2430 e.parentNode.replaceChild(group, e);
2431 }
2432 if (innerCallback) innerCallback();
2433 } else {
2434 if (['SCRIPT','STYLE','#COMMENT'].indexOf(e.nodeName.toUpperCase()) == -1) {
2435 var doneCounter = 0;
2436 var allDone = function() {
2437 if (++doneCounter == e.childNodes.length)
2438 if (innerCallback)
2439 innerCallback();
2440 };
2441 for (var j = 0; j < e.childNodes.length; j++) {
2442 setTimeout((function(elementReference, adcb) {
2443 return function() {
2444 check(elementReference, adcb);
2445 };
2446 })(e.childNodes[j], allDone), 0);
2447 }
2448 } else {
2449 if (innerCallback) innerCallback();
2450 }
2451 }
2452 }
2453
2454 // start processing at passed in node
2455 var allDoneCounter = 0;
2456 var allDoneCallback = function() {
2457 if (++allDoneCounter == input.childNodes.length)
2458 if (callback)
2459 callback();
2460 };
2461 for (var i = 0; i < input.childNodes.length; i++) {
2462 check(input.childNodes[i], allDoneCallback);
2463 }
2464 }
2465
2466
2467 /* Accepts a string or DOM element.
2468 * Recursively checks a dom node for chinese letters, and adds a pinyin title if found.
2469 * Returns: nothing.
2470 */
2471 var pinyinTitleOnHover = function(input) {
2472 var worker = function(element, character) {
2473 element.title = getPinyinForChar(character);
2474 };
2475 recurseDOMNode(input, worker);
2476 }
2477
2478
2479 /* Accepts a string or DOM element.
2480 * Recursively checks a dom node for chinese letters, and adds a zhuyin title if found.
2481 * Returns: nothing.
2482 */
2483 var zhuyinTitleOnHover = function(input) {
2484 var worker = function(element, character) {
2485 element.title = chineseToZhuyin(character)[0].join('');
2486 };
2487 recurseDOMNode(input, worker);
2488 }
2489
2490
2491 /* Ensures that the DOM object used for holding tiles has been setup accordingly.
2492 *
2493 */
2494 var initializeDOMContainer = function() {
2495 if (!__props.tilePopupContainer) {
2496 __props.tilePopupContainer = createElement('div', 'cjst-tile-container', '');
2497 window.document.body.appendChild(__props.tilePopupContainer);
2498 }
2499 }
2500
2501
2502 /* Accepts a string or DOM element.
2503 * Recursively checks a dom node for chinese letters, and adds a zhuyin title if found.
2504 * Returns: nothing.
2505 */
2506 var pinyinTileOnHover = function(input, options) {
2507 // make sure there is a container to hold tiles.
2508 initializeDOMContainer();
2509
2510 // setup minimum requirements for options object
2511 if (options == null) options = {};
2512 if (typeof options.translation == 'undefined') options.translation = false;
2513
2514 var worker = function(element, text) {
2515 return function() {
2516 tiledCharacterMouseoverEvent(element, text, options, generatePinyinElement);
2517 };
2518 }
2519 recurseDOMNode(input, worker);
2520 }
2521
2522
2523 /* Accepts a string or DOM element.
2524 * Recursively checks a dom node for chinese letters, and adds a zhuyin title if found.
2525 * Returns: nothing.
2526 */
2527 var zhuyinTileOnHover = function(input, options) {
2528 // make sure there is a container to hold tiles.
2529 initializeDOMContainer();
2530
2531 // setup minimum requirements for options object
2532 if (options == null) options = {};
2533 if (typeof options.translation == 'undefined') options.translation = false;
2534
2535 var worker = function(element, text) {
2536 return function() {
2537 tiledCharacterMouseoverEvent(element, text, options, generateZhuyinElement);
2538 };
2539 }
2540 recurseDOMNode(input, worker);
2541 }
2542
2543
2544 /* Accepts a function where the entire contents is CSS wrapped in a multiline comment.
2545 * Returns the style element that was created and injected.
2546 * Example:
2547 * (function(){
2548 * require(['injectCSS'], function(injectCSS) {
2549 * injectCSS(function(){/*
2550 * .woohoo {
2551 * border: 3px solid #f0f;
2552 * }
2553 * * /});
2554 * // or
2555 * injectCSS('.foobar { border: 2px solid #f00; } ');
2556 * });
2557 * })();
2558 */
2559 /*
2560 var injectCSS = function(input) {
2561 var __dynamicStyleObject = window.document.createElement('style');
2562 __dynamicStyleObject.id = 'injectCSS';
2563 __dynamicStyleObject.innerHTML = '';
2564 document.body.appendChild(__dynamicStyleObject);
2565
2566 // interpret the input
2567 var content = null;
2568 if (typeof input === 'string') {
2569 content = input;
2570 } else
2571 if (typeof input === 'function') {
2572 content = input.toString().
2573 replace(/^[^\/]+\/\*!?/, '').
2574 replace(/\*\/[^\/]+$/, '');
2575 } else {
2576 throw 'Type (' + (typeof input) + ') is not supported by injectCSS.';
2577 }
2578
2579 // now lets append CSS content inside
2580 if (content != null)
2581 __dynamicStyleObject.innerHTML += '\n' + content;
2582
2583 // return our working node for the implementor to potentially poke holes in.
2584 return __dynamicStyleObject;
2585 }
2586 */
2587
2588
2589 /* A cross browser XMLHTTPRequest facility.
2590 * Submitted to: http://codereview.stackexchange.com/questions/28325/implementing-a-cross-browser-ajax-utility-as-an-exercise
2591 * By: hattenn: http://codereview.stackexchange.com/users/14577/hattenn
2592 * & By: Morranr: http://codereview.stackexchange.com/users/27194/morranr
2593 */
2594 var httpRequest = function(url, requestType, callback, queryString) {
2595 var ids = ['MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'],
2596 xhr;
2597
2598 if (window.XMLHttpRequest) {
2599 xhr = new XMLHttpRequest();
2600 } else {
2601 for (var i = 0; i < ids.length; i++) {
2602 try {
2603 xhr = new ActiveXObject(ids[i]);
2604 break;
2605 } catch(e) { }
2606 }
2607 }
2608
2609 if (callback)
2610 xhr.onreadystatechange = function() {
2611 if (xhr.readyState === 4) {
2612 if (xhr.status === 200) {
2613 callback({
2614 st: 'ok',
2615 data: xhr.response
2616 });
2617 } else {
2618 callback({
2619 st: 'er',
2620 status: xhr.status,
2621 data: xhr.statusText
2622 });
2623 }
2624 }
2625 };
2626
2627 xhr.open(requestType, url, true);
2628
2629 if (requestType.toUpperCase() === 'GET') {
2630 xhr.send();
2631 } else if (requestType.toUpperCase() === 'POST') {
2632 xhr.send(queryString);
2633 }
2634 }
2635
2636
2637 /* Accepts a string of chinese characters and a callback.
2638 *
2639 * Sends an HTTP request to a web service providing the translation of the characters and some additional information.
2640 * * Note:
2641 * - This is not a facility to translate sentences, merely words, phrases and idioms.
2642 * Returns: An object containing translation and information about the Chinese characters.
2643 * {
2644 * traditional: '認識',
2645 * translations: [
2646 * 'to know',
2647 * 'to recognize',
2648 * 'to be familiar with',
2649 * 'to get acquainted with sb',
2650 * 'knowledge',
2651 * 'understanding',
2652 * 'awareness',
2653 * 'cognition'
2654 * ]
2655 * }
2656 */
2657 var translatePhrase = function(input, options, callback) {
2658 var query = simplifiedToTraditional(input),
2659 md5 = md5ChineseText(query);
2660 httpRequest(__props.translationLocation + md5[0] + '/' + md5[1] + '/' + md5, 'GET', function(response) {
2661 if (callback) {
2662 if (response.st == 'ok') {
2663 try {
2664 callback(JSON.parse(response.data));
2665 } catch (err) {
2666 console.log('Error parsing JSON translation', err);
2667 console.log('Response', response.data);
2668 callback({ query: query, translation: [] });
2669 }
2670 } else {
2671 callback({ query: query, translation: [] });
2672 }
2673 }
2674 });
2675 }
2676
2677
2678 /* The default layout styles for objects generated by this library */
2679 var stylesLayout = function(){/*
2680 .cjst.el {
2681 display: block;
2682 float: left;
2683 text-align: center;
2684 padding: 0.15em;
2685 white-space: nowrap;
2686 }
2687 .cjst.el .c {
2688 font-size: 2.2em;
2689 display: block;
2690 min-width: 0.4em;
2691 min-height: 1em;
2692 }
2693
2694 .cjst.el.pinyin .音 {
2695 font-size: 0.9em;
2696 display: block;
2697 height: 1em;
2698 }
2699
2700 .cjst.el.注音 {
2701 display: table-cell;
2702 vertical-align: middle;
2703 letter-spacing: -0.12em;
2704 margin-right: 0.1em;
2705 }
2706 .cjst.el.注音 .c {
2707 display: inline-block;
2708 vertical-align: middle;
2709 }
2710 .cjst.el.注音 .音 {
2711 display: inline-block;
2712 font-size: 0.6em;
2713 vertical-align: middle;
2714 margin-left: 0.2em;
2715 white-space: normal;
2716 }
2717 .cjst.el.注音 .音 div {
2718 width: 0.75em;
2719 }
2720 .cjst.el.注音 em {
2721 display: inline-block;
2722 font-size: 1.5em;
2723 vertical-align: middle;
2724 margin: 0.48em 0.1em 0em 0em;
2725 }
2726 .cjst-tile-container {
2727 position: absolute;
2728 left: 0px; top: 0px; width: 0px; height: 0px;
2729 overflow: visible;
2730 }
2731 .cjst-tile-container .cjst.el, .cjst-tile-container .cjst.翻譯 {
2732 position: absolute;
2733 background-color: #fff;
2734 border: 1px solid #ccc;
2735 box-shadow: 0em 0.07em 0.6em #aaa; -webkit-box-shadow: 0em 0.07em 0.6em #aaa;
2736 border-radius: 3px;
2737 cursor: pointer;
2738 -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;
2739 font-size: 1.3em;
2740 text-shadow: 0px 0px 0px #000;
2741 z-index: 0;
2742 padding: 0.3em;
2743 z-index: 10000;
2744 }
2745 .cjst-tile-container .cjst.翻譯 {
2746 font-size: 0.8em;
2747 font-weight: normal;
2748 font-family: Arial;
2749 width: auto;
2750 white-space: nowrap;
2751 padding: 0.1em 0em 0.3em 0em;
2752 color: #444;
2753 }
2754 .cjst-tile-container .cjst.翻譯 li {
2755 margin: 0em 1.3em 0em 0.6em;
2756 padding: 0em;
2757 list-style-position: inside;
2758 }
2759 */};
2760
2761
2762 /* The default colors used by this library. */
2763 var stylesDefaultTheme = function(){/*
2764 .cjst.el .c {
2765 color: #000;
2766 }
2767 .cjst.el .音, .cjst.el.注音 em {
2768 color: #aad;
2769 }
2770
2771 cjst-zi.tile:hover {
2772
2773 }
2774
2775 */};
2776
2777
2778 /* Return a clean API for use with this module. All methods provided in here can be used within NodeJS or the browser.
2779 * Most internal workings of the functions leverage off of other functions and referelce data stored within the
2780 * library.
2781 */
2782 var api = {
2783
2784 // a facility to update certain properties/constants in this library.
2785 setProperty: setProperty,
2786
2787 // converting Chinese characters to Pinyin
2788 chineseToPinyin: chineseToPinyin,
2789 c2p: chineseToPinyin,
2790 中文到拼音: chineseToPinyin,
2791
2792 // converting Chinese text to Zhuyin characters (used in R.O.C.)
2793 chineseToZhuyin: chineseToZhuyin,
2794 c2z: chineseToZhuyin,
2795 中文到注音: chineseToZhuyin,
2796
2797 // converting Pinyin text to Zhuyin characters (used in R.O.C.)
2798 pinyinToZhuyin: pinyinToZhuyin,
2799 p2z: pinyinToZhuyin,
2800 拼音到注音: pinyinToZhuyin,
2801
2802 // convert simplified Chinese to traditional Chinese
2803 simplifiedToTraditional: simplifiedToTraditional,
2804 // convert traditional Chinese to simplified Chinese
2805 traditionalToSimplified: traditionalToSimplified,
2806
2807 // utility to determine if a character is likely a Chinese character
2808 isChineseCharacter: isChineseCharacter,
2809 // utility to determine if a string or DOM element contains Chinese
2810 hasChineseCharacters: hasChineseCharacters,
2811
2812 // return a unique identifier that represents this chinese string (only for use with this library, hashing unicode text is hard)
2813 md5ChineseText: md5ChineseText,
2814 // translate a character, word, idiom or common phrase to English.
2815 translatePhrase: translatePhrase
2816
2817 };
2818
2819
2820 /* Detect if this is being used in the browser or NodeJS. If it detects browser objects then we can add a bunch of functions that
2821 * help working with visual elements and DOM objects.
2822 */
2823 if (window && window.document) {
2824
2825 // Apply default layout styles for CJST objects.
2826 //injectCSS(stylesLayout);
2827
2828 // Apply default colors/styles/themes for CJST characters
2829 //injectCSS(stylesDefaultTheme);
2830
2831 // creates an element/s with all the bits inside that encase a char with pinyin under it
2832 api.pinyinElements = generatePinyinElements;
2833 // creates an element/s with all the bits inside that encase a char with bopomofo under it
2834 api.zhuyinElements = generateZhuyinElements;
2835
2836 // accepts element, adds event to show pinyin title on mouse hover
2837 api.pinyinTitleOnHover = pinyinTitleOnHover;
2838 // accepts element, adds event to show zhuyin title on mouse hover
2839 api.zhuyinTitleOnHover = zhuyinTitleOnHover;
2840
2841 // accepts element, adds pinyin character tile to be shown on mouse hover
2842 api.pinyinTileOnHover = pinyinTileOnHover;
2843 // accepts element, adds zhuyin character tile to be shown on mouse hover
2844 api.zhuyinTileOnHover = zhuyinTileOnHover;
2845
2846 } else {
2847
2848 }
2849
2850 return api;
2851 });
2852
2853
2854 /* Decide how to load this code.
2855 * If exports is set, then this is likely NodeJS else this must be clientside.
2856 * If RequireJS is not detected, a global variable called 'cjst' will be created.
2857 *
2858 */
2859 if (exports) {
2860 exports.cjst = module();
2861 } else {
2862 if (window['define'] !== undefined) {
2863 define(module);
2864 } else {
2865 window['cjst'] = module();
2866 }
2867 if (typeof define === 'function' && define.amd) {
2868 define('cjst', [], module);
2869 } else {
2870 window.cjst = module();
2871 }
2872 }
2873
2874 })(typeof window === 'undefined' ? null : window, typeof exports === 'undefined' ? null : exports);