위키낱말사전
kowiktionary
https://ko.wiktionary.org/wiki/%EC%9C%84%ED%82%A4%EB%82%B1%EB%A7%90%EC%82%AC%EC%A0%84:%EB%8C%80%EB%AC%B8
MediaWiki 1.45.0-wmf.8
case-sensitive
미디어
특수
토론
사용자
사용자토론
위키낱말사전
위키낱말사전토론
파일
파일토론
미디어위키
미디어위키토론
틀
틀토론
도움말
도움말토론
분류
분류토론
부록
부록 토론
TimedText
TimedText talk
모듈
모듈토론
Sonntag
0
3737
4388195
4300842
2025-07-06T23:43:35Z
Jeuwre
13250
발음
4388195
wikitext
text/x-wiki
== 독일어 ==
:*남성
{{독일어 명사 변화|성=남
| Sonntag | Sonntags | Sonntag | Sonntag
| Sonntage | Sonntage | Sonntagen | Sonntage }}
{{발음 듣기|De-Sonntag2.ogg||De-Sonntag.ogg|독일 }}
{{IPA|ˈzɔntaːk}}
# [[일요일]]. (부록: [[부록:독일어 요일과 달|독일어 요일과 달]])
:*
:* 참조: [[Montag]] - [[Dienstag]] - [[Mittwoch]] - [[Donnerstag]] - [[Freitag]] - [[Samstag]] - [[Sonntag]]
41ov8g12vnz6gopa73d7otwmzxwbsly
いる
0
18490
4388220
4053902
2025-07-07T03:56:39Z
CHK2605
33979
4388220
wikitext
text/x-wiki
== 일본어 ==
=== 어원 1 ===
{{ja-kanjitab|alt=居る}}
==== 발음 ====
{{ja-pron|いる|acc=0|acc_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}}
==== 동사 ====
{{ja-verb|type=2|tr=자동사|hhira=ゐる}}
# [[있다]], [[존재하다]]
#: {{ux|ja|ペンギンは北%極には'''いない'''|ペンギン は ほっ%きょく に は '''いない'''|펭귄은 북극에는 '''없다'''}}
#: {{ux|ja|子%供たちが公園で遊んで'''いる'''|こ%どもたち が こうえん で あそんで '''いる'''|아이들이 공원에서 놀고 '''있다'''}}
# [[살다]], [[체류하다]]
#: {{ux|ja|しばらくここに'''いる'''つもりです|しばらく ここ に '''いる''' つもり です|잠시 여기에 '''있을''' 생각입니다}}
# [[깨어있다]], [[머물다]]
#: {{ux|ja|明け方まで'''起きていた'''|あけがた まで '''おきていた'''|새벽까지 '''깨어있었다'''}}
# {{라벨|ja|보조동사}} (동사의 연용형에 …ている 또는 …でいる 형태로 붙어)
## (동작의 진행) ~[[하다|하고]] [[있다]]
##: {{ux|ja|猫が鳴いて'''いる'''|ねこ が ないて '''いる'''|고양이가 울고 '''있다'''}}
##: {{ux|ja|雨が降って'''いる'''|あめ が ふって '''いる'''|비가 내리고 '''있다'''}}
## (결과의 지속) ~[[하다|해]] [[있다]]
##: {{ux|ja|枝が枯れて'''いる'''|えだ が かれて '''いる'''|가지가 말라 '''있다'''}}
##: {{ux|ja|窓があいて'''いる'''|まど が あいて '''いる'''|창문이 열려 '''있다'''}}
##: {{ux|ja|彼の気%持ちはもう変わって'''いる'''|かれ の き%もち は もう かわって '''いる'''|그의 마음은 이미 변해 '''있다'''}}
===== 활용형 =====
{{ja-conj}}
=== 어원 2 ===
{{ja-see|入る|要る|煎る|射る|鋳る|率る|沃る|熟る}}
qpdaa56nory31d7tc610iw5dhnecvmj
現れる
0
18847
4388222
4292054
2025-07-07T03:59:53Z
CHK2605
33979
4388222
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あらわ|sort=あらわれる|yomi=k|alt=現われる,表れる,表われる,顕れる}}
=== 어원 ===
=== 발음 ===
{{ja-pron|あらわれる|acc=4|acc_ref=DJR,NHK,SMK2}}
=== 동사 ===
{{ja-verb|あらわれる|type=2|tr=자동사|hhira=あらはれる}}
# [[나타나다]], [[출현하다]]
#: {{ux|ja|彗星のごとく'''現れる'''|すいせい の ごとく '''あらわれる'''|혜성처럼 '''나타나다'''}}
#: {{ux|ja|雲間から太陽が'''現れる'''|くもま から たいよう が '''あらわれる'''|구름 사이에서 태양이 '''나타나다'''}}
# [[알려지다]]
#: {{ux|ja|真価が世に'''現れる'''|しんか が よ に '''あらわれる'''|진가가 세상에 '''드러나다'''}}
==== 활용형 ====
{{ja-conj}}
r16p1kd8l5v2j1q6h867nmybhriz5bd
4388225
4388222
2025-07-07T04:15:56Z
CHK2605
33979
4388225
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あらわ|sort=あらわれる|yomi=k|alt=現われる,表れる,表われる,顕れる,露れる}}
=== 어원 ===
=== 발음 ===
{{ja-pron|あらわれる|acc=4|acc_ref=DJR,NHK,SMK2}}
=== 동사 ===
{{ja-verb|あらわれる|type=2|tr=자동사|hhira=あらはれる}}
# [[나타나다]], [[출현하다]]
#: {{ux|ja|彗星のごとく'''現れる'''|すいせい の ごとく '''あらわれる'''|혜성처럼 '''나타나다'''}}
#: {{ux|ja|雲間から太陽が'''現れる'''|くもま から たいよう が '''あらわれる'''|구름 사이에서 태양이 '''나타나다'''}}
# [[알려지다]]
#: {{ux|ja|真価が世に'''現れる'''|しんか が よ に '''あらわれる'''|진가가 세상에 '''드러나다'''}}
==== 활용형 ====
{{ja-conj}}
rp1hc9xh9xd36njw6aubrvnytb7lxoi
きる
0
20205
4388183
3999766
2025-07-06T15:12:30Z
CHK2605
33979
4388183
wikitext
text/x-wiki
{{참고|キル}}
== 일본어 ==
{{ja-see|切る|着る|斬る|伐る}}
8awtu7x88y0u21rosfo79d6318hycae
4388184
4388183
2025-07-06T15:14:47Z
CHK2605
33979
4388184
wikitext
text/x-wiki
{{참고|キル}}
== 일본어 ==
{{ja-see|切る|着る|斬る}}
hfgw0e3bfd3bt5srpidbo9ht52a4bnk
着る
0
20206
4388180
4029210
2025-07-06T15:01:43Z
CHK2605
33979
4388180
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|き|yomi=k}}
=== 발음 ===
{{ja-pron|きる|acc=0|acc1_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}}
=== 동사 ===
{{ja-verb|きる|type=2|tr=타동사}}
# [[입다]], [[몸]]에 [[걸치다]]
#: {{ux|ja|上%着を'''着る'''|うわ%ぎ を '''きる'''|겉옷을 '''입다'''}}
#: {{ux|ja|セーターを'''着る'''|セーター を '''きる'''|스웨터를 '''입다'''}}
# (…をきる의 형태로) [[떠맡다]], [[뒤집어쓰다]]
#: {{ux|ja|人の罪を'''着る'''|ひと の つみ を '''きる'''|남의 죄를 '''뒤집어쓰다'''}}
#: {{ux|ja|彼はすべての責任を'''着た'''|かれ は すべて の せきにん を '''きた'''|그는 모든 책임을 '''떠맡았다'''}}
# (은혜 등을) [[입다]]
#: {{ux|ja|恩に'''着る'''|おん に '''きる'''|은혜를 '''입다'''}}
==== 활용형 ====
{{ja-conj}}
==== 유의어 ====
* {{ja-r|纏う|まと.う}}, {{ja-r|linkto=着用|着用する|ちゃくよう する}}
==== 반의어 ====
* {{ja-r|脱ぐ|ぬぐ}}
dn5ioj9gvfkhci6jjgyrm6av7n6t9lo
4388181
4388180
2025-07-06T15:05:50Z
CHK2605
33979
4388181
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|き|yomi=k|alt=著る}}
=== 발음 ===
{{ja-pron|きる|acc=0|acc1_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}}
=== 동사 ===
{{ja-verb|きる|type=2|tr=타동사}}
# [[입다]], [[몸]]에 [[걸치다]]
#: {{ux|ja|上%着を'''着る'''|うわ%ぎ を '''きる'''|겉옷을 '''입다'''}}
#: {{ux|ja|セーターを'''着る'''|セーター を '''きる'''|스웨터를 '''입다'''}}
# (…をきる의 형태로) [[떠맡다]], [[뒤집어쓰다]]
#: {{ux|ja|人の罪を'''着る'''|ひと の つみ を '''きる'''|남의 죄를 '''뒤집어쓰다'''}}
#: {{ux|ja|彼はすべての責任を'''着た'''|かれ は すべて の せきにん を '''きた'''|그는 모든 책임을 '''떠맡았다'''}}
# (은혜 등을) [[입다]]
#: {{ux|ja|恩に'''着る'''|おん に '''きる'''|은혜를 '''입다'''}}
==== 활용형 ====
{{ja-conj}}
==== 유의어 ====
* {{ja-r|纏う|まと.う}}, {{ja-r|linkto=着用|着用する|ちゃくよう する}}
==== 반의어 ====
* {{ja-r|脱ぐ|ぬぐ}}
1wglmr1dvps5kgnqsqa0c6i6lvemap4
食べる
0
21315
4388185
4388109
2025-07-06T15:16:09Z
CHK2605
33979
4388185
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|た|yomi=k}}
=== 발음 ===
{{ja-pron|たべる|acc=2|acc_ref=DJR}}
=== 동사 ===
{{ja-verb|たべる|type=2|tr=타동사}}
# [[먹다]], [[섭취하다]]
#: {{uxi|ja|生で'''食べる'''|なまで '''たべる'''|생으로 '''먹다'''}}
#: {{uxi|ja|ひと口'''食べて'''みる|ひとくち '''たべて''' みる|한 입 '''먹어''' 보다}}
# [[생활하다]], [[살다]]
#: {{ux|ja|なんとか'''食べて'''いくくらいの蓄えはある|なんとか '''たべて''' いく くらい の たくわえ は ある|그럭저럭 '''먹고''' 살 만큼의 저축은 있다}}
==== 활용형 ====
{{ja-conj}}
==== 같이 보기 ====
<center>
{| class="wikitable mw-collapsible mw-collapsed"
! colspan="3" |함께 쓰이는 낱말
|-
|色々な[[物]]・[[甘い物]]・ご飯・[[朝ご飯]]・[[お昼]]・[[肉]]・[[豚肉]]・[[魚]]・[[お寿司]]・[[ラーメン]]・[[キムチ]]・[[お弁当]]・[[サンドイッチ]]・[[果物]]・[[リンゴ]]・[[お菓子]]・[[ケーキ]]
|を食べる
|
|-
|[[買う|買って]]・醤油を[[付ける|付けて]]
|食べる
|
|-
|付けないで
|
|
|-
|[[一緒に]]・[[夜中]]に・[[もう]]・[[たくさん]]・[[しっかり]]・[[ゆっくり]]・[[無理に]]
|食べる
|
|-
|[[家]]・[[外]]・[[レストラン]]
|で食べる
|
|-
|[[あまり]]
|食べない
|
|-
|
|食べ
|たり・[[ながら]]・[[終わる]]・[[易い]]
|-
|
|食べに
|[[行く]]
|-
|
|(が)食べ
|たい
|-
|
|食べる
|[[人]]・時・[[時間]]
|-
|
|食べない
|んです・と[[言う]]
|-
|
|食べない
|の・[[人]]
|-
|
|食べなくても
|[[良い]]
|-
|
|食べた
|[[後]]
|-
|
|食べて
|から・ください
|}</center>
[[분류:일본어 가나와 간지의 혼용]]
k9iunhgjprpwjwx048l1gymwrjh614h
にる
0
39711
4388189
4005761
2025-07-06T15:35:06Z
CHK2605
33979
내용을 "== 일본어 == {{ja-see|似る|煮る}}"(으)로 바꿈
4388189
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|似る|煮る}}
nlauofactuyaou4bmvdt5x81hd4igf0
わかれる
0
40345
4388237
3484815
2025-07-07T05:35:35Z
CHK2605
33979
4388237
wikitext
text/x-wiki
== 일본어 ==
=== 어원 1 ===
# {{ja-see|分かれる|別れる}}
=== 어원 2 ===
{{ja-verb form}}
# [[沸く]]의 수동형
# [[湧く]]의 수동형
2ly6ot05qcxdrqyjqad63txe7l13or6
おきる
0
48450
4388205
4063442
2025-07-07T02:23:30Z
CHK2605
33979
내용을 "== 일본어 == {{ja-see|起きる|熾きる}}"(으)로 바꿈
4388205
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|起きる|熾きる}}
ipt10r67xw0dnh9la0mgdy6kqvggm82
おちる
0
49004
4388202
4022484
2025-07-07T02:13:06Z
CHK2605
33979
내용을 "== 일본어 == {{ja-see|落ちる}}"(으)로 바꿈
4388202
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|落ちる}}
qc2pd0wfktla2l916p4p8pk4pwfhtat
落ちる
0
49005
4388196
3484662
2025-07-07T01:57:58Z
CHK2605
33979
4388196
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|yomi=k|お|alt=堕ちる,墜ちる,零ちる:드물게,落る}}
=== 발음 ===
{{ja-pron|おちる|acc=2|acc_ref=DJR,SMK7}}
=== 동사 ===
{{ja-verb|tr=자동사|type=2|おちる}}
# [[떨어지다]], [[낙하하다]]
## [[낙하하다]]
##: {{유의어|ja|墜ちる}}
##: {{ux|ja|谷底へ'''落ちる'''|たにそこ へ '''おちる'''|계곡 바닥으로 '''떨어지다'''}}
##: {{ux|ja|涙が頰を伝って'''落ちる'''|なみだ が ほお を つたって '''おちる'''|눈물이 뺨을 타고 '''떨어지다'''}}
## (눈, 비 등이) [[내리다]]
##: {{ux|ja|大粒の雨が'''落て'''きた|おおつぶ の あめ が '''おちて''' きた|굵은 빗방울이 '''떨어지기''' 시작했다}}
## (해, 달이) [[지다]]
##: {{ux|ja|山際に日が'''落ちる'''|やまぎわ に ひ が '''おちる'''|산기슭에 해가 '''지다'''}}
## (시선, 빛 등이) [[쏟아지다]]
##: {{ux|ja|木漏れ日が地に'''落ちる'''|こもれび が ち に '''おちる'''|나뭇잎 사이로 비치는 햇살이 땅에 '''쏟아지다'''}}
## (돈 등이) [[쓰이다]]
##: {{ux|ja|観光%地に多くの金が'''落ちる'''|かんこう%ち に おおく の かね が '''おちる'''|관광지에 많은 돈이 '''쓰이다'''}}
# [[없어지다]]
## [[지워지다]], [[빠지다]]
##: {{ux|ja|色が'''落ちる'''|いろ が '''おちる'''|색이 '''빠지다'''}}
##: {{ux|ja|化%粧が'''落ちる'''|け%しょう が '''おちる'''|화장이 '''지워지다'''}}
## (병이) [[낫다]], [[없어지다]]
##: {{ux|ja|狐が'''落ちる'''|きつね が '''おちる'''|제정신을 찾다|lit=여우가 '''떨어져 나가다'''}}
## (살 등이) [[빠지다]], [[움푹]] [[들어가다]]
##: {{ux|ja|頰の肉が'''落ちる'''|ほお の にく が '''おちる'''|뺨의 살이 '''빠지다'''}}
# [[빠지다]], [[누락되다]]
#: {{ux|ja|電%話%番号がリストから'''落ちて'''いる|でん%わ%ばんごう が リスト から '''おちて''' いる|전화번호가 목록에서 '''누락되어''' 있다}}
#: {{ux|ja|重%要な情%報が'''落ちて'''いる|じゅう%よう な じょう%ほう が '''おちて''' いる|중요한 정보가 '''빠져''' 있다}}
# [[탈락하다]]
#: {{반의어|ja|受かる}}
#: {{ux|ja|予%選で'''落ちる'''|よ%せん で '''おちる'''|예선에서 '''탈락하다'''}}
# [[피난하다]], [[낙향하다]]
#: {{ux|ja|山間の地へ'''落ちる'''|さんかん の ち へ '''おちる'''|산간 지방으로 '''피난하다'''}}
# [[떨어지다]], [[저하되다]]
## [[열악해지다]], [[쇠퇴하다]]
##: {{ux|ja|鮮%度が'''落ちる'''|せん%ど が '''おちる'''|신선도가 '''떨어지다'''}}
## (지위 등이) [[내려가다]], [[강등되다]]
## [[몰락하다]], [[쇠락하다]]
##: {{ux|ja|所まで'''落ちる'''|ところ まで '''おちる'''|바닥까지 '''추락하다'''}}
## [[타락하다]]
##: {{유의어|ja|堕ちる}}
##: {{ux|ja|悪の道に'''堕ちる'''|あく の みち に '''おちる'''|악의 길로 '''타락하다'''}}
# [[귀착되다]], [[빠지다]]
## [[낙찰되다]]
##: {{ux|ja|店が人%手に'''落ちる'''|みせ が ひと%で に '''おちる'''|가게가 남의 손에 '''넘어가다'''}}
## (계략, 함정 등에) [[빠지다]], [[걸리다]]
##: {{ux|ja|わなに'''落ちる'''|わな に '''おちる'''|덫에 '''걸리다'''}}
##: {{ux|ja|謀%略に'''落ちる'''|ぼう%りゃく に '''おちる'''|모략에 '''빠지다'''}}
## [[자백하다]], [[털어놓다]]
##: {{ux|ja|容%疑%者が'''落ちる'''のは時%間の問題だ|よう%ぎ%しゃ が '''おちる''' の は じ%かん の もんだい だ|용의자가 '''자백하는''' 것은 시간문제다}}
## (설득에) [[넘어가다]], [[굴복하다]]
##: {{ux|ja|くどかれて彼女もとうとう'''落ちた'''|くどかれて かのじょ も とうとう '''おちた'''|설득당해서 그녀도 결국 '''넘어갔다'''}}
## [[귀결되다]]
##: {{ux|ja|なんのかのといっても話はいつもそこに'''落ちる'''|なん の か の と いって も はなし は いつも そこ に '''おちる'''|이러니저러니 해도 이야기는 언제나 그곳으로 '''귀결된다'''}}
## (상태에) [[빠지다]]
##: {{ux|ja|深い眠りに'''落ちる'''|ふかい ねむり に '''おちる'''|깊은 잠에 '''빠지다'''}}
# [[함락되다]]
#: {{ux|ja|城が'''落ちる'''|しろ が '''おちる'''|성이 '''함락되다'''}}
# {{라벨|ja|체육|유도}} [[기절하다]]
#: {{ux|ja|締められて'''落ちる'''|しめられて '''おちる'''|조르기에 걸려 '''기절하다'''}}
# [[납득하다]], [[이해하다]]
#: {{ux|ja|腑に'''落ちない'''|ふ に '''おちない'''|납득이 '''안 되다'''}}
# {{라벨|ja|컴퓨터}} [[다운되다]], [[종료되다]]
#: {{ux|ja|ブラウザーが'''落ちる'''|ブラウザー が '''おちる'''|브라우저가 '''다운되다'''}}
#: {{ux|ja|ゲームが途%中で'''落ちた'''|ゲーム が と%ちゅう で '''おちた'''|게임이 중간에 '''꺼졌다'''}}
==== 활용형 ====
{{ja-conj}}
[[분류:일본어 가나와 간지의 혼용]]
c0sakkw9sqtlb20donaerdtbusdhiwl
おりる
0
57834
4388194
4029480
2025-07-06T15:57:02Z
CHK2605
33979
내용을 "== 일본어 == {{ja-see|下りる|降りる}}"(으)로 바꿈
4388194
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|下りる|降りる}}
dovxna2hbuzmyrp74tvm97oqkb4lg0u
point
0
59255
4388206
4360634
2025-07-07T03:21:23Z
211.200.184.122
4388206
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|en-us-point.ogg|미국}}
{{IPA|pɔint}}
# [[뾰족하다|뽀족한]] [[끝]].
:*
# 어디에 찍히거나 뭍은 [[점]], [[반점]].
:*
# (지리) [[지점]].
# 관점
:* check point: [[검문소]]
# 이야기의 [[관점]], [[논점]], [[문제점]], [[욧점]].
:* main '''point''': 주된 관점
:* The '''point''' is how to solve this problem. 요점은 이 문제를 어떻게 해결하느냐 하는 것이다.
# [[순간]], [[시점]].
:* turning point: [[귀환점]]
# (부호) [[점]]. (수학) [[소숫점]].
:*
# (도표, 지표) [[값]], (주)[[가]], [[점수]].
:*
# (인쇄) 글자의 크기 [[포인트]].
:*
=== 동사 ===
# ㉹ [[뽀족하다|뾰족하게]] 하다, [[날카롭다|날카롭게]] 하다.
#*파생어: [[pointed]]
# ㉹ 어떤 점을 [[지적하다]].
# ㉶ (나침반, 시계) [[가리키다]].
#* point towards 가리키다.
#㉶ [[손가락질하다]].
#* The man is '''pointing''' at something on the paper. 남자가 손으로 종이 위에 뭔가를 가리키고 있다.
== 우니쉬 ==
=== 명사 ===
[[분류:우니쉬 명사]][[분류:우니쉬 동사]]
# [[뾰족하다|뽀족한]] [[끝]].
# [[점]]
=== 동사 ===
# [[가리키다]]
[[분류:영어 명사]]
oat1y9hryfo6lj0vue1318og2cib1xk
4388210
4388206
2025-07-07T03:29:05Z
211.200.184.122
4388210
wikitext
text/x-wiki
== 영어 ==
{{발음 듣기|en-us-point.ogg|미국}}
{{IPA|pɔint}}
# [[뾰족하다|뽀족한]] [[끝]].
:*
# 어디에 찍히거나 뭍은 [[점]], [[반점]].
:*
# (지리) [[지점]].
:*
# 관점
:* check point: [[검문소]]
# 이야기의 [[관점]], [[논점]], [[문제점]], [[욧점]].
:* main '''point''': 주된 관점
:* The '''point''' is how to solve this problem. 요점은 이 문제를 어떻게 해결하느냐 하는 것이다.
# [[순간]], [[시점]].
:* turning point: [[귀환점]]
# (부호) [[점]]. (수학) [[소숫점]].
:*
# (도표, 지표) [[값]], (주)[[가]], [[점수]].
:*
# (인쇄) 글자의 크기 [[포인트]].
:*
=== 동사 ===
# ㉹ [[뽀족하다|뾰족하게]] 하다, [[날카롭다|날카롭게]] 하다.
#*파생어: [[pointed]]
# ㉹ 어떤 점을 [[지적하다]].
# ㉶ (나침반, 시계) [[가리키다]].
#* point towards 가리키다.
#㉶ [[손가락질하다]].
#* The man is '''pointing''' at something on the paper. 남자가 손으로 종이 위에 뭔가를 가리키고 있다.
== 우니쉬 ==
=== 명사 ===
[[분류:우니쉬 명사]][[분류:우니쉬 동사]]
# [[뾰족하다|뽀족한]] [[끝]].
# [[점]]
=== 동사 ===
# [[가리키다]]
[[분류:영어 명사]]
35bv4bmvy04ulp3g7zoxlol0tzbqv7j
要る
0
81992
4388217
4023274
2025-07-07T03:47:25Z
CHK2605
33979
4388217
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
=== 발음 ===
{{ja-pron|いる|acc=0|acc_ref=DJR,SMK2,NHK}}
=== 동사 ===
{{ja-verb|tr=자동사|type=1|いる}}
# [[필요하다]]
#: {{ux|ja|資%本が'''要る'''|し%ほん が '''いる'''|자본이 '''필요하다'''}}
#: {{ux|ja|暇が'''要る'''|ひま が '''いる'''|시간이 '''필요하다'''}}
#: {{ux|ja|お世辞は'''要らない'''|おせじ は '''いらない'''|아첨은 '''필요 없다'''}}
==== 활용형 ====
{{ja-conj}}
[[분류:일본어 가나와 간지의 혼용]]
ln75nf6569scyasjoi0xw4oqfdyatju
起きる
0
91824
4388203
3484646
2025-07-07T02:20:42Z
CHK2605
33979
4388203
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|sort=おきる|yomi=k}}
=== 발음 ===
{{ja-pron|おきる|acc=2|acc_ref=DJR}}
=== 동사 ===
{{ja-verb|type=2|tr=자동사|おきる}}
# [[일어나다]], [[몸]]을 [[일으키다]]
#: {{ux|ja|転んでもすぐ'''起きる'''|ころん でも すぐ '''おきる'''|넘어져도 바로 '''일어나다'''}}
#: {{ux|ja|椅子から立ち'''起きる'''|いす から たち '''おきる'''|의자에서 '''일어나다'''}}
# [[깨다]], [[기상하다]]
#: {{ux|ja|毎朝%五時に'''起きる'''|まいあさ% ごじ に '''おきる'''|매일 아침 다섯 시에 '''일어나다'''}}
# [[깨어있다]], [[밤]]을 [[새우다]]
#: {{ux|ja|徹%夜で'''起きる'''|てつ%や で '''おきる'''|밤을 새워 '''깨어있다'''}}
# [[발생하다]]
#: {{ux|ja|混乱が'''起きる'''|こんらん が '''おきる'''|혼란이 '''일어나다'''}}
#: {{ux|ja|予期せぬ問題が'''起きた'''|よき せ ぬ もんだい が '''おきた'''|예상치 못한 문제가 '''발생했다'''}}
==== 활용형 ====
{{ja-conj}}
[[분류:일본어 가나와 간지의 혼용]]
19yswgsx2ti3jieq66o8dva1jdyu3zt
射る
0
172261
4388216
3890099
2025-07-07T03:45:22Z
CHK2605
33979
4388216
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
=== 발음 ===
{{ja-pron|いる|acc=1|acc_ref=DJR,NHK}}
=== 동사 ===
{{ja-verb|いる|tr=타동사|type=2}}
# [[쏘다]]
#: {{ux|ja|弓を'''射る'''|ゆみ を '''いる'''|활을 '''쏘다'''}}
# [[맞히다]], [[명중하다]]
#: {{ux|ja|的を'''射る'''|まと を '''いる'''|과녁을 '''맞히다'''}}
#: {{ux|ja|的を'''射た'''指%摘|まと を '''いた''' し%てき|정곡을 '''찌른''' 지적}}
# [[내리쬐다]], [[비추다]]
#: {{ux|ja|冬の陽光が窓から差し'''射る'''|ふゆ の ようこう が まど から さし '''いる'''|겨울 햇살이 창문으로 '''내리쬐다'''}}
# (대상을) [[사로잡다]], [[와닿다]]
#: {{ux|ja|やさしい言%葉が心を'''いた'''|やさしい こと%ば が こころ を '''いた'''|다정한 말이 마음에 '''와닿았다'''}}
==== 활용형 ====
{{ja-conj}}
88hl9118xbwuwpbwrt7bodc9eqp9kgv
押し寄せる
0
218006
4388238
4387579
2025-07-07T05:43:21Z
CHK2605
33979
4388238
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|よ|yomi=k|alt=押寄せる}}
=== 발음 ===
{{ja-pron|おしよせる|acc=4}}
=== 동사 ===
{{ja-verb|おしよせる|type=2|tr=자타동사}}
# {{라벨|ja|자동사}} [[밀려오다]], [[쇄도하다]]
#: {{ux|ja|群%衆が'''押し寄せる'''|ぐん%しゅう が '''おしよせる'''|군중이 '''밀려오다'''}}
#: {{ux|ja|大波が'''押し寄せる'''|おおなみ が '''おしよせる'''|큰 파도가 '''밀려오다'''}}
# {{라벨|ja|타동사}} [[밀어붙이다]], [[한쪽]]으로 [[몰다]]
#: {{ux|ja|机を窓際に'''押し寄せる'''|つくえ を まどぎわ に '''おしよせる'''|책상을 창가로 '''밀어붙이다'''}}
#: {{ux|ja|テーブルを壁に'''押し寄せた'''|テーブル を かべ に '''おしよせた'''|테이블을 벽에 '''붙였다'''}}
==== 활용형 ====
{{ja-conj}}
4qk8yhe68296xzcy66nmd1ot6nsuph6
分れる
0
289986
4388235
3484787
2025-07-07T05:22:01Z
CHK2605
33979
4388235
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|わ|yomi=k|alt=分れる}}
{{ja-see|分かれる}}
bn22heayj9lsgc6hauys3j8ksxqzfj7
모듈:utilities
828
413030
4388262
4385206
2025-07-07T11:58:39Z
CHK2605
33979
4388262
Scribunto
text/plain
local export = {}
local headword_data_module = "Module:headword/data"
local languages_module = "Module:languages"
local links_module = "Module:links"
local load_module = "Module:load"
local pages_module = "Module:pages"
local script_utilities_module = "Module:script utilities"
local scripts_module = "Module:scripts"
local string_utilities_module = "Module:string utilities"
local utilities_data_module = "Module:utilities/data"
local mw = mw
local anchor_encode = mw.uri.anchorEncode
local concat = table.concat
local format_categories -- 아래에서 정의됨
local ipairs = ipairs
local require = require
local type = type
local unstrip = mw.text.unstrip
--[==[
다른 모듈의 함수를 로드하는 로더(loader)들입니다.
함수가 처음 호출될 때만 실제 모듈을 로드하여 성능을 최적화합니다.]==]
local function decode_entities(...)
decode_entities = require(string_utilities_module).decode_entities
return decode_entities(...)
end
local function get_script(...)
get_script = require(scripts_module).getByCode
return get_script(...)
end
local function is_content_page(...)
is_content_page = require(pages_module).is_content_page
return is_content_page(...)
end
local function load_data(...)
load_data = require(load_module).load_data
return load_data(...)
end
local function remove_links(...)
remove_links = require(links_module).remove_links
return remove_links(...)
end
local function tag_text(...)
tag_text = require(script_utilities_module).tag_text
return tag_text(...)
end
local function trim(...)
trim = require(string_utilities_module).trim
return trim(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
--[==[
객체 로더들입니다. 데이터가 필요할 때 한 번만 로드합니다.]==]
local catfix_scripts
local function get_catfix_scripts()
catfix_scripts, get_catfix_scripts = load_data(utilities_data_module).catfix_scripts, nil
return catfix_scripts
end
local current_title
local function get_current_title()
current_title, get_current_title = mw.title.getCurrentTitle(), nil
return current_title
end
local defaultsort
local function get_defaultsort()
defaultsort, get_defaultsort = load_data(headword_data_module).page.pagename_defaultsort, nil
return defaultsort
end
local pagename
local function get_pagename()
pagename, get_pagename = load_data(headword_data_module).page.encoded_pagename, nil
return pagename
end
local und
local function get_und()
und, get_und = require(languages_module).getByCode("und"), nil
return und
end
do
local function handle_url(capture)
return capture:match("https?://[^%s%]]+%s([^%]]+)") or ""
end
--[==[
위키 마크업을 제거하여 순수 텍스트를 반환하는 헬퍼 함수입니다.]==]
function export.get_plaintext(text)
text = text
:gsub("%[%[", "\1")
:gsub("%]%]", "\2")
-- 스트립 마커와 HTML 태그를 제거합니다.
text = unstrip(text):gsub("<[^<>\1\2]+>", "")
-- 내부 링크를 파싱하여 표시 텍스트를 얻고, 분류를 제거합니다.
text = remove_links(text)
-- 파일을 제거합니다.
text = text:gsub("\1[Ff][Ii][Ll][Ee]:[^\1\2]+\2", "")
:gsub("\1[Ii][Mm][Aa][Gg][Ee]:[^\1\2]+\2", "")
-- 외부 링크를 파싱하여 표시 텍스트를 얻습니다.
text = text:gsub("%[(https?://[^%[%]]+)%]", handle_url)
-- 링크와 관련 없는 나머지 대괄호들을 이스케이프 처리합니다.
:gsub("\1", "[[")
:gsub("\2", "]]")
:gsub("%[", "[")
:gsub("]", "]")
-- 굵은 글씨, 기울임꼴, 부드러운 하이픈을 제거합니다.
:gsub("('*)'''(.-'*)'''", "%1%2")
:gsub("('*)''(.-'*)''", "%1%2")
:gsub("", "")
-- HTML 엔티티를 디코딩하고 공백을 제거합니다.
return trim(decode_entities(text))
end
end
do
local function generate_sortkey(lang, sc, sort_key, sort_base)
-- 정렬 키가 "-"이면, 언어를 미결정(und)으로 간주합니다.
if sort_key == "-" then
lang, sort_key = und or get_und(), nil
elseif not lang then
lang = und or get_und()
end
-- 자동 정렬 키를 생성합니다.
local auto = lang:makeSortKey(sort_base or pagename or get_pagename(), sc)
-- 필요시 문서 기본 정렬 키를 사용합니다.
if not auto or auto == "" then
auto = defaultsort or get_defaultsort()
end
-- 정렬 키가 지정되지 않았으면 자동 정렬 키를 사용합니다.
if not sort_key or sort_key == "" then
return auto
-- 언어가 'und'가 아니면, 수동 정렬 키가 중복인지 아닌지 분류합니다.
elseif lang:getCode() ~= "und" then
return sort_key, "[[분류:" .. lang:getFullName() .. (
uupper(sort_key) == auto and " 중복된" or
" 중복되지 않는 수동"
) .. " 정렬 키를 사용하는 낱말|" .. sort_key .. "]]"
end
return sort_key
end
--[==[
Format the categories with the appropriate sort key.
* `cat` can take two forms:
** A string (the full category, minus the {"Category:"} prefix);
** A list of categories. Each category in the list can be either:
*** A string in the same format as above;
*** An object with the fields:
**** `cat`: a string in the same format as above (required);
**** `lang`: an optional language object to override the overall `lang`;
**** `sc`: an optional script object to override the overall `sc`.
**** `sort_key`: an optional sort key to override the overall `sort_key`;
**** `sort_base`: an optional sort base to override the overall `sort_base`;
* `lang` is an object encapsulating a language; if {nil}, the object for language code {"und"} (undetermined) will
be used. `lang` is used when computing the sort key (either from the subpage name or sort base).
* `sort_key` is placed in the category invocation, and indicates how the page will sort in the respective category.
Normally '''do not use this'''. Instead, leave it {nil}, and if you need to a control the sort order, use
{sort_base}, so that language-specific normalization is applied on top of the specified sort base. If neither
{sort_key} nor {sort_base} is specified, the default is to apply language-specific normalization to the subpage
name; see below.
* `sort_base` lets you override the default sort key while still maintaining appropriate language-specific
normalization. If {nil} is specified, this defaults to the subpage name, which is the portion of the full pagename
after subtracting the namespace prefix (and, in certain namespaces such as {User:}, but notably not in the
mainspace, after subtracting anything up through the final slash). The actual sort key is derived from the sort
base approximately by lowercasing, applying language-specific normalization and then uppercasing; note that the
same process is applied in deriving the sort key when no sort base is specified. For example, for French, Spanish,
etc. the normalization process maps accented letters to their unaccented equivalents, so that e.g. in French,
{{m|fr|ça}} sorts after {{m|fr|ca}} (instead of after the default Wikimedia sort order, which is approximately
based on Unicode sort order and places ç after z) and {{m|fr|côté}} sorts after {{m|fr|coté}} (instead of between
c and d). Similarly, in Russian the normalization process converts Cyrillic ё to a string consisting of Cyrillic е
followed by U+10FFFF, so that effectively ё sorts after е instead of the default Wikimedia sort, which (I think)
puts ё after я, the last letter of the Cyrillic alphabet.
* `force_output` forces normal output in all namespaces. Normally, nothing is output if the page isn't in the main,
Appendix:, Thesaurus:, Reconstruction: or Citations: namespaces.
* `sc` is a script object; if nil, the default will be derived from the sort base (or its default value, the
subpage name) by calling {lang:findBestScript()}. The value of `sc` is used during the sort base normalization
process; for example, languages with multiple scripts will often have script-specific normalization processes.]==]
function export.format_categories(cat, lang, sort_key, sort_base, force_output, sc)
if not (
force_output or
is_content_page(current_title or get_current_title()) or
current_title.prefixedText == "Wiktionary:Sandbox"
) then
return ""
elseif type(cat) == "string" then
local this_sort_key, extra = generate_sortkey(lang, sc, sort_key, sort_base)
return "[[분류:" .. cat .. "|" .. this_sort_key .. "]]" .. (extra or "")
end
local ret, i, n, default = {}, 0, 0
-- `cat` 목록의 모든 분류를 순회합니다.
while true do
i = i + 1
local category = cat[i]
if category == nil then
return concat(ret)
end
local this_sort_key, extra
-- If the category type is a table, use any custom options in it.
if type(category) == "table" then
category, this_sort_key, extra = category.cat, generate_sortkey(
category.lang or lang,
category.sc or sc,
category.sort_key or sort_key,
category.sort_base or sort_base
)
-- If `default` has already been determined, use it.
elseif default then
this_sort_key = default
-- Otherwise, calculate `default` and use it.
else
this_sort_key, extra = generate_sortkey(lang, sc, sort_key, sort_base)
default = this_sort_key
end
n = n + 1
ret[n] = "[[분류:" .. category .. "|" .. this_sort_key .. "]]" .. (extra or "")
end
end
format_categories = export.format_categories
end
--[==[
Add a "catfix", which is used on language-specific category pages to add language attributes and often script
classes to all entry names. The addition of language attributes and script classes makes the entry names display
better (using the language- or script-specific styles specified in [[MediaWiki:Common.css]]), which is particularly
important for non-English languages that do not have consistent font support in browsers.
Language attributes are added for all languages, but script classes are only added for languages with one script
listed in their data file, or for languages that have a default script listed in the {catfix_script} list in
[[Module:utilities/data]]. Some languages clearly have a default script, but still have other scripts listed in
their data file. If those other scripts are not simply scripts like {{cd|Brai}} (Braille), their default script
needs to be specified. Others do not have a default script.
* Serbo-Croatian is regularly written in both the Latin and Cyrillic scripts. Because it uses two scripts,
Serbo-Croatian cannot have a script class applied to entries in its category pages, as only one script class
can be specified at a time.
* German is usually written in the Latin script ({{cd|Latn}}), but Fraktur ({{cd|Latf}}) is also listed in
its data file. So German needs an entry in the {catfix_script} list, so that the {{cd|Latn}} (Latin) script
class will be applied to entries in its category pages.
To find the scripts listed for a language, go to [[Module:languages]] and use the search box to find the data file
for the language. To find out what a script code means, search the script code in [[Module:scripts/data]].]==]
function export.catfix(lang, sc)
if not lang or not lang.getCanonicalName then
error('"catfix" 함수의 첫 번째 인수는 [[모듈:languages]] 또는 [[모듈:etymology languages]]의 언어 객체여야 합니다.')
end
if sc and not sc.getCode then
error('"catfix" 함수의 두 번째 인수는 [[모듈:scripts]]의 문자 객체여야 합니다.')
end
-- 분류 상용구 틀로 생성된 문서의 링크에 문자 클래스를 추가합니다.
if not sc then
local code = (catfix_scripts or get_catfix_scripts())[lang:getCode()] or catfix_scripts[lang:getFullCode()]
if code then
sc = get_script(code)
end
end
-- 언어에 유효한 후보 문자가 하나만 있다면, 그것을 기본값으로 적용합니다.
if not sc then
local scripts = lang:getScripts()
if #scripts == 1 then
sc = scripts[1]
else
-- 문자를 순회하며 Brai 같은 특수 문자를 제외하고 후보가 하나뿐인지 확인합니다.
for _, script in ipairs(scripts) do
if script:getCode() ~= "Brai" then
if sc then
-- 후보가 여러 개면 실패
sc = nil
break
else
sc = script
end
end
end
end
end
-- Hack: <ul> 태그를 사용하면 파서가 catfix 요소 주위에 <p> 태그를 자동으로 생성하는 것을 막을 수 있습니다.
return "<ul class=\"catfix\" data-anchor=\"" ..
anchor_encode(lang:getFullName()) .. "\">" ..
tag_text("", lang, sc) .. "</ul>" ..
format_categories("catfix를 사용하는 문서", nil, nil, nil, true)
end
--[==[
주어진 타입과 개체들을 확인하여, 모두 유효한 언어, 어족, 문자 등의 객체인지 검사합니다.
오류 처리에 유용합니다.]==]
function export.check_object(typ, noErr, ...)
if ... == nil then
if noErr then
return false
end
error("확인할 객체를 하나 이상 제공하여야 합니다.", 2)
end
for _, obj in ipairs{...} do
if type(obj) ~= "table" or type(obj.hasType) ~= "function" then
if noErr then
return false
end
error("함수가 " .. typ .. " 객체를 예상했지만 " .. type(obj) .. " 유형의 값을 받았습니다.", 2)
elseif not (typ == "object" or obj:hasType(typ)) then
for _, wrong_type in ipairs{"family", "language", "script", "Wikimedia language", "writing system"} do
if obj:hasType(wrong_type) then
if noErr then
return false
end
error("함수가 " .. typ .. " 객체를 예상했지만 " .. wrong_type .. " 객체를 받았습니다.", 2)
end
end
if noErr then
return false
end
error("함수가 " .. typ .. " 객체를 예상했지만 다른 유형의 객체를 받았습니다.", 2)
end
end
return true
end
return export
0owl9os06xji873koyc6guquephtv3x
손시계
0
414667
4388179
4232027
2025-07-06T14:39:49Z
YeBoy371
10964
/* 명사 */
4388179
wikitext
text/x-wiki
== 한국어 ==
=== 명사 ===
*어원: [[손]] + [[시계]](한자 [[時計]])
{{IPA|son.ʃi.gje}}
{{ko-IPA}}
# {{이철자|손목시계|언어=한국|지역=문화어|품사=합성명사}}
# {{이철자|팔목시계|언어=한국|지역=문화어|품사=합성명사}}
# {{이철자|팔뚝시계|언어=한국|지역=문화어|품사=합성명사}}
[[분류:한자+한글]]
[[분류:문화어 명사]]
cmblz7ijtf2j92z9n4si28y9y9emf52
모듈:parameters
828
423577
4388251
4384799
2025-07-07T09:53:34Z
CHK2605
33979
4388251
Scribunto
text/plain
--[==[TODO:
* Change certain flag names, as some are misnomers:
* Change `allow_holes` to `keep_holes`, because it's not the inverse of `disallow_holes`.
* Change `allow_empty` to `keep_empty`, as it causes them to be kept as "" instead of deleted.
* Sort out all the internal error calls. Manual error(format()) calls are used when certain parameters shouldn't be dumped, so find a way to avoid that.
]==]
local export = {}
local collation_module = "Module:collation"
local families_module = "Module:families"
local functions_module = "Module:fun"
local gender_and_number_utilities_module = "Module:gender and number utilities"
local labels_module = "Module:labels"
local languages_module = "Module:languages"
local math_module = "Module:math"
local pages_module = "Module:pages"
local parameters_finalize_set_module = "Module:parameters/finalizeSet"
local parameters_track_module = "Module:parameters/track"
local parse_utilities_module = "Module:parse utilities"
local references_module = "Module:references"
local scribunto_module = "Module:Scribunto"
local scripts_module = "Module:scripts"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local wikimedia_languages_module = "Module:wikimedia languages"
local yesno_module = "Module:yesno"
local mw = mw
local mw_title = mw.title
local string = string
local table = table
local dump = mw.dumpObject
local find = string.find
local format = string.format
local gsub = string.gsub
local insert = table.insert
local ipairs = ipairs
local list_to_text = mw.text.listToText
local make_title = mw_title.makeTitle
local match = string.match
local max = math.max
local new_title = mw_title.new
local next = next
local pairs = pairs
local pcall = pcall
local require = require
local sub = string.sub
local tonumber = tonumber
local type = type
local unpack = unpack or table.unpack -- Lua 5.2 compatibility
local current_title_text, current_namespace, sets -- Defined when needed.
local namespaces = mw.site.namespaces
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function decode_entities(...)
decode_entities = require(string_utilities_module).decode_entities
return decode_entities(...)
end
local function extend(...)
extend = require(table_module).extend
return extend(...)
end
local function finalize_set(...)
finalize_set = require(parameters_finalize_set_module)
return finalize_set(...)
end
local function get_family_by_code(...)
get_family_by_code = require(families_module).getByCode
return get_family_by_code(...)
end
local function get_family_by_name(...)
get_family_by_name = require(families_module).getByCanonicalName
return get_family_by_name(...)
end
local function get_language_by_code(...)
get_language_by_code = require(languages_module).getByCode
return get_language_by_code(...)
end
local function get_language_by_name(...)
get_language_by_name = require(languages_module).getByCanonicalName
return get_language_by_name(...)
end
local function get_script_by_code(...)
get_script_by_code = require(scripts_module).getByCode
return get_script_by_code(...)
end
local function get_script_by_name(...)
get_script_by_name = require(scripts_module).getByCanonicalName
return get_script_by_name(...)
end
local function get_wm_lang_by_code(...)
get_wm_lang_by_code = require(wikimedia_languages_module).getByCode
return get_wm_lang_by_code(...)
end
local function get_wm_lang_by_code_with_fallback(...)
get_wm_lang_by_code_with_fallback = require(wikimedia_languages_module).getByCodeWithFallback
return get_wm_lang_by_code_with_fallback(...)
end
local function gsplit(...)
gsplit = require(string_utilities_module).gsplit
return gsplit(...)
end
local function is_callable(...)
is_callable = require(functions_module).is_callable
return is_callable(...)
end
local function is_integer(...)
is_integer = require(math_module).is_integer
return is_integer(...)
end
local function is_internal_title(...)
is_internal_title = require(pages_module).is_internal_title
return is_internal_title(...)
end
local function is_positive_integer(...)
is_positive_integer = require(math_module).is_positive_integer
return is_positive_integer(...)
end
local function iterate_list(...)
iterate_list = require(table_module).iterateList
return iterate_list(...)
end
local function num_keys(...)
num_keys = require(table_module).numKeys
return num_keys(...)
end
local function parse_gender_and_number_spec(...)
parse_gender_and_number_spec = require(gender_and_number_utilities_module).parse_gender_and_number_spec
return parse_gender_and_number_spec(...)
end
local function parse_references(...)
parse_references = require(references_module).parse_references
return parse_references(...)
end
local function pattern_escape(...)
pattern_escape = require(string_utilities_module).pattern_escape
return pattern_escape(...)
end
local function php_trim(...)
php_trim = require(scribunto_module).php_trim
return php_trim(...)
end
local function scribunto_parameter_key(...)
scribunto_parameter_key = require(scribunto_module).scribunto_parameter_key
return scribunto_parameter_key(...)
end
local function sort(...)
sort = require(collation_module).sort
return sort(...)
end
local function sorted_pairs(...)
sorted_pairs = require(table_module).sortedPairs
return sorted_pairs(...)
end
local function split_labels_on_comma(...)
split_labels_on_comma = require(labels_module).split_labels_on_comma
return split_labels_on_comma(...)
end
local function split_on_comma(...)
split_on_comma = require(parse_utilities_module).split_on_comma
return split_on_comma(...)
end
local function tonumber_extended(...)
tonumber_extended = require(math_module).tonumber_extended
return tonumber_extended(...)
end
local function track(...)
track = require(parameters_track_module)
return track(...)
end
local function yesno(...)
yesno = require(yesno_module)
return yesno(...)
end
--[==[ intro:
This module is used to standardize template argument processing and checking. A typical workflow is as follows (based
on [[Module:translations]]):
{
...
local parent_args = frame:getParent().args
local params = {
[1] = {required = true, type = "language", default = "und"},
[2] = true,
[3] = {list = true},
["alt"] = true,
["id"] = true,
["sc"] = {type = "script"},
["tr"] = true,
["ts"] = true,
["lit"] = true,
}
local args = require("Module:parameters").process(parent_args, params)
-- Do further processing of the parsed arguments in `args`.
...
}
The `params` table should have the parameter names as the keys, and a (possibly empty) table of parameter tags as the
value. An empty table as the value merely states that the parameter exists, but should not receive any special
treatment; if desired, empty tables can be replaced with the value `true` as a perforamnce optimization.
Possible parameter tags are listed below:
; {required = true}
: The parameter is required; an error is shown if it is not present. The template's page itself is an exception; no
error is shown there.
; {default =}
: Specifies a default input value for the parameter, if it is absent or empty. This will be processed as though it were
the input instead, so (for example) {default = "und"} with the type {"language"} will return a language object for
[[:Category:Undetermined language|Undetermined language]] if no language code is provided. When used on list
parameters, this specifies a default value for the first item in the list only. Note that it is not possible to
generate a default that depends on the value of other parameters. If used together with {required = true}, the default
applies only to template pages (see the following entry), as a side effect of the fact that "required" parameters
aren't actually required on template pages. This can be used to show an example of the template in action when the
template page is visited; however, it is preferred to use `template_default` for this purpose, for clarity.
; {template_default =}
: Specifies a default input value for absent or empty parameters only on template pages. Template pages are any page in
the template space (beginning with `Template:`) except for documentation pages (those ending in `.../documentation`).
This can be used to provide an example value for a non-required parameter when the template page is visited, without
interfering with other uses of the template. Both `template_default` and `default` can be specified for the same
parameter. If this is done, `template_default` applies on template pages, and `default` on other pages. As an example,
{{tl|cs-IPA}} uses the equivalent of {[1] = {default = "+", template_default = "příklad"}} to supply a default of
{"+"} for mainspace and documentation pages (which tells the module to use the value of the {{para|pagename}}
parameter, falling back to the actual pagename), but {"příklad"} (which means "example"), on [[Template:cs-IPA]].
; {alias_of =}
: Treat the parameter as an alias of another. When arguments are specified for this parameter, they will automatically
be renamed and stored under the alias name. This allows for parameters with multiple alternative names, while still
treating them as if they had only one name. The conversion-related properties of an aliased parameter (e.g. `type`,
`set`, `convert`, `sublist`) are taken from the aliasee, and the corrresponding properties set on the alias itself
are ignored; but other properties on the alias are taken from the alias's spec and not from the aliasee's spec. This
means, for example, that if you create an alias of a list parameter, the alias must also specify the `list` property
or it is not a list. (In such a case, a value specified for the alias goes into the first item of the aliasee's list.
You cannot make a list alias of a non-list parameter; this causes an error to be thrown.) Similarly, if you specify
`separate_no_index` on an aliasee but not on the alias, uses of the unindexed aliasee parameter are stored into the
`.default` key, but uses of the unindexed alias are stored into the first numbered key of the aliasee's list.
Aliases cannot be required, as this prevents the other name or names of the parameter from being used. Parameters
that are aliases and required at the same time cause an error to be thrown.
; {allow_empty = true}
: If the argument is an empty string value, it is not converted to {nil}, but kept as-is. The use of `allow_empty` is
disallowed if a type has been specified, and causes an error to be thrown.
; {no_trim = true}
: Spacing characters such as spaces and newlines at the beginning and end of a positional parameter are not removed.
(MediaWiki itself automatically trims spaces and newlines at the edge of named parameters.) The use of `no_trim` is
disallowed if a type has been specified, and causes an error to be thrown.
; {type =}
: Specifies what value type to convert the argument into. The default is to leave it as a text string. Alternatives are:
:; {type = "boolean"}
:: The value is treated as a boolean value, either true or false. No value, the empty string, and the strings {"0"},
{"no"}, {"n"}, {"false"}, {"f"} and {"off"} are treated as {false}, all other values are considered {true}.
:; {type = "number"}
:: The value is converted into a number, and throws an error if the value is not parsable as a number. Input values may
be signed (`+` or `-`), and may contain decimal points and leading zeroes. If {allow_hex = true}, then hexadecimal
values in the form {"0x100"} may optionally be used instead, which otherwise have the same syntax restrictions
(including signs, decimal digits, and leading zeroes after {"0x"}). Hexadecimal inputs are not case-sensitive. Lua's
special number values (`inf` and `nan`) are not possible inputs.
:; {type = "range"}
:: The value is interpreted as a hyphen-separated range of two numbers (e.g. {"2-4"} is interpreted as the range from
{2} to {4}). A number input without a hyphen is interpreted as a range from that number to itself (e.g. the input {"1"} is interpreted as the range from {1} to {1}). Any optional flags which are available for numbers will also work for ranges.
:; {type = "language"}
:: The value is interpreted as a full or [[Wiktionary:Languages#Etymology-only languages|etymology-only language]] code
language code (or name, if {method = "name"}) and converted into the corresponding object (see [[Module:languages]]).
If the code or name is invalid, then an error is thrown. The additional setting {family = true} can be given to allow
[[Wiktionary:Language families|language family codes]] to be considered valid and the corresponding object returned.
Note that to distinguish an etymology-only language object from a full language object, use
{object:hasType("language", "etymology-only")}.
:; {type = "full language"}
:: The value is interpreted as a full language code (or name, if {method = "name"}) and converted into the corresponding
object (see [[Module:languages]]). If the code or name is invalid, then an error is thrown. Etymology-only languages
are not allowed. The additional setting {family = true} can be given to allow
[[Wiktionary:Language families|language family codes]] to be considered valid and the corresponding object returned.
:; {type = "Wikimedia language"}
:: The value is interpreted as a code and converted into a Wikimedia language object. If the code is invalid, then an
error is thrown. If {fallback = true} is specified, conventional language codes which are different from their
Wikimedia equivalent will also be accepted as a fallback.
:; {type = "family"}
:: The value is interpreted as a language family code (or name, if {method = "name"}) and converted into the
corresponding object (see [[Module:families]]). If the code or name is invalid, then an error is thrown.
:; {type = "script"}
:: The value is interpreted as a script code (or name, if {method = "name"}) and converted into the corresponding object
(see [[Module:scripts]]). If the code or name is invalid, then an error is thrown.
:; {type = "title"}
:: The value is interpreted as a page title and converted into the corresponding object (see the
[[mw:Extension:Scribunto/Lua_reference_manual#Title_library|Title library]]). If the page title is invalid, then an
error is thrown; by default, external titles (i.e. those on other wikis) are not treated as valid. Options are:
::; {namespace = n}
::: The default namespace, where {n} is a namespace number; this is treated as {0} (the mainspace) if not specified.
::; {allow_external = true}
::: External titles are treated as valid.
::; {prefix = "namespace override"} (default)
::: The default namespace prefix will be prefixed to the value is already prefixed by a namespace prefix. For instance,
the input {"Foo"} with namespace {10} returns {"Template:Foo"}, {"Wiktionary:Foo"} returns {"Wiktionary:Foo"}, and
{"Template:Foo"} returns {"Template:Foo"}. Interwiki prefixes cannot act as overrides, however: the input {"fr:Foo"}
returns {"Template:fr:Foo"}.
::; {prefix = "force"}
::: The default namespace prefix will be prefixed unconditionally, even if the value already appears to be prefixed.
This is the way that {{tl|#invoke:}} works when calling modules from the module namespace ({828}): the input {"Foo"}
returns {"Module:Foo"}, {"Wiktionary:Foo"} returns {"Module:Wiktionary:Foo"}, and {"Module:Foo"} returns
{"Module:Module:Foo"}.
::; {prefix = "full override"}
::: The same as {prefix = "namespace override"}, except that interwiki prefixes can also act as overrides. For instance,
{"el:All topics"} with namespace {14} returns {"el:Category:All topics"}. Due to the limitations of MediaWiki, only
the first prefix in the value may act as an override, so the namespace cannot be overridden if the first prefix is
an interwiki prefix: e.g. {"el:Template:All topics"} with namespace {14} returns {"el:Category:Template:All topics"}.
:; {type = "parameter"}
:: The value is interpreted as the name of a parameter, and will be normalized using the method that Scribunto uses when
constructing a {frame.args} table of arguments. This means that integers will be converted to numbers, but all other
arguments will remain as strings (e.g. {"1"} will be normalized to {1}, but {"foo"} and {"1.5"} will remain
unchanged). Note that Scribunto also trims parmeter names, following the same trimming method that this module
applies by default to all parameter types.
:: This type is useful when one set of input arguments is used to construct a {params} table for use in a subsequent
{export.process()} call with another set of input arguments; for instance, the set of valid parameters for a template
might be defined as {{tl|#invoke:[some module]|args=}} in the template, where {args} is a sublist of valid parameters
for the template.
:; {type = "qualifier"}
:: The value is interpreted as a qualifier and converted into the correct format for passing into `format_qualifiers()`
in [[Module:qualifier]] (which currently just means converting it to a one-item list).
:; {type = "labels"}
:: The value is interpreted as a comma-separated list of labels and converted into the correct format for passing into
`show_labels()` in [[Module:labels]] (which is currently a list of strings). Splitting is done on commas not followed
by whitespace, except that commas inside of double angle brackets do not count even if not followed by whitespace.
This type should be used by for normal labels (typically specified using {{para|l}} or {{para|ll}}) and accent
qualifiers (typically specified using {{para|a}} and {{para|aa}}).
:; {type = "references"}
:: The value is interpreted as one or more references, in the format prescribed by `parse_references()` in
[[Module:references]], and converted into a list of objects of the form accepted by `format_references()` in the same
module. If a syntax error is found in the reference format, an error is thrown.
:; {type = "genders"}
:: The value is interpreted as one or more comma-separated gender/number specs, in the format prescribed by
[[Module:gender and number]]. Inline modifiers (`<q:...>`, `<qq:...>`, `<l:...>`, `<ll:...>` or `<ref:...>`) may be
attached to a gender/number spec.
:; {type = function(val) ... end}
:: `type` may be set to a function (or callable table), which must take the argument value as its sole argument, and must
output one of the other recognized types. This is particularly useful for lists (see below), where certain values need
to be interpreted differently to others.
; {list =}
: Treat the parameter as a list of values, each having its own parameter name, rather than a single value. The
parameters will have a number at the end, except optionally for the first (but see also {require_index = true}). For
example, {list = true} on a parameter named "head" will include the parameters {{para|head}} (or {{para|head1}}),
{{para|head2}}, {{para|head3}} and so on. If the parameter name is a number, another number doesn't get appended, but
the counting simply continues, e.g. for parameter {3} the sequence is {{para|3}}, {{para|4}}, {{para|5}} etc. List
parameters are returned as numbered lists, so for a template that is given the parameters `|head=a|head2=b|head3=c`,
the processed value of the parameter {"head"} will be { { "a", "b", "c" }}}.
: The value for {list =} can also be a string. This tells the module that parameters other than the first should have a
different name, which is useful when the first parameter in a list is a number, but the remainder is named. An example
would be for genders: {list = "g"} on a parameter named {1} would have parameters {{para|1}}, {{para|g2}}, {{para|g3}}
etc.
: If the number is not located at the end, it can be specified by putting {"\1"} at the number position. For example,
parameters {{para|f1accel}}, {{para|f2accel}}, ... can be captured by using the parameter name {"f\1accel"}, as is
done in [[Module:headword/templates]].
; {set =}
: Require that the value of the parameter be one of the specified list of values (or omitted, if {required = true} isn't
given). The values in the specified list should be strings corresponding to the raw parameter values except when
{type = "number"}, in which case they should be numbers. A individual value in the list can also be an ''alias list'',
which is a list where the first value is the "canonical" value and the remainder are aliases. When one of the aliases
is used, the resulting parameter field in the returned arguments structure will have the canonical value. The use of
`set` is disallowed if {type = "boolean"} and causes an error to be thrown.
; {sublist =}
: The value of the parameter is a delimiter-separated list of individual raw values. The resulting field in `args` will
be a Lua list (i.e. a table with numeric indices) of the converted values. If {sublist = true} is given, the values
will be split on commas (possibly with whitespace on one or both sides of the comma, which is ignored). If
{sublist = "comma without whitespace"} is given, the values will be split on commas which are not followed by whitespace,
and which aren't preceded by an escaping backslash. Otherwise, the value of `sublist` should be either a Lua pattern
specifying the delimiter(s) to split on or a function (or callable table) to do the splitting, which is passed two values
(the value to split and a function to signal an error) and should return a list of the split values.
; {convert =}
: If given, this specifies a function (or callable table) to convert the raw parameter value into the Lua object used
during further processing. The function is passed two arguments, the raw parameter value itself and a function used to
signal an error during parsing or conversion, and should return one value, the converted parameter. The error-signaling
function contains the name and raw value of the parameter embedded into the message it generates, so these do not need to
specified in the message passed into it. If `type` is specified in conjunction with `convert`, the processing by
`type` happens first. If `sublist` is given in conjunction with `convert`, the raw parameter value will be split
appropriately and `convert` called on each resulting item.
; {allow_hex = true}
: When used in conjunction with {type = "number"}, allows hexadecimal numbers as inputs, in the format {"0x100"} (which is
not case-sensitive).
; {family = true}
: When used in conjunction with {type = "language"}, allows [[Wiktionary:Language families|language family codes]] to be
returned. To check if a given object refers to a language family, use {object:hasType("family")}.
; {method = "name"}
: When used in conjunction with {type = "language"}, {type = "family"} or {type = "script"}, checks for and parses a
language, family or script name instead of a code.
; {allow_holes = true}
: This is used in conjunction with list-type parameters. By default, the values are tightly packed in the resulting
list. This means that if, for example, an entry specified `head=a|head3=c` but not {{para|head2}}, the returned list
will be { {"a", "c"}}}, with the values stored at the indices {1} and {2}, not {1} and {3}. If it is desirable to keep
the numbering intact, for example if the numbers of several list parameters correlate with each other (like those of
{{tl|affix}}), then this tag should be specified.
: If {allow_holes = true} is given, there may be {nil} values in between two real values, which makes many of Lua's
table processing functions no longer work, like {#} or {ipairs()}. To remedy this, the resulting table will contain an
additional named value, `maxindex`, which tells you the highest numeric index that is present in the table. In the
example above, the resulting table will now be { { "a", nil, "c", maxindex = 3}}}. That way, you can iterate over the
values from {1} to `maxindex`, while skipping {nil} values in between.
; {disallow_holes = true}
: This is used in conjunction with list-type parameters. As mentioned above, normally if there is a hole in the source
arguments, e.g. `head=a|head3=c` but not {{para|head2}}, it will be removed in the returned list. If
{disallow_holes = true} is specified, however, an error is thrown in such a case. This should be used whenever there
are multiple list-type parameters that need to line up (e.g. both {{para|head}} and {{para|tr}} are available and
{{para|head3}} lines up with {{para|tr3}}), unless {allow_holes = true} is given and you are prepared to handle the
holes in the returned lists.
; {disallow_missing = true}
: This is similar to {disallow_holes = true}, but an error will not be thrown if an argument is blank, rather than
completely missing. This may be used to tolerate intermediate blank numerical parameters, which sometimes occur in list
templates. For instance, `head=a|head2=|head3=c` will not throw an error, but `head=a|head3=c` will.
; {require_index = true}
: This is used in conjunction with list-type parameters. By default, the first parameter can have its index omitted.
For example, a list parameter named `head` can have its first parameter specified as either {{para|head}} or
{{para|head1}}. If {require_index = true} is specified, however, only {{para|head1}} is recognized, and {{para|head}}
will be treated as an unknown parameter. {{tl|affixusex}} (and variants {{tl|suffixusex}}, {{tl|prefixusex}}) use
this, for example, on all list parameters.
; {separate_no_index = true}
: This is used to distinguish between {{para|head}} and {{para|head1}} as different parameters. For example, in
{{tl|affixusex}}, to distinguish between {{para|sc}} (a script code for all elements in the usex's language) and
{{para|sc1}} (the script code of the first element, used when the first element is prefixed with a language code to
indicate that it is in a different language). When this is used, the resulting table will contain an additional named
value, `default`, which contains the value for the indexless argument.
; {flatten = true}
: This is used in conjunction with list-type parameters when `sublist` or a list-generating type such as {"labels"} or
{"genders"} is also specified, and causes the resulting list to be flattened. Not currently compatible with
{allow_holes = true}.
; {demo = true}
: This is used as a way to ensure that the parameter is only enabled on the template's own page (and its documentation
page), and in the User: namespace; otherwise, it will be treated as an unknown parameter. This should only be used if
special settings are required to showcase a template in its documentation (e.g. adjusting the pagename or disabling
categorization). In most cases, it should be possible to do this without using demo parameters, but they may be
required if a template/documentation page also contains real uses of the same template as well (e.g. {{tl|shortcut}}),
as a way to distinguish them.
; {deprecated = true}
: This is for tracking the use of deprecated parameters, including any aliases that are being brought out of use. See
[[Wiktionary:Tracking]] for more information.
]==]
-- Returns true if the current page is a template or module containing the current {{#invoke}}.
-- If the include_documentation argument is given, also returns true if the current page is either page's docuemntation page.
local own_page, own_page_or_documentation
local function is_own_page(include_documentation)
if own_page == nil then
if current_namespace == nil then
local current_title = mw_title.getCurrentTitle()
current_title_text, current_namespace = current_title.prefixedText, current_title.namespace
end
local frame = current_namespace == 828 and mw.getCurrentFrame() or
current_namespace == 10 and mw.getCurrentFrame():getParent()
if frame then
local frame_title_text = frame:getTitle()
own_page = current_title_text == frame_title_text
own_page_or_documentation = own_page or current_title_text == frame_title_text .. "/documentation"
else
own_page, own_page_or_documentation = false, false
end
end
return include_documentation and own_page_or_documentation or own_page
end
-------------------------------------- Some helper functions -----------------------------
-- Convert a list in `list` to a string, separating the final element from the preceding one(s) by `conjunction`. If
-- `dump_vals` is given, pass all values in `list` through mw.dumpObject() (WARNING: this destructively modifies
-- `list`). This is similar to serialCommaJoin() in [[Module:table]] when used with the `dontTag = true` option, but
-- internally uses mw.text.listToText().
local function concat_list(list, conjunction, dump_vals)
if dump_vals then
for k, v in pairs(list) do
list[k] = dump(v)
end
end
return list_to_text(list, nil, conjunction)
end
-- A helper function for use with generating error-signaling functions in the presence of raw value conversion. Format a
-- message `msg`, including the processed value `processed` if it is different from the raw value `rawval`; otherwise,
-- just return `msg`.
local function msg_with_processed(msg, rawval, processed)
if rawval == processed then
return msg
end
local processed_type = type(processed)
return format("%s (processed value %s)",
msg, (processed_type == "string" or processed_type == "number") and processed or dump(processed)
)
end
-------------------------------------- Error handling -----------------------------
local function process_error(fmt, ...)
local args = {...}
for i, val in ipairs(args) do
args[i] = dump(val)
end
if type(fmt) == "table" then
-- hacky signal that we're called from internal_process_error(), and not to omit stack frames
return error(format(fmt[1], unpack(args)))
end
return error(format(fmt, unpack(args)), 3)
end
local function internal_process_error(fmt, ...)
process_error({"Internal error in `params` table: " .. fmt}, ...)
end
-- Check that a parameter or argument is in the form form Scribunto normalizes input argument keys into (e.g. 1 not "1", "foo" not " foo "). Otherwise, it won't be possible to normalize inputs in the expected way. Unless is_argument is set, also check that the name only contains one placeholder at most, and that strings don't resolve to numeric keys once the placeholder has been substituted.
local function validate_name(name, desc, extra_name, is_argument)
local normalized = scribunto_parameter_key(name)
if name and name == normalized then
if is_argument or type(name) ~= "string" then
return
end
local placeholder = find(name, "\1", nil, true)
if not placeholder then
return
elseif find(name, "\1", placeholder + 1, true) then
error(format(
"Internal error: expected %s to only contain one placeholder, but saw %s",
extra_name and (desc .. dump(extra_name)) or desc, dump(name)
))
end
local first_name = gsub(name, "\1", "1")
normalized = scribunto_parameter_key(first_name)
if first_name == normalized then
return
end
error(format(
"Internal error: %s cannot resolve to numeric parameters once any placeholder has been substituted, but %s resolves to %s",
extra_name and (desc .. dump(extra_name)) or desc, dump(name), dump(normalized)
))
elseif normalized == nil then
error(format(
"Internal error: expected %s to be of type string or number, but saw %s",
extra_name and (desc .. dump(extra_name)) or desc, type(name)
))
end
error(format(
"Internal error: expected %s to be Scribunto-compatible: %s (a %s) should be %s (a %s)",
extra_name and (desc .. dump(extra_name)) or desc, dump(name), type(name), dump(normalized), type(normalized)
))
end
local function validate_alias_options(...)
local invalid = {
required = true,
default = true,
template_default = true,
allow_holes = true,
disallow_holes = true,
disallow_missing = true,
}
function validate_alias_options(param, name, main_param, alias_of)
for k in pairs(param) do
if invalid[k] then
track("bad alias option")
-- internal_process_error(
-- "parameter %s cannot have the option %s, as it is an alias of parameter %s.",
-- name, option, alias_of
-- )
end
end
-- Soon, aliases will inherit options from the main parameter via __index. Track cases where this would happen.
if main_param ~= true then
for k in pairs(main_param) do
if param[k] == nil and not invalid[k] then
if k == "list" then -- these need to be changed to list = false to retain current behaviour
track("mismatched list alias option")
elseif not (k == "type" or k == "set" or k == "sublist") then -- rarely specified on aliases, as they're effectively inherited already
track("mismatched alias option")
end
end
end
end
end
validate_alias_options(...)
end
-- TODO: give ranges instead of long lists, if possible.
local function params_list_error(params, msg)
local list, n = {}, 0
for name in sorted_pairs(params) do
n = n + 1
list[n] = name
end
error(format(
"Parameter%s %s.",
format(n == 1 and " %s is" or "s %s are", concat_list(list, " and ", true)),
msg
), 3)
end
-- Helper function for use with convert_val_error(). Format a list of possible choices using `concat_list` and
-- conjunction "or", displaying "either " before the choices if there's more than one.
local function format_choice_list(valid)
return (#valid > 1 and "either " or "") .. concat_list(valid, " or ")
end
-- Signal an error for a value `val` that is not of the right type `valid` (which is either a string specifying a type, or
-- a list of possible values, in the case where `set` was used). `name` is the name of the parameter and can be a
-- function to signal an error (which is assumed to automatically display the parameter's name and value). `seetext` is
-- an optional additional explanatory link to display (e.g. [[WT:LOL]], the list of possible languages and codes).
local function convert_val_error(val, name, valid, seetext)
if is_callable(name) then
if type(valid) == "table" then
valid = "choice, must be " .. format_choice_list(valid)
end
name(format("Invalid %s; the value %s is not valid%s", valid, val, seetext and "; see " .. seetext or ""))
else
if type(valid) == "table" then
valid = format_choice_list(valid)
else
valid = "a valid " .. valid
end
error(format("Parameter %s must be %s; the value %s is not valid.%s", dump(name), valid, dump(val),
seetext and " See " .. seetext .. "." or ""))
end
end
-- Generate the appropriate error-signaling function given parameter value `val` and name `name`. If `name` is already
-- a function, it is just returned; otherwise a function is generated and returned that displays the passed-in messaeg
-- along with the parameter's name and value.
local function make_parse_err(val, name)
if is_callable(name) then
return name
end
return function(msg)
error(format("%s: parameter %s=%s", msg, name, val))
end
end
-------------------------------------- Value conversion -----------------------------
-- For a list parameter `name` and corresponding value `list_name` of the `list` field (which should have the same value
-- as `name` if `list = true` was given), generate a pattern to match parameters of the list and store the pattern as a
-- key in `patterns`, with corresponding value set to `name`. For example, if `list_name` is "tr", the pattern will
-- match "tr" as well as "tr1", "tr2", ..., "tr10", "tr11", etc. If the `list_name` contains a \1 in it, the numeric
-- portion goes in place of the \1. For example, if `list_name` is "f\1accel", the pattern will match "faccel",
-- "f1accel", "f2accel", etc. Any \1 in `name` is removed before storing into `patterns`.
local function save_pattern(name, list_name, patterns)
name = type(name) == "string" and gsub(name, "\1", "") or name
if find(list_name, "\1", nil, true) then
patterns["^" .. gsub(pattern_escape(list_name), "\1", "([1-9]%%d*)") .. "$"] = name
else
patterns["^" .. pattern_escape(list_name) .. "([1-9]%d*)$"] = name
list_name = list_name .. "\1"
end
validate_name(list_name, "the list field of parameter ", name)
return patterns
end
-- A helper function for use with `sublist`. It is an iterator function for use in a for-loop that returns split
-- elements of `val` using `sublist` (a Lua split pattern; boolean `true` to split on commas optionally surrounded by
-- whitespace; "comma without whitespace" to split only on commas not followed by whitespace which have not been escaped
-- by a backslash; or a function to do the splitting, which is passed two values, the value to split and a function to
-- signal an error, and should return a list of the split elements). `name` is the parameter name or error-signaling
-- function passed into convert_val().
local function split_sublist(val, name, sublist)
if sublist == true then
return gsplit(val, "%s*,%s*")
-- Split an argument on comma, but not comma followed by whitespace.
elseif sublist == "comma without whitespace" then
-- If difficult cases, use split_on_comma.
if find(val, "\\", nil, true) or match(val, ",%s") then
return iterate_list(split_on_comma(val))
end
-- Otherwise, use gsplit.
return gsplit(val, ",")
elseif type(sublist) == "string" then
return gsplit(val, sublist)
elseif not is_callable(sublist) then
error(format('Internal error: expected `sublist` to be of type "string" or "function" or boolean `true`, but saw %s', dump(sublist)))
end
return iterate_list(sublist(val, make_parse_err(val, name)))
end
-- For parameter named `name` with value `val` and param spec `param`, if the `set` field is specified, verify that the
-- value is one of the one specified in `set`, and throw an error otherwise. `name` is taken directly from the
-- corresponding parameter passed into convert_val() and may be a function to signal an error. Optional `param_type` is
-- a string specifying the conversion type of `val` and is used for special-casing: If `param_type` is "boolean", an
-- internal error is thrown (since `set` cannot be used in conjunction with booleans) and if `param_type` is "number",
-- no checking happens because in this case `set` contains numbers and is checked inside the number conversion function
-- itself, after converting `val` to a number. Return the canonical value of `val` (which may be different from `val`
-- if an alias map is given).
local function check_set(val, name, param, param_type)
if param_type == "boolean" then
error(format('Internal error: cannot use `set` with `type = "%s"`', param_type))
-- Needs to be special cased because the check happens after conversion to numbers.
elseif param_type == "number" then
return val
end
local set, map = param.set
if sets == nil then
map = finalize_set(set, name)
sets = {[set] = map}
else
map = sets[set]
if map == nil then
map = finalize_set(set, name)
sets[set] = map
end
end
local newval = map[val]
if newval == true then
return val
elseif newval ~= nil then
return newval
end
local list = {}
for k, v in sorted_pairs(map) do
if v == true then
insert(list, dump(k))
else
insert(list, ("%s (alias of %s)"):format(dump(k), dump(v)))
end
end
-- If the parameter is not required then put "or empty" at the end of the list, to avoid implying the parameter is actually required.
if not param.required then
insert(list, "empty")
end
convert_val_error(val, name, list)
end
local function convert_language(val, name, param, allow_etym)
local method, func = param.method
if method == nil or method == "code" then
func, method = get_language_by_code, "code"
elseif method == "name" then
func, method = get_language_by_name, "name"
else
error(format('Internal error: expected `method` for type `language` to be "code", "name" or undefined, but saw %s', dump(method)))
end
local lang = func(val, nil, allow_etym, param.family)
if lang then
return lang
end
local list, links = {"language"}, {"[[WT:LOL]]"}
if allow_etym then
insert(list, "etymology language")
insert(links, "[[WT:LOL/E]]")
end
if param.family then
insert(list, "family")
insert(links, "[[WT:LOF]]")
end
convert_val_error(val, name, concat_list(list, " or ") .. " " .. (method == "name" and "name" or "code"), concat_list(links, " and "))
end
local function convert_number(val, allow_hex)
-- Call tonumber_extended with the `real_finite` flag, which filters out ±infinity and NaN.
-- By default, specify base 10, which prevents 0x hex inputs from being converted.
-- If `allow_hex` is set, then don't give a base, which means 0x hex inputs will work.
local num = tonumber_extended(val, not allow_hex and 10 or nil, "finite_real")
if not num then
return num
end
if match(val, "[eEpP.]") then -- float
track("number not an integer")
end
if find(val, "+", nil, true) then
track("number with +")
end
-- Track various unusual number inputs to determine if it should be restricted to positive integers by default (possibly including 0).
if not is_positive_integer(num) then
track("number not a positive integer")
if num == 0 then
track("number is 0")
elseif not is_integer(num) then
track("number not an integer")
end
end
return num
end
-- TODO: validate parameter specs separately, as it's making the handler code really messy at the moment.
local type_handlers = setmetatable({
["boolean"] = function(val)
return yesno(val, true)
end,
["family"] = function(val, name, param)
local method, func = param.method
if method == nil or method == "code" then
func, method = get_family_by_code, "code"
elseif method == "name" then
func, method = get_family_by_name, "name"
else
error(format('Internal error: expected `method` for type `family` to be "code", "name" or undefined, but saw %s', dump(method)))
end
return func(val) or convert_val_error(val, name, "family " .. method, "[[WT:LOF]]")
end,
["labels"] = function(val, name, param)
-- FIXME: Should be able to pass in a parse_err function.
return split_labels_on_comma(val)
end,
["language"] = function(val, name, param)
return convert_language(val, name, param, true)
end,
["full language"] = convert_language,
["number"] = function(val, name, param)
local allow_hex = param.allow_hex
if allow_hex and allow_hex ~= true then
error(format(
'Internal error: expected `allow_hex` for type `number` to be of type "boolean" or undefined, but saw %s',
dump(allow_hex)
))
end
local num = convert_number(val, allow_hex)
if param.set then
-- Don't pass in "number" here; otherwise no checking will happen.
num = check_set(num, name, param)
end
if num then
return num
end
convert_val_error(val, name, (allow_hex and "decimal or hexadecimal " or "") .. "number")
end,
["range"] = function(val, name, param)
local allow_hex = param.allow_hex
if allow_hex and allow_hex ~= true then
error(format(
'Internal error: expected `allow_hex` for type `range` to be of type "boolean" or undefined, but saw %s',
dump(allow_hex)
))
end
-- Pattern ensures leading minus signs are accounted for.
local m1, m2 = match(val, "^(%s*%S.-)%-(%s*%S.*)")
if m1 then
m1 = convert_number(m1, allow_hex)
if m1 then
m2 = convert_number(m2, allow_hex)
if m2 then
return {m1, m2}
end
end
end
-- Try `val` if it couldn't be split into a range, and return a range of `val` to `val` if possible.
local num = convert_number(val, allow_hex)
if num then
return {num, num}
end
convert_val_error(val, name, (allow_hex and "decimal or hexadecimal " or "") .. "number or a hyphen-separated range of two numbers")
end,
["parameter"] = function(val, name, param)
-- Use the `no_trim` option, as any trimming will have already been done.
return scribunto_parameter_key(val, true)
end,
["qualifier"] = function(val, name, param)
return {val}
end,
["references"] = function(val, name, param)
return parse_references(val, make_parse_err(val, name))
end,
["genders"] = function(val, name, param)
if not val:find("[,<]") then
return {{spec = val}}
end
-- NOTE: We don't pass in allow_space_around_comma. Consistent with other comma-separated types, there shouldn't
-- be spaces around the comma.
return parse_gender_and_number_spec {
spec = val,
parse_err = make_parse_err(val, name),
allow_multiple = true,
}
end,
["script"] = function(val, name, param)
local method, func = param.method
if method == nil or method == "code" then
func, method = get_script_by_code, "code"
elseif method == "name" then
func, method = get_script_by_name, "name"
else
error(format('Internal error: expected `method` for type `script` to be "code", "name" or undefined, but saw %s', dump(method)))
end
return func(val) or convert_val_error(val, name, "script " .. method, "[[WT:LOS]]")
end,
["string"] = function(val, name, param) -- To be removed as unnecessary.
track("string")
return val
end,
-- TODO: add support for resolving to unsupported titles.
-- TODO: split this into "page name" (i.e. internal) and "link target" (i.e. external as well), which is more intuitive.
["title"] = function(val, name, param)
local namespace = param.namespace
if namespace == nil then
namespace = 0
else
local valid_type = type(namespace) ~= "number" and 'of type "number" or undefined' or
not namespaces[namespace] and "a valid namespace number" or
nil
if valid_type then
error(format('Internal error: expected `namespace` for type `title` to be %s, but saw %s', valid_type, dump(namespace)))
end
end
-- Decode entities. WARNING: mw.title.makeTitle must be called with `decoded` (as it doesn't decode) and mw.title.new must be called with `val` (as it does decode, so double-decoding needs to be avoided).
local decoded, prefix, title = decode_entities(val), param.prefix
-- If the input is a fragment, treat the title as the current title with the input fragment.
if sub(decoded, 1, 1) == "#" then
-- If prefix is "force", only get the current title if it's in the specified namespace. current_title includes the namespace prefix.
if current_namespace == nil then
local current_title = mw_title.getCurrentTitle()
current_title_text, current_namespace = current_title.prefixedText, current_title.namespace
end
if not (prefix == "force" and namespace ~= current_namespace) then
title = new_title(current_title_text .. val)
end
elseif prefix == "force" then
-- Unconditionally add the namespace prefix (mw.title.makeTitle).
title = make_title(namespace, decoded)
elseif prefix == "full override" then
-- The first input prefix will be used as an override (mw.title.new). This can be a namespace or interwiki prefix.
title = new_title(val, namespace)
elseif prefix == nil or prefix == "namespace override" then
-- Only allow namespace prefixes to override. Interwiki prefixes therefore need to be treated as plaintext (e.g. "el:All topics" with namespace 14 returns "el:Category:All topics", but we want "Category:el:All topics" instead; if the former is really needed, then the input ":el:Category:All topics" will work, as the initial colon overrides the namespace). mw.title.new can take namespace names as well as numbers in the second argument, and will throw an error if the input isn't a valid namespace, so this can be used to determine if a prefix is for a namespace, since mw.title.new will return successfully only if there's either no prefix or the prefix is for a valid namespace (in which case we want the override).
local success
success, title = pcall(new_title, val, match(decoded, "^.-%f[:]") or namespace)
-- Otherwise, get the title with mw.title.makeTitle, which unconditionally adds the namespace prefix, but behaves like mw.title.new if the namespace is 0.
if not success then
title = make_title(namespace, decoded)
end
else
error(format('Internal error: expected `prefix` for type `title` to be "force", "full override", "namespace override" or undefined, but saw %s', dump(prefix)))
end
local allow_external = param.allow_external
if allow_external == true then
return title or convert_val_error(val, name, "Wiktionary or external page title")
elseif not allow_external then
return title and is_internal_title(title) and title or convert_val_error(val, name, "Wiktionary page title")
end
error(format('Internal error: expected `allow_external` for type `title` to be of type "boolean" or undefined, but saw %s', dump(allow_external)))
end,
["Wikimedia language"] = function(val, name, param)
local fallback = param.fallback
if fallback == true then
return get_wm_lang_by_code_with_fallback(val) or convert_val_error(val, name, "Wikimedia language or language code")
elseif not fallback then
return get_wm_lang_by_code(val) or convert_val_error(val, name, "Wikimedia language code")
end
error(format('Internal error: expected `fallback` for type `Wikimedia language` to be of type "boolean" or undefined, but saw %s', dump(fallback)))
end,
}, {
-- TODO: decode HTML entities in all input values. Non-trivial to implement, because we need to avoid any downstream functions decoding the output from this module, which would be double-decoding. Note that "title" has this implemented already, and it needs to have both the raw input and the decoded input to avoid double-decoding by me.title.new, so any implementation can't be as simple as decoding in __call then passing the result to the handler.
__call = function(self, val, name, param, param_type, default)
local val_type = type(val)
-- TODO: check this for all possible parameter types.
if val_type == param_type then
return val
elseif val_type ~= "string" then
local expected = "string"
if default and (param_type == "boolean" or param_type == "number") then
expected = param_type .. " or " .. expected
end
error(format(
"Internal error: %sargument %s has the type %s; expected a %s.",
default and (default .. " for ") or "", name, dump(val_type), expected
))
end
local func = self[param_type]
if func == nil then
error(format("Internal error: %s is not a recognized parameter type.", dump(param_type)))
end
return func(val, name, param)
end
})
--[==[ func: export.convert_val(val, name, param)
Convert a parameter value according to the associated specs listed in the `params` table passed to
[[Module:parameters]]. `val` is the value to convert for a parameter whose name is `name` (used only in error messages).
`param` is the spec (the value part of the `params` table for the parameter). In place of passing in the parameter name,
`name` can be a function that throws an error, displaying the specified message along with the parameter name and value.
This function processes all the conversion-related fields in `param`, including `type`, `set`, `sublist`, `convert`,
etc. It returns the converted value.
]==]
local function convert_val(val, name, param, default)
local param_type = param.type or "string"
-- If param.type is a function, resolve it to a recognized type.
if is_callable(param_type) then
param_type = param_type(val)
end
local convert, sublist = param.convert, param.sublist
-- `val` might not be a string if it's the default value.
if sublist and type(val) == "string" then
local retlist, set = {}, param.set
if convert then
local thisindex, thisval, insval, parse_err = 0
if is_callable(name) then
-- We assume the passed-in error function in `name` already shows the parameter name and raw value.
function parse_err(msg)
name(format("%s: item #%s=%s",
msg_with_processed(msg, thisval, insval), thisindex, thisval)
)
end
else
function parse_err(msg)
error(format("%s: item #%s=%s of parameter %s=%s",
msg_with_processed(msg, thisval, insval), thisindex, thisval, name, val)
)
end
end
for v in split_sublist(val, name, sublist) do
thisindex, thisval = thisindex + 1, v
if set then
v = check_set(v, name, param, param_type)
end
insert(retlist, convert(type_handlers(v, name, param, param_type, default), parse_err))
end
else
for v in split_sublist(val, name, sublist) do
if set then
v = check_set(v, name, param, param_type)
end
insert(retlist, type_handlers(v, name, param, param_type, default))
end
end
return retlist
elseif param.set then
val = check_set(val, name, param, param_type)
end
local retval = type_handlers(val, name, param, param_type, default)
if convert then
local parse_err
if is_callable(name) then
-- We assume the passed-in error function in `name` already shows the parameter name and raw value.
if retval == val then
-- This is an optimization to avoid creating a closure. The second arm works correctly even
-- when retval == val.
parse_err = name
else
function parse_err(msg)
name(msg_with_processed(msg, val, retval))
end
end
else
function parse_err(msg)
error(format("%s: parameter %s=%s", msg_with_processed(msg, val, retval), name, val))
end
end
retval = convert(retval, parse_err)
end
-- If `sublist` is set but the input wasn't a string, return `retval` as a one-item list.
if sublist then
retval = {retval}
end
return retval
end
export.convert_val = convert_val -- used by [[Module:parameter utilities]]
local function unknown_param(name, val, args_unknown)
track("unknown parameters")
args_unknown[name] = val
return args_unknown
end
local function check_string_param_modifier(param_type, name, tag)
if param_type and not (param_type == "string" or param_type == "parameter" or is_callable(param_type)) then
internal_process_error(
"%s cannot be set unless %s is set to %s (the default), %s or a function: parameter %s has the type %s.",
tag, "type", "string", "parameter", name, param_type
)
end
end
local function hole_error(params, name, listname, this, nxt, extra)
-- `process_error` calls `dump` on values to be inserted into
-- error messages, but with numeric lists this causes "numeric"
-- to look like the name of the list rather than a description,
-- as `dump` adds quote marks. Insert it early to avoid this,
-- but add another %s specifier in all other cases, so that
-- actual list names will be displayed properly.
local offset, specifier, starting_from = 0, "%s", ""
local msg = "Item %%d in the list of %s parameters must be given if item %%d is given, because %sthere shouldn't be any gaps due to missing%s parameters."
local specs = {}
if type(listname) == "string" then
specs[2] = listname
elseif type(name) == "number" then
offset = name - 1 -- To get the original parameter.
specifier = "numeric"
-- If the list doesn't start at parameter 1, avoid implying
-- there can't be any gaps in the numeric parameters if
-- some parameter with a lower key is optional.
for j = name - 1, 1, -1 do
local _param = params[j]
if not (_param and _param.required) then
starting_from = format("(starting from parameter %d) ", dump(j + 1))
break
end
end
else
specs[2] = name
end
specs[1] = this + offset -- Absolute index for this item.
insert(specs, nxt + offset) -- Absolute index for the next item.
process_error(format(msg, specifier, starting_from, extra or ""), unpack(specs))
end
local function check_disallow_holes(params, val, name, listname, extra)
for i = 1, val.maxindex do
if val[i] == nil then
hole_error(params, name, listname, i, num_keys(val)[i], extra)
end
end
end
local function handle_holes(params, val, name)
local param = params[name]
local disallow_holes = param.disallow_holes
-- Iterate up the list, and throw an error if a hole is found.
if disallow_holes then
check_disallow_holes(params, val, name, param.list, " or empty")
end
-- Iterate up the list, and throw an error if a hole is found due to a
-- missing parameter, treating empty parameters as part of the list. This
-- applies beyond maxindex if blank arguments are supplied beyond it, so
-- isn't mutually exclusive with `disallow_holes`.
local empty = val.empty
if param.disallow_missing then
if empty then
-- Remove `empty` from `val`, so it doesn't get returned.
val.empty = nil
for i = 1, max(val.maxindex, empty.maxindex) do
if val[i] == nil and not empty[i] then
local keys = extend(num_keys(val), num_keys(empty))
sort(keys)
hole_error(params, name, param.list, i, keys[i])
end
end
-- If there's no table of empty parameters, the check is identical to
-- `disallow_holes`, except that the error message only refers to
-- missing parameters, not missing or empty ones. If `disallow_holes` is
-- also set, there's no point checking again.
elseif not disallow_holes then
check_disallow_holes(params, val, name, param.list)
end
end
-- If `allow_holes` is set, there's nothing left to do.
if param.allow_holes then
-- do nothing
-- Otherwise, remove any holes: `pairs` won't work, as it's unsorted, and
-- iterating from 1 to `maxindex` times out with inputs like |100000000000=,
-- so use num_keys to get a list of numerical keys sorted from lowest to
-- highest, then iterate up the list, moving each value in `val` to the
-- lowest unused positive integer key. This also avoids the need to create a
-- new table. If `disallow_holes` is specified, then there can't be any
-- holes in the list, so there's no reason to check again; this doesn't
-- apply to `disallow_missing`, however.
else
if not disallow_holes then
local keys, i = num_keys(val), 0
while true do
i = i + 1
local key = keys[i]
if key == nil then
break
elseif i ~= key then
track("holes compressed")
val[i], val[key] = val[key], nil
end
end
end
-- Some code depends on only numeric params being present when no holes are
-- allowed (e.g. by checking for the presence of arguments using next()), so
-- remove `maxindex`.
val.maxindex = nil
end
end
local function maybe_flatten(params, val, name)
local param = params[name]
if param.flatten then
if param.allow_holes then
process_error("For parameter %s, can't set both `allow_holes` and `flatten`", name)
end
if not param.sublist and param.type ~= "genders" and param.type ~= "labels" and
param.type ~= "references" and param.type ~= "qualifier" then
process_error("For parameter %s, can only set `flatten` along with `sublist` or a list-generating type", name)
end
-- Do the flattening ourselves rather than calling flatten() in [[Module:table]], which will attempt to
-- flatten non-list objects like title objects, and cause an error in the process.
-- FIXME: We should do this in-place if possible.
local newlist = {}
for _, sublist in ipairs(val) do
for _, item in ipairs(sublist) do
insert(newlist, item)
end
end
val = newlist
end
return val
end
-- If both `template_default` and `default` are given, `template_default` takes precedence, but only on the template or
-- module page. This means a different default can be specified for the template or module page example. However,
-- `template_default` doesn't apply if any args are set, which helps (somewhat) with examples on documentation pages
-- transcluded into the template page. HACK: We still run into problems on documentation pages transcluded into the
-- template page when pagename= is set. Check this on the assumption that pagename= is fairly standard.
local function convert_default_val(name, param, pagename_set, any_args_set, add_empty_sublist)
if not pagename_set then
local val = param.template_default
if val ~= nil and not any_args_set and is_own_page() then
return convert_val(val, name, param, "template default")
end
end
local val = param.default
if val ~= nil then
return convert_val(val, name, param, "default")
-- Sublist parameters should return an empty table if not given, but only do
-- this if the parameter isn't also a list (in which case it will already
-- be an empty table).
-- FIXME: do this once all modules that pass in a sublist parameter treat an empty sublist identically to a nil argument; some currently do things based on the fact an argument exists at all.
-- elseif add_empty_sublist and param.sublist then
--return {}
end
end
--[==[
Process arguments with a given list of parameters. Return a table containing the processed arguments. The `args`
parameter specifies the arguments to be processed; they are the arguments you might retrieve from
{frame:getParent().args} (the template arguments) or in some cases {frame.args} (the invocation arguments). The `params`
parameter specifies a list of valid parameters, and consists of a table. If an argument is encountered that is not in
the parameter table, an error is thrown.
The structure of the `params` table is as described above in the intro comment.
'''WARNING:''' The `params` table is destructively modified to save memory. Nonetheless, different keys can share the
same value objects in memory without causing problems.
The `return_unknown` parameter, if set to {true}, prevents the function from triggering an error when it comes across an
argument with a name that it doesn't recognise. Instead, the return value is a pair of values: the first is the
processed arguments as usual, while the second contains all the unrecognised arguments that were left unprocessed. This
allows you to do multi-stage processing, where the entire set of arguments that a template should accept is not known at
once. For example, an inflection-table might do some generic processing on some arguments, but then defer processing of
the remainder to the function that handles a specific inflectional type.
]==]
function export.process(args, params, return_unknown)
-- Process parameters for specific properties
local args_new, args_unknown, any_args_set, required, patterns, list_args, index_list, args_placeholders, placeholders_n = {}
-- TODO: memoize the processing of each unique `param` value, since it's common for the same value to be used for many parameter names.
for name, param in pairs(params) do
validate_name(name, "parameter names")
if param ~= true then
local spec_type = type(param)
if type(param) ~= "table" then
internal_process_error(
"spec for parameter %s must be a table of specs or the value true, but found %s.",
name, spec_type ~= "boolean" and spec_type or param
)
end
-- Populate required table, and make sure aliases aren't set to required.
if param.required then
if required == nil then
required = {}
end
required[name] = true
end
local listname, alias_of = param.list, param.alias_of
if alias_of then
validate_name(alias_of, "the alias_of field of parameter ", name)
if alias_of == name then
internal_process_error(
"parameter %s cannot be an alias of itself.",
name
)
end
local main_param = params[alias_of]
-- Check that the alias_of is set to a valid parameter.
if not (main_param == true or type(main_param) == "table") then
internal_process_error(
"parameter %s is an alias of an invalid parameter.",
name
)
end
validate_alias_options(param, name, main_param, alias_of)
-- Aliases can't be lists unless the canonical parameter is also a list.
if listname and (main_param == true or not main_param.list) then
internal_process_error(
"list parameter %s is set as an alias of %s, which is not a list parameter.", name, alias_of
)
-- Can't be an alias of an alias.
elseif main_param ~= true then
local main_alias_of = main_param.alias_of
if main_alias_of ~= nil then
internal_process_error(
"alias_of cannot be set to another alias: parameter %s is set as an alias of %s, which is in turn an alias of %s. Set alias_of for %s to %s.",
name, alias_of, main_alias_of, name, main_alias_of
)
end
end
end
if listname then
if not alias_of then
local key = name
if type(name) == "string" then
key = gsub(name, "\1", "")
end
local list_arg = {maxindex = 0}
args_new[key] = list_arg
if list_args == nil then
list_args = {}
end
list_args[key] = list_arg
end
local list_type = type(listname)
if list_type == "string" then
-- If the list property is a string, then it represents the name
-- to be used as the prefix for list items. This is for use with lists
-- where the first item is a numbered parameter and the
-- subsequent ones are named, such as 1, pl2, pl3.
patterns = save_pattern(name, listname, patterns or {})
elseif listname ~= true then
internal_process_error(
"list field for parameter %s must be a boolean, string or undefined, but saw a %s.",
name, list_type
)
elseif type(name) == "number" then
if index_list ~= nil then
internal_process_error(
"only one numeric parameter can be a list, unless the list property is a string."
)
end
-- If the name is a number, then all indexed parameters from
-- this number onwards go in the list.
index_list = name
else
patterns = save_pattern(name, name, patterns or {})
end
if find(name, "\1", nil, true) then
if args_placeholders then
placeholders_n = placeholders_n + 1
args_placeholders[placeholders_n] = name
else
args_placeholders, placeholders_n = {name}, 1
end
end
end
end
end
--Process required changes to `params`.
if args_placeholders then
for i = 1, placeholders_n do
local name = args_placeholders[i]
params[gsub(name, "\1", "")], params[name] = params[name], nil
end
end
-- Process the arguments
for name, val in pairs(args) do
any_args_set = true
validate_name(name, "argument names", nil, true)
-- Guaranteeing that all values are strings avoids issues with type coercion being inconsistent between functions.
local val_type = type(val)
if val_type ~= "string" then
internal_process_error(
"argument %s has the type %s; all arguments must be strings.",
name, val_type
)
end
local orig_name, raw_type, index, canonical = name, type(name)
if raw_type == "number" then
if index_list and name >= index_list then
index = name - index_list + 1
name = index_list
end
elseif patterns then
-- Does this argument name match a pattern?
for pattern, pname in next, patterns do
index = match(name, pattern)
-- It matches, so store the parameter name and the
-- numeric index extracted from the argument name.
if index then
index = tonumber(index)
name = pname
break
end
end
end
local param = params[name]
-- If the argument is not in the list of parameters, store it in a separate list.
if not param then
args_unknown = unknown_param(name, val, args_unknown or {})
elseif param == true then
canonical = orig_name
val = php_trim(val)
if val ~= "" then
-- If the parameter is duplicated, throw an error.
if args_new[name] ~= nil then
process_error(
"Parameter %s has been entered more than once. This is probably because a parameter alias has been used.",
canonical
)
end
args_new[name] = val
end
else
if param.deprecated then
track("deprecated parameter", name)
end
if param.require_index then
-- Disallow require_index for numeric parameter names, as this doesn't make sense.
if raw_type == "number" then
internal_process_error(
"cannot set require_index for numeric parameter %s.",
name
)
-- If a parameter without the trailing index was found, and
-- require_index is set on the param, treat it
-- as if it isn't recognized.
elseif not index then
args_unknown = unknown_param(name, val, args_unknown or {})
end
end
-- Check that separate_no_index is not being used with a numeric parameter.
if param.separate_no_index then
if raw_type == "number" then
internal_process_error(
"cannot set separate_no_index for numeric parameter %s.",
name
)
elseif type(param.alias_of) == "number" then
internal_process_error(
"cannot set separate_no_index for parameter %s, as it is an alias of numeric parameter %s.",
name, param.alias_of
)
end
end
-- If no index was found, use 1 as the default index.
-- This makes list parameters like g, g2, g3 put g at index 1.
-- If `separate_no_index` is set, then use 0 as the default instead.
if not index and param.list then
index = param.separate_no_index and 0 or 1
end
-- Normalize to the canonical parameter name. If it's a list, but the alias is not, then determine the index.
local raw_name = param.alias_of
if raw_name then
raw_type = type(raw_name)
if raw_type == "number" then
name = raw_name
local main_param = params[raw_name]
if main_param ~= true and main_param.list then
if not index then
index = param.separate_no_index and 0 or 1
end
canonical = raw_name + index - 1
else
canonical = raw_name
end
else
name = gsub(raw_name, "\1", "")
local main_param = params[name]
if not index and main_param ~= true and main_param.list then
index = param.separate_no_index and 0 or 1
end
if not index or index == 0 then
canonical = name
elseif name == raw_name then
canonical = name .. index
else
canonical = gsub(raw_name, "\1", index)
end
end
else
canonical = orig_name
end
-- Only recognize demo parameters if this is the current template or module's
-- page, or its documentation page.
if param.demo and not is_own_page("include_documentation") then
args_unknown = unknown_param(name, val, args_unknown or {})
end
-- Remove leading and trailing whitespace unless no_trim is true.
if param.no_trim then
check_string_param_modifier(param.type, name, "no_trim")
else
val = php_trim(val)
end
-- Empty string is equivalent to nil unless allow_empty is true.
if param.allow_empty then
check_string_param_modifier(param.type, name, "allow_empty")
elseif val == "" then
-- If `disallow_missing` is set, keep track of empty parameters
-- via the `empty` field in `arg`, which will be used by the
-- `disallow_missing` check. This will be deleted before
-- returning.
if index and param.disallow_missing then
local arg = args_new[name]
local empty = arg.empty
if empty == nil then
empty = {maxindex = 0}
arg.empty = empty
end
empty[index] = true
if index > empty.maxindex then
empty.maxindex = index
end
end
val = nil
end
-- Allow boolean false.
if val ~= nil then
-- Convert to proper type if necessary.
local main_param = params[raw_name]
if main_param ~= true then
val = convert_val(val, orig_name, main_param or param)
end
-- Mark it as no longer required, as it is present.
if required then
required[name] = nil
end
-- Store the argument value.
if index then
local arg = args_new[name]
-- If the parameter is duplicated, throw an error.
if arg[index] ~= nil then
process_error(
"Parameter %s has been entered more than once. This is probably because a list parameter has been entered without an index and with index 1 at the same time, or because a parameter alias has been used.",
canonical
)
end
arg[index] = val
-- Store the highest index we find.
local maxindex = arg.maxindex
if index > maxindex then
maxindex = index
end
if arg[0] ~= nil then
arg.default, arg[0] = arg[0], nil
if maxindex < 1 then
maxindex = 1
end
end
arg.maxindex = maxindex
if not params[name].list then
args_new[name] = val
-- Don't store index 0, as it's a proxy for the default.
elseif index > 0 then
arg[index] = val
end
else
-- If the parameter is duplicated, throw an error.
if args_new[name] ~= nil then
process_error(
"Parameter %s has been entered more than once. This is probably because a parameter alias has been used.",
canonical
)
end
if not raw_name then
args_new[name] = val
else
local main_param = params[raw_name]
if main_param ~= true and main_param.list then
local main_arg = args_new[raw_name]
main_arg[1] = val
-- Store the highest index we find.
if main_arg.maxindex < 1 then
main_arg.maxindex = 1
end
else
args_new[raw_name] = val
end
end
end
end
end
end
-- Remove holes in any list parameters if needed. This must be handled
-- straight after the previous loop, as any instances of `empty` need to be
-- converted to nil.
if list_args then
for name, val in next, list_args do
handle_holes(params, val, name)
end
end
-- If the current page is the template which invoked this Lua instance, then ignore the `require` flag, as it
-- means we're viewing the template directly. Required parameters sometimes have a `template_default` key set,
-- which gets used in such cases as a demo.
-- Note: this won't work on other pages in the Template: namespace (including the /documentation subpage),
-- or if the #invoke: is on a page in another namespace.
local pagename_set = args_new.pagename
-- Handle defaults.
for name, param in pairs(params) do
if param ~= true then
local arg_new = args_new[name]
if arg_new == nil then
args_new[name] = convert_default_val(name, param, pagename_set, any_args_set, true)
elseif param.list and arg_new[1] == nil then
local default_val = convert_default_val(name, param, pagename_set, any_args_set)
if default_val ~= nil then
arg_new[1] = default_val
if arg_new.maxindex == 0 then
arg_new.maxindex = 1
end
end
end
end
end
-- Flatten nested lists if called for. This must come after setting the default.
if list_args then
for name, val in next, list_args do
args_new[name] = maybe_flatten(params, val, name)
end
end
-- The required table should now be empty.
-- If any parameters remain, throw an error, unless we're on the current template or module's page.
if required and next(required) ~= nil and not is_own_page() then
params_list_error(required, "required")
-- Return the arguments table.
-- If there are any unknown parameters, throw an error, unless return_unknown is set, in which case return args_unknown as a second return value.
elseif return_unknown then
return args_new, args_unknown or {}
elseif args_unknown and next(args_unknown) ~= nil then
params_list_error(args_unknown, "not used by this template")
end
return args_new
end
return export
gmsz2tmgony3ha5oucchstnmi0bn8nm
틀:자원
10
425599
4388257
4053137
2025-07-07T11:00:06Z
CHK2605
33979
내용을 "<includeonly>{{#invoke:zh-glyph|main}}</includeonly><noinclude>{{설명문서}}</noinclude>"(으)로 바꿈
4388257
wikitext
text/x-wiki
<includeonly>{{#invoke:zh-glyph|main}}</includeonly><noinclude>{{설명문서}}</noinclude>
3bgnnbbzetq3q0pmx6o64y8jmlivc78
降りる
0
436067
4388193
3996716
2025-07-06T15:56:30Z
CHK2605
33979
4388193
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|yomi=k}}
=== 발음 ===
{{ja-pron|おりる|acc=2|acc_ref=DJR}}
=== 동사 ===
{{ja-verb|おりる|type=2|tr=자동사}}
# (탈것에서) [[내리다]]
#: {{ux|ja|バスを'''降りる'''|バス を '''おりる'''|버스에서 '''내리다'''}}
# (눈, 비 등이) [[내리다]]
#: {{ux|ja|露が'''降りる'''|つゆ が '''おりる'''|이슬이 '''내리다'''}}
#: {{ux|ja|霜が'''降りる'''|しも が '''おりる'''|서리가 '''내리다'''}}
==== 활용형 ====
{{ja-conj}}
edobie1p4jwpct0kr75y5wwu51jcng4
居る
0
436241
4388221
3997620
2025-07-07T03:57:41Z
CHK2605
33979
4388221
wikitext
text/x-wiki
== 일본어 ==
=== 어원 1 ===
{{ja-kanjitab|い|yomi=k}}
{{ja-see|いる}}
=== 어원 2 ===
{{ja-kanjitab|お|yomi=k}}
{{ja-see|おる}}
3sdyo19fdkj9yuwspuj3jk4n3qni0as
別れる
0
438257
4388233
4023298
2025-07-07T05:03:57Z
CHK2605
33979
4388233
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|わか|yomi=k}}
=== 어원 ===
* 고전 일본어 {{lang|ja|[[わかる]]}}
=== 발음 ===
{{ja-pron|わかれる|acc=3|acc_ref=DJR}}
=== 동사 ===
{{ja-verb|わかれる|type=2|tr=자동사}}
# [[떨어지다]], [[갈라지다]]
#: {{ux|ja|両%親と'''別れて'''暮らす|りょう%しん と '''わかれて''' くらす|부모님과 '''떨어져''' 살다}}
#: {{ux|ja|道が三つに'''分かれる'''|みち が みっつ に '''わかれる'''|길이 셋으로 '''갈라지다'''}}
# [[이별하다]], [[헤어지다]]
#: {{ux|ja|夫と'''別れる'''|おっと と '''わかれる'''|남편과 '''이혼하다'''}}
#: {{ux|ja|恋人と'''別れる'''|こいびと と '''わかれる'''|연인과 '''헤어지다'''}}
# [[사별하다]]
#: {{ux|ja|幼くして母と'''別れる'''|おさなく して はは と '''わかれる'''|어려서 어머니와 '''사별하다'''}}
==== 활용형 ====
{{ja-conj}}
da5u943sombchpavbimy644ujsux1i0
馬鹿げる
0
438262
4388229
4023363
2025-07-07T04:50:09Z
CHK2605
33979
4388229
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|ば|か|yomi=j|alt=馬鹿気る}}
=== 발음 ===
{{ja-pron|ばかげる|acc=3|acc_ref=DJR}}
=== 동사 ===
{{ja-verb|ばかげる|バカげる|type=2|tr=자동사}}
# [[어리석다|어리석어]] [[보이다]], [[시시하다|시시하게]] [[여겨지다]]
#: {{ux|ja|'''馬鹿げた'''話|'''ばかげた''' はなし|'''어리석은''' 이야기}}
#: {{ux|ja|そんなことに時%間を使うなんて、'''馬鹿げて'''いる|そんな こと に じ%かん を つかう なんて、'''ばかげて''' いる|그런 일에 시간을 쓰다니 '''어리석다'''}}
==== 활용형 ====
{{ja-conj}}
edupgc8jjpuvw3zu2hwoy62mf83exbc
모듈:headword/data
828
444396
4388241
4384975
2025-07-07T08:33:52Z
CHK2605
33979
4388241
Scribunto
text/plain
local headword_page_module = "Module:headword/page"
local list_to_set = require("Module:table").listToSet
local data = {}
------ 1. Lists which are converted into sets. ------
-- Zero-plurals (i.e. invariable plurals).
local irregular_plurals = list_to_set({
"cmavo",
"cmene",
"fu'ivla",
"gismu",
"Han tu",
"hanja",
"hanzi",
"jyutping",
"kana",
"kanji",
"lujvo",
"phrasebook",
"pinyin",
"rafsi",
}, function(_, item)
return item
end)
-- Irregular non-zero plurals AND any regular plurals where the singular ends in "s",
-- because the module assumes that inputs ending in "s" are plurals. The singular and
-- plural both need to be added, as the module will generate a default plural if
-- the input doesn't match a key in this table.
for sg, pl in next, {
mora = "morae"
} do
irregular_plurals[sg], irregular_plurals[pl] = pl, pl
end
data.irregular_plurals = irregular_plurals
data.lemmas = list_to_set{
"abbreviations",
"acronyms",
"adjectives",
"adnominals",
"adpositions",
"adverbs",
"affixes",
"ambipositions",
"articles",
"circumfixes",
"circumpositions",
"classifiers",
"cmavo",
"cmavo clusters",
"cmene",
"combining forms",
"conjunctions",
"counters",
"determiners",
"diacritical marks",
"digraphs",
"equative adjectives",
"fu'ivla",
"gismu",
"Han characters",
"Han tu",
"hanja",
"hanzi",
"ideophones",
"idioms",
"infixes",
"initialisms",
"iteration marks",
"interfixes",
"interjections",
"kana",
"kanji",
"letters",
"ligatures",
"logograms",
"lujvo",
"morae",
"morphemes",
"non-constituents",
"nouns",
"numbers",
"numeral symbols",
"numerals",
"particles",
"phrases",
"postpositions",
"postpositional phrases",
"predicatives",
"prefixes",
"prepositional phrases",
"prepositions",
"preverbs",
"pronominal adverbs",
"pronouns",
"proper nouns",
"proverbs",
"punctuation marks",
"relatives",
"roots","어근",
"stems",
"suffixes","접사",
"syllables",
"symbols",
"verbs",
}
data.nonlemmas = list_to_set{
"active participle forms",
"active participles",
"adjectival participles",
"adjective case forms",
"adjective forms",
"adjective feminine forms",
"adjective plural forms",
"adverb forms",
"adverbial participles",
"agent participles",
"article forms",
"circumfix forms",
"combined forms",
"comparative adjective forms",
"comparative adjectives",
"comparative adverb forms",
"comparative adverbs",
"conjunction forms",
"contractions",
"converbs",
"determiner comparative forms",
"determiner forms",
"determiner superlative forms",
"diminutive nouns",
"elative adjectives",
"equative adjective forms",
"equative adjectives",
"future participles",
"gerunds",
"infinitive forms",
"infinitives",
"interjection forms",
"jyutping",
"misspellings",
"negative participles",
"nominal participles",
"noun case forms",
"noun construct forms",
"noun dual forms",
"noun forms","명사 파생형",
"noun paucal forms",
"noun plural forms",
"noun possessive forms",
"noun singulative forms",
"numeral forms",
"participles",
"participle forms",
"particle forms",
"passive participles",
"past active participles",
"past adverbial participles",
"past participles",
"past participle forms",
"past passive participles",
"perfect active participles",
"perfect participles",
"perfect passive participles",
"pinyin",
"plurals",
"postposition forms",
"prefix forms",
"preposition contractions",
"preposition forms",
"prepositional pronouns",
"present active participles",
"present adverbial participles",
"present participles",
"present passive participles",
"preverb forms",
"pronoun forms",
"pronoun possessive forms",
"proper noun forms",
"proper noun plural forms",
"rafsi",
"romanizations",
"root forms",
"singulatives",
"suffix forms",
"superlative adjective forms",
"superlative adjectives",
"superlative adverb forms",
"superlative adverbs",
"verb forms",
"verbal nouns",
}
-- These langauges will not have links to separate parts of the headword.
data.no_multiword_links = list_to_set{
"zh",
}
-- These languages will not have "LANG multiword terms" categories added.
data.no_multiword_cat = list_to_set{
-------- Languages without spaces between words (sometimes spaces between phrases) --------
"blt", -- Tai Dam
"ja", -- Japanese
"khb", -- Lü
"km", -- Khmer
"lo", -- Lao
"mnw", -- Mon
"my", -- Burmese
"nan", -- Min Nan (some words in Latin script; hyphens between syllables)
"nan-hbl", -- Hokkien (some words in Latin script; hyphens between syllables)
"nod", -- Northern Thai
"ojp", -- Old Japanese
"shn", -- Shan
"sou", -- Southern Thai
"tdd", -- Tai Nüa
"th", -- Thai
"tts", -- Isan
"twh", -- Tai Dón
"txg", -- Tangut
"zh", -- Chinese (all varieties with Chinese characters)
"zkt", -- Khitan
-------- Languages with spaces between syllables --------
"ahk", -- Akha
"aou", -- A'ou
"atb", -- Zaiwa
"byk", -- Biao
"cdy", -- Chadong
--"duu", -- Drung; not sure
--"hmx-pro", -- Proto-Hmong-Mien
--"hnj", -- Green Hmong; not sure
"huq", -- Tsat
"ium", -- Iu Mien
--"lis", -- Lisu; not sure
"mtq", -- Muong
--"mww", -- White Hmong; not sure
"onb", -- Lingao
--"sit-gkh", -- Gokhy; not sure
--"swi", -- Sui; not sure
"tbq-lol-pro", -- Proto-Loloish
"tdh", -- Thulung
"ukk", -- Muak Sa-aak
"vi", -- Vietnamese
"yig", -- Wusa Nasu
"zng", -- Mang
-------- Languages with ~ with surrounding spaces used to separate variants --------
"mkh-ban-pro", -- Proto-Bahnaric
"sit-pro", -- Proto-Sino-Tibetan; listed above
-------- Other weirdnesses --------
"mul", -- Translingual; gestures, Morse code, etc.
"aot", -- Atong (India); bullet is a letter
-------- All sign languages --------
"ads",
"aed",
"aen",
"afg",
"ase",
"asf",
"asp",
"asq",
"asw",
"bfi",
"bfk",
"bog",
"bqn",
"bqy",
"bvl",
"bzs",
"cds",
"csc",
"csd",
"cse",
"csf",
"csg",
"csl",
"csn",
"csq",
"csr",
"doq",
"dse",
"dsl",
"ecs",
"esl",
"esn",
"eso",
"eth",
"fcs",
"fse",
"fsl",
"fss",
"gds",
"gse",
"gsg",
"gsm",
"gss",
"gus",
"hab",
"haf",
"hds",
"hks",
"hos",
"hps",
"hsh",
"hsl",
"icl",
"iks",
"ils",
"inl",
"ins",
"ise",
"isg",
"isr",
"jcs",
"jhs",
"jls",
"jos",
"jsl",
"jus",
"kgi",
"kvk",
"lbs",
"lls",
"lsl",
"lso",
"lsp",
"lst",
"lsy",
"lws",
"mdl",
"mfs",
"mre",
"msd",
"msr",
"mzc",
"mzg",
"mzy",
"nbs",
"ncs",
"nsi",
"nsl",
"nsp",
"nsr",
"nzs",
"okl",
"pgz",
"pks",
"prl",
"prz",
"psc",
"psd",
"psg",
"psl",
"pso",
"psp",
"psr",
"pys",
"rms",
"rsl",
"rsm",
"sdl",
"sfb",
"sfs",
"sgg",
"sgx",
"slf",
"sls",
"sqk",
"sqs",
"ssp",
"ssr",
"svk",
"swl",
"syy",
"tse",
"tsm",
"tsq",
"tss",
"tsy",
"tza",
"ugn",
"ugy",
"ukl",
"uks",
"vgt",
"vsi",
"vsl",
"vsv",
"xki",
"xml",
"xms",
"ygs",
"ysl",
"zib",
"zsl",
}
-- In these languages, the hyphen is not considered a word separator for the "multiword terms" category.
data.hyphen_not_multiword_sep = list_to_set{
"akk", -- Akkadian; hyphens between syllables
"akl", -- Aklanon; hyphens for mid-word glottal stops
"ber-pro", -- Proto-Berber; morphemes separated by hyphens
"ceb", -- Cebuano; hyphens for mid-word glottal stops
"cnk", -- Khumi Chin; hyphens used in single words
"cpi", -- Chinese Pidgin English; Chinese-derived words with hyphens between syllables
"de", -- too many false positives
"esx-esk-pro", -- hyphen used to separate morphemes
"fi", -- Finnish; hyphen used to separate components in compound words if the final and initial vowels match, respectively
"hil", -- Hiligaynon; hyphens for mid-word glottal stops
"hnn", -- Hanunoo; too many false positives
"ilo", -- Ilocano; hyphens for mid-word glottal stops
"kne", -- Kankanaey; hyphens for mid-word glottal stops
"lcp", -- Western Lawa; dash as syllable joiner
"lwl", -- Eastern Lawa; dash as syllable joiner
"mfa", -- Pattani Malay in Thai script; dash as syllable joiner
"mkh-vie-pro", -- Proto-Vietic; morphemes separated by hyphens
"msb", -- Masbatenyo; too many false positives
"tl", -- Tagalog; too many false positives
"war", -- Waray-Waray; too many false positives
"yo", -- Yoruba; hyphens used to show lengthened nasal vowels
}
-- These languages will not have "LANG masculine nouns" and similar categories added.
data.no_gender_cat = list_to_set{
-- Languages without gender but which use the gender field for other purposes
"ja",
"th",
}
data.notranslit = list_to_set{
"ams",
"az",
"bbc",
"bug",
"cdo",
"cia",
"cjm",
"cjy",
"cmn",
"cnp",
"cpi",
"cpx",
"csp",
"czh",
"czo",
"gan",
"hak",
"hnm",
"hsn",
"ja",
"kzg",
"lad",
"ltc",
"luh",
"lzh",
"mnp",
"ms",
"mul",
"mvi",
"nan",
"nan-dat",
"nan-hbl",
"nan-hlh",
"nan-lnx",
"nan-tws",
"nan-zhe",
"nan-zsh",
"och",
"oj",
"okn",
"ryn",
"rys",
"ryu",
"sh",
"sjc",
"tgt",
"th",
"tkn",
"tly",
"txg",
"und",
"vi",
"wuu",
"xug",
"yoi",
"yox",
"yue",
"za",
"zh",
"zhx-sic",
"zhx-tai",
}
-- Script codes for which a script-tagged display title will be added.
data.toBeTagged = list_to_set{
"Ahom",
"Arab",
"fa-Arab",
"glk-Arab",
"kk-Arab",
"ks-Arab",
"ku-Arab",
"mzn-Arab",
"ms-Arab",
"ota-Arab",
"pa-Arab",
"ps-Arab",
"sd-Arab",
"tt-Arab",
"ug-Arab",
"ur-Arab",
"Armi",
"Armn",
"Avst",
"Bali",
"Bamu",
"Batk",
"Beng",
"as-Beng",
"Bopo",
"Brah",
"Brai",
"Bugi",
"Buhd",
"Cakm",
"Cans",
"Cari",
"Cham",
"Cher",
"Copt",
"Cprt",
"Cyrl",
"Cyrs",
"Deva",
"Dsrt",
"Egyd",
"Egyp",
"Ethi",
"Geok",
"Geor",
"Glag",
"Goth",
"Grek",
"Polyt",
"polytonic",
"Gujr",
"Guru",
"Hang",
"Hani",
"Hano",
"Hebr",
"Hira",
"Hluw",
"Ital",
"Java",
"Kali",
"Kana",
"Khar",
"Khmr",
"Knda",
"Kthi",
"Lana",
"Laoo",
"Latn",
"Latf",
"Latg",
"Latnx",
"Latinx",
"pjt-Latn",
"Lepc",
"Limb",
"Linb",
"Lisu",
"Lyci",
"Lydi",
"Mand",
"Mani",
"Marc",
"Merc",
"Mero",
"Mlym",
"Mong",
"mnc-Mong",
"sjo-Mong",
"xwo-Mong",
"Mtei",
"Mymr",
"Narb",
"Nkoo",
"Nshu",
"Ogam",
"Olck",
"Orkh",
"Orya",
"Osma",
"Ougr",
"Palm",
"Phag",
"Phli",
"Phlv",
"Phnx",
"Plrd",
"Prti",
"Rjng",
"Runr",
"Samr",
"Sarb",
"Saur",
"Sgnw",
"Shaw",
"Shrd",
"Sinh",
"Sora",
"Sund",
"Sylo",
"Syrc",
"Tagb",
"Tale",
"Talu",
"Taml",
"Tang",
"Tavt",
"Telu",
"Tfng",
"Tglg",
"Thaa",
"Thai",
"Tibt",
"Ugar",
"Vaii",
"Xpeo",
"Xsux",
"Yiii",
"Zmth",
"Zsym",
"Ipach",
"Music",
"Rumin",
}
-- Parts of speech which will not be categorised in categories like "English terms spelled with É" if
-- the term is the character in question (e.g. the letter entry for English [[é]]). This contrasts with
-- entries like the French adjective [[m̂]], which is a one-letter word spelled with the letter.
data.pos_not_spelled_with_self = list_to_set{
"diacritical marks",
"Han characters",
"Han tu",
"hanja",
"hanzi",
"iteration marks",
"kana",
"kanji",
"letters",
"ligatures",
"logograms",
"morae",
"numeral symbols",
"numerals",
"punctuation marks",
"syllables",
"symbols",
}
------ 2. Lists not converted into sets. ------
-- Recognized aliases for parts of speech (param 2=). Key is the short form and value is the canonical singular (not
-- pluralized) form. It is singular so that the same table can be used in [[Module:form of]] for the p=/POS= param
-- and [[Module:links]] for the pos= param.
data.pos_aliases = {
a = "adjective",
adj = "adjective",
adv = "adverb",
art = "article",
det = "determiner",
compadj = "comparative adjective",
compadv = "comparative adverb",
conj = "conjunction",
conv = "converb",
int = "interjection",
interj = "interjection",
intj = "interjection",
n = "noun",
-- the next two support Algonquian languages; see also vii/vai/vti/vta below
na = "animate noun",
ni = "inanimate noun",
num = "numeral",
part = "participle",
pcl = "particle",
phr = "phrase",
pn = "proper noun",
postp = "postposition",
pref = "prefix",
prep = "preposition",
pron = "pronoun",
prop = "proper noun",
proper = "proper noun",
propn = "proper noun",
rom = "romanization",
suf = "suffix",
supadj = "superlative adjective",
supadv = "superlative adverb",
v = "verb",
vb = "verb",
vi = "intransitive verb",
vt = "transitive verb",
-- the next four support Algonquian languages
vii = "inanimate intransitive verb",
vai = "animate intransitive verb",
vti = "transitive inanimate verb",
vta = "transitive animate verb",
}
-- Parts of speech for which categories like "German masculine nouns" or "Russian imperfective verbs"
-- will be generated if the headword is of the appropriate gender/number.
data.pos_for_gender_number_cat = {
["nouns"] = "명사",
["proper nouns"] = "고유 명사",
["suffixes"] = "접미사",
-- We include verbs because impf and pf are valid "genders".
["verbs"] = "동사",
}
------ 3. Page-wide processing (so that it only needs to be done once per page). ------
data.page = require(headword_page_module).process_page()
-- Fuckme, random references to data.pagename and data.encoded_pagename are scattered throughout the codebase. FIXME!
data.pagename = data.page.pagename
data.encoded_pagename = data.page.encoded_pagename
return data
pe7oag8otdfv4kt537z9wz0debdexgs
모듈:headword/page
828
445647
4388242
4385201
2025-07-07T08:36:46Z
CHK2605
33979
4388242
Scribunto
text/plain
local export = {}
local languages_module = "Module:languages"
local maintenance_category_module = "Module:maintenance category"
local string_compare_module = "Module:string/compare"
local string_decode_entities_module = "Module:string/decodeEntities"
local string_remove_comments_module = "Module:string/removeComments"
local string_utilities_module = "Module:string utilities"
local table_module = "Module:table"
local template_parser_module = "Module:template parser"
local mw = mw
local string = string
local table = table
local ustring = mw.ustring
local concat = table.concat
local find = string.find
local format = string.format
local gsub = string.gsub
local insert = table.insert
local load_data = mw.loadData
local match = string.match
local new_title = mw.title.new
local pairs = pairs
local require = require
local sub = string.sub
local toNFC = ustring.toNFC
local toNFD = ustring.toNFD
local ugsub = ustring.gsub
local function class_else_type(...)
class_else_type = require(template_parser_module).class_else_type
return class_else_type(...)
end
local function decode_entities(...)
decode_entities = require(string_decode_entities_module)
return decode_entities(...)
end
local function encode_entities(...)
encode_entities = require(string_utilities_module).encode_entities
return encode_entities(...)
end
local function get_category(...)
get_category = require(maintenance_category_module).get_category
return get_category(...)
end
local function get_lang(...)
get_lang = require(languages_module).getByCode
return get_lang(...)
end
local function list_to_set(...)
list_to_set = require(table_module).listToSet
return list_to_set(...)
end
local function parse(...)
parse = require(template_parser_module).parse
return parse(...)
end
local function remove_comments(...)
remove_comments = require(string_remove_comments_module)
return remove_comments(...)
end
local function split(...)
split = require(string_utilities_module).split
return split(...)
end
local function string_compare(...)
string_compare = require(string_compare_module)
return string_compare(...)
end
local function uupper(...)
uupper = require(string_utilities_module).upper
return uupper(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local langnames
local function get_langnames()
langnames, get_langnames = load_data("Module:languages/canonical names"), nil
return langnames
end
-- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find
-- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character +
-- diacritic(s) + character).
-- Charsets are in the format used by Unicode's UnicodeSet tool: https://util.unicode.org/UnicodeJsps/list-unicodeset.jsp.
-- Single combining characters.
-- Charset: [[:M:]&[:^Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
-- Note: concatenating hundreds of lines at once gives an error, so () are used every 150 lines to break it up into chunks.
local comb_chars_single =
("\204\128-\205\142" .. -- U+0300-U+034E
"\205\144-\205\155" .. -- U+0350-U+035B
"\205\163-\205\175" .. -- U+0363-U+036F
"\210\131-\210\137" .. -- U+0483-U+0489
"\214\145-\214\189" .. -- U+0591-U+05BD
"\214\191" .. -- U+05BF
"\215\129" .. -- U+05C1
"\215\130" .. -- U+05C2
"\215\132" .. -- U+05C4
"\215\133" .. -- U+05C5
"\215\135" .. -- U+05C7
"\216\144-\216\154" .. -- U+0610-U+061A
"\217\139-\217\159" .. -- U+064B-U+065F
"\217\176" .. -- U+0670
"\219\150-\219\156" .. -- U+06D6-U+06DC
"\219\159-\219\164" .. -- U+06DF-U+06E4
"\219\167" .. -- U+06E7
"\219\168" .. -- U+06E8
"\219\170-\219\173" .. -- U+06EA-U+06ED
"\220\145" .. -- U+0711
"\220\176-\221\138" .. -- U+0730-U+074A
"\222\166-\222\176" .. -- U+07A6-U+07B0
"\223\171-\223\179" .. -- U+07EB-U+07F3
"\223\189" .. -- U+07FD
"\224\160\150-\224\160\153" .. -- U+0816-U+0819
"\224\160\155-\224\160\163" .. -- U+081B-U+0823
"\224\160\165-\224\160\167" .. -- U+0825-U+0827
"\224\160\169-\224\160\173" .. -- U+0829-U+082D
"\224\161\153-\224\161\155" .. -- U+0859-U+085B
"\224\162\151-\224\162\159" .. -- U+0897-U+089F
"\224\163\138-\224\163\161" .. -- U+08CA-U+08E1
"\224\163\163-\224\164\131" .. -- U+08E3-U+0903
"\224\164\186-\224\164\188" .. -- U+093A-U+093C
"\224\164\190-\224\165\143" .. -- U+093E-U+094F
"\224\165\145-\224\165\151" .. -- U+0951-U+0957
"\224\165\162" .. -- U+0962
"\224\165\163" .. -- U+0963
"\224\166\129-\224\166\131" .. -- U+0981-U+0983
"\224\166\188" .. -- U+09BC
"\224\166\190-\224\167\132" .. -- U+09BE-U+09C4
"\224\167\135" .. -- U+09C7
"\224\167\136" .. -- U+09C8
"\224\167\139-\224\167\141" .. -- U+09CB-U+09CD
"\224\167\151" .. -- U+09D7
"\224\167\162" .. -- U+09E2
"\224\167\163" .. -- U+09E3
"\224\167\190" .. -- U+09FE
"\224\168\129-\224\168\131" .. -- U+0A01-U+0A03
"\224\168\188" .. -- U+0A3C
"\224\168\190-\224\169\130" .. -- U+0A3E-U+0A42
"\224\169\135" .. -- U+0A47
"\224\169\136" .. -- U+0A48
"\224\169\139-\224\169\141" .. -- U+0A4B-U+0A4D
"\224\169\145" .. -- U+0A51
"\224\169\176" .. -- U+0A70
"\224\169\177" .. -- U+0A71
"\224\169\181" .. -- U+0A75
"\224\170\129-\224\170\131" .. -- U+0A81-U+0A83
"\224\170\188" .. -- U+0ABC
"\224\170\190-\224\171\133" .. -- U+0ABE-U+0AC5
"\224\171\135-\224\171\137" .. -- U+0AC7-U+0AC9
"\224\171\139-\224\171\141" .. -- U+0ACB-U+0ACD
"\224\171\162" .. -- U+0AE2
"\224\171\163" .. -- U+0AE3
"\224\171\186-\224\171\191" .. -- U+0AFA-U+0AFF
"\224\172\129-\224\172\131" .. -- U+0B01-U+0B03
"\224\172\188" .. -- U+0B3C
"\224\172\190-\224\173\132" .. -- U+0B3E-U+0B44
"\224\173\135" .. -- U+0B47
"\224\173\136" .. -- U+0B48
"\224\173\139-\224\173\141" .. -- U+0B4B-U+0B4D
"\224\173\149-\224\173\151" .. -- U+0B55-U+0B57
"\224\173\162" .. -- U+0B62
"\224\173\163" .. -- U+0B63
"\224\174\130" .. -- U+0B82
"\224\174\190-\224\175\130" .. -- U+0BBE-U+0BC2
"\224\175\134-\224\175\136" .. -- U+0BC6-U+0BC8
"\224\175\138-\224\175\141" .. -- U+0BCA-U+0BCD
"\224\175\151" .. -- U+0BD7
"\224\176\128-\224\176\132" .. -- U+0C00-U+0C04
"\224\176\188" .. -- U+0C3C
"\224\176\190-\224\177\132" .. -- U+0C3E-U+0C44
"\224\177\134-\224\177\136" .. -- U+0C46-U+0C48
"\224\177\138-\224\177\141" .. -- U+0C4A-U+0C4D
"\224\177\149" .. -- U+0C55
"\224\177\150" .. -- U+0C56
"\224\177\162" .. -- U+0C62
"\224\177\163" .. -- U+0C63
"\224\178\129-\224\178\131" .. -- U+0C81-U+0C83
"\224\178\188" .. -- U+0CBC
"\224\178\190-\224\179\132" .. -- U+0CBE-U+0CC4
"\224\179\134-\224\179\136" .. -- U+0CC6-U+0CC8
"\224\179\138-\224\179\141" .. -- U+0CCA-U+0CCD
"\224\179\149" .. -- U+0CD5
"\224\179\150" .. -- U+0CD6
"\224\179\162" .. -- U+0CE2
"\224\179\163" .. -- U+0CE3
"\224\179\179" .. -- U+0CF3
"\224\180\128-\224\180\131" .. -- U+0D00-U+0D03
"\224\180\187" .. -- U+0D3B
"\224\180\188" .. -- U+0D3C
"\224\180\190-\224\181\132" .. -- U+0D3E-U+0D44
"\224\181\134-\224\181\136" .. -- U+0D46-U+0D48
"\224\181\138-\224\181\141" .. -- U+0D4A-U+0D4D
"\224\181\151" .. -- U+0D57
"\224\181\162" .. -- U+0D62
"\224\181\163" .. -- U+0D63
"\224\182\129-\224\182\131" .. -- U+0D81-U+0D83
"\224\183\138" .. -- U+0DCA
"\224\183\143-\224\183\148" .. -- U+0DCF-U+0DD4
"\224\183\150" .. -- U+0DD6
"\224\183\152-\224\183\159" .. -- U+0DD8-U+0DDF
"\224\183\178" .. -- U+0DF2
"\224\183\179" .. -- U+0DF3
"\224\184\177" .. -- U+0E31
"\224\184\180-\224\184\186" .. -- U+0E34-U+0E3A
"\224\185\135-\224\185\142" .. -- U+0E47-U+0E4E
"\224\186\177" .. -- U+0EB1
"\224\186\180-\224\186\188" .. -- U+0EB4-U+0EBC
"\224\187\136-\224\187\142" .. -- U+0EC8-U+0ECE
"\224\188\152" .. -- U+0F18
"\224\188\153" .. -- U+0F19
"\224\188\181" .. -- U+0F35
"\224\188\183" .. -- U+0F37
"\224\188\185" .. -- U+0F39
"\224\188\190" .. -- U+0F3E
"\224\188\191" .. -- U+0F3F
"\224\189\177-\224\190\132" .. -- U+0F71-U+0F84
"\224\190\134" .. -- U+0F86
"\224\190\135" .. -- U+0F87
"\224\190\141-\224\190\151" .. -- U+0F8D-U+0F97
"\224\190\153-\224\190\188" .. -- U+0F99-U+0FBC
"\224\191\134" .. -- U+0FC6
"\225\128\171-\225\128\190" .. -- U+102B-U+103E
"\225\129\150-\225\129\153" .. -- U+1056-U+1059
"\225\129\158-\225\129\160" .. -- U+105E-U+1060
"\225\129\162-\225\129\164" .. -- U+1062-U+1064
"\225\129\167-\225\129\173" .. -- U+1067-U+106D
"\225\129\177-\225\129\180" .. -- U+1071-U+1074
"\225\130\130-\225\130\141" .. -- U+1082-U+108D
"\225\130\143" .. -- U+108F
"\225\130\154-\225\130\157" .. -- U+109A-U+109D
"\225\141\157-\225\141\159" .. -- U+135D-U+135F
"\225\156\146-\225\156\149" .. -- U+1712-U+1715
"\225\156\178-\225\156\180" .. -- U+1732-U+1734
"\225\157\146" .. -- U+1752
"\225\157\147" .. -- U+1753
"\225\157\178" .. -- U+1772
"\225\157\179" .. -- U+1773
"\225\158\180-\225\159\147") .. -- U+17B4-U+17D3
("\225\159\157" .. -- U+17DD
"\225\162\133" .. -- U+1885
"\225\162\134" .. -- U+1886
"\225\162\169" .. -- U+18A9
"\225\164\160-\225\164\171" .. -- U+1920-U+192B
"\225\164\176-\225\164\187" .. -- U+1930-U+193B
"\225\168\151-\225\168\155" .. -- U+1A17-U+1A1B
"\225\169\149-\225\169\158" .. -- U+1A55-U+1A5E
"\225\169\160-\225\169\188" .. -- U+1A60-U+1A7C
"\225\169\191" .. -- U+1A7F
"\225\170\176-\225\171\142" .. -- U+1AB0-U+1ACE
"\225\172\128-\225\172\132" .. -- U+1B00-U+1B04
"\225\172\180-\225\173\132" .. -- U+1B34-U+1B44
"\225\173\171-\225\173\179" .. -- U+1B6B-U+1B73
"\225\174\128-\225\174\130" .. -- U+1B80-U+1B82
"\225\174\161-\225\174\173" .. -- U+1BA1-U+1BAD
"\225\175\166-\225\175\179" .. -- U+1BE6-U+1BF3
"\225\176\164-\225\176\183" .. -- U+1C24-U+1C37
"\225\179\144-\225\179\146" .. -- U+1CD0-U+1CD2
"\225\179\148-\225\179\168" .. -- U+1CD4-U+1CE8
"\225\179\173" .. -- U+1CED
"\225\179\180" .. -- U+1CF4
"\225\179\183-\225\179\185" .. -- U+1CF7-U+1CF9
"\225\183\128-\225\183\140" .. -- U+1DC0-U+1DCC
"\225\183\142-\225\183\187" .. -- U+1DCE-U+1DFB
"\225\183\189-\225\183\191" .. -- U+1DFD-U+1DFF
"\226\131\144-\226\131\176" .. -- U+20D0-U+20F0
"\226\179\175-\226\179\177" .. -- U+2CEF-U+2CF1
"\226\181\191" .. -- U+2D7F
"\226\183\160-\226\183\191" .. -- U+2DE0-U+2DFF
"\227\128\170-\227\128\175" .. -- U+302A-U+302F
"\227\130\153" .. -- U+3099
"\227\130\154" .. -- U+309A
"\234\153\175-\234\153\178" .. -- U+A66F-U+A672
"\234\153\180-\234\153\189" .. -- U+A674-U+A67D
"\234\154\158" .. -- U+A69E
"\234\154\159" .. -- U+A69F
"\234\155\176" .. -- U+A6F0
"\234\155\177" .. -- U+A6F1
"\234\160\130" .. -- U+A802
"\234\160\134" .. -- U+A806
"\234\160\139" .. -- U+A80B
"\234\160\163-\234\160\167" .. -- U+A823-U+A827
"\234\160\172" .. -- U+A82C
"\234\162\128" .. -- U+A880
"\234\162\129" .. -- U+A881
"\234\162\180-\234\163\133" .. -- U+A8B4-U+A8C5
"\234\163\160-\234\163\177" .. -- U+A8E0-U+A8F1
"\234\163\191" .. -- U+A8FF
"\234\164\166-\234\164\173" .. -- U+A926-U+A92D
"\234\165\135-\234\165\147" .. -- U+A947-U+A953
"\234\166\128-\234\166\131" .. -- U+A980-U+A983
"\234\166\179-\234\167\128" .. -- U+A9B3-U+A9C0
"\234\167\165" .. -- U+A9E5
"\234\168\169-\234\168\182" .. -- U+AA29-U+AA36
"\234\169\131" .. -- U+AA43
"\234\169\140" .. -- U+AA4C
"\234\169\141" .. -- U+AA4D
"\234\169\187-\234\169\189" .. -- U+AA7B-U+AA7D
"\234\170\176" .. -- U+AAB0
"\234\170\178-\234\170\180" .. -- U+AAB2-U+AAB4
"\234\170\183" .. -- U+AAB7
"\234\170\184" .. -- U+AAB8
"\234\170\190" .. -- U+AABE
"\234\170\191" .. -- U+AABF
"\234\171\129" .. -- U+AAC1
"\234\171\171-\234\171\175" .. -- U+AAEB-U+AAEF
"\234\171\181" .. -- U+AAF5
"\234\171\182" .. -- U+AAF6
"\234\175\163-\234\175\170" .. -- U+ABE3-U+ABEA
"\234\175\172" .. -- U+ABEC
"\234\175\173" .. -- U+ABED
"\239\172\158" .. -- U+FB1E
"\239\184\160-\239\184\175" .. -- U+FE20-U+FE2F
"\240\144\135\189" .. -- U+101FD
"\240\144\139\160" .. -- U+102E0
"\240\144\141\182-\240\144\141\186" .. -- U+10376-U+1037A
"\240\144\168\129-\240\144\168\131" .. -- U+10A01-U+10A03
"\240\144\168\133" .. -- U+10A05
"\240\144\168\134" .. -- U+10A06
"\240\144\168\140-\240\144\168\143" .. -- U+10A0C-U+10A0F
"\240\144\168\184-\240\144\168\186" .. -- U+10A38-U+10A3A
"\240\144\168\191" .. -- U+10A3F
"\240\144\171\165" .. -- U+10AE5
"\240\144\171\166" .. -- U+10AE6
"\240\144\180\164-\240\144\180\167" .. -- U+10D24-U+10D27
"\240\144\181\169-\240\144\181\173" .. -- U+10D69-U+10D6D
"\240\144\186\171" .. -- U+10EAB
"\240\144\186\172" .. -- U+10EAC
"\240\144\187\188-\240\144\187\191" .. -- U+10EFC-U+10EFF
"\240\144\189\134-\240\144\189\144" .. -- U+10F46-U+10F50
"\240\144\190\130-\240\144\190\133" .. -- U+10F82-U+10F85
"\240\145\128\128-\240\145\128\130" .. -- U+11000-U+11002
"\240\145\128\184-\240\145\129\134" .. -- U+11038-U+11046
"\240\145\129\176" .. -- U+11070
"\240\145\129\179" .. -- U+11073
"\240\145\129\180" .. -- U+11074
"\240\145\129\191-\240\145\130\130" .. -- U+1107F-U+11082
"\240\145\130\176-\240\145\130\186" .. -- U+110B0-U+110BA
"\240\145\131\130" .. -- U+110C2
"\240\145\132\128-\240\145\132\130" .. -- U+11100-U+11102
"\240\145\132\167-\240\145\132\180" .. -- U+11127-U+11134
"\240\145\133\133" .. -- U+11145
"\240\145\133\134" .. -- U+11146
"\240\145\133\179" .. -- U+11173
"\240\145\134\128-\240\145\134\130" .. -- U+11180-U+11182
"\240\145\134\179-\240\145\135\128" .. -- U+111B3-U+111C0
"\240\145\135\137-\240\145\135\140" .. -- U+111C9-U+111CC
"\240\145\135\142" .. -- U+111CE
"\240\145\135\143" .. -- U+111CF
"\240\145\136\172-\240\145\136\183" .. -- U+1122C-U+11237
"\240\145\136\190" .. -- U+1123E
"\240\145\137\129" .. -- U+11241
"\240\145\139\159-\240\145\139\170" .. -- U+112DF-U+112EA
"\240\145\140\128-\240\145\140\131" .. -- U+11300-U+11303
"\240\145\140\187" .. -- U+1133B
"\240\145\140\188" .. -- U+1133C
"\240\145\140\190-\240\145\141\132" .. -- U+1133E-U+11344
"\240\145\141\135" .. -- U+11347
"\240\145\141\136" .. -- U+11348
"\240\145\141\139-\240\145\141\141" .. -- U+1134B-U+1134D
"\240\145\141\151" .. -- U+11357
"\240\145\141\162" .. -- U+11362
"\240\145\141\163" .. -- U+11363
"\240\145\141\166-\240\145\141\172" .. -- U+11366-U+1136C
"\240\145\141\176-\240\145\141\180" .. -- U+11370-U+11374
"\240\145\142\184-\240\145\143\128" .. -- U+113B8-U+113C0
"\240\145\143\130" .. -- U+113C2
"\240\145\143\133" .. -- U+113C5
"\240\145\143\135-\240\145\143\138" .. -- U+113C7-U+113CA
"\240\145\143\140-\240\145\143\144" .. -- U+113CC-U+113D0
"\240\145\143\146" .. -- U+113D2
"\240\145\143\161" .. -- U+113E1
"\240\145\143\162" .. -- U+113E2
"\240\145\144\181-\240\145\145\134" .. -- U+11435-U+11446
"\240\145\145\158" .. -- U+1145E
"\240\145\146\176-\240\145\147\131" .. -- U+114B0-U+114C3
"\240\145\150\175-\240\145\150\181" .. -- U+115AF-U+115B5
"\240\145\150\184-\240\145\151\128" .. -- U+115B8-U+115C0
"\240\145\151\156" .. -- U+115DC
"\240\145\151\157" .. -- U+115DD
"\240\145\152\176-\240\145\153\128" .. -- U+11630-U+11640
"\240\145\154\171-\240\145\154\183" .. -- U+116AB-U+116B7
"\240\145\156\157-\240\145\156\171" .. -- U+1171D-U+1172B
"\240\145\160\172-\240\145\160\186" .. -- U+1182C-U+1183A
"\240\145\164\176-\240\145\164\181" .. -- U+11930-U+11935
"\240\145\164\183" .. -- U+11937
"\240\145\164\184" .. -- U+11938
"\240\145\164\187-\240\145\164\190" .. -- U+1193B-U+1193E
"\240\145\165\128") .. -- U+11940
("\240\145\165\130" .. -- U+11942
"\240\145\165\131" .. -- U+11943
"\240\145\167\145-\240\145\167\151" .. -- U+119D1-U+119D7
"\240\145\167\154-\240\145\167\160" .. -- U+119DA-U+119E0
"\240\145\167\164" .. -- U+119E4
"\240\145\168\129-\240\145\168\138" .. -- U+11A01-U+11A0A
"\240\145\168\179-\240\145\168\185" .. -- U+11A33-U+11A39
"\240\145\168\187-\240\145\168\190" .. -- U+11A3B-U+11A3E
"\240\145\169\135" .. -- U+11A47
"\240\145\169\145-\240\145\169\155" .. -- U+11A51-U+11A5B
"\240\145\170\138-\240\145\170\153" .. -- U+11A8A-U+11A99
"\240\145\176\175-\240\145\176\182" .. -- U+11C2F-U+11C36
"\240\145\176\184-\240\145\176\191" .. -- U+11C38-U+11C3F
"\240\145\178\146-\240\145\178\167" .. -- U+11C92-U+11CA7
"\240\145\178\169-\240\145\178\182" .. -- U+11CA9-U+11CB6
"\240\145\180\177-\240\145\180\182" .. -- U+11D31-U+11D36
"\240\145\180\186" .. -- U+11D3A
"\240\145\180\188" .. -- U+11D3C
"\240\145\180\189" .. -- U+11D3D
"\240\145\180\191-\240\145\181\133" .. -- U+11D3F-U+11D45
"\240\145\181\135" .. -- U+11D47
"\240\145\182\138-\240\145\182\142" .. -- U+11D8A-U+11D8E
"\240\145\182\144" .. -- U+11D90
"\240\145\182\145" .. -- U+11D91
"\240\145\182\147-\240\145\182\151" .. -- U+11D93-U+11D97
"\240\145\187\179-\240\145\187\182" .. -- U+11EF3-U+11EF6
"\240\145\188\128" .. -- U+11F00
"\240\145\188\129" .. -- U+11F01
"\240\145\188\131" .. -- U+11F03
"\240\145\188\180-\240\145\188\186" .. -- U+11F34-U+11F3A
"\240\145\188\190-\240\145\189\130" .. -- U+11F3E-U+11F42
"\240\145\189\154" .. -- U+11F5A
"\240\147\145\128" .. -- U+13440
"\240\147\145\135-\240\147\145\149" .. -- U+13447-U+13455
"\240\150\132\158-\240\150\132\175" .. -- U+1611E-U+1612F
"\240\150\171\176-\240\150\171\180" .. -- U+16AF0-U+16AF4
"\240\150\172\176-\240\150\172\182" .. -- U+16B30-U+16B36
"\240\150\189\143" .. -- U+16F4F
"\240\150\189\145-\240\150\190\135" .. -- U+16F51-U+16F87
"\240\150\190\143-\240\150\190\146" .. -- U+16F8F-U+16F92
"\240\150\191\164" .. -- U+16FE4
"\240\150\191\176" .. -- U+16FF0
"\240\150\191\177" .. -- U+16FF1
"\240\155\178\157" .. -- U+1BC9D
"\240\155\178\158" .. -- U+1BC9E
"\240\156\188\128-\240\156\188\173" .. -- U+1CF00-U+1CF2D
"\240\156\188\176-\240\156\189\134" .. -- U+1CF30-U+1CF46
"\240\157\133\165-\240\157\133\169" .. -- U+1D165-U+1D169
"\240\157\133\173-\240\157\133\178" .. -- U+1D16D-U+1D172
"\240\157\133\187-\240\157\134\130" .. -- U+1D17B-U+1D182
"\240\157\134\133-\240\157\134\139" .. -- U+1D185-U+1D18B
"\240\157\134\170-\240\157\134\173" .. -- U+1D1AA-U+1D1AD
"\240\157\137\130-\240\157\137\132" .. -- U+1D242-U+1D244
"\240\157\168\128-\240\157\168\182" .. -- U+1DA00-U+1DA36
"\240\157\168\187-\240\157\169\172" .. -- U+1DA3B-U+1DA6C
"\240\157\169\181" .. -- U+1DA75
"\240\157\170\132" .. -- U+1DA84
"\240\157\170\155-\240\157\170\159" .. -- U+1DA9B-U+1DA9F
"\240\157\170\161-\240\157\170\175" .. -- U+1DAA1-U+1DAAF
"\240\158\128\128-\240\158\128\134" .. -- U+1E000-U+1E006
"\240\158\128\136-\240\158\128\152" .. -- U+1E008-U+1E018
"\240\158\128\155-\240\158\128\161" .. -- U+1E01B-U+1E021
"\240\158\128\163" .. -- U+1E023
"\240\158\128\164" .. -- U+1E024
"\240\158\128\166-\240\158\128\170" .. -- U+1E026-U+1E02A
"\240\158\130\143" .. -- U+1E08F
"\240\158\132\176-\240\158\132\182" .. -- U+1E130-U+1E136
"\240\158\138\174" .. -- U+1E2AE
"\240\158\139\172-\240\158\139\175" .. -- U+1E2EC-U+1E2EF
"\240\158\147\172-\240\158\147\175" .. -- U+1E4EC-U+1E4EF
"\240\158\151\174" .. -- U+1E5EE
"\240\158\151\175" .. -- U+1E5EF
"\240\158\163\144-\240\158\163\150" .. -- U+1E8D0-U+1E8D6
"\240\158\165\132-\240\158\165\138") -- U+1E944-U+1E94A
-- Double combining characters.
-- Charset: [[:M:]&[:Canonical_Combining_Class=/^Double_/:]&[:^subhead=Grapheme joiner:]&[:^Variation_Selector=Yes:]]
local comb_chars_double =
"\205\156-\205\162" .. -- U+035C-U+0362
"\225\183\141" .. -- U+1DCD
"\225\183\188" -- U+1DFC
-- Variation selectors etc.; separated out so that we don't get categories for them.
-- Charset: [[:M:]&[[:subhead=Grapheme joiner:][:Variation_Selector=Yes:]]].
local comb_chars_other =
"\205\143" .. -- U+034F
"\225\160\139-\225\160\141" .. -- U+180B-U+180D
"\225\160\143" .. -- U+180F
"\239\184\128-\239\184\143" .. -- U+FE00-U+FE0F
"\243\160\132\128-\243\160\135\175" -- U+E0100-U+E01EF
local comb_chars_all = comb_chars_single .. comb_chars_double .. comb_chars_other
local comb_chars = {
combined_single = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]+%f[^" .. comb_chars_all .. "]",
combined_double = "[^" .. comb_chars_all .. "][" .. comb_chars_single .. comb_chars_other .. "]*[" .. comb_chars_double .. "]+[" .. comb_chars_all .. "]*.[" .. comb_chars_single .. comb_chars_other .. "]*",
diacritics_single = "[" .. comb_chars_single .. "]",
diacritics_double = "[" .. comb_chars_double .. "]",
diacritics_all = "[" .. comb_chars_all .. "]"
}
-- Somewhat curated list from https://unicode.org/Public/emoji/16.0/emoji-sequences.txt.
-- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't
-- (yet?) handle.
local emoji_chars =
"\226\140\154" .. -- U+231A (⌚)
"\226\140\155" .. -- U+231B (⌛)
"\226\140\168" .. -- U+2328 (⌨)
"\226\143\143" .. -- U+23CF (⏏)
"\226\143\169-\226\143\179" .. -- U+23E9-U+23F3 (⏩-⏳)
"\226\143\184-\226\143\186" .. -- U+23F8-U+23FA (⏸-⏺)
"\226\150\170" .. -- U+25AA (▪)
"\226\150\171" .. -- U+25AB (▫)
"\226\150\182" .. -- U+25B6 (▶)
"\226\151\128" .. -- U+25C0 (◀)
"\226\151\187-\226\151\190" .. -- U+25FB-U+25FE (◻-◾)
"\226\152\128-\226\152\132" .. -- U+2600-U+2604 (☀-☄)
"\226\152\142" .. -- U+260E (☎)
"\226\152\145" .. -- U+2611 (☑)
"\226\152\148" .. -- U+2614 (☔)
"\226\152\149" .. -- U+2615 (☕)
"\226\152\152" .. -- U+2618 (☘)
"\226\152\157" .. -- U+261D (☝)
"\226\152\160" .. -- U+2620 (☠)
"\226\152\162" .. -- U+2622 (☢)
"\226\152\163" .. -- U+2623 (☣)
"\226\152\166" .. -- U+2626 (☦)
"\226\152\170" .. -- U+262A (☪)
"\226\152\174" .. -- U+262E (☮)
"\226\152\175" .. -- U+262F (☯)
"\226\152\184-\226\152\186" .. -- U+2638-U+263A (☸-☺)
"\226\153\136-\226\153\147" .. -- U+2648-U+2653 (♈-♓)
"\226\153\159" .. -- U+265F (♟)
"\226\153\160" .. -- U+2660 (♠)
"\226\153\163" .. -- U+2663 (♣)
"\226\153\165" .. -- U+2665 (♥)
"\226\153\166" .. -- U+2666 (♦)
"\226\153\168" .. -- U+2668 (♨)
"\226\153\187" .. -- U+267B (♻)
"\226\153\190" .. -- U+267E (♾)
"\226\153\191" .. -- U+267F (♿)
"\226\154\146-\226\154\151" .. -- U+2692-U+2697 (⚒-⚗)
"\226\154\153" .. -- U+2699 (⚙)
"\226\154\155" .. -- U+269B (⚛)
"\226\154\156" .. -- U+269C (⚜)
"\226\154\160" .. -- U+26A0 (⚠)
"\226\154\161" .. -- U+26A1 (⚡)
"\226\154\170" .. -- U+26AA (⚪)
"\226\154\171" .. -- U+26AB (⚫)
"\226\154\176" .. -- U+26B0 (⚰)
"\226\154\177" .. -- U+26B1 (⚱)
"\226\154\189" .. -- U+26BD (⚽)
"\226\154\190" .. -- U+26BE (⚾)
"\226\155\132" .. -- U+26C4 (⛄)
"\226\155\133" .. -- U+26C5 (⛅)
"\226\155\136" .. -- U+26C8 (⛈)
"\226\155\142" .. -- U+26CE (⛎)
"\226\155\143" .. -- U+26CF (⛏)
"\226\155\145" .. -- U+26D1 (⛑)
"\226\155\147" .. -- U+26D3 (⛓)
"\226\155\148" .. -- U+26D4 (⛔)
"\226\155\169" .. -- U+26E9 (⛩)
"\226\155\170" .. -- U+26EA (⛪)
"\226\155\176-\226\155\181" .. -- U+26F0-U+26F5 (⛰-⛵)
"\226\155\183-\226\155\186" .. -- U+26F7-U+26FA (⛷-⛺)
"\226\155\189" .. -- U+26FD (⛽)
"\226\156\130" .. -- U+2702 (✂)
"\226\156\133" .. -- U+2705 (✅)
"\226\156\136-\226\156\141" .. -- U+2708-U+270D (✈-✍)
"\226\156\143" .. -- U+270F (✏)
"\226\156\146" .. -- U+2712 (✒)
"\226\156\148" .. -- U+2714 (✔)
"\226\156\150" .. -- U+2716 (✖)
"\226\156\157" .. -- U+271D (✝)
"\226\156\161" .. -- U+2721 (✡)
"\226\156\168" .. -- U+2728 (✨)
"\226\156\179" .. -- U+2733 (✳)
"\226\156\180" .. -- U+2734 (✴)
"\226\157\132" .. -- U+2744 (❄)
"\226\157\135" .. -- U+2747 (❇)
"\226\157\140" .. -- U+274C (❌)
"\226\157\142" .. -- U+274E (❎)
"\226\157\147-\226\157\149" .. -- U+2753-U+2755 (❓-❕)
"\226\157\151" .. -- U+2757 (❗)
"\226\157\163" .. -- U+2763 (❣)
"\226\157\164" .. -- U+2764 (❤)
"\226\158\149-\226\158\151" .. -- U+2795-U+2797 (➕-➗)
"\226\158\161" .. -- U+27A1 (➡)
"\226\158\176" .. -- U+27B0 (➰)
"\226\158\191" .. -- U+27BF (➿)
"\226\164\180" .. -- U+2934 (⤴)
"\226\164\181" .. -- U+2935 (⤵)
"\226\172\133-\226\172\135" .. -- U+2B05-U+2B07 (⬅-⬇)
"\226\172\155" .. -- U+2B1B (⬛)
"\226\172\156" .. -- U+2B1C (⬜)
"\226\173\144" .. -- U+2B50 (⭐)
"\226\173\149" .. -- U+2B55 (⭕)
"\227\128\176" .. -- U+3030 (〰)
"\227\128\189" .. -- U+303D (〽)
"\227\138\151" .. -- U+3297 (㊗)
"\227\138\153" .. -- U+3299 (㊙)
"\240\159\128\132" .. -- U+1F004 (🀄)
"\240\159\131\143" .. -- U+1F0CF (🃏)
"\240\159\133\176" .. -- U+1F170 (🅰)
"\240\159\133\177" .. -- U+1F171 (🅱)
"\240\159\133\190" .. -- U+1F17E (🅾)
"\240\159\133\191" .. -- U+1F17F (🅿)
"\240\159\134\142" .. -- U+1F18E (🆎)
"\240\159\134\145-\240\159\134\154" .. -- U+1F191-U+1F19A (🆑-🆚)
"\240\159\136\129" .. -- U+1F201 (🈁)
"\240\159\136\130" .. -- U+1F202 (🈂)
"\240\159\136\154" .. -- U+1F21A (🈚)
"\240\159\136\175" .. -- U+1F22F (🈯)
"\240\159\136\178-\240\159\136\186" .. -- U+1F232-U+1F23A (🈲-🈺)
"\240\159\137\144" .. -- U+1F250 (🉐)
"\240\159\137\145" .. -- U+1F251 (🉑)
"\240\159\140\128-\240\159\153\143" .. -- U+1F300-U+1F64F (🌀-🙏)
"\240\159\154\128-\240\159\155\151" .. -- U+1F680-U+1F6D7 (🚀-🛗)
"\240\159\155\156-\240\159\155\172" .. -- U+1F6DC-U+1F6EC (🛜-🛬)
"\240\159\155\176-\240\159\155\188" .. -- U+1F6F0-U+1F6FC (🛰-🛼)
"\240\159\159\160-\240\159\159\171" .. -- U+1F7E0-U+1F7EB (🟠-🟫)
"\240\159\159\176" .. -- U+1F7F0 (🟰)
"\240\159\164\140-\240\159\169\147" .. -- U+1F90C-U+1FA53 (🤌-🩓)
"\240\159\169\160-\240\159\169\173" .. -- U+1FA60-U+1FA6D (🩠-🩭)
"\240\159\169\176-\240\159\169\188" .. -- U+1FA70-U+1FA7C (🩰-🩼)
"\240\159\170\128-\240\159\170\137" .. -- U+1FA80-U+1FA89 (🪀-)
"\240\159\170\143-\240\159\171\134" .. -- U+1FA8F-U+1FAC6 (-)
"\240\159\171\142-\240\159\171\156" .. -- U+1FACE-U+1FADC (🫎-)
"\240\159\171\159-\240\159\171\169" .. -- U+1FADF-U+1FAE9 (-)
"\240\159\171\176-\240\159\171\184" -- U+1FAF0-U+1FAF8 (🫰-🫸)
local unsupported_characters
local function get_unsupported_characters()
unsupported_characters, get_unsupported_characters = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_characters) do
unsupported_characters[v] = k
end
return unsupported_characters
end
-- The list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles).
local unsupported_titles
local function get_unsupported_titles()
unsupported_titles, get_unsupported_titles = {}, nil
for k, v in pairs(load_data("Module:links/data").unsupported_titles) do
unsupported_titles[v] = k
end
return unsupported_titles
end
--[==[
Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned
object includes the following fields:
* `comb_chars`: A table containing various Lua character class patterns for different types of combined characters
(those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with
{mw.ustring.find()}. The keys are:
** `single`: Single combining characters (character + diacritic), without surrounding brackets;
** `double`: Double combining characters (character + diacritic + character), without surrounding brackets;
** `vs`: Variation selectors, without surrounding brackets;
** `all`: Concatenation of `single` + `double` + `vs`, without surrounding brackets;
** `diacritics_single`: Like `single` but with surrounding brackets;
** `diacritics_double`: Like `double` but with surrounding brackets;
** `diacritics_all`: Like `all` but with surrounding brackets;
** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters;
** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double
combining characters, possibly also with single combining characters;
* `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used
with {mw.ustring.find()}.
* `L2_list`: Ordered list of L2 headings on the page, with the extra key `n` that gives the length of the list.
* `L2_sections`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_L2 in [[Module:pages]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc.
* `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages.
* `namespace`: Namespace of the pagename.
* `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above).
* `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized);
including the namespace and the root (portion before the slash).
* `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized).
* `decompose_pagename`: Equivalent of `pagename` in NFD decomposition.
* `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic
are treated as single characters.
* `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing
character + decomposed diacritic are treated as single characters).
* `encoded_pagename`: FIXME: Document me.
* `pagename_defaultsort`: FIXME: Document me.
* `raw_defaultsort`: FIXME: Document me.
* `wikitext_topic_cat`: FIXME: Document me.
* `wikitext_langname_cat`: FIXME: Document me.
]==]
function export.process_page(pagename)
local data = {
comb_chars = comb_chars,
emoji_pattern = "[" .. emoji_chars .. "]",
unsupported_titles = unsupported_titles or get_unsupported_titles()
}
local cats = {}
data.cats = cats
-- We cannot store `raw_title` in `data` because it contains a metatable.
local raw_title
local function bad_pagename()
if not pagename then
error("Internal error: Something wrong, `data.pagename` not specified but current title contains illegal characters")
else
error(format("Bad value for `data.pagename`: '%s', which must not contain illegal characters", pagename))
end
end
if pagename then -- for testing, doc pages, etc.
raw_title = new_title(pagename)
if not raw_title then
bad_pagename()
end
else
raw_title = mw.title.getCurrentTitle()
end
local nsText = raw_title.nsText
data.namespace = nsText
data.ns = mw.site.namespaces[raw_title.namespace]
local full_raw_pagename = raw_title.fullText
data.full_raw_pagename = full_raw_pagename
local frame = mw.getCurrentFrame()
-- WARNING: `content` may be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page
-- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix
-- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it,
-- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the
-- content of the page.
local content = raw_title:getContent()
-- Get the pagename.
pagename = gsub(raw_title.subpageText, "^Unsupported titles/(.+)", function(m)
insert(cats, "Unsupported titles")
local title = (unsupported_titles or get_unsupported_titles())[m]
if title then
return title
end
-- Substitute pairs of "`". Those not used for escaping should be escaped as "`grave`", but might not be,
-- so if a pair don't form a match, the closing "`" should become the opening "`" of the next match attempt.
-- This has to be done manually, instead of using gsub.
local open_pos = find(m, "`")
if not open_pos then
return m
end
title = {sub(m, 1, open_pos - 1)}
while true do
local close_pos = find(m, "`", open_pos + 1)
if not close_pos then
-- Add "`" plus any remaining characters.
insert(title, sub(m, open_pos))
break
end
local escape = sub(m, open_pos, close_pos)
local ch = (unsupported_characters or get_unsupported_characters())[escape]
-- Match found, so substitute the character and move to the first "`" after the match if found, or
-- otherwise return.
if ch then
insert(title, ch)
local nxt_pos = close_pos + 1
open_pos = find(m, "`", nxt_pos)
-- Add any characters between the match and the next "`" or end.
if open_pos then
insert(title, sub(m, nxt_pos, open_pos - 1))
else
insert(title, sub(m, nxt_pos))
break
end
-- Match not found, so make the closing "`" the opening "`" of the next attempt.
else
-- Add the failed match, except for the closing "`".
insert(title, sub(m, open_pos, close_pos - 1))
open_pos = close_pos
end
end
return concat(title)
end)
-- Save pagename, as local variable will be destructively modified.
data.pagename = pagename
-- Decompose the pagename in Unicode normalization form D.
data.decompose_pagename = toNFD(pagename)
-- Explode the current page name into a character table, taking decomposed combining characters into account.
local explode_pagename = {}
local pagename_len = 0
local function explode(char)
explode_pagename[char] = true
pagename_len = pagename_len + 1
return ""
end
pagename = ugsub(pagename, comb_chars.combined_double, explode)
pagename = gsub(ugsub(pagename, comb_chars.combined_single, explode), ".[\128-\191]*", explode)
data.explode_pagename = explode_pagename
data.pagename_len = pagename_len
-- Generate DEFAULTSORT.
data.encoded_pagename = encode_entities(data.pagename)
data.pagename_defaultsort = get_lang("mul"):makeSortKey(data.encoded_pagename)
frame:callParserFunction("DEFAULTSORT", data.pagename_defaultsort)
data.raw_defaultsort = uupper(raw_title.text)
-- Make `L2_list` and `L2_sections`, note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}, then add categories if any unwanted L1 headings are found, the L2 headings are in the wrong order, or they don't match a canonical language name.
-- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result.
do
local L2_list, L2_list_len, L2_sections, sort_cache, prev, rc = {}, 0, {}, {}
local new_cats, L2_wrong_order = {}
local function get_weight(L2)
if L2 == "Translingual" then
return "\1"
elseif L2 == "English" then
return "\2"
elseif match(L2, "^[%z\1-\b\14-!#-&(-,.-\127]+$") then
return L2
end
local weight = sort_cache[L2]
if weight then
return weight
end
weight = toNFC(ugsub(ugsub(toNFD(L2), "[" .. comb_chars_all .. "'\"ʻʼ]+", ""), "[%s%-]+", " "))
sort_cache[L2] = weight
return weight
end
local function handle_heading(heading)
local level = heading.level
if level > 2 then
return
end
local name = heading:get_name()
-- heading:get_name() will return nil if there are any newline characters in the preprocessed heading name (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so the L2 count shouldn't be incremented.
if name == nil then
return
end
L2_list_len = L2_list_len + 1
L2_list[L2_list_len] = name
L2_sections[heading.section] = name
-- Also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake.
if level == 1 then
new_cats["Pages with unwanted L1 headings"] = true
end
-- Check the heading is in the right order.
-- FIXME: we need a more sophisticated sorting method which handles non-diacritic special characters (e.g. Magɨ).
if prev and not (
L2_wrong_order or
string_compare(get_weight(prev), get_weight(name))
) then
new_cats["Pages with language headings in the wrong order"] = true
L2_wrong_order = true
end
-- Check it's a canonical language name.
if not (langnames or get_langnames())[name] then
new_cats["Pages with nonstandard language headings"] = true
end
prev = name
end
local function handle_template(template)
local name = template:get_name()
if name == "DEFAULTSORT:" then
new_cats["Pages with DEFAULTSORT conflicts"] = true
elseif name == "DISPLAYTITLE:" then
new_cats["Pages with DISPLAYTITLE conflicts"] = true
elseif name == "reconstructed" then
rc = true
end
end
if content then
for node in parse(content):iterate_nodes() do
local node_class = class_else_type(node)
if node_class == "heading" then
handle_heading(node)
elseif node_class == "template" then
handle_template(node)
elseif node_class == "parameter" then
new_cats["Pages with raw triple-brace template parameters"] = true
end
end
end
L2_list.n = L2_list_len
data.L2_list = L2_list
data.L2_sections = L2_sections
insert(cats, get_category("Pages with entries"))
insert(cats, get_category(format("Pages with %s entr%s", L2_list_len, L2_list_len == 1 and "y" or "ies")))
for cat in pairs(new_cats) do
insert(cats, get_category(cat))
end
if nsText == "Reconstruction" and not rc then
local langname = match(full_raw_pagename, "^Reconstruction:([^/]+)/.")
if langname then
insert(cats, get_category(langname .. " entries missing Template:reconstructed"))
end
end
end
------ 4. Parse page for maintenance categories. ------
-- Use of tab characters.
if content and find(content, "\t", 1, true) then
insert(cats, get_category("Pages with tab characters"))
end
-- Unencoded character(s) in title.
local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "", "", "", "", ""}
for char in pairs(explode_pagename) do
if IDS[char] and char ~= data.pagename then
insert(cats, "Terms containing unencoded characters")
break
end
end
-- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used.
do
local wikitext_topic_cat = {}
local wikitext_langname_cat = {}
local raw_sortkey
-- If a raw sortkey has been found, add it to the relevant table.
-- If there's no table (or the index is just `true`), create one first.
local function add_cat_table(t, lang, sortkey)
local t_lang = t[lang]
if not sortkey then
if not t_lang then
t[lang] = true
end
return
elseif t_lang == true or not t_lang then
t_lang = {}
t[lang] = t_lang
end
t_lang[uupper(decode_entities(sortkey))] = true
end
local function process_category(content, cat, colon, nxt)
local pipe = find(cat, "|", colon + 1, true)
-- Categories cannot end "|]]".
if pipe == #cat then
return
end
local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat)
if not (title and title.namespace == 14) then
return
end
-- Get the sortkey (if any), then canonicalize category title.
local sortkey = pipe and sub(cat, pipe + 1) or nil
cat = title.text
if sortkey then
raw_sortkey = true
-- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey.
if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then
sortkey = sortkey .. "]"
end
end
local code = match(cat, "^([%w%-.]+):")
if code then
add_cat_table(wikitext_topic_cat, code, sortkey)
return
end
-- Split by word.
cat = split(cat, " ", true, true)
-- Formerly we looked for the language name anywhere in the category. This is simply wrong
-- because there are no categories like 'Alsatian French lemmas' (only L2 languages
-- have langname categories), but doing it this way wrongly catches things like [[Category:Shapsug Adyghe]]
-- in [[Category:Adyghe entries with language name categories using raw markup]].
local n = #cat - 1
if n <= 0 then
return
end
-- Go from longest to shortest and stop once we've found a language name. Going from shortest
-- to longest or not stopping after a match risks falsely matching (e.g.) German Low German
-- categories as German.
repeat
local name = concat(cat, " ", 1, n)
if (langnames or get_langnames())[name] then
add_cat_table(wikitext_langname_cat, name, sortkey)
return
end
n = n - 1
until n == 0
end
if content then
-- Remove comments, then iterate over category links.
content = remove_comments(content, "BOTH")
local head = find(content, "[[", 1, true)
while head do
local close = find(content, "]]", head + 2, true)
if not close then
break
end
-- Make sure there are no intervening "[[" between head and close.
local open = find(content, "[[", head + 2, true)
while open and open < close do
head = open
open = find(content, "[[", head + 2, true)
end
local cat = sub(content, head + 2, close - 1)
-- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link.
local colon = match(cat, "^[ _\128-\244]*[Cc][Aa][Tt][EeGgOoRrYy _\128-\244]*():")
if colon then
process_category(content, cat, colon, close + 2)
end
head = open
end
end
data.wikitext_topic_cat = wikitext_topic_cat
data.wikitext_langname_cat = wikitext_langname_cat
if raw_sortkey then
insert(cats, get_category("Pages with raw sortkeys"))
end
end
return data
end
return export
c380ic3kjsqy22c3blgwyio3y65tlzc
4388246
4388242
2025-07-07T09:38:52Z
CHK2605
33979
[[Special:Contributions/CHK2605|CHK2605]] ([[User talk:CHK2605|토론]])의 [[Special:Diff/4388242|4388242]] 판 편집을 되돌림; 오류 발생
4388246
Scribunto
text/plain
local require = require
local m_str_utils = require("Module:string utilities")
local mw = mw
local string = string
local table = table
local ustring = mw.ustring
local concat = table.concat
local decode_entities = m_str_utils.decode_entities
local encode_entities = m_str_utils.encode_entities
local find = string.find
local get_category = require("Module:maintenance category").get_category
local get_etym_lang = require("Module:etymology languages").getByCanonicalName
local insert = table.insert
local ipairs = ipairs
local list_to_set = require("Module:table").listToSet
local load_data = mw.loadData
local match = string.match
local new_title = mw.title.new
local remove_comments = m_str_utils.remove_comments
local split = m_str_utils.split
local sub = string.sub
local toNFD = ustring.toNFD
local type = type
local type_or_class = require("Module:parser").type_or_class
local u = m_str_utils.char
local ugsub = ustring.gsub
local uupper = m_str_utils.upper
local export = {}
-- Convert a numeric list of characters and ranges to the equivalent Lua pattern. WARNING: This destructively modifies
-- the contents of `ranges`.
local function char_ranges_to_pattern(ranges)
for j, range in ipairs(ranges) do
if type(range) == "table" then
for k, char in ipairs(range) do
range[k] = u(char)
end
ranges[j] = concat(range, "-")
else
ranges[j] = u(range)
end
end
return concat(ranges)
end
-- Combining character data used when categorising unusual characters. These resolve into two patterns, used to find
-- single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character +
-- diacritic(s) + character).
local comb_chars = {
single = {
{0x0300, 0x034E},
-- Exclude combining grapheme joiner.
{0x0350, 0x035B},
{0x0363, 0x036F},
{0x0483, 0x0489},
{0x0591, 0x05BD},
0x05BF,
{0x05C1, 0x05C2},
{0x05C4, 0x05C5},
0x05C7,
{0x0610, 0x061A},
{0x064B, 0x065F},
0x0670,
{0x06D6, 0x06DC},
{0x06DF, 0x06E4},
{0x06E7, 0x06E8},
{0x06EA, 0x06ED},
0x0711,
{0x0730, 0x074A},
{0x07A6, 0x07B0},
{0x07EB, 0x07F3},
0x07FD,
{0x0816, 0x0819},
{0x081B, 0x0823},
{0x0825, 0x0827},
{0x0829, 0x082D},
{0x0859, 0x085B},
{0x0898, 0x089F},
{0x08CA, 0x08E1},
{0x08E3, 0x0903},
{0x093A, 0x093C},
{0x093E, 0x094F},
{0x0951, 0x0957},
{0x0962, 0x0963},
{0x0981, 0x0983},
0x09BC,
{0x09BE, 0x09C4},
{0x09C7, 0x09C8},
{0x09CB, 0x09CD},
0x09D7,
{0x09E2, 0x09E3},
0x09FE,
{0x0A01, 0x0A03},
0x0A3C,
{0x0A3E, 0x0A42},
{0x0A47, 0x0A48},
{0x0A4B, 0x0A4D},
0x0A51,
{0x0A70, 0x0A71},
0x0A75,
{0x0A81, 0x0A83},
0x0ABC,
{0x0ABE, 0x0AC5},
{0x0AC7, 0x0AC9},
{0x0ACB, 0x0ACD},
{0x0AE2, 0x0AE3},
{0x0AFA, 0x0AFF},
{0x0B01, 0x0B03},
0x0B3C,
{0x0B3E, 0x0B44},
{0x0B47, 0x0B48},
{0x0B4B, 0x0B4D},
{0x0B55, 0x0B57},
{0x0B62, 0x0B63},
0x0B82,
{0x0BBE, 0x0BC2},
{0x0BC6, 0x0BC8},
{0x0BCA, 0x0BCD},
0x0BD7,
{0x0C00, 0x0C04},
0x0C3C,
{0x0C3E, 0x0C44},
{0x0C46, 0x0C48},
{0x0C4A, 0x0C4D},
{0x0C55, 0x0C56},
{0x0C62, 0x0C63},
{0x0C81, 0x0C83},
0x0CBC,
{0x0CBE, 0x0CC4},
{0x0CC6, 0x0CC8},
{0x0CCA, 0x0CCD},
{0x0CD5, 0x0CD6},
{0x0CE2, 0x0CE3},
0x0CF3,
{0x0D00, 0x0D03},
{0x0D3B, 0x0D3C},
{0x0D3E, 0x0D44},
{0x0D46, 0x0D48},
{0x0D4A, 0x0D4D},
0x0D57,
{0x0D62, 0x0D63},
{0x0D81, 0x0D83},
0x0DCA,
{0x0DCF, 0x0DD4},
0x0DD6,
{0x0DD8, 0x0DDF},
{0x0DF2, 0x0DF3},
0x0E31,
{0x0E34, 0x0E3A},
{0x0E47, 0x0E4E},
0x0EB1,
{0x0EB4, 0x0EBC},
{0x0EC8, 0x0ECE},
{0x0F18, 0x0F19},
0x0F35,
0x0F37,
0x0F39,
{0x0F3E, 0x0F3F},
{0x0F71, 0x0F84},
{0x0F86, 0x0F87},
{0x0F8D, 0x0F97},
{0x0F99, 0x0FBC},
0x0FC6,
{0x102B, 0x103E},
{0x1056, 0x1059},
{0x105E, 0x1060},
{0x1062, 0x1064},
{0x1067, 0x106D},
{0x1071, 0x1074},
{0x1082, 0x108D},
0x108F,
{0x109A, 0x109D},
{0x135D, 0x135F},
{0x1712, 0x1715},
{0x1732, 0x1734},
{0x1752, 0x1753},
{0x1772, 0x1773},
{0x17B4, 0x17D3},
0x17DD,
-- Exclude Mongolian variation selectors.
{0x1885, 0x1886},
0x18A9,
{0x1920, 0x192B},
{0x1930, 0x193B},
{0x1A17, 0x1A1B},
{0x1A55, 0x1A5E},
{0x1A60, 0x1A7C},
0x1A7F,
{0x1AB0, 0x1ACE},
{0x1B00, 0x1B04},
{0x1B34, 0x1B44},
{0x1B6B, 0x1B73},
{0x1B80, 0x1B82},
{0x1BA1, 0x1BAD},
{0x1BE6, 0x1BF3},
{0x1C24, 0x1C37},
{0x1CD0, 0x1CD2},
{0x1CD4, 0x1CE8},
0x1CED,
0x1CF4,
{0x1CF7, 0x1CF9},
{0x1DC0, 0x1DCC},
{0x1DCE, 0x1DFB},
{0x1DFD, 0x1DFF},
{0x20D0, 0x20F0},
{0x2CEF, 0x2CF1},
0x2D7F,
{0x2DE0, 0x2DFF},
{0x302A, 0x302F},
{0x3099, 0x309A},
{0xA66F, 0xA672},
{0xA674, 0xA67D},
{0xA69E, 0xA69F},
{0xA6F0, 0xA6F1},
0xA802,
0xA806,
0xA80B,
{0xA823, 0xA827},
0xA82C,
{0xA880, 0xA881},
{0xA8B4, 0xA8C5},
{0xA8E0, 0xA8F1},
0xA8FF,
{0xA926, 0xA92D},
{0xA947, 0xA953},
{0xA980, 0xA983},
{0xA9B3, 0xA9C0},
0xA9E5,
{0xAA29, 0xAA36},
0xAA43,
{0xAA4C, 0xAA4D},
{0xAA7B, 0xAA7D},
0xAAB0,
{0xAAB2, 0xAAB4},
{0xAAB7, 0xAAB8},
{0xAABE, 0xAABF},
0xAAC1,
{0xAAEB, 0xAAEF},
{0xAAF5, 0xAAF6},
{0xABE3, 0xABEA},
{0xABEC, 0xABED},
0xFB1E,
{0xFE20, 0xFE2F},
0x101FD,
0x102E0,
{0x10376, 0x1037A},
{0x10A01, 0x10A03},
{0x10A05, 0x10A06},
{0x10A0C, 0x10A0F},
{0x10A38, 0x10A3A},
0x10A3F,
{0x10AE5, 0x10AE6},
{0x10D24, 0x10D27},
{0x10EAB, 0x10EAC},
{0x10EFD, 0x10EFF},
{0x10F46, 0x10F50},
{0x10F82, 0x10F85},
{0x11000, 0x11002},
{0x11038, 0x11046},
0x11070,
{0x11073, 0x11074},
{0x1107F, 0x11082},
{0x110B0, 0x110BA},
0x110C2,
{0x11100, 0x11102},
{0x11127, 0x11134},
{0x11145, 0x11146},
0x11173,
{0x11180, 0x11182},
{0x111B3, 0x111C0},
{0x111C9, 0x111CC},
{0x111CE, 0x111CF},
{0x1122C, 0x11237},
0x1123E,
0x11241,
{0x112DF, 0x112EA},
{0x11300, 0x11303},
{0x1133B, 0x1133C},
{0x1133E, 0x11344},
{0x11347, 0x11348},
{0x1134B, 0x1134D},
0x11357,
{0x11362, 0x11363},
{0x11366, 0x1136C},
{0x11370, 0x11374},
{0x11435, 0x11446},
0x1145E,
{0x114B0, 0x114C3},
{0x115AF, 0x115B5},
{0x115B8, 0x115C0},
{0x115DC, 0x115DD},
{0x11630, 0x11640},
{0x116AB, 0x116B7},
{0x1171D, 0x1172B},
{0x1182C, 0x1183A},
{0x11930, 0x11935},
{0x11937, 0x11938},
{0x1193B, 0x1193E},
0x11940,
{0x11942, 0x11943},
{0x119D1, 0x119D7},
{0x119DA, 0x119E0},
0x119E4,
{0x11A01, 0x11A0A},
{0x11A33, 0x11A39},
{0x11A3B, 0x11A3E},
0x11A47,
{0x11A51, 0x11A5B},
{0x11A8A, 0x11A99},
{0x11C2F, 0x11C36},
{0x11C38, 0x11C3F},
{0x11C92, 0x11CA7},
{0x11CA9, 0x11CB6},
{0x11D31, 0x11D36},
0x11D3A,
{0x11D3C, 0x11D3D},
{0x11D3F, 0x11D45},
0x11D47,
{0x11D8A, 0x11D8E},
{0x11D90, 0x11D91},
{0x11D93, 0x11D97},
{0x11EF3, 0x11EF6},
{0x11F00, 0x11F01},
0x11F03,
{0x11F34, 0x11F3A},
{0x11F3E, 0x11F42},
0x13440,
{0x13447, 0x13455},
{0x16AF0, 0x16AF4},
{0x16B30, 0x16B36},
0x16F4F,
{0x16F51, 0x16F87},
{0x16F8F, 0x16F92},
-- Exclude Khitan Small Script filler.
{0x16FF0, 0x16FF1},
{0x1BC9D, 0x1BC9E},
{0x1CF00, 0x1CF2D},
{0x1CF30, 0x1CF46},
{0x1D165, 0x1D169},
{0x1D16D, 0x1D172},
{0x1D17B, 0x1D182},
{0x1D185, 0x1D18B},
{0x1D1AA, 0x1D1AD},
{0x1D242, 0x1D244},
{0x1DA00, 0x1DA36},
{0x1DA3B, 0x1DA6C},
0x1DA75,
0x1DA84,
{0x1DA9B, 0x1DA9F},
{0x1DAA1, 0x1DAAF},
{0x1E000, 0x1E006},
{0x1E008, 0x1E018},
{0x1E01B, 0x1E021},
{0x1E023, 0x1E024},
{0x1E026, 0x1E02A},
0x1E08F,
{0x1E130, 0x1E136},
0x1E2AE,
{0x1E2EC, 0x1E2EF},
{0x1E4EC, 0x1E4EF},
{0x1E8D0, 0x1E8D6},
{0x1E944, 0x1E94A},
},
double = {
{0x035C, 0x0362},
0x1DCD,
0x1DFC,
},
vs = { -- variation selectors; separated out so that we don't get categories for them
{0xFE00, 0xFE0F},
{0xE0100, 0xE01EF},
}
}
for key, charset in pairs(comb_chars) do
comb_chars[key] = char_ranges_to_pattern(charset)
end
comb_chars.both = comb_chars.single .. comb_chars.double .. comb_chars.vs
comb_chars = {
combined_single = "[^" .. comb_chars.both .. "][" .. comb_chars.single .. comb_chars.vs .. "]+%f[^" .. comb_chars.both .. "]",
combined_double = "[^" .. comb_chars.both .. "][" .. comb_chars.single .. comb_chars.vs .. "]*[" .. comb_chars.double .. "]+[" .. comb_chars.both .. "]*.[" .. comb_chars.single .. comb_chars.vs .. "]*",
diacritics_single = "[" .. comb_chars.single .. "]",
diacritics_double = "[" .. comb_chars.double .. "]"
}
-- From https://unicode.org/Public/emoji/15.1/emoji-sequences.txt
local emoji_chars = {
{0x231A, 0x231B}, -- watch..hourglass done # E0.6 [2] (⌚..⌛)
{0x23E9, 0x23EC}, -- fast-forward button..fast down button # E0.6 [4] (⏩..⏬)
0x23F0, -- alarm clock # E0.6 [1] (⏰)
0x23F3, -- hourglass not done # E0.6 [1] (⏳)
{0x25FD, 0x25FE}, -- white medium-small square..black medium-small square # E0.6 [2] (◽..◾)
{0x2614, 0x2615}, -- umbrella with rain drops..hot beverage # E0.6 [2] (☔..☕)
{0x2648, 0x2653}, -- Aries..Pisces # E0.6 [12] (♈..♓)
0x267F, -- wheelchair symbol # E0.6 [1] (♿)
0x2693, -- anchor # E0.6 [1] (⚓)
0x26A1, -- high voltage # E0.6 [1] (⚡)
{0x26AA, 0x26AB}, -- white circle..black circle # E0.6 [2] (⚪..⚫)
{0x26BD, 0x26BE}, -- soccer ball..baseball # E0.6 [2] (⚽..⚾)
{0x26C4, 0x26C5}, -- snowman without snow..sun behind cloud # E0.6 [2] (⛄..⛅)
0x26CE, -- Ophiuchus # E0.6 [1] (⛎)
0x26D4, -- no entry # E0.6 [1] (⛔)
0x26EA, -- church # E0.6 [1] (⛪)
{0x26F2, 0x26F3}, -- fountain..flag in hole # E0.6 [2] (⛲..⛳)
0x26F5, -- sailboat # E0.6 [1] (⛵)
0x26FA, -- tent # E0.6 [1] (⛺)
0x26FD, -- fuel pump # E0.6 [1] (⛽)
0x2705, -- check mark button # E0.6 [1] (✅)
{0x270A, 0x270B}, -- raised fist..raised hand # E0.6 [2] (✊..✋)
0x2728, -- sparkles # E0.6 [1] (✨)
0x274C, -- cross mark # E0.6 [1] (❌)
0x274E, -- cross mark button # E0.6 [1] (❎)
{0x2753, 0x2755}, -- red question mark..white exclamation mark # E0.6 [3] (❓..❕)
0x2757, -- red exclamation mark # E0.6 [1] (❗)
{0x2795, 0x2797}, -- plus..divide # E0.6 [3] (➕..➗)
0x27B0, -- curly loop # E0.6 [1] (➰)
0x27BF, -- double curly loop # E1.0 [1] (➿)
{0x2B1B, 0x2B1C}, -- black large square..white large square # E0.6 [2] (⬛..⬜)
0x2B50, -- star # E0.6 [1] (⭐)
0x2B55, -- hollow red circle # E0.6 [1] (⭕)
{0x1F300, 0x1FAFF}, -- emoji in Plane 1
-- NOTE: There are lots more emoji sequences involving non-emoji Plane 0 symbols followed by 0xFE0F, which we don't
-- (yet?) handle.
}
emoji_chars = char_ranges_to_pattern(emoji_chars)
local unsupported_characters = {}
for k, v in pairs(require("Module:links/data").unsupported_characters) do
unsupported_characters[v] = k
end
-- Get the list of unsupported titles and invert it (so the keys are pagenames and values are canonical titles).
local unsupported_titles = {}
for k, v in pairs(require("Module:links/data").unsupported_titles) do
unsupported_titles[v] = k
end
--[==[
Given a pagename (or {nil} for the current page), create and return a data structure describing the page. The returned
object includes the following fields:
* `comb_chars`: A table containing various Lua character class patterns for different types of combined characters
(those that decompose into multiple characters in the NFD decomposition). The patterns are meant to be used with
{mw.ustring.find()}. The keys are:
** `single`: Single combining characters (character + diacritic), without surrounding brackets;
** `double`: Double combining characters (character + diacritic + character), without surrounding brackets;
** `vs`: Variation selectors, without surrounding brackets;
** `both`: Concatenation of `single` + `double` + `vs` (FIXME: should be named `all`), without surrounding brackets;
** `diacritics_single`: Like `single` but with surrounding brackets;
** `diacritics_single`: Like `double` but with surrounding brackets;
** `combined_single`: Lua pattern for matching a spacing character followed by one or more single combining characters;
** `combined_double`: Lua pattern for matching a combination of two spacing characters separated by one or more double
combining characters, possibly also with single combining characters;
* `emoji_pattern`: A Lua character class pattern (including surrounding brackets) that matches emojis. Meant to be used
with {mw.ustring.find()}.
* `unsupported_titles`: Map from pagenames to canonical titles for unsupported-title pages.
* `namespace`: Namespace of the pagename.
* `ns`: Namespace table for the page from mw.site.namespaces (TODO: merge with `namespace` above).
* `full_raw_pagename`: Full version of the '''RAW''' pagename (i.e. unsupported-title pages aren't canonicalized);
including the namespace and the root (portion before the slash).
* `pagename`: Canonicalized subpage portion of the pagename (unsupported-title pages are canonicalized).
* `decompose_pagename`: Equivalent of `pagename` in NFD decomposition.
* `pagename_len`: Length of `pagename` in Unicode chars, where combinations of spacing character + decomposed diacritic
are treated as single characters.
* `explode_pagename`: Set of characters found in `pagename`. The keys are characters (where combinations of spacing
character + decomposed diacritic are treated as single characters).
* `encoded_pagename`: FIXME: Document me.
* `pagename_defaultsort`: FIXME: Document me.
* `raw_defaultsort`: FIXME: Document me.
* `page_L2s`: Lookup table of L2 headings on the page, where the key is the section number assigned by the preprocessor, and the value is the L2 heading name. Once an invocation has got its actual section number from get_current_section in [[Module:utilities]], it can use this table to determine its parent L2. TODO: We could expand this to include subsections, to check POS headings are correct etc.
* `wikitext_topic_cat`: FIXME: Document me.
* `wikitext_langname_cat`: FIXME: Document me.
]==]
function export.process_page(pagename)
local data = {
comb_chars = comb_chars,
emoji_pattern = "[" .. emoji_chars .. "]",
unsupported_titles = unsupported_titles
}
local cats = {}
data.cats = cats
-- We cannot store `raw_title` in `data` because it contains a metatable.
local raw_title
local function bad_pagename()
if not pagename then
error("Internal error: Something wrong, `data.pagename` not specified but current title containg illegal characters")
else
error(("Bad value for `data.pagename`: '%s', which must not contain illegal characters"):format(pagename))
end
end
if pagename then -- for testing, doc pages, etc.
raw_title = new_title(pagename)
if not raw_title then
bad_pagename()
end
else
raw_title = mw.title.getCurrentTitle()
end
data.namespace = raw_title.nsText
data.ns = mw.site.namespaces[raw_title.namespace]
data.full_raw_pagename = raw_title.fullText
local frame = mw.getCurrentFrame()
-- WARNING: `content` May be nil, e.g. if we're substing a template like {{ja-new}} on a not-yet-created page
-- or if the module specifies the subpage as `data.pagename` (which many modules do) and we're in an Appendix
-- or other non-mainspace page. We used to make the latter an error but there are too many modules that do it,
-- and substing on a nonexistent page is totally legit, and we don't actually need to be able to access the
-- content of the page.
local content = raw_title:getContent()
local content_lang = mw.getContentLanguage()
--Get the pagename.
pagename = raw_title.subpageText
:gsub("^Unsupported titles/(.*)", function(m)
insert(cats, "Unsupported titles")
return unsupported_titles[m] or (m:gsub("`.-`", unsupported_characters))
end)
-- Save pagename, as local variable will be destructively modified.
data.pagename = pagename
-- Decompose the pagename in Unicode normalization form D.
data.decompose_pagename = toNFD(pagename)
-- Explode the current page name into a character table, taking decomposed combining characters into account.
local explode_pagename = {}
local pagename_len = 0
local function explode(char)
explode_pagename[char] = true
pagename_len = pagename_len + 1
return ""
end
pagename = ugsub(pagename, comb_chars.combined_double, explode)
pagename = ugsub(pagename, comb_chars.combined_single, explode)
:gsub(".[\128-\191]*", explode)
data.explode_pagename = explode_pagename
data.pagename_len = pagename_len
-- Generate DEFAULTSORT.
data.encoded_pagename = encode_entities(data.pagename)
data.pagename_defaultsort = require("Module:languages").getByCode("mul"):makeSortKey(data.encoded_pagename)
frame:callParserFunction(
"DEFAULTSORT",
data.pagename_defaultsort
)
data.raw_defaultsort = raw_title.text:uupper()
-- Get section numbers for the page, and note raw wikitext use of {{DEFAULTSORT:}} and {{DISPLAYTITLE:}}.
-- Note: HTML comments shouldn't be removed from `content` until after this step, as they can affect the result.
do
local page_L2s, defaultsort, displaytitle, page_has_L1 = {}
local function handle_heading(node)
local level = node.level
if level > 2 then
return
end
local name = node:get_name()
-- Check there are no newline characters in the heading, which might appear after preprocessing (e.g. from an expanded template). In such cases, the preprocessor section count still increments (since it's calculated pre-expansion), but the heading will fail, so we shouldn't increment the L2 count.
if find(name, "\n", 1, true) then
return
end
page_L2s[node.section] = name
-- We also add any L1s, since they terminate the preceding L2, but add a maintenance category since it's probably a mistake.
if level == 1 then
page_has_L1 = true
end
end
local function handle_template(node)
local name = node:get_name()
if name == "DEFAULTSORT:" then
defaultsort = true
elseif name == "DISPLAYTITLE:" then
displaytitle = true
end
end
if content then
for node in require("Module:template parser").parse(content):__pairs("next_node") do
local node_type = type_or_class(node)
if node_type == "heading" then
handle_heading(node)
elseif node_type == "template" and not (defaultsort and displaytitle) then
handle_template(node)
end
end
end
data.page_L2s = page_L2s
if defaultsort then
insert(cats, get_category("Pages with DEFAULTSORT conflicts"))
end
if displaytitle then
insert(cats, get_category("Pages with DISPLAYTITLE conflicts"))
end
if page_has_L1 then
insert(cats, get_category("Pages with unwanted L1 headings"))
end
end
------ 4. Parse page for maintenance categories. ------
-- Use of tab characters.
if content and find(content, "\t", 1, true) then
insert(cats, get_category("Pages with tab characters"))
end
-- Unencoded character(s) in title.
local IDS = list_to_set{"⿰", "⿱", "⿲", "⿳", "⿴", "⿵", "⿶", "⿷", "⿸", "⿹", "⿺", "⿻", "", "", "", "", ""}
for char in pairs(explode_pagename) do
if IDS[char] and char ~= data.pagename then
insert(cats, "Terms containing unencoded characters")
break
end
end
-- Raw wikitext use of a topic or langname category. Also check if any raw sortkeys have been used.
do
local wikitext_topic_cat = {}
local wikitext_langname_cat = {}
local raw_sortkey
local langnames = load_data("Module:languages/canonical names")
local etym_langnames = load_data("Module:etymology languages/canonical names")
-- If a raw sortkey has been found, add it to the relevant table.
-- If there's no table (or the index is just `true`), create one first.
local function add_cat_table(t, lang, sortkey)
local t_lang = t[lang]
if not sortkey then
if not t_lang then
t[lang] = true
end
return
elseif t_lang == true or not t_lang then
t_lang = {}
t[lang] = t_lang
end
t_lang[uupper(decode_entities(sortkey))] = true
end
local function do_iteration(name, sortkey, wikitext_langname_cat)
if langnames[name] then
return add_cat_table(wikitext_langname_cat, name, sortkey)
end
name = etym_langnames[name] and name or content_lang:lcfirst(name)
if etym_langnames[name] then
name = get_etym_lang(name):getFullName()
return add_cat_table(wikitext_langname_cat, name, sortkey)
end
end
local function process_category(content, cat, colon, nxt)
local pipe = find(cat, "|", colon + 1, true)
-- Categories cannot end "|]]".
if pipe == #cat then
return
end
local title = new_title(pipe and sub(cat, 1, pipe - 1) or cat)
if not (title and title.namespace == 14) then
return
end
-- Get the sortkey (if any), then canonicalize category title.
local sortkey = pipe and sub(cat, pipe + 1) or nil
cat = title.text
if sortkey then
raw_sortkey = true
-- If the sortkey contains "[", the first "]" of a final "]]]" is treated as part of the sortkey.
if find(sortkey, "[", 1, true) and sub(content, nxt, nxt) == "]" then
sortkey = sortkey .. "]"
end
end
local code = match(cat, "^([%w%-.]+):")
if code then
return add_cat_table(wikitext_topic_cat, code, sortkey)
end
-- Split by word.
cat = split(cat, " ", true, true)
-- Iterate over the category name, starting with the longest possible name and shaving off the first word until we find one. We do it this way because:
-- (a) Going from shortest to longest risks falsely matching (e.g.) German Low German categories as German.
-- (b) Checking the start of category names first risks falsely match (e.g.) Alsatian French as Alsatian (a variety of Alemannic German), not French.
-- If no matches are found, then check the start of the category name, shaving off the last word each iteration.
local cat_len, n, name, done = #cat, 1
repeat
name = concat(cat, " ", n, cat_len)
done = do_iteration(name, sortkey, wikitext_langname_cat)
if done then
return
end
n = n + 1
until n > cat_len
n = cat_len - 1
if n <= 0 then
return
end
repeat
name = concat(cat, " ", 1, n)
done = do_iteration(name, sortkey, wikitext_langname_cat)
if done then
return
end
n = n - 1
until n == 0
end
if content then
-- Remove comments, then iterate over category links.
content = remove_comments(content, "BOTH")
local head = find(content, "[[", 1, true)
while head do
local close = find(content, "]]", head + 2, true)
if not close then
break
end
-- Make sure there are no intervening "[[" between head and close.
local open = find(content, "[[", head + 2, true)
while open and open < close do
head = open
open = find(content, "[[", head + 2, true)
end
local cat = sub(content, head + 2, close - 1)
-- Locate the colon, and weed out most unwanted links. "[ _\128-\244]*" catches valid whitespace, and ensures any category links using the colon trick are ignored. We match all non-ASCII characters, as there could be multibyte spaces, and mw.title.new will filter out any remaining false-positives; this is a lot faster than running mw.title.new on every link.
local colon = match(cat, "^[ _\128-\244]*[Cc][Aa][Tt][EeGgOoRrYy _\128-\244]*():")
if colon then
process_category(content, cat, colon, close + 2)
end
head = open
end
end
data.wikitext_topic_cat = wikitext_topic_cat
data.wikitext_langname_cat = wikitext_langname_cat
if raw_sortkey then
insert(cats, get_category("Pages with raw sortkeys"))
end
end
return data
end
return export
a5u7kk8w49sq88c3wqx19nrjpkq11st
모듈:utilities/data
828
445658
4388261
4065851
2025-07-07T11:50:02Z
CHK2605
33979
4388261
Scribunto
text/plain
local data = {}
-- Namespaces which format_categories will allow: (main), Appendix, Thesaurus, Citations, Reconstruction
data.category_namespaces = require("Module:table").listToSet{0, 100, 110, 114, 118}
-- Script that should be applied to links in categories.
data.catfix_scripts = {
["ab"] = "Cyrl",
["ae"] = "Avst",
["ar"] = "Arab",
["ary"] = "Arab",
["be"] = "Cyrl",
["cmn"] = "Hani",
["cu"] = "Cyrs",
["de"] = "Latn",
["el"] = "Grek",
["en"] = "Latn",
["fa"] = "fa-Arab",
["grc"] = "Polyt",
["he"] = "Hebr",
["hi"] = "Deva",
["hu"] = "Latn",
["ja"] = "Jpan",
["ka"] = "Geor",
["ko"] = "Kore",
["mr"] = "Deva",
["nan-hbl"] = "Hani",
["orv"] = "Cyrs",
["ro"] = "Latn",
["ru"] = "Cyrl",
["sa"] = "Deva",
["sq"] = "Latn",
["syl"] = "Sylo",
["xfa"] = "Ital",
["yue"] = "Hani",
["zh"] = "Hani",
["zle-ono"] = "Cyrs",
["zle-ort"] = "Cyrs",
--[[
[""] = "",
]]
}
return data
4x56htm3m5cvzeaw1vqlu3qn70xkp8k
모듈:math
828
447514
4388248
4384737
2025-07-07T09:49:49Z
CHK2605
33979
4388248
Scribunto
text/plain
local export = {}
local byte = string.byte
local ceil = math.ceil
local floor = math.floor
local format = string.format
local is_integer -- defined below
local match = string.match
local select = select
local tonumber = tonumber
local tonumber_ext -- defined below
local tostring = tostring
local type = type
local INF = math.huge
local function sign(x, signed_0)
if x > 0 then
return 1
elseif x < 0 then
return -1
elseif x == 0 then
-- 1/(+0) is infinity and 1/(-0) is -infinity.
return signed_0 and (1 / x > 0 and 1 or -1) or 0
end
-- NaN: convert to string with a forced sign prefix, and grab the first byte.
local sign = byte(format("%+f", x))
return sign == 0x2B and 1 or -- +
sign == 0x2D and -1 or -- -
-- If there's no sign, throw an error. This shouldn't be possible, but
-- avoids silent errors if it does happen.
error("Internal error: cannot determine sign of " .. x)
end
--[==[
An extended version of {tonumber()}, which attempts to convert `x` to a number. Like {tonumber()}, it will convert from base 10 by default, and the optional parameter `base` can be used to specify a different base between 2 and 36, with the letters {A-Z} (case-insensitive) representing additional digits beyond {0-9}. When strings contain hexadecimal notation (e.g. {"0x100"}), base 16 is used as the default instead, but this is overridden if `base` is set to anything other than 16.
This function differs from {tonumber()} in the following ways:
* If `finite_real` is set, then the function will only return finite real numbers; inputs which would normally produce ±infinity or NaN will instead produce {nil}.
* If `no_prefix` is set, then strings which start with {"0x"} will not be interpreted as containing hexadecimal notation, resulting in {nil}.
* If `base` is explicitly set to {10}, then strings in hexadecimal notation will always return {nil}. This fixes a bug in {tonumber()}, which treats {base=10} the same as {base} being unset, causing base 16 to be used if `x` contains hexadecimal notation (e.g. {tonumber("0x10", 10)} returns {16}, whereas {tonumber_extended("0x10", 10)} returns {nil}).]==]
function export.tonumber_extended(x, base, finite_real, no_prefix)
-- TODO: tonumber() maxes out at 2^64 if the base is anything other than 10.
-- TODO: support binary (0b) and octal (0o) prefixes.
local n = tonumber(x, base)
if not n or finite_real and (n ~= n or n == INF or n == -INF) then
return nil
-- If `base` is explicitly set to 10 (not simply nil), or `no_prefix` is set
-- and `base` is nil or 16, filter out inputs that started with hexadecimal
-- prefixes. Note that if `base` is anything else, the initial "0x" will
-- have been interpreted as digits by tonumber() instead of a prefix (as "x"
-- can be a digit from base 34 upwards), so there's no prefix to check for.
elseif base == 10 or no_prefix and (base == nil or base == 16) then
return not match(x, "^%s*[+-]?0[xX]()") and n or nil
end
return n
end
tonumber_ext = export.tonumber_extended
--[==[
Converts `x` to an integer by removing the fractional portion (e.g. {3.5} becomes {3}, and {-2.9} becomes {-2}). This is equivalent to rounding down positive numbers and rounding up negative numbers. If conversion is not possible, returns {nil}.]==]
function export.to_integer(x)
x = tonumber(x)
if not (x and x == x and x ~= INF and x ~= -INF) then
return nil
elseif x % 1 == 0 then
return x
-- Round-down positives.
elseif x >= 0 then
return floor(x)
end
--Round-up negatives.
return ceil(x)
end
--[==[
Returns {1} if `x` is positive, {-1} if `x` is negative, or {0} if `x` is {0}.
If `signed_0` is set, this function will only return either {1} or {-1}, and will make a distinction between [[w:signed zero|signed zeroes]] ({+0} and {-0}). This is useful when a {0} result could be disruptive (e.g. {x % 0}).]==]
function export.sign(x, signed_0)
return sign(
tonumber(x) or
error(format("bad argument #1 to 'sign' (number expected, got %s)", type(x)), 2),
signed_0
)
end
--[==[
Returns {true} if `x` is a finite real number, or {false} if not.]==]
function export.is_finite_real_number(x)
return x and x == x and not (x == INF or x == -INF) and type(x) == "number"
end
--[==[
Returns {true} if `x` is an integer, or {false} if not.]==]
function export.is_integer(x)
return x and type(x) == "number" and x % 1 == 0 or false
end
is_integer = export.is_integer
--[==[
Returns {true} if `x` is a positive integer (or zero if the `include_0` flag is set), or {false} if not.]==]
function export.is_positive_integer(x, include_0)
return x and type(x) == "number" and (x > 0 or include_0 and x == 0) and x % 1 == 0 or false
end
--[==[
Returns {true} is `x` is [[w:NaN|NaN]] (Not a Number), or {false} if not.
NaN is a value that has the type "number", but does not represent an actual numeric value; it has the unique property that if {x} is NaN, {x ~= x} evaluates to {true}.]==]
function export.is_NaN(x)
return x ~= x
end
--[==[
Returns the base-10 logarithm of `x`.
This function should be used instead of {math.log10}, which is deprecated and may stop working if Scribunto is updated to a more recent Lua version.]==]
function export.log10(x) -- Structured like this so that module documentation works.
local log10 = math.log10
if log10 ~= nil then
return log10
end
local log = math.log
return log(10, 10) == 1 and function(x) -- Lua 5.2
return log(x, 10)
end or function(x) -- Lua 5.1
return log(x) * 0.43429448190325182765112891891660508229439700580367 -- log10(e)
end
end
export.log10 = export.log10() -- Sets the actual returned function.
local function integer_error(x, param, func_name)
local type_x = type(x)
error(format(
"bad argument #%d to '%s' (integer expected, got %s)",
param, func_name, type_x == "number" and tostring(x) or type_x
), 3)
end
--[==[
Converts a decimal number to hexadecimal. If `include_prefix` is set, the returned number will include the 0x prefix.]==]
function export.to_hex(dec, include_prefix)
dec = tonumber(dec) or dec
if not is_integer(dec) then
integer_error(dec, 1, "to_hex")
end
local neg = dec < 0
if neg then
dec = -dec
end
-- Inputs >= 2^64 cause string.format to return "0".
if dec >= 0x1p64 then
error("integer overflow in 'to_hex': cannot convert inputs with a magnitude greater than or equal to 2^64 (18446744073709551616)", 2)
end
-- string.format treats hex numbers as unsigned, so any sign must be added manually.
return format("%s%s%X", neg and "-" or "", include_prefix and "0x" or "", dec)
end
--[==[
Returns the greatest common divisor of an arbitrary number of input numbers.]==]
function export.gcd(x, ...)
x = tonumber(x) or x
if not is_integer(x) then
integer_error(x, 1, "gcd")
end
local q, args_len, integers = ..., select("#", ...)
-- Compute p_1 = gcd(n_1, n_2), p_2 = gcd(p_1, n_3), ... i.e. compute GCD by Euclid's algorithm for the current result and the next number.
for i = 2, args_len + 1 do
q = tonumber(q) or q
if not is_integer(q) then
integer_error(q, i, "gcd")
elseif x ~= 1 then -- If x is 1, validate remaining inputs.
-- GCD of two integers x, q with Euclid's algorithm.
while q ~= 0 do
x, q = q, x % q
end
end
if i <= args_len then
-- Only create a table if absolutely necessary, as it's inefficient.
if i == 2 then
integers = {...}
end
q = integers[i]
end
end
return x < 0 and -x or x
end
--[==[
Returns the least common multiple of an arbitrary number of input numbers.]==]
function export.lcm(x, ...)
x = tonumber(x) or x
if not is_integer(x) then
integer_error(x, 1, "lcm")
end
local q, args_len, integers = ..., select("#", ...)
-- Compute the product of all inputs as p and GCD as x.
for i = 2, args_len + 1 do
q = tonumber(q) or q
if not is_integer(q) then
integer_error(q, i, "lcm")
elseif x ~= 0 then -- If x is 0, validate remaining inputs.
-- Compute the product.
local p = x * q
-- GCD of two integers x, q with Euclid's algorithm.
while q ~= 0 do
x, q = q, x % q
end
-- Divide product by the GCD to get new LCM.
x = p / x
end
if i <= args_len then
-- Only create a table if absolutely necessary, as it's inefficient.
if i == 2 then
integers = {...}
end
q = integers[i]
end
end
return x < 0 and -x or x
end
return export
9iueib95u6jd0lc3zzrya3gsltprarl
著る
0
448012
4388182
2025-07-06T15:08:27Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|き|yomi=k}} {{ja-see|着る}}
4388182
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|き|yomi=k}}
{{ja-see|着る}}
4eec3bl9b6vkt3yv752lwegr7o43t60
似る
0
448013
4388186
2025-07-06T15:28:20Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|に|yomi=k|alt=肖る}} === 발음 === {{ja-pron|にる|acc=0|acc_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}} === 동사 === {{ja-verb|にる|type=2|tr=자동사}} # [[닮다]], [[비슷하다]] #: {{ux|ja|双%子のように'''似て'''いる|ふた%ご の よう に '''にて''' いる|쌍둥이처럼 '''닮아''' 있다}} #: {{ux|ja|夕顔に'''似た'''白い花|ゆうがお に '''にた'''...
4388186
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|に|yomi=k|alt=肖る}}
=== 발음 ===
{{ja-pron|にる|acc=0|acc_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}}
=== 동사 ===
{{ja-verb|にる|type=2|tr=자동사}}
# [[닮다]], [[비슷하다]]
#: {{ux|ja|双%子のように'''似て'''いる|ふた%ご の よう に '''にて''' いる|쌍둥이처럼 '''닮아''' 있다}}
#: {{ux|ja|夕顔に'''似た'''白い花|ゆうがお に '''にた''' しろい はな|박꽃을 '''닮은''' 하얀 꽃}}
# [[유사하다]]
#: {{ux|ja|意味の'''似た'''言%葉|いみ の '''にた''' こと%ば|의미가 '''비슷한''' 단어}}
# (…に似ず…だ의 형태로) ~[[답다|답지]] [[않다|않게]] ~[[하다]]
#: {{ux|ja|外見に'''似ず'''たくましい|がいけん に '''にず''' たくましい|외모와는 '''달리''' 억세다}}
#: {{ux|ja|彼は年齢に'''似ず'''落ち着いている|かれ は ねんれい に '''にず''' おちついている|그는 나이에 '''어울리지 않게''' 침착하다}}
==== 활용형 ====
{{ja-conj}}
q3tvs3lzstmi8owxlnjskehhx23uv10
肖る
0
448014
4388187
2025-07-06T15:31:38Z
CHK2605
33979
새 문서: ==일본어== === 어원 1 === {{ja-kanjitab|あやか|yomi=k}} {{ja-see|あやかる}} === 어원 2 === {{ja-kanjitab|に|y=k}} {{ja-see|似る}}
4388187
wikitext
text/x-wiki
==일본어==
=== 어원 1 ===
{{ja-kanjitab|あやか|yomi=k}}
{{ja-see|あやかる}}
=== 어원 2 ===
{{ja-kanjitab|に|y=k}}
{{ja-see|似る}}
3lfluttd0ikhrjtrtgm9ltnap9vt0th
4388190
4388187
2025-07-06T15:40:54Z
CHK2605
33979
4388190
wikitext
text/x-wiki
==일본어==
=== 어원 1 ===
{{ja-kanjitab|あやか|yomi=k}}
==== 발음 ====
{{ja-pron|あやかる|acc=3|acc_ref=DJR}}
==== 동사 ====
{{ja-verb|type=1|あやかる|tr=자동사|hhira=あやかる}}
# [[본받다]], [[영향]]을 [[받다]]
#: {{ux|ja|彼の幸運に'''肖りたい'''|かれ の こううん に '''あやかりたい'''|그의 행운을 '''본받고''' 싶다}}
===== 활용형 =====
{{ja-conj}}
=== 어원 2 ===
{{ja-kanjitab|に|y=k}}
{{ja-see|似る}}
q9v8hrgprfejk4750i2u033flgtmbpl
煮る
0
448015
4388188
2025-07-06T15:34:33Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|に|yomi=k}} === 발음 === {{ja-pron|にる|acc=0|acc_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}} === 동사 === {{ja-verb|にる|type=2|tr=타동사}} # [[삶다]], [[끓이다]], [[조리다]] #: {{ux|ja|強%火で'''煮る'''|つよ%び で '''にる'''|센 불로 '''끓이다'''}} #: {{ux|ja|野%菜を柔らかくなるまで'''煮る'''|や%さい を やわらかく なる まで '''にる'...
4388188
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|に|yomi=k}}
=== 발음 ===
{{ja-pron|にる|acc=0|acc_loc={{w|도쿄 방언|도쿄}}|acc_ref=DJR,NHK|acc2=1|acc2_loc={{w|미시마섬|미시마}}}}
=== 동사 ===
{{ja-verb|にる|type=2|tr=타동사}}
# [[삶다]], [[끓이다]], [[조리다]]
#: {{ux|ja|強%火で'''煮る'''|つよ%び で '''にる'''|센 불로 '''끓이다'''}}
#: {{ux|ja|野%菜を柔らかくなるまで'''煮る'''|や%さい を やわらかく なる まで '''にる'''|야채를 부드러워질 때까지 '''삶다'''}}
==== 활용형 ====
{{ja-conj}}
3r8cmkakde3g50frmgyns2yg4z3zau4
あやかる
0
448016
4388191
2025-07-06T15:41:38Z
CHK2605
33979
새 문서: == 일본어 == {{ja-see|肖る}}
4388191
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|肖る}}
2s29gwy7dbmz03ik1o76miyjxwh0h46
下りる
0
448017
4388192
2025-07-06T15:54:11Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|お|yomi=k|alt=降りる}} === 발음 === {{ja-pron|おりる|acc=2|acc_ref=DJR,NHK}} === 동사 === {{ja-verb|type=2|tr=자동사|おりる}} # [[내려가다]], [[내려오다]] #: {{ux|ja|山を'''下りる'''|やま を '''おりる'''|산을 '''내려오다'''}} #: {{ux|ja|木から'''下りる'''|き から '''おりる'''|나무에서 '''내려오다'''}} #: {{ux|ja|階段を'''下りる'''|かいだん を '''おりる'''|계단을 '''내...
4388192
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|yomi=k|alt=降りる}}
=== 발음 ===
{{ja-pron|おりる|acc=2|acc_ref=DJR,NHK}}
=== 동사 ===
{{ja-verb|type=2|tr=자동사|おりる}}
# [[내려가다]], [[내려오다]]
#: {{ux|ja|山を'''下りる'''|やま を '''おりる'''|산을 '''내려오다'''}}
#: {{ux|ja|木から'''下りる'''|き から '''おりる'''|나무에서 '''내려오다'''}}
#: {{ux|ja|階段を'''下りる'''|かいだん を '''おりる'''|계단을 '''내려가다'''}}
# (물건이) [[내려오다]], [[닫히다]]
#: {{ux|ja|シャッターが'''下りる'''|シャッター が '''おりる'''|셔터가 '''내려오다'''}}
#: {{ux|ja|幕が'''下りる'''|まく が '''おりる'''|막이 '''내리다'''}}
# (몸 밖으로) [[나오다]], (열 등이) [[내리다]]
#: {{ux|ja|回%虫が'''下りる'''|かい%ちゅう が '''おりる'''|회충이 '''나오다'''}}
#: {{ux|ja|熱が'''下りる'''|ねつ が '''おりる'''|열이 '''내리다'''}}
# [[벗어나다]], [[없어지다]]
#: {{ux|ja|胸のつかえが'''下りる'''|むね の つかえ が '''おりる'''|가슴의 답답함이 '''해소되다'''}}
# [[물러나다]], [[사임하다]]
#: {{ux|ja|代%表の座を'''下りる'''|だい%ひょう の ざ を '''おりる'''|대표 자리에서 '''내려오다'''}}
# [[지급되다]], [[허가되다]]
#: {{ux|ja|許%可が'''下りた'''|きょ%か が '''おりた'''|허가가 '''났다'''}}
# [[기권하다]], [[포기하다]]
#: {{ux|ja|勝ち目がないので'''下りる'''|かちめ が ない ので '''おりる'''|승산이 없어서 '''기권하다'''}}
==== 활용형 ====
{{ja-conj}}
==== 반의어 ====
* {{ja-r|上がる|あがる}}
9d9muvjyzi9alqerna7zz99wjim0nnr
落る
0
448018
4388197
2025-07-07T02:09:14Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|yomi=k|おち}} {{ja-see|落ちる}}
4388197
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|yomi=k|おち}}
{{ja-see|落ちる}}
tvolturdsk4rw9d2tdhldn2jfumt2pg
零ちる
0
448019
4388198
2025-07-07T02:10:02Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|yomi=k|お}} {{ja-see|落ちる}}
4388198
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|yomi=k|お}}
{{ja-see|落ちる}}
em5wx09kmeaalcv65135n8iygltww9c
堕ちる
0
448020
4388199
2025-07-07T02:11:19Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|お|yomi=k}} {{ja-see|落ちる}}
4388199
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|yomi=k}}
{{ja-see|落ちる}}
rh7d8c8qo9eke2wen72cu04m83fxtgy
墮ちる
0
448021
4388200
2025-07-07T02:11:35Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|お|yomi=k}} {{ja-see|落ちる}}
4388200
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|yomi=k}}
{{ja-see|落ちる}}
rh7d8c8qo9eke2wen72cu04m83fxtgy
墜ちる
0
448022
4388201
2025-07-07T02:12:34Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|yomi=k|お}} {{ja-see|落ちる}}
4388201
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|yomi=k|お}}
{{ja-see|落ちる}}
em5wx09kmeaalcv65135n8iygltww9c
熾きる
0
448023
4388204
2025-07-07T02:22:43Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|お|yomi=k}} === 발음 === {{ja-pron|おきる}} === 동사 === {{ja-verb|おきる|type=2|tr=자동사}} # [[불붙다]], [[활활]] [[타오르다]] #: {{ux|ja|炭%火が'''熾きる'''|すみ%び が '''おきる'''|숯불이 '''활활 타오르다'''}} ==== 활용형 ==== {{ja-conj}}
4388204
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|お|yomi=k}}
=== 발음 ===
{{ja-pron|おきる}}
=== 동사 ===
{{ja-verb|おきる|type=2|tr=자동사}}
# [[불붙다]], [[활활]] [[타오르다]]
#: {{ux|ja|炭%火が'''熾きる'''|すみ%び が '''おきる'''|숯불이 '''활활 타오르다'''}}
==== 활용형 ====
{{ja-conj}}
5ny5fy1vc4sd2acscijsnwtrrfwalfj
鋳る
0
448024
4388207
2025-07-07T03:23:57Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} === 발음 === {{ja-pron|いる|acc=1|acc_ref=DJR}} === 동사 === {{ja-verb|tr=타동사|type=2|いる}} # [[주조하다]] #: {{ux|ja|鐘を'''鋳る'''|かね を '''いる'''|종을 '''주조하다'''}} #: {{ux|ja|貨%幣を'''鋳る'''|か%へい を '''いる'''|화폐를 '''주조하다'''}} ==== 활용형 ==== {{ja-conj}}
4388207
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
=== 발음 ===
{{ja-pron|いる|acc=1|acc_ref=DJR}}
=== 동사 ===
{{ja-verb|tr=타동사|type=2|いる}}
# [[주조하다]]
#: {{ux|ja|鐘を'''鋳る'''|かね を '''いる'''|종을 '''주조하다'''}}
#: {{ux|ja|貨%幣を'''鋳る'''|か%へい を '''いる'''|화폐를 '''주조하다'''}}
==== 활용형 ====
{{ja-conj}}
gsab1cxe0jtvfqdm9ouq28yfrtkpjp0
鑄る
0
448025
4388208
2025-07-07T03:24:40Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} {{ja-see|鋳る}}
4388208
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
{{ja-see|鋳る}}
n5l8gxnpmff0j14pc6087ahq6ihj3tq
率る
0
448026
4388209
2025-07-07T03:28:19Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k|alt=将る|kyu=將る}} === 동사 === {{ja-verb|いる|type=2|tr=타동사|hhira=ゐる}} # {{라벨|ja|고어}} [[데리다|데리고]] [[가다]], [[인솔하다]] # {{라벨|ja|고어}} [[지니다]] ==== 활용형 ==== {{ja-conj}}
4388209
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k|alt=将る|kyu=將る}}
=== 동사 ===
{{ja-verb|いる|type=2|tr=타동사|hhira=ゐる}}
# {{라벨|ja|고어}} [[데리다|데리고]] [[가다]], [[인솔하다]]
# {{라벨|ja|고어}} [[지니다]]
==== 활용형 ====
{{ja-conj}}
8m80myy93626lm4z64u69q6uidhqequ
將る
0
448027
4388211
2025-07-07T03:34:21Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} {{ja-see|率る}}
4388211
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
{{ja-see|率る}}
14ka74jjgbg2oanl3v1ny37wa7nl6yq
将る
0
448028
4388212
2025-07-07T03:34:36Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} {{ja-see|率る}}
4388212
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
{{ja-see|率る}}
14ka74jjgbg2oanl3v1ny37wa7nl6yq
煎る
0
448029
4388213
2025-07-07T03:38:01Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k|alt=炒る,熬る}} === 발음 ==== {{ja-pron|いる|acc=1|acc_ref=SMK2,NHK}} === 동사 === {{ja-verb|いる|tr=타동사|type=1}} # [[볶다]], [[지지다]] #: {{ux|ja|豆を'''煎る'''|まめ を '''いる'''|콩을 '''볶다'''}} #: {{ux|ja|塩を'''煎って'''使う|しお を '''いって''' つかう|소금을 '''볶아서''' 사용하다}} ==== 활용형 ==== {{ja-conj}}
4388213
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k|alt=炒る,熬る}}
=== 발음 ====
{{ja-pron|いる|acc=1|acc_ref=SMK2,NHK}}
=== 동사 ===
{{ja-verb|いる|tr=타동사|type=1}}
# [[볶다]], [[지지다]]
#: {{ux|ja|豆を'''煎る'''|まめ を '''いる'''|콩을 '''볶다'''}}
#: {{ux|ja|塩を'''煎って'''使う|しお を '''いって''' つかう|소금을 '''볶아서''' 사용하다}}
==== 활용형 ====
{{ja-conj}}
pmribwahw442gh383gry9if3zpw57cc
炒る
0
448030
4388214
2025-07-07T03:39:30Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} {{ja-see|煎る}}
4388214
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
{{ja-see|煎る}}
91ca26nqen2cl55y1utfl8zhggwxaoa
熬る
0
448031
4388215
2025-07-07T03:39:43Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} {{ja-see|煎る}}
4388215
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
{{ja-see|煎る}}
91ca26nqen2cl55y1utfl8zhggwxaoa
沃る
0
448032
4388218
2025-07-07T03:50:53Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} === 발음 === {{ja-pron|いる}} === 동사 === {{ja-verb|tr=타동사|type=2|いる}} # {{라벨|ja|고어}} [[물]]을 [[붓다]], [[뿌리다]], [[끼얹다]] ==== 활용형 ==== {{ja-conj}}
4388218
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
=== 발음 ===
{{ja-pron|いる}}
=== 동사 ===
{{ja-verb|tr=타동사|type=2|いる}}
# {{라벨|ja|고어}} [[물]]을 [[붓다]], [[뿌리다]], [[끼얹다]]
==== 활용형 ====
{{ja-conj}}
0iftxt7zc5kyb1j4kgj9d6yw9n0v43d
熟る
0
448033
4388219
2025-07-07T03:56:04Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|い|yomi=k}} === 발음 === {{ja-pron|いる}} === 동사 === {{ja-verb|tr=자동사|type=1|いる}} # {{라벨|ja|고어}} (열매가) [[익다]] ==== 활용형 ==== {{ja-conj}}
4388219
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|い|yomi=k}}
=== 발음 ===
{{ja-pron|いる}}
=== 동사 ===
{{ja-verb|tr=자동사|type=1|いる}}
# {{라벨|ja|고어}} (열매가) [[익다]]
==== 활용형 ====
{{ja-conj}}
234iitjncn9ol7zv1hzb3rdupjbof7x
顕れる
0
448034
4388223
2025-07-07T04:15:20Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|あらわ|yomi=k}} {{ja-see|現れる}}
4388223
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あらわ|yomi=k}}
{{ja-see|現れる}}
sxvmx8a9dy1urkibajdm82q7st0f8x0
顯れる
0
448035
4388224
2025-07-07T04:15:29Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|あらわ|yomi=k}} {{ja-see|現れる}}
4388224
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あらわ|yomi=k}}
{{ja-see|現れる}}
sxvmx8a9dy1urkibajdm82q7st0f8x0
現われる
0
448036
4388226
2025-07-07T04:16:21Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|あら|yomi=k}} {{ja-see|現れる}}
4388226
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あら|yomi=k}}
{{ja-see|現れる}}
cayga9wxk5pfozla5yl0cx6puor36nm
表われる
0
448037
4388227
2025-07-07T04:16:56Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|あら|yomi=k}} {{ja-see|現れる}}
4388227
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あら|yomi=k}}
{{ja-see|現れる}}
cayga9wxk5pfozla5yl0cx6puor36nm
露れる
0
448038
4388228
2025-07-07T04:17:17Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|あらわ|yomi=k}} {{ja-see|現れる}}
4388228
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|あらわ|yomi=k}}
{{ja-see|現れる}}
sxvmx8a9dy1urkibajdm82q7st0f8x0
馬鹿気る
0
448039
4388230
2025-07-07T04:57:52Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|ば|か|け|k3=げ|yomi=kanon,k,g}} {{ja-see|馬鹿げる}}
4388230
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|ば|か|け|k3=げ|yomi=kanon,k,g}}
{{ja-see|馬鹿げる}}
2d3rop27dowbnpn8aqv7764fem7tar4
バカげる
0
448040
4388231
2025-07-07T04:58:34Z
CHK2605
33979
새 문서: == 일본어 == {{ja-see|馬鹿げる}}
4388231
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|馬鹿げる}}
iuecpce0sz9r82425gl0w7wai5tcgy1
馬鹿氣る
0
448041
4388232
2025-07-07T04:58:48Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|ば|か|け|k3=げ|yomi=kanon,k,g}} {{ja-see|馬鹿げる}}
4388232
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|ば|か|け|k3=げ|yomi=kanon,k,g}}
{{ja-see|馬鹿げる}}
2d3rop27dowbnpn8aqv7764fem7tar4
分かれる
0
448042
4388234
2025-07-07T05:20:18Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|わ|yomi=k|alt=分れる}} === 발음 === {{ja-pron|わかれる|acc=3}} === 동사 === {{ja-verb|わかれる|type=2|tr=자동사}} # (물리적으로) [[갈라지다]], [[나뉘다]] #: {{ux|ja|道が四方に'''分かれる'''|みち が しほう に '''わかれる'''|길이 사방으로 '''갈라지다'''}} #: {{ux|ja|二%手に'''分かれて'''敵を追う|ふた%て に '''わかれて''' てき を おう|두 패로 '''나뉘어''' 적...
4388234
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|わ|yomi=k|alt=分れる}}
=== 발음 ===
{{ja-pron|わかれる|acc=3}}
=== 동사 ===
{{ja-verb|わかれる|type=2|tr=자동사}}
# (물리적으로) [[갈라지다]], [[나뉘다]]
#: {{ux|ja|道が四方に'''分かれる'''|みち が しほう に '''わかれる'''|길이 사방으로 '''갈라지다'''}}
#: {{ux|ja|二%手に'''分かれて'''敵を追う|ふた%て に '''わかれて''' てき を おう|두 패로 '''나뉘어''' 적을 쫓다}}
# (구조적으로) [[나뉘다]], [[구성되다]]
#: {{ux|ja|この本は大きく三つのパートに'''分かれる'''|この ほん は おおきく みっつ の パート に '''わかれる'''|이 책은 크게 세 부분으로 '''나뉜다'''}}
#: {{ux|ja|物%語は三%章%節に'''分かれる'''|もの%がたり は さん%しょう%せつ に '''わかれる'''|이야기는 세 개의 장으로 '''구성된다'''}}
# (의견, 운명 등이) [[갈리다]], [[차이]]가 [[나다]]
#: {{ux|ja|意%見が'''分かれる'''|い%けん が '''わかれる'''|의견이 '''갈리다'''}}
#: {{ux|ja|生存者と死%者との運命が'''分かれた'''場%所|せいぞんしゃ と し%しゃ との うんめい が '''わかれた''' ば%しょ|생존자와 사망자의 운명이 '''갈린''' 장소}}
==== 활용형 ====
{{ja-conj}}
fut0utgfb7lf24xxspokxxjt9vjch1x
틀:ja-verb form
10
448043
4388236
2025-07-07T05:26:11Z
CHK2605
33979
새 문서: <includeonly>{{#invoke:Jpan-headword|show|ja|verb forms}}</includeonly><noinclude>{{설명문서}}</noinclude>
4388236
wikitext
text/x-wiki
<includeonly>{{#invoke:Jpan-headword|show|ja|verb forms}}</includeonly><noinclude>{{설명문서}}</noinclude>
cunqiz89j80bhmywfjmdnzyhuywzegh
押寄せる
0
448044
4388239
2025-07-07T05:44:34Z
CHK2605
33979
새 문서: == 일본어 == {{ja-kanjitab|おし|よ|yomi=k}} {{ja-see|押し寄せる}}
4388239
wikitext
text/x-wiki
== 일본어 ==
{{ja-kanjitab|おし|よ|yomi=k}}
{{ja-see|押し寄せる}}
7ormsxxvso9du4duboq00mp31qgxu3v
おしよせる
0
448045
4388240
2025-07-07T05:45:16Z
CHK2605
33979
새 문서: == 일본어 == {{ja-see|押し寄せる}}
4388240
wikitext
text/x-wiki
== 일본어 ==
{{ja-see|押し寄せる}}
box7fjt73qw07c7ntdbhve8lld8l0e1
모듈:zh-glyph
828
448046
4388243
2025-07-07T08:51:43Z
CHK2605
33979
새 문서: local concat = table.concat local insert = table.insert local load_data = mw.loadData local new_title = mw.title.new local process_params = require("Module:parameters").process local data = load_data("Module:zh/data/glyph-data") local export = {} function export.main(frame) local boolean = {type = "boolean"} local args = process_params(frame:getParent().args, { [1] = true, ["no_img"] = boolean, ["no_phon"] = boolean, }) local target_page = args[1] or load_data("Mo...
4388243
Scribunto
text/plain
local concat = table.concat
local insert = table.insert
local load_data = mw.loadData
local new_title = mw.title.new
local process_params = require("Module:parameters").process
local data = load_data("Module:zh/data/glyph-data")
local export = {}
function export.main(frame)
local boolean = {type = "boolean"}
local args = process_params(frame:getParent().args, {
[1] = true,
["no_img"] = boolean,
["no_phon"] = boolean,
})
local target_page = args[1] or load_data("Module:headword/data").pagename
local showEras, showScripts, showImgs, hideText = {}, {}, {}, {}
local success, data_module = pcall(load_data, "Module:zh/data/glyph-data/" .. target_page)
local char_data = {
["bronze"] = {},
["oracle"] = {},
["silk"] = {},
["slip"] = {},
["seal"] = {},
["bigseal"] = {},
}
local count = 0
if not args.no_img then
for _, era in ipairs(data.eras) do
local count_era = 0
for _, script in ipairs(era[2]) do
local img_link = target_page .. "-" .. script .. ".svg"
local img_file = new_title("Media:" .. img_link)
if img_file.exists and not img_file.isRedirect then
count = count + 1
count_era = count_era + 1
insert(showScripts, "\n!" .. data.scripts[script])
insert(showImgs, "\n| style=\"padding: 8px;\"|[[File:" .. img_link .. "|60px|class=mw-invert skin-invert]]")
end
end
if count_era > 0 then
insert(showEras, "\n! colspan=\"" .. count_era .. "\"|" .. era[1])
end
end
end
if success then
local img_count = 0
for _ in ipairs(data_module[1]) do
img_count = img_count + 1
end
success = success and new_title("Media:ACC-" .. data_module[1][img_count] .. ".svg").exists
end
if success then
for _, img in ipairs(data_module[1]) do
insert(char_data[data.script_abbrev[img:match("^.[\128-\191]*")]], '<div class="gallerybox" style="display:inline-block"' ..
'><div style="text-align:center">[[File:ACC-' .. img ..
'.svg|60px|class=mw-invert skin-invert]]<div class="gallerytext"><small>' .. img .. '</small></div></div></div>')
end
for i, script in ipairs(data.hide_scripts) do
if char_data[script][1] then
if i ~= 1 then
insert(hideText, "<hr>")
end
insert(hideText, "<div class=\"gallery\"><div><b>" .. data.scripts[script] .. "</b></div>" .. concat(char_data[script]) .. "</div>")
end
end
insert(hideText, '\n|- class="vsHide"\n| width="100%" align="left" colspan="' .. (count == 0 and 1 or count) ..
'|\n<div class="standard-box mw-collapsible mw-collapsed"><b>참고 자료</b>:' ..
'<div class="mw-collapsible-content">\n주로 리처드 시어스(Richard Sears)의 \' ' ..
"[http://hanziyuan.net/#" ..
target_page .. " 자원 사이트]([[c:Commons:Ancient Chinese characters/Richard Sears Agreement" ..
"|승인됨]])에서 가져왔으며,<br>이는 다음을 포함한 고대 중국 한자의 다양한 자료를 기반으로 한다" ..
", including:\n* ''설문해자'' (소전), \n* ''금문편'' (금문)" ..
", \n* ''육서통'' (육서통 자체) and \n* ''은허 갑골문'' (갑골문).</div></div>")
end
local glyph_forms
if ( success or count > 0 ) and not args.no_img then
glyph_forms = "<div style=\"overflow:auto;width:fit-content;max-width:100%\">\n" .. [=[{| class="wikitable zh-glyph]=] .. (success and ' vsSwitcher" data-toggle-category="forms' or "") ..
[=[" cellpadding=7 style="border-spacing: 1px; border: 1px solid darkgray; text-align:center"
! class="vsToggleElement" colspan="]=] .. (count == 0 and 1 or count) ..
[=[" |<span lang="zh-Hant" class="Hani">]=] .. target_page .. [=[</span>의 역사적 형태]=] ..
(count > 0
and "\n|-" .. concat(showEras) .. "\n|-" .. concat(showScripts) .. "\n|-" .. concat(showImgs)
or "") ..
(success
and "\n|- class=\"vsHide\"\n| align=\"center\" colspan=\"" .. (count == 0 and 1 or count) ..
"|" .. concat(hideText, "")
or "") ..
"\n|}\n</div>"
else
glyph_forms = ""
end
local phonText = {}
local list = load_data("Module:zh-glyph/phonetic/list")
local phonComp = list[target_page] or nil
if phonComp and not args.no_phon then
insert(phonText,
'\n' ..
'<div class="NavFrame" style="border:0px; max-width: 37em; text-align:center;">' ..
'<div class="NavHead" style="font-size:105%; border:1px solid var(--border-color-base, #a2a9b1); background-color:var(--wikt-palette-indigo-3, #e0defa); text-align:center; margin:0">' ..
'동일한 [[위키낱말사전:중국어/형성자 계열|형성자 계열]]의 글자' ..
' (<span class="Hani">[[' .. phonComp .. ']]</span>)' ..
' <small>([[위키낱말사전:중국어/참고 문헌|Zhengzhang, 2003]])</small> ' ..
'</div>' ..
'<div class="NavContent" style="border-top: 0">' ..
'\n{| class="wikitable zh-glyph" style="margin-top: 0; width: 100%; display: table; border-top: 0"' ..
'\n|-\n! align="center" style="border-top: 0"|\n! style="border-top: 0" | Old Chinese'
)
local phonData = load_data("Module:zh-glyph/phonetic")
local m_och = require("Module:och-pron").retrieve_pron
for item in phonData[phonComp]:gmatch(".[\128-\191]*") do
insert(phonText, '\n|-\n| align="center" |<span class="Hani">[[' .. item .. '#중국어|' .. item .. ']]</span>')
local IPA = m_och(item, nil, true)
if IPA then
insert(phonText, '\n|<small><span class="IPA">' .. IPA .. '</span></small>')
end
end
insert(phonText, '\n|}\n</div></div>')
end
return glyph_forms .. concat(phonText)
end
return export
hem30eeyrz3tmjqgrzelsebs6yjd2qr
4388244
4388243
2025-07-07T08:52:05Z
CHK2605
33979
4388244
Scribunto
text/plain
local concat = table.concat
local insert = table.insert
local load_data = mw.loadData
local new_title = mw.title.new
local process_params = require("Module:parameters").process
local data = load_data("Module:zh/data/glyph-data")
local export = {}
function export.main(frame)
local boolean = {type = "boolean"}
local args = process_params(frame:getParent().args, {
[1] = true,
["no_img"] = boolean,
["no_phon"] = boolean,
})
local target_page = args[1] or load_data("Module:headword/data").pagename
local showEras, showScripts, showImgs, hideText = {}, {}, {}, {}
local success, data_module = pcall(load_data, "Module:zh/data/glyph-data/" .. target_page)
local char_data = {
["bronze"] = {},
["oracle"] = {},
["silk"] = {},
["slip"] = {},
["seal"] = {},
["bigseal"] = {},
}
local count = 0
if not args.no_img then
for _, era in ipairs(data.eras) do
local count_era = 0
for _, script in ipairs(era[2]) do
local img_link = target_page .. "-" .. script .. ".svg"
local img_file = new_title("Media:" .. img_link)
if img_file.exists and not img_file.isRedirect then
count = count + 1
count_era = count_era + 1
insert(showScripts, "\n!" .. data.scripts[script])
insert(showImgs, "\n| style=\"padding: 8px;\"|[[File:" .. img_link .. "|60px|class=mw-invert skin-invert]]")
end
end
if count_era > 0 then
insert(showEras, "\n! colspan=\"" .. count_era .. "\"|" .. era[1])
end
end
end
if success then
local img_count = 0
for _ in ipairs(data_module[1]) do
img_count = img_count + 1
end
success = success and new_title("Media:ACC-" .. data_module[1][img_count] .. ".svg").exists
end
if success then
for _, img in ipairs(data_module[1]) do
insert(char_data[data.script_abbrev[img:match("^.[\128-\191]*")]], '<div class="gallerybox" style="display:inline-block"' ..
'><div style="text-align:center">[[File:ACC-' .. img ..
'.svg|60px|class=mw-invert skin-invert]]<div class="gallerytext"><small>' .. img .. '</small></div></div></div>')
end
for i, script in ipairs(data.hide_scripts) do
if char_data[script][1] then
if i ~= 1 then
insert(hideText, "<hr>")
end
insert(hideText, "<div class=\"gallery\"><div><b>" .. data.scripts[script] .. "</b></div>" .. concat(char_data[script]) .. "</div>")
end
end
insert(hideText, '\n|- class="vsHide"\n| width="100%" align="left" colspan="' .. (count == 0 and 1 or count) ..
'|\n<div class="standard-box mw-collapsible mw-collapsed"><b>참고 문헌</b>:' ..
'<div class="mw-collapsible-content">\n주로 리처드 시어스(Richard Sears)의 \' ' ..
"[http://hanziyuan.net/#" ..
target_page .. " 자원 사이트]([[c:Commons:Ancient Chinese characters/Richard Sears Agreement" ..
"|승인됨]])에서 가져왔으며,<br>이는 다음을 포함한 고대 중국 한자의 다양한 자료를 기반으로 한다" ..
", including:\n* ''설문해자'' (소전), \n* ''금문편'' (금문)" ..
", \n* ''육서통'' (육서통 자체) and \n* ''은허 갑골문'' (갑골문).</div></div>")
end
local glyph_forms
if ( success or count > 0 ) and not args.no_img then
glyph_forms = "<div style=\"overflow:auto;width:fit-content;max-width:100%\">\n" .. [=[{| class="wikitable zh-glyph]=] .. (success and ' vsSwitcher" data-toggle-category="forms' or "") ..
[=[" cellpadding=7 style="border-spacing: 1px; border: 1px solid darkgray; text-align:center"
! class="vsToggleElement" colspan="]=] .. (count == 0 and 1 or count) ..
[=[" |<span lang="zh-Hant" class="Hani">]=] .. target_page .. [=[</span>의 역사적 형태]=] ..
(count > 0
and "\n|-" .. concat(showEras) .. "\n|-" .. concat(showScripts) .. "\n|-" .. concat(showImgs)
or "") ..
(success
and "\n|- class=\"vsHide\"\n| align=\"center\" colspan=\"" .. (count == 0 and 1 or count) ..
"|" .. concat(hideText, "")
or "") ..
"\n|}\n</div>"
else
glyph_forms = ""
end
local phonText = {}
local list = load_data("Module:zh-glyph/phonetic/list")
local phonComp = list[target_page] or nil
if phonComp and not args.no_phon then
insert(phonText,
'\n' ..
'<div class="NavFrame" style="border:0px; max-width: 37em; text-align:center;">' ..
'<div class="NavHead" style="font-size:105%; border:1px solid var(--border-color-base, #a2a9b1); background-color:var(--wikt-palette-indigo-3, #e0defa); text-align:center; margin:0">' ..
'동일한 [[위키낱말사전:중국어/형성자 계열|형성자 계열]]의 글자' ..
' (<span class="Hani">[[' .. phonComp .. ']]</span>)' ..
' <small>([[위키낱말사전:중국어/참고 문헌|Zhengzhang, 2003]])</small> ' ..
'</div>' ..
'<div class="NavContent" style="border-top: 0">' ..
'\n{| class="wikitable zh-glyph" style="margin-top: 0; width: 100%; display: table; border-top: 0"' ..
'\n|-\n! align="center" style="border-top: 0"|\n! style="border-top: 0" | Old Chinese'
)
local phonData = load_data("Module:zh-glyph/phonetic")
local m_och = require("Module:och-pron").retrieve_pron
for item in phonData[phonComp]:gmatch(".[\128-\191]*") do
insert(phonText, '\n|-\n| align="center" |<span class="Hani">[[' .. item .. '#중국어|' .. item .. ']]</span>')
local IPA = m_och(item, nil, true)
if IPA then
insert(phonText, '\n|<small><span class="IPA">' .. IPA .. '</span></small>')
end
end
insert(phonText, '\n|}\n</div></div>')
end
return glyph_forms .. concat(phonText)
end
return export
cutl77umkcu88u9igmrtb32z9gmbg96
4388256
4388244
2025-07-07T10:59:08Z
CHK2605
33979
4388256
Scribunto
text/plain
local concat = table.concat
local insert = table.insert
local load_data = mw.loadData
local new_title = mw.title.new
local process_params = require("Module:parameters").process
local data = load_data("Module:zh/data/glyph-data")
local export = {}
function export.main(frame)
local boolean = {type = "boolean"}
local args = process_params(frame:getParent().args, {
[1] = true,
["no_img"] = boolean,
["no_phon"] = boolean,
})
local target_page = args[1] or load_data("Module:headword/data").pagename
local showEras, showScripts, showImgs, hideText = {}, {}, {}, {}
local success, data_module = pcall(load_data, "Module:zh/data/glyph-data/" .. target_page)
local char_data = {
["bronze"] = {},
["oracle"] = {},
["silk"] = {},
["slip"] = {},
["seal"] = {},
["bigseal"] = {},
}
local count = 0
if not args.no_img then
for _, era in ipairs(data.eras) do
local count_era = 0
for _, script in ipairs(era[2]) do
local img_link = target_page .. "-" .. script .. ".svg"
local img_file = new_title("Media:" .. img_link)
if img_file.exists and not img_file.isRedirect then
count = count + 1
count_era = count_era + 1
insert(showScripts, "\n!" .. data.scripts[script])
insert(showImgs, "\n| style=\"padding: 8px;\"|[[File:" .. img_link .. "|60px|class=mw-invert skin-invert]]")
end
end
if count_era > 0 then
insert(showEras, "\n! colspan=\"" .. count_era .. "\"|" .. era[1])
end
end
end
if success then
local img_count = 0
for _ in ipairs(data_module[1]) do
img_count = img_count + 1
end
success = success and new_title("Media:ACC-" .. data_module[1][img_count] .. ".svg").exists
end
if success then
for _, img in ipairs(data_module[1]) do
insert(char_data[data.script_abbrev[img:match("^.[\128-\191]*")]], '<div class="gallerybox" style="display:inline-block"' ..
'><div style="text-align:center">[[File:ACC-' .. img ..
'.svg|60px|class=mw-invert skin-invert]]<div class="gallerytext"><small>' .. img .. '</small></div></div></div>')
end
for i, script in ipairs(data.hide_scripts) do
if char_data[script][1] then
if i ~= 1 then
insert(hideText, "<hr>")
end
insert(hideText, "<div class=\"gallery\"><div><b>" .. data.scripts[script] .. "</b></div>" .. concat(char_data[script]) .. "</div>")
end
end
insert(hideText, '\n|- class="vsHide"\n| width="100%" align="left" colspan="' .. (count == 0 and 1 or count) ..
'|\n<div class="standard-box mw-collapsible mw-collapsed"><b>참고 문헌</b>:' ..
'<div class="mw-collapsible-content">\n주로 리처드 시어스(Richard Sears)의 \' ' ..
"[http://hanziyuan.net/#" ..
target_page .. " 자원 사이트]([[c:Commons:Ancient Chinese characters/Richard Sears Agreement" ..
"|승인됨]])에서 가져왔으며,<br>이는 다음을 포함한 고대 중국 한자의 다양한 자료를 기반으로 한다" ..
", including:\n* ''설문해자'' (소전), \n* ''금문편'' (금문)" ..
", \n* ''육서통'' (육서통 자체) and \n* ''은허 갑골문'' (갑골문).</div></div>")
end
local glyph_forms
if ( success or count > 0 ) and not args.no_img then
glyph_forms = "<div style=\"overflow:auto;width:fit-content;max-width:100%\">\n" .. [=[{| class="wikitable zh-glyph]=] .. (success and ' vsSwitcher" data-toggle-category="forms' or "") ..
[=[" cellpadding=7 style="border-spacing: 1px; border: 1px solid darkgray; text-align:center"
! class="vsToggleElement" colspan="]=] .. (count == 0 and 1 or count) ..
[=[" |<span lang="zh-Hant" class="Hani">]=] .. target_page .. [=[</span>의 역사적 형태]=] ..
(count > 0
and "\n|-" .. concat(showEras) .. "\n|-" .. concat(showScripts) .. "\n|-" .. concat(showImgs)
or "") ..
(success
and "\n|- class=\"vsHide\"\n| align=\"center\" colspan=\"" .. (count == 0 and 1 or count) ..
"|" .. concat(hideText, "")
or "") ..
"\n|}\n</div>"
else
glyph_forms = ""
end
local phonText = {}
local list = load_data("Module:zh-glyph/phonetic/list")
local phonComp = list[target_page] or nil
if phonComp and not args.no_phon then
insert(phonText,
'\n' ..
'<div class="NavFrame" style="border:0px; max-width: 37em; text-align:center;">' ..
'<div class="NavHead" style="font-size:105%; border:1px solid var(--border-color-base, #a2a9b1); background-color:var(--wikt-palette-indigo-3, #e0defa); text-align:center; margin:0">' ..
'동일한 [[위키낱말사전:중국어/형성자 계열|형성자 계열]]의 글자' ..
' (<span class="Hani">[[' .. phonComp .. ']]</span>)' ..
' <small>([[위키낱말사전:중국어/참고 문헌|Zhengzhang, 2003]])</small> ' ..
'</div>' ..
'<div class="NavContent" style="border-top: 0">' ..
'\n{| class="wikitable zh-glyph" style="margin-top: 0; width: 100%; display: table; border-top: 0"' ..
'\n|-\n! align="center" style="border-top: 0"|\n! style="border-top: 0" | 상고음'
)
local phonData = load_data("Module:zh-glyph/phonetic")
local m_och = require("Module:och-pron").retrieve_pron
for item in phonData[phonComp]:gmatch(".[\128-\191]*") do
insert(phonText, '\n|-\n| align="center" |<span class="Hani">[[' .. item .. '#중국어|' .. item .. ']]</span>')
local IPA = m_och(item, nil, true)
if IPA then
insert(phonText, '\n|<small><span class="IPA">' .. IPA .. '</span></small>')
end
end
insert(phonText, '\n|}\n</div></div>')
end
return glyph_forms .. concat(phonText)
end
return export
9zhnim9rg0heftcfdwzlw4rkdeuq3r5
모듈:zh/data/glyph-data
828
448047
4388245
2025-07-07T09:36:44Z
CHK2605
33979
새 문서: local data = {} data.eras = { { "[[w:상나라|상나라]]", { "bronze-shang", "oracle" } }, { "[[w:서주|서주]]", { "bronze", "oracle-zhouyuan" } }, { "[[w:춘추 시대|춘추 시대]]", { "bronze-spring" } }, { "[[w:전국 시대|전국 시대]]", { "bronze-warring", "silk", "slip" } }, { "『[[w:설문해자|설문해자]]』<br> ([[w:한나라|후한대]] [[w:허신 (후한)|허신]] 편찬)", { "zhou", "ancient", "odd", "seal", "vulgar" } }, { "『한간』<br> (...
4388245
Scribunto
text/plain
local data = {}
data.eras = {
{ "[[w:상나라|상나라]]", { "bronze-shang", "oracle" } },
{ "[[w:서주|서주]]", { "bronze", "oracle-zhouyuan" } },
{ "[[w:춘추 시대|춘추 시대]]", { "bronze-spring" } },
{ "[[w:전국 시대|전국 시대]]", { "bronze-warring", "silk", "slip" } },
{ "『[[w:설문해자|설문해자]]』<br> ([[w:한나라|후한대]] [[w:허신 (후한)|허신]] 편찬)", { "zhou", "ancient", "odd", "seal", "vulgar" } },
{ "『한간』<br> ([[w:송나라|송대]] 곽충서 편찬)", { "hanjian" } },
{ "『고문사성운』<br> ([[w:송나라|송대]] 편찬)", { "GWSSY" } },
{ "『집전고문운해』<br> ([[w:송나라|송대]] 편찬)", { "JZGWYH" } },
{ "『육서통』<br> ([[w:명나라|명대]] 민제급 편찬)", { "bigseal" } },
{ "『예변』<br> ([[w:청나라|청대]] 고애길 편찬)", { "clerical" } },
{ "[[w:개성석경|개성석경]]", { "kai-Kaicheng" } },
{ "『[[w:강희자전|강희자전]]』<br> ([[w:청나라|청대]] 편찬)", { "mingti-Kangxi" } },
}
data.scripts = {
["bronze-shang"] = "[[w:금문|금문]]",
["oracle"] = "[[w:갑골 문자|갑골 문자]]",
["oracle-zhouyuan"] = "[[w:갑골 문자|갑골 문자]]",
["bronze"] = "[[w:금문|금문]]",
["bronze-spring"] = "[[w:금문|금문]]",
["bronze-warring"] = "[[w:금문|금문]]",
["silk"] = "[[w:간독|초계 간백 문자]]",
["slip"] = "[[w:간독|진계 간독 문자]]",
["zhou"] = "[[w:주문 (한자 서체)|주문]]",
["ancient"] = "고문자",
["odd"] = "벽자",
["seal"] = "[[w:소전|소전]]",
["vulgar"] = "[[w:속자|속자]]",
["bigseal"] = "[[w:대전 (서체)|대전]] 전사체",
["hanjian"] = "고문자 전사체",
["GWSSY"] = "고문자 전사체",
["JZGWYH"] = "고문자 전사체",
["clerical"] = "[[w:예서|예서]]",
["kai-Kaicheng"] = "[[w:해서 (서체)|해서]]",
["mingti-Kangxi"] = "[[w:명조체|명조체]]",
}
data.hide_scripts = { "oracle", "bronze", "seal", "bigseal" }
data.script_abbrev = {
["B"] = "bronze",
["b"] = "bronze",
["31"] = "bronze",
["32"] = "bronze",
["33"] = "bronze",
["34"] = "bronze",
["j"] = "oracle",
["41"] = "oracle",
["42"] = "oracle",
["43"] = "oracle",
["51"] = "silk",
["52"] = "silk",
["53"] = "silk",
["71"] = "slip",
["Q"] = "slip",
["S"] = "silk",
["s"] = "seal",
["27"] = "seal",
["L"] = "bigseal",
}
return data
tgvdo55pyoi46aw45dk5hvm7zsuocd4
모듈:Scribunto
828
448048
4388247
2025-07-07T09:45:32Z
CHK2605
33979
새 문서: local export = {} local math_module = "Module:math" local dump = mw.dumpObject local format = string.format local gsub = string.gsub local match = string.match local php_trim -- defined below local sub = string.sub local tonumber = tonumber local tostring = tostring local type = type do local php_htmlspecialchars_data local function get_php_htmlspecialchars_data() php_htmlspecialchars_data, get_php_htmlspecialchars_data = { ["\""] = """, ["&"] = "&", ["'...
4388247
Scribunto
text/plain
local export = {}
local math_module = "Module:math"
local dump = mw.dumpObject
local format = string.format
local gsub = string.gsub
local match = string.match
local php_trim -- defined below
local sub = string.sub
local tonumber = tonumber
local tostring = tostring
local type = type
do
local php_htmlspecialchars_data
local function get_php_htmlspecialchars_data()
php_htmlspecialchars_data, get_php_htmlspecialchars_data = {
["\""] = """,
["&"] = "&",
["'"] = "'",
["<"] = "<",
[">"] = ">",
}, nil
return php_htmlspecialchars_data
end
--[==[Lua equivalent of PHP's {{code|php|htmlspecialchars($string)}}, which converts the characters `&"'<>` to HTML entities.
If the `quotes` flag is set to {"compat"}, then `'` will not be converted, and if it is set to {"noquotes"}, then neither `"` nor `'` will be converted.]==]
function export.php_htmlspecialchars(str, quotes)
if quotes == nil or quotes == "quotes" then
quotes = "'\""
elseif quotes == "compat" then
quotes = "\""
elseif quotes == "noquotes" then
quotes = ""
else
local quotes_type = type(quotes)
error('`quotes` must be "quotes", "compat", "noquotes" or nil; received ' ..
(quotes_type == "string" and dump(quotes) or "a " .. quotes_type))
end
return (gsub(str, "[&<>" .. quotes .. "]", php_htmlspecialchars_data or get_php_htmlspecialchars_data()))
end
end
do
local function tonumber_extended(...)
tonumber_extended = require(math_module).tonumber_extended
return tonumber_extended(...)
end
-- Normalizes a string for use in comparisons which emulate PHP's equals
-- operator, which coerces certain strings to numbers: those within the
-- range -2^63 to 2^63 - 1 which don't have decimal points or exponents are
-- coerced to integers, while any others are coerced to doubles if possible;
-- otherwise, they remain as strings. PHP and Lua have the same precision
-- for doubles, but Lua's integer precision range is -2^53 + 1 to 2^53 - 1.
-- Any integers within Lua's precision, as well as all doubles, are simply
-- coerced to numbers, but PHP integers outside of Lua's precision are
-- emulated as normalized strings, with leading 0s and any + sign removed.
-- The `not_long` flag is used for the second comparator if the first did
-- not get normalized to a long integer, as PHP will only coerce strings to
-- integers if it's possible for both comparators.
local function php_normalize_string(str, not_long)
local num = tonumber_extended(str, nil, true)
-- Must be a number that isn't ±infinity, NaN or hexadecimal.
if not num or match(str, "^%s*[+-]?0[xX]()") then
return str
-- If `not_long` is set or `num` is within Lua's precision, return as a
-- number.
elseif not_long or num < 9007199254740992 and num > -9007199254740992 then
return num, "number"
end
-- Check if it could be a long integer, and return as a double if not.
local sign, str_no_0 = match(str, "^%s*([+-]?)0*(%d+)$")
if not str_no_0 then
return num, "number"
end
-- Otherwise, check if it's a long integer. 2^63 is 9223372036854775808,
-- so slice off the last 15 digits and deal with the two parts
-- separately. If the integer value would be too high/low, return as a
-- string.
local high = tonumber(sub(str_no_0, 1, -16))
if high > 9223 then
return str
elseif high == 9223 then
local low = tonumber(sub(str_no_0, -15))
-- Range is -2^63 to 2^63 - 1 (not symmetrical).
if low > 372036854775808 or low == 372036854775808 and sign ~= "-" then
return str
end
end
return (sign == "+" and "" or sign) .. str_no_0, "long integer", num
end
--[==[Lua equivalent of PHP's {{code|php|===}} operator for strings.]==]
function export.php_string_equals(str1, str2)
if str1 == str2 then
return true
end
local str1, str1_type, str1_num = php_normalize_string(str1)
if str1 == str2 then
return true
elseif str1_type == "long integer" then
local str2, str2_type = php_normalize_string(str2)
return str2 == (str2_type == "number" and str1_num or str1)
elseif str1_type == "number" then
return str1 == php_normalize_string(str2, true)
end
return false
end
end
--[==[Lua equivalent of PHP's {{code|php|trim($string)}}, which trims {"\0"}, {"\t"}, {"\n"}, {"\v"}, {"\r"} and {" "}. This is useful when dealing with template parameters, since the native parser trims them like this.]==]
function export.php_trim(str)
return match(str, "[^ \t-\v\r%z].*%f[ \t-\v\r%z]") or ""
end
php_trim = export.php_trim
--[==[Lua equivalent of PHP's {{code|php|ltrim($string)}}, which trims {"\0"}, {"\t"}, {"\n"}, {"\v"}, {"\r"} and {" "} from the beginning of the input string.]==]
function export.php_ltrim(str)
return (gsub(str, "^[ \t-\v\r%z]+", ""))
end
--[==[Lua equivalent of PHP's {{code|php|rtrim($string)}}, which trims {"\0"}, {"\t"}, {"\n"}, {"\v"}, {"\r"} and {" "} from the end of the input string.]==]
function export.php_rtrim(str)
return match(str, "^.+%f[ \t-\v\r%z]") or ""
end
--[==[Takes a template or module parameter name as either a string or number, and returns the Scribunto-normalized form (i.e. the key that that parameter would have in a {frame.args} table). For example, {"1"} (a string) is normalized to {1} (a number), {" foo "} is normalized to {"foo"}, and {1.5} (a number) is normalized to {"1.5"} (a string). Inputs which cannot be normalized (e.g. booleans) return {nil}.
Strings are trimmed with {export.php_trim}, unless the `no_trim` flag is set. If it is, then string parameters are not trimmed, but strings may still be converted to numbers if they do not contain whitespace; this is necessary when normalizing keys into the form received by PHP during callbacks, before any trimming occurs (e.g. in the table of arguments when calling {frame:expandTemplates()}).
After trimming (if applicable), keys are then converted to numbers if '''all''' of the following are true:
# They are integers; i.e. no decimals or leading zeroes (e.g. {"2"}, but not {"2.0"} or {"02"}).
# They are ≤ 2{{sup|53}} and ≥ -2{{sup|53}}.
# There is no leading sign unless < 0 (e.g. {"2"} or {"-2"}, but not {"+2"} or {"-0"}).
# They contain no leading or trailing whitespace (which may be present when the `no_trim` flag is set).
Numbers are converted to strings if '''either''':
# They are not integers (e.g. {1.5}).
# They are > 2{{sup|53}} or < -2{{sup|53}}.
When converted to strings, integers ≤ 2{{sup|63}} and ≥ -2{{sup|63}} are formatted as integers (i.e. all digits are given), which is the range of PHP's integer precision, though the actual output may be imprecise since Lua's integer precision is > 2{{sup|53}} to < -2{{sup|53}}. All other numbers use the standard formatting output by {tostring()}.]==]
function export.scribunto_parameter_key(key, no_trim)
local key_type = type(key)
if key_type == "string" then
if not no_trim then
key = php_trim(key)
end
if match(key, "^()-?[1-9]%d*$") then
local num = tonumber(key)
-- Lua integers are only precise to 2^53 - 1, so specifically check
-- for 2^53 and -2^53 as strings, since a numerical comparison won't
-- work as it can't distinguish 2^53 from 2^53 + 1.
return (
num <= 9007199254740991 and num >= -9007199254740991 or
key == "9007199254740992" or
key == "-9007199254740992"
) and num or key
end
return key == "0" and 0 or key
elseif key_type == "number" then
-- No special handling needed for inf or NaN.
return key % 1 == 0 and (
key <= 9007199254740992 and key >= -9007199254740992 and key or
key <= 9223372036854775808 and key >= -9223372036854775808 and format("%d", key)
) or tostring(key)
end
return nil
end
--[==[Takes a template or module parameter value as either a string, number or boolean, and returns the Scribunto-normalized form (i.e. the value that that parameter would have in a {frame.args} table), which is always a string. For example, {"foo"} remains the same, {2} (a number) is normalized to {"2"} (a string), {true} is normalized to {"1"}, and {false} is normalized to {""}. Inputs which cannot be normalized (e.g. tables) return {nil}.
By default, returned values are not trimmed, which matches the treatment of unnamed parameters (e.g. `bar` in {{tl|<nowiki/>foo|bar}}). If the `named` flag is set, then returned values will be trimmed, which matches the treatment of named parameters (e.g. `baz` in {{tl|<nowiki/>foo|bar=baz}}).]==]
function export.scribunto_parameter_value(value, named)
local value_type = type(value)
if value_type == "string" then
return named and php_trim(value) or value
elseif value_type == "number" then
return tostring(value)
elseif value_type == "boolean" then
return value and "1" or ""
end
return nil
end
return export
90dvo9iqmpdordtuzghbnnl9rw4476r
모듈:parameters/track
828
448049
4388249
2025-07-07T09:51:26Z
CHK2605
33979
새 문서: local debug_track_module = "Module:debug/track" local string_gline_module = "Module:string/gline" local match = string.match local new_title = mw.title.new local require = require local traceback = debug.traceback local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function gline(...) gline = require(string_gline_module) return gline(...) end local params_title local function get_params_title() params_title, get_pa...
4388249
Scribunto
text/plain
local debug_track_module = "Module:debug/track"
local string_gline_module = "Module:string/gline"
local match = string.match
local new_title = mw.title.new
local require = require
local traceback = debug.traceback
local function debug_track(...)
debug_track = require(debug_track_module)
return debug_track(...)
end
local function gline(...)
gline = require(string_gline_module)
return gline(...)
end
local params_title
local function get_params_title()
params_title, get_params_title = new_title("parameters", 828), nil
return params_title
end
return function(page, param_name)
debug_track("parameters/" .. page)
if param_name ~= nil then
debug_track("parameters/" .. page .. "/" .. param_name .. "=")
end
-- Check through the traceback to get the calling module and function.
local mod_title
for line in gline((traceback())) do
local mod, func = match(line, "^\t*(.-):%d+: in function (.*)$")
-- Must match a conventional module, not a tail call, C function, in-
-- built Scribunto file etc. If `mod` matches `mod_title`, it means the
-- module has been seen before, so there is nothing else to check.
if mod and not (mod_title and mod == mod_title.prefixedText) then
mod_title = new_title(mod)
if mod_title and mod_title.namespace == 828 and not (
mod_title == (params_title or get_params_title()) or
mod_title:isSubpageOf(params_title)
) then
mod = mod_title.text
debug_track("parameters/" .. page .. "/" .. mod)
-- traceback() encloses function names in single quotes.
local funcname = match(func, "^'(.*)'$")
if funcname then
debug_track("parameters/" .. page .. "/" .. mod .. "/" .. funcname)
return
end
-- WHen a function is unnamed, line numbers are given after the
-- module name in angle brackets, directly after a separating
-- colon.
local funcline = match(func, "^<.-:(%d+)>$")
if funcline then
debug_track("parameters/" .. page .. "/" .. mod .. ":" .. funcline)
end
return
end
end
end
end
ep6rfkuslbwvncu36j3fa17iqe4seb6
모듈:string/gline
828
448050
4388250
2025-07-07T09:52:29Z
CHK2605
33979
새 문서: local error = error local find = string.find local gmatch = string.gmatch local match = string.match local sub = string.sub --[==[ Iterates over the lines in a string, treating {"\n"}, {"\r"} and {"\r\n"} as new lines. The optional {skip} parameter determines whether certain lines are skipped: * {NONE}: none (default). * {EMPTY}: empty lines: lines with a length of 0, consisting of no characters. * {BLANK}: blank lines: empty lines and lines which only consist of whitespace ch...
4388250
Scribunto
text/plain
local error = error
local find = string.find
local gmatch = string.gmatch
local match = string.match
local sub = string.sub
--[==[
Iterates over the lines in a string, treating {"\n"}, {"\r"} and {"\r\n"} as new lines.
The optional {skip} parameter determines whether certain lines are skipped:
* {NONE}: none (default).
* {EMPTY}: empty lines: lines with a length of 0, consisting of no characters.
* {BLANK}: blank lines: empty lines and lines which only consist of whitespace characters.]==]
return function(str, skip)
-- Use gmatch() for EMPTY and BLANK, for speed.
if skip == "EMPTY" then
return gmatch(str, "[^\n\r]+")
elseif skip == "BLANK" then
return gmatch(str, "[^\n\r]-%S[^\n\r]*")
elseif not (skip == nil or skip == "NONE") then
error("bad argument #2 to 'string/gline' (expected NONE, EMPTY or BLANK)", 2)
end
local start, linechar, flag = 1
if not find(str, "\n", nil, true) then
if not find(str, "\r", nil, true) then
-- No newlines: return `str` on the first iteration then end.
return function()
if flag then
return
end
flag = true
return str
end
end
linechar = "\r"
elseif find(str, "\r", nil, true) then
-- Newline could be "\n", "\r" or "\r\n" (but not "\n\r").
return function()
if not flag then
local line, nl, pos = match(str, "^([^\n\r]*)([\n\r]\n?)()", start)
if not line then
flag = true
return sub(str, start)
end
-- If `nl` is "\r\n" it should be treated as a single newline,
-- but if it's "\n\n" it needs to be treated as two separate
-- newlines, so set `flag` to 2 to avoid an unnecessary match()
-- call on the next iteration.
if nl == "\n\n" then
flag = 2
end
start = pos
return line
elseif flag == 2 then
flag = nil
return ""
end
end
else
linechar = "\n"
end
-- Newline is either "\n" or "\r", depending on which has been found.
return function()
if flag then
return
end
local pos = find(str, linechar, start, true)
if not pos then
flag = true
return sub(str, start)
end
local line = sub(str, start, pos - 1)
start = pos + 1
return line
end
end
r6wdku3u8kbsa2pnl1f07kxp328mzdt
모듈:zh-glyph/phonetic/list
828
448051
4388252
2025-07-07T09:54:37Z
CHK2605
33979
새 문서: return { ["愛"] = "愛", ["曖"] = "愛", ["僾"] = "愛", ["靉"] = "愛", ["薆"] = "愛", ["璦"] = "愛", ["瞹"] = "愛", ["安"] = "安", ["鞍"] = "安", ["鞌"] = "安", ["侒"] = "安", ["按"] = "安", ["案"] = "安", ["洝"] = "安", ["荌"] = "安", ["晏"] = "安", ["鴳"] = "安", ["騴"] = "安", ["鷃"] = "安", ["頞"] = "安", ["胺"] = "安", ["咹"] = "安", ["卬"] = "卬", ["枊"] = "卬", ["昂"] = "卬", ["仰"] = "卬", ["迎...
4388252
Scribunto
text/plain
return {
["愛"] = "愛",
["曖"] = "愛",
["僾"] = "愛",
["靉"] = "愛",
["薆"] = "愛",
["璦"] = "愛",
["瞹"] = "愛",
["安"] = "安",
["鞍"] = "安",
["鞌"] = "安",
["侒"] = "安",
["按"] = "安",
["案"] = "安",
["洝"] = "安",
["荌"] = "安",
["晏"] = "安",
["鴳"] = "安",
["騴"] = "安",
["鷃"] = "安",
["頞"] = "安",
["胺"] = "安",
["咹"] = "安",
["卬"] = "卬",
["枊"] = "卬",
["昂"] = "卬",
["仰"] = "卬",
["迎"] = "卬",
["熬"] = "敖",
["敖"] = "敖",
["嗷"] = "敖",
["螯"] = "敖",
["聱"] = "敖",
["驁"] = "敖",
["鰲"] = "敖",
["遨"] = "敖",
["獒"] = "敖",
["滶"] = "敖",
["蔜"] = "敖",
["鷔"] = "敖",
["鼇"] = "敖",
["謷"] = "敖",
["嶅"] = "敖",
["嗸"] = "敖",
["摮"] = "敖",
["嫯"] = "敖",
["鏊"] = "敖",
["傲"] = "敖",
["磝"] = "敖",
["襖"] = "奧",
["懊"] = "奧",
["燠"] = "奧",
["奧"] = "奧",
["墺"] = "奧",
["隩"] = "奧",
["澳"] = "奧",
["噢"] = "奧",
["薁"] = "奧",
["䉛"] = "奧",
["扒"] = "八",
["八"] = "八",
["𩡩"] = "八",
["朳"] = "八",
["玐"] = "八",
["釟"] = "八",
["汃"] = "八",
["巴"] = "巴",
["芭"] = "巴",
["笆"] = "巴",
["豝"] = "巴",
["鈀"] = "巴",
["吧"] = "巴",
["蚆"] = "巴",
["疤"] = "巴",
["把"] = "巴",
["爸"] = "巴",
["弝"] = "巴",
["靶"] = "巴",
["葩"] = "巴",
["舥"] = "巴",
["妑"] = "巴",
["帊"] = "巴",
["琶"] = "巴",
["爬"] = "巴",
["杷"] = "巴",
["跁"] = "巴",
["耙"] = "巴",
["軷"] = "犮",
["韍"] = "犮",
["祓"] = "犮",
["蛂"] = "犮",
["拔"] = "犮",
["菝"] = "犮",
["袚"] = "犮",
["茇"] = "犮",
["盋"] = "犮",
["帗"] = "犮",
["跋"] = "犮",
["魃"] = "犮",
["䣮"] = "犮",
["馛"] = "犮",
["炦"] = "犮",
["颰"] = "犮",
["妭"] = "犮",
["犮"] = "犮",
["胈"] = "犮",
["鈸"] = "犮",
["苃"] = "犮",
["坺"] = "犮",
["髮"] = "犮",
["冹"] = "犮",
["瞂"] = "犮",
["紱"] = "犮",
["黻"] = "犮",
["翇"] = "犮",
["發"] = "癹",
["癹"] = "癹",
["擺"] = "罷",
["犤"] = "罷",
["罷"] = "罷",
["矲"] = "罷",
["羆"] = "罷",
["襬"] = "罷",
["藣"] = "罷",
["壩"] = "霸",
["霸"] = "霸",
["灞"] = "霸",
["欛"] = "霸",
["怕"] = "白",
["帕"] = "白",
["粕"] = "白",
["胉"] = "白",
["泊"] = "白",
["箔"] = "白",
["魄"] = "白",
["皕"] = "白",
["伯"] = "白",
["百"] = "白",
["迫"] = "白",
["敀"] = "白",
["柏"] = "白",
["湐"] = "白",
["拍"] = "白",
["珀"] = "白",
["皛"] = "白",
["洦"] = "白",
["白"] = "白",
["帛"] = "白",
["舶"] = "白",
["鮊"] = "白",
["陌"] = "白",
["帞"] = "白",
["袹"] = "白",
["蛨"] = "白",
["貊"] = "白",
["佰"] = "白",
["銆"] = "白",
["碧"] = "白",
["咟"] = "白",
["拜"] = "拜",
["湃"] = "拜",
["班"] = "班",
["斑"] = "班",
["螌"] = "般",
["般"] = "般",
["媻"] = "般",
["搫"] = "般",
["搬"] = "般",
["盤"] = "般",
["磐"] = "般",
["瘢"] = "般",
["幋"] = "般",
["槃"] = "般",
["縏"] = "般",
["鎜"] = "般",
["鞶"] = "般",
["半"] = "半",
["絆"] = "半",
["靽"] = "半",
["姅"] = "半",
["拌"] = "半",
["拚"] = "半",
["坢"] = "半",
["判"] = "半",
["泮"] = "半",
["頖"] = "半",
["胖"] = "半",
["冸"] = "半",
["牉"] = "半",
["柈"] = "半",
["伴"] = "半",
["叛"] = "半",
["畔"] = "半",
["袢"] = "半",
["袍"] = "勹",
["袌"] = "勹",
["軳"] = "勹",
["抱"] = "勹",
["勽"] = "勹",
["菢"] = "勹",
["勹"] = "勹",
["包"] = "勹",
["胞"] = "勹",
["苞"] = "勹",
["枹"] = "勹",
["飽"] = "勹",
["泡"] = "勹",
["炮"] = "勹",
["皰"] = "勹",
["疱"] = "勹",
["跑"] = "勹",
["咆"] = "勹",
["庖"] = "勹",
["匏"] = "勹",
["刨"] = "勹",
["狍"] = "勹",
["炰"] = "勹",
["鉋"] = "勹",
["瓟"] = "勹",
["颮"] = "勹",
["鞄"] = "勹",
["鮑"] = "勹",
["骲"] = "勹",
["玸"] = "勹",
["雹"] = "勹",
["窇"] = "勹",
["襃"] = "保",
["保"] = "保",
["堡"] = "保",
["褓"] = "保",
["堢"] = "保",
["緥"] = "保",
["葆"] = "保",
["賲"] = "保",
["宲"] = "保",
["椺"] = "保",
["鴇"] = "鴇",
["駂"] = "鴇",
["暴"] = "暴",
["曝"] = "暴",
["瀑"] = "暴",
["虣"] = "暴",
["爆"] = "暴",
["襮"] = "暴",
["嚗"] = "暴",
["謈"] = "暴",
["犦"] = "暴",
["懪"] = "暴",
["捭"] = "卑",
["牌"] = "卑",
["郫"] = "卑",
["蠯"] = "卑",
["猈"] = "卑",
["稗"] = "卑",
["粺"] = "卑",
["𥱼"] = "卑",
["豍"] = "卑",
["箄"] = "卑",
["錍"] = "卑",
["睥"] = "卑",
["渒"] = "卑",
["鼙"] = "卑",
["鞞"] = "卑",
["椑"] = "卑",
["崥"] = "卑",
["髀"] = "卑",
["卑"] = "卑",
["鵯"] = "卑",
["裨"] = "卑",
["痺"] = "卑",
["碑"] = "卑",
["婢"] = "卑",
["諀"] = "卑",
["脾"] = "卑",
["埤"] = "卑",
["陴"] = "卑",
["蜱"] = "卑",
["焷"] = "卑",
["螷"] = "卑",
["庳"] = "卑",
["琕"] = "卑",
["萆"] = "卑",
["綼"] = "卑",
["背"] = "北",
["鄁"] = "北",
["偝"] = "北",
["邶"] = "北",
["苝"] = "北",
["北"] = "北",
["貝"] = "貝",
["狽"] = "貝",
["鋇"] = "貝",
["浿"] = "貝",
["垻"] = "貝",
["敗"] = "貝",
["唄"] = "貝",
["憊"] = "備",
["韛"] = "備",
["備"] = "備",
["俻"] = "備",
["鞴"] = "備",
["糒"] = "備",
["犕"] = "備",
["賁"] = "奔",
["蟦"] = "奔",
["膹"] = "奔",
["橨"] = "奔",
["奔"] = "奔",
["錛"] = "奔",
["噴"] = "奔",
["濆"] = "奔",
["歕"] = "奔",
["獖"] = "奔",
["餴"] = "奔",
["饙"] = "奔",
["僨"] = "奔",
["墳"] = "奔",
["燌"] = "奔",
["豶"] = "奔",
["羵"] = "奔",
["蕡"] = "奔",
["鐼"] = "奔",
["馩"] = "奔",
["轒"] = "奔",
["鼖"] = "奔",
["憤"] = "奔",
["鱝"] = "奔",
["本"] = "本",
["笨"] = "本",
["苯"] = "本",
["翉"] = "本",
["体"] = "本",
["鉢"] = "本",
["缽"] = "本",
["匕"] = "匕",
["庀"] = "匕",
["疕"] = "匕",
["朼"] = "匕",
["牝"] = "匕",
["梐"] = "比",
["狴"] = "比",
["悂"] = "比",
["螕"] = "比",
["鎞"] = "比",
["蓖"] = "比",
["篦"] = "比",
["批"] = "比",
["砒"] = "比",
["鈚"] = "比",
["磇"] = "比",
["媲"] = "比",
["笓"] = "比",
["膍"] = "比",
["陛"] = "比",
["仳"] = "比",
["吡"] = "比",
["紕"] = "比",
["比"] = "比",
["妣"] = "比",
["秕"] = "比",
["沘"] = "比",
["枇"] = "比",
["粊"] = "比",
["庇"] = "比",
["屁"] = "比",
["琵"] = "比",
["毗"] = "比",
["貔"] = "比",
["豼"] = "比",
["蚍"] = "比",
["芘"] = "比",
["肶"] = "比",
["魮"] = "比",
["阰"] = "比",
["坒"] = "比",
["玭"] = "比",
["鄙"] = "啚",
["啚"] = "啚",
["泌"] = "必",
["秘"] = "必",
["毖"] = "必",
["閟"] = "必",
["柲"] = "必",
["鉍"] = "必",
["邲"] = "必",
["覕"] = "必",
["咇"] = "必",
["苾"] = "必",
["馝"] = "必",
["飶"] = "必",
["鴓"] = "必",
["鮅"] = "必",
["必"] = "必",
["珌"] = "必",
["佖"] = "必",
["駜"] = "必",
["怭"] = "必",
["妼"] = "必",
["宓"] = "必",
["樒"] = "必",
["密"] = "必",
["蔤"] = "必",
["滵"] = "必",
["蜜"] = "必",
["謐"] = "必",
["榓"] = "必",
["淧"] = "必",
["瑟"] = "必",
["璱"] = "必",
["飋"] = "必",
["虙"] = "必",
["箅"] = "畀",
["濞"] = "畀",
["畀"] = "畀",
["痹"] = "畀",
["淠"] = "畀",
["嚊"] = "畀",
["鼻"] = "畀",
["襣"] = "畀",
["畢"] = "畢",
["蓽"] = "畢",
["篳"] = "畢",
["蹕"] = "畢",
["韠"] = "畢",
["滭"] = "畢",
["鷝"] = "畢",
["熚"] = "畢",
["彃"] = "畢",
["縪"] = "畢",
["饆"] = "畢",
["鏎"] = "畢",
["罼"] = "畢",
["蔽"] = "敝",
["鄨"] = "敝",
["鷩"] = "敝",
["彆"] = "敝",
["潎"] = "敝",
["斃"] = "敝",
["敝"] = "敝",
["幣"] = "敝",
["弊"] = "敝",
["鱉"] = "敝",
["虌"] = "敝",
["憋"] = "敝",
["瞥"] = "敝",
["鐅"] = "敝",
["嫳"] = "敝",
["撇"] = "敝",
["撆"] = "敝",
["暼"] = "敝",
["蹩"] = "敝",
["襒"] = "敝",
["閉"] = "閉",
["閇"] = "閉",
["嬖"] = "辟",
["薜"] = "辟",
["鐾"] = "辟",
["臂"] = "辟",
["譬"] = "辟",
["避"] = "辟",
["檗"] = "辟",
["擘"] = "辟",
["糪"] = "辟",
["掰"] = "辟",
["繴"] = "辟",
["辟"] = "辟",
["璧"] = "辟",
["鐴"] = "辟",
["躄"] = "辟",
["襞"] = "辟",
["僻"] = "辟",
["癖"] = "辟",
["廦"] = "辟",
["擗"] = "辟",
["躃"] = "辟",
["闢"] = "辟",
["壁"] = "辟",
["鼊"] = "辟",
["霹"] = "辟",
["劈"] = "辟",
["澼"] = "辟",
["憵"] = "辟",
["甓"] = "辟",
["鷿"] = "辟",
["幦"] = "辟",
["斒"] = "扁",
["鯿"] = "扁",
["編"] = "扁",
["揙"] = "扁",
["褊"] = "扁",
["篇"] = "扁",
["偏"] = "扁",
["翩"] = "扁",
["媥"] = "扁",
["扁"] = "扁",
["萹"] = "扁",
["騗"] = "扁",
["騙"] = "扁",
["諞"] = "扁",
["楄"] = "扁",
["蝙"] = "扁",
["甂"] = "扁",
["猵"] = "扁",
["牑"] = "扁",
["蹁"] = "扁",
["匾"] = "扁",
["碥"] = "扁",
["惼"] = "扁",
["糄"] = "扁",
["徧"] = "扁",
["遍"] = "扁",
["頨"] = "扁",
["艑"] = "扁",
["汴"] = "卞",
["卞"] = "卞",
["忭"] = "卞",
["抃"] = "卞",
["犿"] = "卞",
["笇"] = "卞",
["飰"] = "卞",
["鴘"] = "弁",
["弁"] = "弁",
["拚"] = "弁",
["閞"] = "弁",
["昪"] = "弁",
["匥"] = "弁",
["笲"] = "弁",
["軬"] = "弁",
["畚"] = "弁",
["鞭"] = "便",
["鯾"] = "便",
["箯"] = "便",
["便"] = "便",
["緶"] = "便",
["楩"] = "便",
["辬"] = "辡",
["瓣"] = "辡",
["辦"] = "辡",
["辨"] = "辡",
["辡"] = "辡",
["辯"] = "辡",
["辮"] = "辡",
["彪"] = "彪",
["淲"] = "彪",
["滮"] = "彪",
["飆"] = "猋",
["猋"] = "猋",
["贆"] = "猋",
["藨"] = "麃",
["麃"] = "麃",
["臕"] = "麃",
["鑣"] = "麃",
["儦"] = "麃",
["瀌"] = "麃",
["犥"] = "麃",
["皫"] = "麃",
["表"] = "表",
["裱"] = "表",
["俵"] = "表",
["捌"] = "别",
["哵"] = "别",
["別"] = "别",
["莂"] = "别",
["虨"] = "彬",
["彬"] = "彬",
["霦"] = "彬",
["斌"] = "斌",
["贇"] = "斌",
["燹"] = "豩",
["豳"] = "豩",
["蠙"] = "賓",
["賓"] = "賓",
["檳"] = "賓",
["鑌"] = "賓",
["濱"] = "賓",
["顮"] = "賓",
["儐"] = "賓",
["矉"] = "賓",
["擯"] = "賓",
["殯"] = "賓",
["鬢"] = "賓",
["繽"] = "賓",
["嬪"] = "賓",
["薲"] = "賓",
["獱"] = "賓",
["臏"] = "賓",
["髕"] = "賓",
["冫"] = "仌",
["冰"] = "仌",
["砅"] = "仌",
["馮"] = "仌",
["憑"] = "仌",
["浜"] = "兵",
["捠"] = "兵",
["兵"] = "兵",
["更"] = "丙",
["粳"] = "丙",
["埂"] = "丙",
["浭"] = "丙",
["稉"] = "丙",
["梗"] = "丙",
["哽"] = "丙",
["綆"] = "丙",
["鯁"] = "丙",
["挭"] = "丙",
["骾"] = "丙",
["郠"] = "丙",
["硬"] = "丙",
["鞕"] = "丙",
["丙"] = "丙",
["炳"] = "丙",
["邴"] = "丙",
["怲"] = "丙",
["苪"] = "丙",
["蛃"] = "丙",
["昺"] = "丙",
["昞"] = "丙",
["窉"] = "丙",
["柄"] = "丙",
["鈵"] = "丙",
["寎"] = "丙",
["病"] = "丙",
["秉"] = "秉",
["棅"] = "秉",
["燷"] = "禀",
["壈"] = "禀",
["燣"] = "禀",
["顲"] = "禀",
["稟"] = "禀",
["廩"] = "禀",
["懍"] = "禀",
["凜"] = "禀",
["癛"] = "禀",
["檁"] = "禀",
["鵧"] = "并",
["駢"] = "并",
["胼"] = "并",
["骿"] = "并",
["軿"] = "并",
["賆"] = "并",
["跰"] = "并",
["恲"] = "并",
["鮩"] = "并",
["絣"] = "并",
["拼"] = "并",
["迸"] = "并",
["姘"] = "并",
["皏"] = "并",
["併"] = "并",
["并"] = "并",
["栟"] = "并",
["屏"] = "并",
["箳"] = "并",
["餅"] = "并",
["鉼"] = "并",
["摒"] = "并",
["庰"] = "并",
["偋"] = "并",
["艵"] = "并",
["頩"] = "并",
["竮"] = "并",
["瓶"] = "并",
["缾"] = "并",
["蛢"] = "并",
["荓"] = "并",
["郱"] = "并",
["洴"] = "并",
["蓱"] = "并",
["湴"] = "並",
["跰"] = "並",
["並"] = "並",
["竝"] = "並",
["誖"] = "孛",
["悖"] = "孛",
["孛"] = "孛",
["哱"] = "孛",
["馞"] = "孛",
["勃"] = "孛",
["餑"] = "孛",
["郣"] = "孛",
["浡"] = "孛",
["桲"] = "孛",
["挬"] = "孛",
["脖"] = "孛",
["鵓"] = "孛",
["渤"] = "孛",
["綍"] = "孛",
["仆"] = "卜",
["赴"] = "卜",
["訃"] = "卜",
["朴"] = "卜",
["圤"] = "卜",
["卜"] = "卜",
["鳪"] = "卜",
["扑"] = "卜",
["攴"] = "卜",
["肧"] = "不",
["俖"] = "不",
["娝"] = "不",
["痞"] = "不",
["丕"] = "不",
["伾"] = "不",
["秠"] = "不",
["駓"] = "不",
["怌"] = "不",
["豾"] = "不",
["髬"] = "不",
["魾"] = "不",
["鉟"] = "不",
["嚭"] = "不",
["邳"] = "不",
["岯"] = "不",
["否"] = "不",
["抔"] = "不",
["不"] = "不",
["紑"] = "不",
["鴀"] = "不",
["衃"] = "不",
["罘"] = "不",
["芣"] = "不",
["杯"] = "不",
["盃"] = "不",
["桮"] = "不",
["坯"] = "不",
["胚"] = "不",
["荹"] = "步",
["步"] = "步",
["踄"] = "步",
["部"] = "部",
["蔀"] = "部",
["篰"] = "部",
["茬"] = "才",
["材"] = "才",
["才"] = "才",
["財"] = "才",
["鼒"] = "才",
["在"] = "才",
["豺"] = "才",
["采"] = "采",
["睬"] = "采",
["彩"] = "采",
["採"] = "采",
["綵"] = "采",
["寀"] = "采",
["菜"] = "采",
["埰"] = "采",
["棌"] = "采",
["篸"] = "參",
["參"] = "參",
["驂"] = "參",
["傪"] = "參",
["慘"] = "參",
["黲"] = "參",
["謲"] = "參",
["毿"] = "參",
["蔘"] = "參",
["犙"] = "參",
["糝"] = "參",
["槮"] = "參",
["鬖"] = "參",
["摻"] = "參",
["醦"] = "參",
["縿"] = "參",
["穇"] = "參",
["嵾"] = "參",
["磣"] = "參",
["墋"] = "參",
["曑"] = "參",
["瘮"] = "參",
["滲"] = "參",
["餐"] = "粲",
["湌"] = "粲",
["粲"] = "粲",
["燦"] = "粲",
["璨"] = "粲",
["薒"] = "粲",
["殩"] = "粲",
["艙"] = "倉",
["倉"] = "倉",
["蒼"] = "倉",
["滄"] = "倉",
["傖"] = "倉",
["鶬"] = "倉",
["凔"] = "倉",
["槍"] = "倉",
["搶"] = "倉",
["蹌"] = "倉",
["瑲"] = "倉",
["牄"] = "倉",
["嗆"] = "倉",
["創"] = "倉",
["瘡"] = "倉",
["愴"] = "倉",
["鎗"] = "倉",
["遭"] = "曹",
["糟"] = "曹",
["醩"] = "曹",
["傮"] = "曹",
["槽"] = "曹",
["曹"] = "曹",
["螬"] = "曹",
["漕"] = "曹",
["嘈"] = "曹",
["艚"] = "曹",
["褿"] = "曹",
["蓸"] = "曹",
["慒"] = "曹",
["栅"] = "冊",
["冊"] = "冊",
["笧"] = "冊",
["稷"] = "畟",
["畟"] = "畟",
["溭"] = "畟",
["謖"] = "畟",
["叉"] = "叉",
["杈"] = "叉",
["靫"] = "叉",
["汊"] = "叉",
["衩"] = "叉",
["扠"] = "叉",
["釵"] = "叉",
["芆"] = "叉",
["訍"] = "叉",
["偛"] = "臿",
["插"] = "臿",
["鍤"] = "臿",
["臿"] = "臿",
["喢"] = "臿",
["牐"] = "臿",
["歃"] = "臿",
["敮"] = "臿",
["孱"] = "孱",
["潺"] = "孱",
["僝"] = "孱",
["轏"] = "孱",
["樼"] = "孱",
["纏"] = "廛",
["緾"] = "廛",
["躔"] = "廛",
["瀍"] = "廛",
["鄽"] = "廛",
["廛"] = "廛",
["纔"] = "毚",
["讒"] = "毚",
["饞"] = "毚",
["毚"] = "毚",
["欃"] = "毚",
["攙"] = "毚",
["儳"] = "毚",
["酁"] = "毚",
["瀺"] = "毚",
["嚵"] = "毚",
["巉"] = "毚",
["劖"] = "毚",
["艬"] = "毚",
["鑱"] = "毚",
["昌"] = "昌",
["倡"] = "昌",
["猖"] = "昌",
["菖"] = "昌",
["閶"] = "昌",
["鯧"] = "昌",
["裮"] = "昌",
["琩"] = "昌",
["唱"] = "昌",
["張"] = "長",
["餦"] = "長",
["粻"] = "長",
["漲"] = "長",
["長"] = "長",
["脹"] = "長",
["痮"] = "長",
["帳"] = "長",
["賬"] = "長",
["倀"] = "長",
["鼚"] = "長",
["鋹"] = "長",
["悵"] = "長",
["韔"] = "長",
["萇"] = "長",
["瓺"] = "長",
["棖"] = "長",
["掁"] = "長",
["璅"] = "巢",
["繅"] = "巢",
["薻"] = "巢",
["罺"] = "巢",
["摷"] = "巢",
["勦"] = "巢",
["巢"] = "巢",
["轈"] = "巢",
["樔"] = "巢",
["鄛"] = "巢",
["剿"] = "巢",
["漅"] = "巢",
["嘲"] = "朝",
["廟"] = "朝",
["朝"] = "朝",
["潮"] = "朝",
["車"] = "車",
["硨"] = "車",
["厙"] = "車",
["庫"] = "車",
["徹"] = "徹",
["撤"] = "徹",
["澈"] = "徹",
["轍"] = "徹",
["臤"] = "臣",
["掔"] = "臣",
["慳"] = "臣",
["藖"] = "臣",
["堅"] = "臣",
["鋻"] = "臣",
["鰹"] = "臣",
["蜸"] = "臣",
["菣"] = "臣",
["賢"] = "臣",
["礥"] = "臣",
["臔"] = "臣",
["挋"] = "臣",
["臣"] = "臣",
["茞"] = "臣",
["腎"] = "臣",
["頣"] = "臣",
["緊"] = "臣",
["嚚"] = "臣",
["鏗"] = "臣",
["摼"] = "臣",
["硻"] = "臣",
["辴"] = "辰",
["屒"] = "辰",
["振"] = "辰",
["侲"] = "辰",
["桭"] = "辰",
["唇"] = "辰",
["帪"] = "辰",
["賑"] = "辰",
["裖"] = "辰",
["敐"] = "辰",
["震"] = "辰",
["娠"] = "辰",
["蜃"] = "辰",
["辰"] = "辰",
["晨"] = "辰",
["宸"] = "辰",
["鷐"] = "辰",
["麎"] = "辰",
["祳"] = "辰",
["脤"] = "辰",
["鋠"] = "辰",
["磭"] = "辰",
["陙"] = "辰",
["脣"] = "辰",
["漘"] = "辰",
["陳"] = "陳",
["敶"] = "陳",
["陣"] = "陳",
["讖"] = "韱",
["攕"] = "韱",
["櫼"] = "韱",
["懺"] = "韱",
["殲"] = "韱",
["瀸"] = "韱",
["鑯"] = "韱",
["虃"] = "韱",
["籤"] = "韱",
["韯"] = "韱",
["纖"] = "韱",
["孅"] = "韱",
["韱"] = "韱",
["襳"] = "韱",
["稱"] = "爯",
["爯"] = "爯",
["偁"] = "爯",
["蒸"] = "丞",
["烝"] = "丞",
["篜"] = "丞",
["脀"] = "丞",
["拯"] = "丞",
["氶"] = "丞",
["承"] = "丞",
["丞"] = "丞",
["巹"] = "丞",
["成"] = "成",
["城"] = "成",
["誠"] = "成",
["宬"] = "成",
["郕"] = "成",
["筬"] = "成",
["盛"] = "成",
["珹"] = "成",
["晟"] = "成",
["墭"] = "成",
["挰"] = "呈",
["鋥"] = "呈",
["逞"] = "呈",
["裎"] = "呈",
["悜"] = "呈",
["睈"] = "呈",
["呈"] = "呈",
["程"] = "呈",
["酲"] = "呈",
["珵"] = "呈",
["徎"] = "呈",
["郢"] = "呈",
["浧"] = "呈",
["桯"] = "呈",
["鞓"] = "呈",
["壬"] = "呈",
["鐵"] = "呈",
["驖"] = "呈",
["戜"] = "呈",
["乘"] = "乘",
["溗"] = "乘",
["塖"] = "乘",
["騬"] = "乘",
["椉"] = "乘",
["剩"] = "乘",
["嵊"] = "乘",
["尺"] = "尺",
["蚇"] = "尺",
["蠡"] = "彖",
["盠"] = "彖",
["彖"] = "彖",
["墬"] = "彖",
["喙"] = "彖",
["餯"] = "彖",
["剶"] = "彖",
["猭"] = "彖",
["鶨"] = "彖",
["椽"] = "彖",
["篆"] = "彖",
["瑑"] = "彖",
["堟"] = "彖",
["蝝"] = "彖",
["緣"] = "彖",
["櫞"] = "彖",
["掾"] = "彖",
["褖"] = "彖",
["湪"] = "彖",
["浾"] = "赤",
["嚇"] = "赤",
["赦"] = "赤",
["郝"] = "赤",
["赫"] = "赤",
["爀"] = "赤",
["赤"] = "赤",
["烾"] = "赤",
["螫"] = "赤",
["赥"] = "赤",
["捇"] = "赤",
["焃"] = "赤",
["敕"] = "敕",
["勅"] = "敕",
["鷘"] = "敕",
["慗"] = "敕",
["遫"] = "敕",
["統"] = "充",
["充"] = "充",
["珫"] = "充",
["茺"] = "充",
["銃"] = "充",
["樁"] = "舂",
["憃"] = "舂",
["舂"] = "舂",
["摏"] = "舂",
["蹖"] = "舂",
["痋"] = "蟲",
["鉵"] = "蟲",
["赨"] = "蟲",
["爞"] = "蟲",
["蟲"] = "蟲",
["融"] = "蟲",
["瀜"] = "蟲",
["犨"] = "雔",
["犫"] = "雔",
["雔"] = "雔",
["售"] = "雔",
["讎"] = "雔",
["峱"] = "丑",
["紐"] = "丑",
["扭"] = "丑",
["狃"] = "丑",
["鈕"] = "丑",
["忸"] = "丑",
["杻"] = "丑",
["莥"] = "丑",
["羞"] = "丑",
["丑"] = "丑",
["沑"] = "丑",
["粈"] = "丑",
["衄"] = "丑",
["臭"] = "臭",
["殠"] = "臭",
["糗"] = "臭",
["嗅"] = "臭",
["齅"] = "臭",
["聉"] = "出",
["贅"] = "出",
["祟"] = "出",
["出"] = "出",
["茁"] = "出",
["欪"] = "出",
["貀"] = "出",
["袦"] = "出",
["咄"] = "出",
["柮"] = "出",
["拙"] = "出",
["炪"] = "出",
["掘"] = "出",
["鈯"] = "出",
["啒"] = "出",
["淈"] = "出",
["窟"] = "出",
["泏"] = "出",
["堀"] = "出",
["胐"] = "出",
["窋"] = "出",
["絀"] = "出",
["黜"] = "出",
["屈"] = "出",
["趉"] = "出",
["鶌"] = "出",
["詘"] = "出",
["倔"] = "出",
["崛"] = "出",
["煼"] = "芻",
["謅"] = "芻",
["縐"] = "芻",
["鄒"] = "芻",
["騶"] = "芻",
["搊"] = "芻",
["皺"] = "芻",
["篘"] = "芻",
["㑳"] = "芻",
["趍"] = "芻",
["趨"] = "芻",
["芻"] = "芻",
["犓"] = "芻",
["雛"] = "芻",
["鶵"] = "芻",
["媰"] = "芻",
["齺"] = "芻",
["冢"] = "豖",
["塚"] = "豖",
["涿"] = "豖",
["琢"] = "豖",
["啄"] = "豖",
["諑"] = "豖",
["剢"] = "豖",
["瘃"] = "豖",
["豖"] = "豖",
["川"] = "川",
["釧"] = "川",
["巛"] = "川",
["巡"] = "川",
["馴"] = "川",
["紃"] = "川",
["甽"] = "川",
["順"] = "川",
["訓"] = "川",
["舛"] = "舛",
["荈"] = "舛",
["僢"] = "舛",
["舜"] = "舛",
["瞬"] = "舛",
["蕣"] = "舛",
["梁"] = "刅",
["粱"] = "刅",
["刱"] = "刅",
["吹"] = "吹",
["炊"] = "吹",
["焁"] = "吹",
["埵"] = "垂",
["綞"] = "垂",
["涶"] = "垂",
["唾"] = "垂",
["厜"] = "垂",
["腄"] = "垂",
["箠"] = "垂",
["娷"] = "垂",
["諈"] = "垂",
["錘"] = "垂",
["甀"] = "垂",
["硾"] = "垂",
["捶"] = "垂",
["垂"] = "垂",
["陲"] = "垂",
["倕"] = "垂",
["菙"] = "垂",
["睡"] = "垂",
["辤"] = "辭",
["辭"] = "辭",
["些"] = "此",
["跐"] = "此",
["柴"] = "此",
["祡"] = "此",
["茈"] = "此",
["眦"] = "此",
["砦"] = "此",
["寨"] = "此",
["啙"] = "此",
["泚"] = "此",
["玼"] = "此",
["皉"] = "此",
["鮆"] = "此",
["眥"] = "此",
["貲"] = "此",
["髭"] = "此",
["頾"] = "此",
["訾"] = "此",
["鴜"] = "此",
["鈭"] = "此",
["姕"] = "此",
["觜"] = "此",
["紫"] = "此",
["訿"] = "此",
["呰"] = "此",
["嘴"] = "此",
["雌"] = "此",
["此"] = "此",
["佌"] = "此",
["庛"] = "此",
["疵"] = "此",
["骴"] = "此",
["胔"] = "此",
["飺"] = "此",
["齜"] = "此",
["債"] = "朿",
["積"] = "朿",
["刺"] = "朿",
["莿"] = "朿",
["刾"] = "朿",
["朿"] = "朿",
["漬"] = "朿",
["耫"] = "朿",
["嘖"] = "朿",
["梀"] = "朿",
["捒"] = "朿",
["幘"] = "朿",
["簀"] = "朿",
["嫧"] = "朿",
["謮"] = "朿",
["責"] = "朿",
["皟"] = "朿",
["憡"] = "朿",
["策"] = "朿",
["筴"] = "朿",
["拺"] = "朿",
["賾"] = "朿",
["鰿"] = "朿",
["擌"] = "朿",
["蹟"] = "朿",
["襀"] = "朿",
["磧"] = "朿",
["洓"] = "朿",
["績"] = "朿",
["勣"] = "朿",
["樍"] = "朿",
["咨"] = "次",
["資"] = "次",
["姿"] = "次",
["粢"] = "次",
["諮"] = "次",
["恣"] = "次",
["澬"] = "次",
["趑"] = "次",
["蠀"] = "次",
["次"] = "次",
["佽"] = "次",
["絘"] = "次",
["薋"] = "次",
["瓷"] = "次",
["茨"] = "次",
["餈"] = "次",
["垐"] = "次",
["楶"] = "次",
["牎"] = "囱",
["窗"] = "囱",
["窓"] = "囱",
["囱"] = "囱",
["總"] = "囱",
["熜"] = "囱",
["傯"] = "囱",
["緫"] = "囱",
["揔"] = "囱",
["偬"] = "囱",
["囪"] = "囱",
["璁"] = "囱",
["驄"] = "囱",
["蔥"] = "囱",
["匆"] = "囱",
["怱"] = "囱",
["葱"] = "囱",
["楤"] = "囱",
["聦"] = "囱",
["繱"] = "囱",
["騘"] = "囱",
["鍯"] = "囱",
["聰"] = "囱",
["愡"] = "囱",
["檧"] = "囱",
["憽"] = "囱",
["幒"] = "囱",
["摐"] = "从",
["鏦"] = "从",
["豵"] = "从",
["嵸"] = "从",
["蓯"] = "从",
["蹤"] = "从",
["縱"] = "从",
["樅"] = "从",
["磫"] = "从",
["熧"] = "从",
["瘲"] = "从",
["暰"] = "从",
["瑽"] = "从",
["從"] = "从",
["从"] = "从",
["慫"] = "从",
["聳"] = "从",
["傱"] = "从",
["躥"] = "竄",
["竄"] = "竄",
["攛"] = "竄",
["鑹"] = "竄",
["嗺"] = "崔",
["催"] = "崔",
["璀"] = "崔",
["皠"] = "崔",
["漼"] = "崔",
["鏙"] = "崔",
["摧"] = "崔",
["崔"] = "崔",
["慛"] = "崔",
["槯"] = "崔",
["繀"] = "崔",
["膗"] = "崔",
["膬"] = "毳",
["毳"] = "毳",
["竁"] = "毳",
["橇"] = "毳",
["荐"] = "存",
["洊"] = "存",
["臶"] = "存",
["栫"] = "存",
["袸"] = "存",
["存"] = "存",
["拵"] = "存",
["村"] = "寸",
["忖"] = "寸",
["刌"] = "寸",
["寸"] = "寸",
["踏"] = "沓",
["濌"] = "沓",
["錔"] = "沓",
["鞜"] = "沓",
["沓"] = "沓",
["涾"] = "沓",
["誻"] = "沓",
["羍"] = "羍",
["達"] = "羍",
["闥"] = "羍",
["撻"] = "羍",
["躂"] = "羍",
["澾"] = "羍",
["薘"] = "羍",
["龖"] = "龖",
["襲"] = "龖",
["馱"] = "大",
["大"] = "大",
["忕"] = "大",
["太"] = "大",
["汰"] = "大",
["汏"] = "大",
["軑"] = "大",
["釱"] = "大",
["达"] = "大",
["杕"] = "大",
["褱"] = "眔",
["鰥"] = "眔",
["鳏"] = "眔",
["嚃"] = "眔",
["眔"] = "眔",
["遝"] = "眔",
["帶"] = "帶",
["蹛"] = "帶",
["艜"] = "帶",
["慸"] = "帶",
["滯"] = "帶",
["懘"] = "帶",
["蔕"] = "帶",
["螮"] = "帶",
["摕"] = "帶",
["僀"] = "帶",
["殢"] = "帶",
["遰"] = "帶",
["墆"] = "帶",
["嵽"] = "帶",
["蒂"] = "帶",
["丹"] = "丹",
["旃"] = "丹",
["栴"] = "丹",
["嚲"] = "單",
["癉"] = "單",
["奲"] = "單",
["驒"] = "單",
["鼉"] = "單",
["磾"] = "單",
["鷤"] = "單",
["觶"] = "單",
["單"] = "單",
["鄲"] = "單",
["殫"] = "單",
["簞"] = "單",
["匰"] = "單",
["襌"] = "單",
["啴"] = "單",
["彈"] = "單",
["貚"] = "單",
["撣"] = "單",
["潬"] = "單",
["僤"] = "單",
["憚"] = "單",
["樿"] = "單",
["燀"] = "單",
["戰"] = "單",
["闡"] = "單",
["繟"] = "單",
["幝"] = "單",
["嘽"] = "單",
["灛"] = "單",
["蟬"] = "單",
["禪"] = "單",
["嬋"] = "單",
["墠"] = "單",
["鱓"] = "單",
["蕇"] = "單",
["皽"] = "旦",
["担"] = "旦",
["胆"] = "旦",
["疸"] = "旦",
["觛"] = "旦",
["亶"] = "旦",
["嬗"] = "旦",
["笪"] = "旦",
["狚"] = "旦",
["旦"] = "旦",
["鴠"] = "旦",
["譠"] = "旦",
["坦"] = "旦",
["但"] = "旦",
["檀"] = "旦",
["壇"] = "旦",
["儃"] = "旦",
["驙"] = "旦",
["袒"] = "旦",
["襢"] = "旦",
["繵"] = "旦",
["膻"] = "旦",
["澶"] = "旦",
["邅"] = "旦",
["鱣"] = "旦",
["饘"] = "旦",
["旜"] = "旦",
["氈"] = "旦",
["鸇"] = "旦",
["顫"] = "旦",
["蟺"] = "旦",
["擅"] = "旦",
["羶"] = "旦",
["呾"] = "旦",
["怛"] = "旦",
["妲"] = "旦",
["靼"] = "旦",
["炟"] = "旦",
["宕"] = "宕",
["菪"] = "宕",
["刀"] = "刀",
["忉"] = "刀",
["鱽"] = "刀",
["舠"] = "刀",
["朷"] = "刀",
["叨"] = "刀",
["倒"] = "刀",
["到"] = "刀",
["菿"] = "刀",
["鞀"] = "刀",
["鳭"] = "刀",
["灱"] = "刀",
["菬"] = "刀",
["超"] = "刀",
["怊"] = "刀",
["欩"] = "刀",
["召"] = "刀",
["昭"] = "刀",
["招"] = "刀",
["鉊"] = "刀",
["沼"] = "刀",
["照"] = "刀",
["詔"] = "刀",
["炤"] = "刀",
["弨"] = "刀",
["眧"] = "刀",
["韶"] = "刀",
["佋"] = "刀",
["軺"] = "刀",
["玿"] = "刀",
["柖"] = "刀",
["紹"] = "刀",
["袑"] = "刀",
["綤"] = "刀",
["邵"] = "刀",
["劭"] = "刀",
["卲"] = "刀",
["刁"] = "刀",
["芀"] = "刀",
["貂"] = "刀",
["蛁"] = "刀",
["迢"] = "刀",
["苕"] = "刀",
["髫"] = "刀",
["岧"] = "刀",
["得"] = "得",
["淂"] = "得",
["棏"] = "得",
["登"] = "登",
["璒"] = "登",
["燈"] = "登",
["簦"] = "登",
["蹬"] = "登",
["磴"] = "登",
["鐙"] = "登",
["嶝"] = "登",
["隥"] = "登",
["橙"] = "登",
["凳"] = "登",
["墱"] = "登",
["鼟"] = "登",
["膯"] = "登",
["澄"] = "登",
["鄧"] = "登",
["僜"] = "登",
["覴"] = "登",
["瞪"] = "登",
["憕"] = "登",
["撜"] = "登",
["證"] = "登",
["逖"] = "狄",
["悐"] = "狄",
["狄"] = "狄",
["荻"] = "狄",
["梑"] = "狄",
["櫂"] = "翟",
["濯"] = "翟",
["耀"] = "翟",
["曜"] = "翟",
["燿"] = "翟",
["糶"] = "翟",
["粜"] = "翟",
["嬥"] = "翟",
["藋"] = "翟",
["躍"] = "翟",
["戳"] = "翟",
["擢"] = "翟",
["蠗"] = "翟",
["鸐"] = "翟",
["翟"] = "翟",
["趯"] = "翟",
["籊"] = "翟",
["糴"] = "翟",
["䊮"] = "翟",
["低"] = "氐",
["氐"] = "氐",
["袛"] = "氐",
["羝"] = "氐",
["眡"] = "氐",
["岻"] = "氐",
["奃"] = "氐",
["趆"] = "氐",
["柢"] = "氐",
["邸"] = "氐",
["底"] = "氐",
["詆"] = "氐",
["坻"] = "氐",
["抵"] = "氐",
["牴"] = "氐",
["觝"] = "氐",
["弤"] = "氐",
["軧"] = "氐",
["骶"] = "氐",
["砥"] = "氐",
["胝"] = "氐",
["疷"] = "氐",
["秪"] = "氐",
["泜"] = "氐",
["蚳"] = "氐",
["彽"] = "氐",
["阺"] = "氐",
["貾"] = "氐",
["祗"] = "氐",
["厎"] = "氐",
["茋"] = "氐",
["鴟"] = "氐",
["汦"] = "氐",
["梯"] = "弟",
["睇"] = "弟",
["涕"] = "弟",
["挮"] = "弟",
["鬀"] = "弟",
["剃"] = "弟",
["綈"] = "弟",
["蕛"] = "弟",
["稊"] = "弟",
["苐"] = "弟",
["鵜"] = "弟",
["銻"] = "弟",
["鮷"] = "弟",
["罤"] = "弟",
["弟"] = "弟",
["娣"] = "弟",
["悌"] = "弟",
["第"] = "弟",
["膪"] = "帝",
["揥"] = "帝",
["腣"] = "帝",
["諦"] = "帝",
["偙"] = "帝",
["渧"] = "帝",
["帝"] = "帝",
["楴"] = "帝",
["啼"] = "帝",
["蹄"] = "帝",
["締"] = "帝",
["崹"] = "帝",
["鶙"] = "帝",
["禘"] = "帝",
["啻"] = "帝",
["嫡"] = "帝",
["摘"] = "帝",
["謫"] = "帝",
["讁"] = "帝",
["擿"] = "帝",
["蹢"] = "帝",
["適"] = "帝",
["啇"] = "帝",
["滴"] = "帝",
["鏑"] = "帝",
["甋"] = "帝",
["樀"] = "帝",
["敵"] = "帝",
["典"] = "典",
["錪"] = "典",
["腆"] = "典",
["痶"] = "典",
["淟"] = "典",
["琠"] = "典",
["賟"] = "典",
["晪"] = "典",
["奠"] = "奠",
["鄭"] = "奠",
["擲"] = "奠",
["躑"] = "奠",
["殿"] = "殿",
["澱"] = "殿",
["壂"] = "殿",
["臀"] = "殿",
["盄"] = "弔",
["弔"] = "弔",
["伄"] = "弔",
["曡"] = "疊",
["疊"] = "疊",
["圢"] = "丁",
["町"] = "丁",
["打"] = "丁",
["盯"] = "丁",
["朾"] = "丁",
["丁"] = "丁",
["玎"] = "丁",
["虰"] = "丁",
["揨"] = "丁",
["釘"] = "丁",
["靪"] = "丁",
["仃"] = "丁",
["叮"] = "丁",
["疔"] = "丁",
["頂"] = "丁",
["奵"] = "丁",
["耵"] = "丁",
["酊"] = "丁",
["葶"] = "丁",
["矴"] = "丁",
["訂"] = "丁",
["飣"] = "丁",
["汀"] = "丁",
["艼"] = "丁",
["庁"] = "丁",
["婷"] = "丁",
["停"] = "丁",
["聤"] = "丁",
["渟"] = "丁",
["楟"] = "丁",
["亭"] = "丁",
["鼎"] = "鼎",
["薡"] = "鼎",
["濎"] = "鼎",
["疼"] = "冬",
["冬"] = "冬",
["苳"] = "冬",
["笗"] = "冬",
["炵"] = "冬",
["佟"] = "冬",
["鼕"] = "冬",
["鉖"] = "冬",
["終"] = "冬",
["螽"] = "冬",
["鼨"] = "冬",
["柊"] = "冬",
["鴤"] = "冬",
["泈"] = "冬",
["蔠"] = "冬",
["東"] = "東",
["菄"] = "東",
["鶇"] = "東",
["倲"] = "東",
["涷"] = "東",
["蝀"] = "東",
["凍"] = "東",
["鯟"] = "東",
["崠"] = "東",
["埬"] = "東",
["棟"] = "東",
["兜"] = "兜",
["篼"] = "兜",
["斗"] = "斗",
["抖"] = "斗",
["蚪"] = "斗",
["枓"] = "斗",
["阧"] = "斗",
["斢"] = "斗",
["鈄"] = "斗",
["侸"] = "豆",
["剅"] = "豆",
["郖"] = "豆",
["鬪"] = "豆",
["鋀"] = "豆",
["頭"] = "豆",
["豆"] = "豆",
["逗"] = "豆",
["痘"] = "豆",
["梪"] = "豆",
["脰"] = "豆",
["荳"] = "豆",
["浢"] = "豆",
["餖"] = "豆",
["毭"] = "豆",
["豎"] = "豆",
["裋"] = "豆",
["短"] = "豆",
["鬥"] = "鬥",
["鬭"] = "鬥",
["瑇"] = "毒",
["纛"] = "毒",
["碡"] = "毒",
["毒"] = "毒",
["蝳"] = "毒",
["揣"] = "耑",
["褍"] = "耑",
["惴"] = "耑",
["圌"] = "耑",
["篅"] = "耑",
["瑞"] = "耑",
["端"] = "耑",
["剬"] = "耑",
["偳"] = "耑",
["鍴"] = "耑",
["耑"] = "耑",
["踹"] = "耑",
["湍"] = "耑",
["煓"] = "耑",
["貒"] = "耑",
["諯"] = "耑",
["顓"] = "耑",
["喘"] = "耑",
["遄"] = "耑",
["輲"] = "耑",
["椯"] = "耑",
["歂"] = "耑",
["腨"] = "耑",
["鍛"] = "段",
["腶"] = "段",
["碫"] = "段",
["瑖"] = "段",
["緞"] = "段",
["段"] = "段",
["椴"] = "段",
["毈"] = "段",
["毤"] = "兌",
["蛻"] = "兌",
["娧"] = "兌",
["駾"] = "兌",
["裞"] = "兌",
["兌"] = "兌",
["綐"] = "兌",
["銳"] = "兌",
["帨"] = "兌",
["稅"] = "兌",
["說"] = "兌",
["涚"] = "兌",
["䫄"] = "兌",
["脫"] = "兌",
["侻"] = "兌",
["挩"] = "兌",
["莌"] = "兌",
["梲"] = "兌",
["鮵"] = "兌",
["敓"] = "兌",
["痥"] = "兌",
["悅"] = "兌",
["閱"] = "兌",
["對"] = "對",
["轛"] = "對",
["薱"] = "對",
["濧"] = "對",
["懟"] = "對",
["弴"] = "敦",
["敦"] = "敦",
["錞"] = "敦",
["憝"] = "敦",
["憞"] = "敦",
["譈"] = "敦",
["鐓"] = "敦",
["鷻"] = "敦",
["鶉"] = "敦",
["惇"] = "敦",
["墩"] = "敦",
["驐"] = "敦",
["燉"] = "敦",
["焞"] = "敦",
["啍"] = "敦",
["暾"] = "敦",
["噋"] = "敦",
["諄"] = "敦",
["埻"] = "敦",
["稕"] = "敦",
["醇"] = "敦",
["淳"] = "敦",
["犉"] = "敦",
["躉"] = "屯",
["窀"] = "屯",
["沌"] = "屯",
["盹"] = "屯",
["頓"] = "屯",
["扽"] = "屯",
["黗"] = "屯",
["吨"] = "屯",
["屯"] = "屯",
["飩"] = "屯",
["豘"] = "屯",
["軘"] = "屯",
["坉"] = "屯",
["邨"] = "屯",
["忳"] = "屯",
["芚"] = "屯",
["庉"] = "屯",
["囤"] = "屯",
["迍"] = "屯",
["杶"] = "屯",
["瑃"] = "屯",
["椿"] = "屯",
["偆"] = "屯",
["肫"] = "屯",
["訰"] = "屯",
["純"] = "屯",
["春"] = "屯",
["蠢"] = "屯",
["踳"] = "屯",
["惷"] = "屯",
["蒓"] = "屯",
["賰"] = "屯",
["鬊"] = "屯",
["盾"] = "盾",
["遁"] = "盾",
["循"] = "盾",
["揗"] = "盾",
["楯"] = "盾",
["輴"] = "盾",
["腯"] = "盾",
["鍎"] = "盾",
["多"] = "多",
["哆"] = "多",
["跢"] = "多",
["痑"] = "多",
["爹"] = "多",
["陊"] = "多",
["橠"] = "多",
["袲"] = "多",
["奓"] = "多",
["栘"] = "多",
["黟"] = "多",
["趍"] = "多",
["誃"] = "多",
["簃"] = "多",
["眵"] = "多",
["恀"] = "多",
["侈"] = "多",
["姼"] = "多",
["鉹"] = "多",
["垑"] = "多",
["袳"] = "多",
["卶"] = "多",
["宜"] = "多",
["誼"] = "多",
["竩"] = "多",
["移"] = "多",
["迻"] = "多",
["扅"] = "多",
["拸"] = "多",
["熪"] = "多",
["謻"] = "多",
["蛥"] = "多",
["桗"] = "朵",
["挆"] = "朵",
["朵"] = "朵",
["朶"] = "朵",
["躲"] = "朵",
["剁"] = "朵",
["垛"] = "朵",
["呃"] = "戹",
["阸"] = "戹",
["厄"] = "戹",
["蚅"] = "戹",
["扼"] = "戹",
["軛"] = "戹",
["戹"] = "戹",
["豟"] = "戹",
["呝"] = "戹",
["軶"] = "戹",
["耐"] = "而",
["耏"] = "而",
["而"] = "而",
["鮞"] = "而",
["鴯"] = "而",
["栭"] = "而",
["陑"] = "而",
["峏"] = "而",
["輀"] = "而",
["胹"] = "而",
["洏"] = "而",
["髵"] = "而",
["恧"] = "而",
["掜"] = "兒",
["誽"] = "兒",
["倪"] = "兒",
["蜺"] = "兒",
["霓"] = "兒",
["郳"] = "兒",
["齯"] = "兒",
["婗"] = "兒",
["輗"] = "兒",
["棿"] = "兒",
["猊"] = "兒",
["麑"] = "兒",
["貎"] = "兒",
["鯢"] = "兒",
["兒"] = "兒",
["觬"] = "兒",
["堄"] = "兒",
["晲"] = "兒",
["睨"] = "兒",
["唲"] = "兒",
["隉"] = "兒",
["鶂"] = "兒",
["鬩"] = "兒",
["妳"] = "尔",
["弥"] = "尔",
["尒"] = "尔",
["尔"] = "尔",
["迩"] = "尔",
["你"] = "尔",
["苶"] = "尔",
["佴"] = "耳",
["麛"] = "耳",
["弭"] = "耳",
["渳"] = "耳",
["葞"] = "耳",
["髶"] = "耳",
["聻"] = "耳",
["恥"] = "耳",
["咡"] = "耳",
["誀"] = "耳",
["耳"] = "耳",
["洱"] = "耳",
["駬"] = "耳",
["餌"] = "耳",
["珥"] = "耳",
["衈"] = "耳",
["毦"] = "耳",
["刵"] = "耳",
["眲"] = "耳",
["嬭"] = "爾",
["禰"] = "爾",
["镾"] = "爾",
["薾"] = "爾",
["檷"] = "爾",
["鑈"] = "爾",
["瀰"] = "爾",
["獼"] = "爾",
["瓕"] = "爾",
["彌"] = "爾",
["鸍"] = "爾",
["擟"] = "爾",
["濔"] = "爾",
["壐"] = "爾",
["璽"] = "爾",
["爾"] = "爾",
["邇"] = "爾",
["獮"] = "爾",
["籋"] = "爾",
["膩"] = "二",
["二"] = "二",
["弍"] = "二",
["貳"] = "二",
["樲"] = "二",
["廢"] = "發",
["癈"] = "發",
["橃"] = "發",
["撥"] = "發",
["鱍"] = "發",
["襏"] = "發",
["驋"] = "發",
["鏺"] = "發",
["潑"] = "發",
["醱"] = "發",
["砭"] = "乏",
["貶"] = "乏",
["窆"] = "乏",
["泛"] = "乏",
["姂"] = "乏",
["䒦"] = "乏",
["柉"] = "乏",
["覂"] = "乏",
["眨"] = "乏",
["鴔"] = "乏",
["乏"] = "乏",
["茷"] = "伐",
["筏"] = "伐",
["伐"] = "伐",
["閥"] = "伐",
["垡"] = "伐",
["栰"] = "伐",
["罰"] = "罰",
["藅"] = "罰",
["法"] = "法",
["灋"] = "法",
["皤"] = "番",
["嶓"] = "番",
["番"] = "番",
["播"] = "番",
["譒"] = "番",
["鄱"] = "番",
["潘"] = "番",
["蟠"] = "番",
["磻"] = "番",
["蕃"] = "番",
["轓"] = "番",
["鱕"] = "番",
["鐇"] = "番",
["藩"] = "番",
["籓"] = "番",
["橎"] = "番",
["翻"] = "番",
["幡"] = "番",
["飜"] = "番",
["旛"] = "番",
["繙"] = "番",
["燔"] = "番",
["蹯"] = "番",
["膰"] = "番",
["羳"] = "番",
["鷭"] = "番",
["璠"] = "番",
["襎"] = "番",
["墦"] = "番",
["嵐"] = "凡",
["葻"] = "凡",
["釩"] = "凡",
["汎"] = "凡",
["凡"] = "凡",
["帆"] = "凡",
["颿"] = "凡",
["軓"] = "凡",
["梵"] = "凡",
["芃"] = "凡",
["風"] = "凡",
["飌"] = "凡",
["楓"] = "凡",
["猦"] = "凡",
["偑"] = "凡",
["檒"] = "凡",
["瘋"] = "凡",
["諷"] = "凡",
["堸"] = "凡",
["渢"] = "凡",
["鳳"] = "凡",
["攀"] = "棥",
["襻"] = "棥",
["棥"] = "棥",
["礬"] = "棥",
["樊"] = "棥",
["蠜"] = "棥",
["煩"] = "煩",
["薠"] = "煩",
["繁"] = "緐",
["緐"] = "緐",
["蘩"] = "緐",
["瀿"] = "緐",
["瀪"] = "緐",
["扳"] = "反",
["板"] = "反",
["版"] = "反",
["瓪"] = "反",
["昄"] = "反",
["鈑"] = "反",
["蝂"] = "反",
["眅"] = "反",
["阪"] = "反",
["魬"] = "反",
["粄"] = "反",
["反"] = "反",
["返"] = "反",
["坂"] = "反",
["畈"] = "反",
["販"] = "反",
["汳"] = "反",
["飯"] = "反",
["氾"] = "氾",
["犯"] = "氾",
["範"] = "氾",
["范"] = "氾",
["笵"] = "氾",
["匚"] = "匚",
["匠"] = "匚",
["縍"] = "方",
["榜"] = "方",
["蒡"] = "方",
["牓"] = "方",
["螃"] = "方",
["搒"] = "方",
["舫"] = "方",
["謗"] = "方",
["雱"] = "方",
["磅"] = "方",
["霶"] = "方",
["滂"] = "方",
["鎊"] = "方",
["髈"] = "方",
["彷"] = "方",
["趽"] = "方",
["房"] = "方",
["篣"] = "方",
["騯"] = "方",
["傍"] = "方",
["膀"] = "方",
["旁"] = "方",
["徬"] = "方",
["閍"] = "方",
["祊"] = "方",
["嗙"] = "方",
["方"] = "方",
["汸"] = "方",
["坊"] = "方",
["邡"] = "方",
["枋"] = "方",
["鈁"] = "方",
["蚄"] = "方",
["肪"] = "方",
["鴋"] = "方",
["牥"] = "方",
["昉"] = "方",
["瓬"] = "方",
["放"] = "方",
["倣"] = "方",
["芳"] = "方",
["淓"] = "方",
["妨"] = "方",
["紡"] = "方",
["仿"] = "方",
["髣"] = "方",
["鶭"] = "方",
["訪"] = "方",
["防"] = "方",
["魴"] = "方",
["圮"] = "妃",
["妃"] = "妃",
["啡"] = "非",
["排"] = "非",
["俳"] = "非",
["輫"] = "非",
["悲"] = "非",
["棑"] = "非",
["輩"] = "非",
["裴"] = "非",
["徘"] = "非",
["琲"] = "非",
["痱"] = "非",
["非"] = "非",
["扉"] = "非",
["緋"] = "非",
["猆"] = "非",
["斐"] = "非",
["馡"] = "非",
["騑"] = "非",
["誹"] = "非",
["餥"] = "非",
["匪"] = "非",
["棐"] = "非",
["蜚"] = "非",
["篚"] = "非",
["榧"] = "非",
["鯡"] = "非",
["霏"] = "非",
["菲"] = "非",
["婔"] = "非",
["裶"] = "非",
["悱"] = "非",
["奜"] = "非",
["腓"] = "非",
["陫"] = "非",
["屝"] = "非",
["厞"] = "非",
["翡"] = "非",
["飛"] = "飛",
["騛"] = "飛",
["蜰"] = "肥",
["肥"] = "肥",
["淝"] = "肥",
["萉"] = "肥",
["朏"] = "朏",
["昢"] = "朏",
["扮"] = "分",
["盼"] = "分",
["頒"] = "分",
["朌"] = "分",
["鳻"] = "分",
["份"] = "分",
["汃"] = "分",
["玢"] = "分",
["邠"] = "分",
["攽"] = "分",
["砏"] = "分",
["貧"] = "分",
["湓"] = "分",
["盆"] = "分",
["葐"] = "分",
["坌"] = "分",
["坋"] = "分",
["分"] = "分",
["吩"] = "分",
["粉"] = "分",
["黺"] = "分",
["芬"] = "分",
["紛"] = "分",
["衯"] = "分",
["棻"] = "分",
["氛"] = "分",
["雰"] = "分",
["忿"] = "分",
["魵"] = "分",
["汾"] = "分",
["羒"] = "分",
["枌"] = "分",
["棼"] = "分",
["妢"] = "分",
["梤"] = "分",
["馚"] = "分",
["鼢"] = "分",
["蚡"] = "分",
["弅"] = "分",
["秎"] = "分",
["糞"] = "糞",
["瀵"] = "糞",
["邦"] = "丰",
["梆"] = "丰",
["垹"] = "丰",
["肨"] = "丰",
["蚌"] = "丰",
["玤"] = "丰",
["棒"] = "丰",
["蜯"] = "丰",
["琫"] = "丰",
["菶"] = "丰",
["俸"] = "丰",
["髼"] = "丰",
["蜂"] = "丰",
["韸"] = "丰",
["蓬"] = "丰",
["篷"] = "丰",
["唪"] = "丰",
["埲"] = "丰",
["丰"] = "丰",
["妦"] = "丰",
["仹"] = "丰",
["峯"] = "丰",
["峰"] = "丰",
["鋒"] = "丰",
["烽"] = "丰",
["蠭"] = "丰",
["桻"] = "丰",
["莑"] = "丰",
["夆"] = "丰",
["捧"] = "丰",
["逢"] = "丰",
["縫"] = "丰",
["漨"] = "丰",
["捀"] = "丰",
["奉"] = "丰",
["豐"] = "豐",
["蘴"] = "豐",
["灃"] = "豐",
["寷"] = "豐",
["麷"] = "豐",
["酆"] = "豐",
["幫"] = "封",
["鞤"] = "封",
["封"] = "封",
["葑"] = "封",
["犎"] = "封",
["崶"] = "封",
["湗"] = "封",
["胮"] = "夆",
["逄"] = "夆",
["舽"] = "夆",
["寶"] = "缶",
["珤"] = "缶",
["缶"] = "缶",
["缹"] = "缶",
["趺"] = "夫",
["肤"] = "夫",
["邞"] = "夫",
["鈇"] = "夫",
["衭"] = "夫",
["玞"] = "夫",
["夫"] = "夫",
["鳺"] = "夫",
["扶"] = "夫",
["妋"] = "夫",
["麩"] = "夫",
["蚨"] = "夫",
["芙"] = "夫",
["颫"] = "夫",
["枎"] = "夫",
["敷"] = "旉",
["璷"] = "旉",
["沛"] = "巿",
["芾"] = "巿",
["伂"] = "巿",
["霈"] = "巿",
["旆"] = "巿",
["肺"] = "巿",
["杮"] = "巿",
["巿"] = "巿",
["鄪"] = "弗",
["費"] = "弗",
["砩"] = "弗",
["沸"] = "弗",
["疿"] = "弗",
["茀"] = "弗",
["髴"] = "弗",
["昲"] = "弗",
["靅"] = "弗",
["狒"] = "弗",
["怫"] = "弗",
["胇"] = "弗",
["艴"] = "弗",
["弗"] = "弗",
["紼"] = "弗",
["柫"] = "弗",
["笰"] = "弗",
["拂"] = "弗",
["刜"] = "弗",
["彿"] = "弗",
["佛"] = "弗",
["坲"] = "弗",
["咈"] = "弗",
["炥"] = "弗",
["絥"] = "伏",
["伏"] = "伏",
["垘"] = "伏",
["茯"] = "伏",
["洑"] = "伏",
["栿"] = "伏",
["殍"] = "孚",
["脬"] = "孚",
["捊"] = "孚",
["莩"] = "孚",
["哹"] = "孚",
["浮"] = "孚",
["蜉"] = "孚",
["桴"] = "孚",
["罦"] = "孚",
["琈"] = "孚",
["粰"] = "孚",
["烰"] = "孚",
["艀"] = "孚",
["俘"] = "孚",
["孚"] = "孚",
["孵"] = "孚",
["稃"] = "孚",
["郛"] = "孚",
["筟"] = "孚",
["菔"] = "服",
["服"] = "服",
["鵩"] = "服",
["箙"] = "服",
["棴"] = "服",
["富"] = "畐",
["輻"] = "畐",
["副"] = "畐",
["褔"] = "畐",
["蔔"] = "畐",
["匐"] = "畐",
["逼"] = "畐",
["偪"] = "畐",
["幅"] = "畐",
["楅"] = "畐",
["湢"] = "畐",
["堛"] = "畐",
["愊"] = "畐",
["踾"] = "畐",
["揊"] = "畐",
["稫"] = "畐",
["畐"] = "畐",
["疈"] = "畐",
["腷"] = "畐",
["鶝"] = "畐",
["福"] = "畐",
["蝠"] = "畐",
["葍"] = "畐",
["愎"] = "复",
["鍑"] = "复",
["覆"] = "复",
["復"] = "复",
["椱"] = "复",
["複"] = "复",
["馥"] = "复",
["腹"] = "复",
["輹"] = "复",
["蝮"] = "复",
["蕧"] = "复",
["复"] = "复",
["鰒"] = "复",
["澓"] = "复",
["豧"] = "甫",
["縛"] = "甫",
["逋"] = "甫",
["餔"] = "甫",
["晡"] = "甫",
["庯"] = "甫",
["陠"] = "甫",
["鵏"] = "甫",
["峬"] = "甫",
["誧"] = "甫",
["秿"] = "甫",
["鯆"] = "甫",
["補"] = "甫",
["圃"] = "甫",
["鋪"] = "甫",
["痡"] = "甫",
["浦"] = "甫",
["烳"] = "甫",
["溥"] = "甫",
["悑"] = "甫",
["酺"] = "甫",
["匍"] = "甫",
["蜅"] = "甫",
["脯"] = "甫",
["葡"] = "甫",
["蒱"] = "甫",
["蒲"] = "甫",
["簿"] = "甫",
["捕"] = "甫",
["哺"] = "甫",
["簠"] = "甫",
["甫"] = "甫",
["黼"] = "甫",
["莆"] = "甫",
["俌"] = "甫",
["郙"] = "甫",
["傅"] = "甫",
["搏"] = "甫",
["麱"] = "甫",
["尃"] = "甫",
["榑"] = "甫",
["輔"] = "甫",
["鬴"] = "甫",
["賻"] = "甫",
["博"] = "甫",
["髆"] = "甫",
["鎛"] = "甫",
["猼"] = "甫",
["餺"] = "甫",
["簙"] = "甫",
["鑮"] = "甫",
["欂"] = "甫",
["蒪"] = "甫",
["膊"] = "甫",
["薄"] = "甫",
["礡"] = "甫",
["抪"] = "父",
["布"] = "父",
["佈"] = "父",
["怖"] = "父",
["斧"] = "父",
["父"] = "父",
["蚥"] = "父",
["滏"] = "父",
["釜"] = "父",
["鉜"] = "付",
["跗"] = "付",
["柎"] = "付",
["腑"] = "付",
["俯"] = "付",
["府"] = "付",
["付"] = "付",
["咐"] = "付",
["怤"] = "付",
["泭"] = "付",
["姇"] = "付",
["紨"] = "付",
["拊"] = "付",
["弣"] = "付",
["符"] = "付",
["苻"] = "付",
["坿"] = "付",
["腐"] = "付",
["附"] = "付",
["駙"] = "付",
["鮒"] = "付",
["袝"] = "付",
["蚹"] = "付",
["胕"] = "付",
["阜"] = "阜",
["埠"] = "阜",
["負"] = "負",
["萯"] = "負",
["蝜"] = "負",
["偩"] = "負",
["丐"] = "丐",
["匄"] = "丐",
["訐"] = "干",
["肝"] = "干",
["竿"] = "干",
["干"] = "干",
["奸"] = "干",
["玕"] = "干",
["汗"] = "干",
["迀"] = "干",
["忓"] = "干",
["鳱"] = "干",
["邗"] = "干",
["秆"] = "干",
["矸"] = "干",
["仠"] = "干",
["皯"] = "干",
["衦"] = "干",
["簳"] = "干",
["擀"] = "干",
["旰"] = "干",
["盰"] = "干",
["幹"] = "干",
["杆"] = "干",
["骭"] = "干",
["桿"] = "干",
["趕"] = "干",
["稈"] = "干",
["刊"] = "干",
["靬"] = "干",
["衎"] = "干",
["犴"] = "干",
["豻"] = "干",
["頇"] = "干",
["岸"] = "干",
["鼾"] = "干",
["罕"] = "干",
["焊"] = "干",
["蔊"] = "干",
["虷"] = "干",
["旱"] = "干",
["皔"] = "干",
["釬"] = "干",
["扞"] = "干",
["閈"] = "干",
["馯"] = "干",
["捍"] = "干",
["悍"] = "干",
["銲"] = "干",
["垾"] = "干",
["駻"] = "干",
["睅"] = "干",
["娨"] = "干",
["飦"] = "干",
["赶"] = "干",
["軒"] = "干",
["蓒"] = "干",
["酐"] = "干",
["澣"] = "干",
["紺"] = "甘",
["姏"] = "甘",
["嵌"] = "甘",
["甘"] = "甘",
["柑"] = "甘",
["苷"] = "甘",
["泔"] = "甘",
["坩"] = "甘",
["蚶"] = "甘",
["酣"] = "甘",
["甝"] = "甘",
["魽"] = "甘",
["邯"] = "甘",
["鉗"] = "甘",
["箝"] = "甘",
["黚"] = "甘",
["拑"] = "甘",
["撖"] = "敢",
["澉"] = "敢",
["噉"] = "敢",
["敢"] = "敢",
["橄"] = "敢",
["瞰"] = "敢",
["闞"] = "敢",
["憨"] = "敢",
["譀"] = "敢",
["巖"] = "敢",
["礹"] = "敢",
["豃"] = "敢",
["讝"] = "敢",
["玁"] = "敢",
["嚴"] = "敢",
["儼"] = "敢",
["曮"] = "敢",
["釅"] = "敢",
["乾"] = "倝",
["漧"] = "倝",
["倝"] = "倝",
["榦"] = "倝",
["韓"] = "倝",
["鶾"] = "倝",
["翰"] = "倝",
["瀚"] = "倝",
["螒"] = "倝",
["雗"] = "倝",
["斡"] = "倝",
["岡"] = "岡",
["崗"] = "岡",
["剛"] = "岡",
["掆"] = "岡",
["鋼"] = "岡",
["綱"] = "岡",
["犅"] = "岡",
["堈"] = "岡",
["羔"] = "羔",
["糕"] = "羔",
["餻"] = "羔",
["窯"] = "羔",
["溔"] = "羔",
["高"] = "高",
["膏"] = "高",
["篙"] = "高",
["稿"] = "高",
["稾"] = "高",
["槁"] = "高",
["縞"] = "高",
["暠"] = "高",
["槀"] = "高",
["藁"] = "高",
["燺"] = "高",
["薧"] = "高",
["犒"] = "高",
["蒿"] = "高",
["藃"] = "高",
["豪"] = "高",
["毫"] = "高",
["壕"] = "高",
["濠"] = "高",
["鎬"] = "高",
["滈"] = "高",
["鄗"] = "高",
["鰝"] = "高",
["薃"] = "高",
["搞"] = "高",
["敲"] = "高",
["髇"] = "高",
["嗃"] = "高",
["巐"] = "高",
["歊"] = "高",
["謞"] = "高",
["熇"] = "高",
["碻"] = "高",
["塙"] = "高",
["毃"] = "高",
["翯"] = "高",
["瀥"] = "高",
["睾"] = "皋",
["皋"] = "皋",
["臯"] = "皐",
["橰"] = "皐",
["鷱"] = "皐",
["翱"] = "皐",
["翺"] = "皐",
["噑"] = "皐",
["獋"] = "皐",
["暭"] = "皐",
["夰"] = "夰",
["昦"] = "夰",
["杲"] = "杲",
["菒"] = "杲",
["造"] = "告",
["慥"] = "告",
["艁"] = "告",
["糙"] = "告",
["告"] = "告",
["誥"] = "告",
["郜"] = "告",
["祰"] = "告",
["靠"] = "告",
["浩"] = "告",
["晧"] = "告",
["皓"] = "告",
["窖"] = "告",
["簉"] = "告",
["梏"] = "告",
["硞"] = "告",
["牿"] = "告",
["鵠"] = "告",
["酷"] = "告",
["焅"] = "告",
["嚳"] = "告",
["頶"] = "告",
["戕"] = "戈",
["戈"] = "戈",
["划"] = "戈",
["革"] = "革",
["諽"] = "革",
["緙"] = "革",
["鞂"] = "革",
["隔"] = "鬲",
["膈"] = "鬲",
["搹"] = "鬲",
["鬲"] = "鬲",
["槅"] = "鬲",
["嗝"] = "鬲",
["虉"] = "鬲",
["翮"] = "鬲",
["滆"] = "鬲",
["蒚"] = "鬲",
["鎘"] = "鬲",
["髂"] = "各",
["路"] = "各",
["輅"] = "各",
["賂"] = "各",
["虂"] = "各",
["露"] = "各",
["潞"] = "各",
["鷺"] = "各",
["璐"] = "各",
["簬"] = "各",
["簵"] = "各",
["洛"] = "各",
["駱"] = "各",
["絡"] = "各",
["酪"] = "各",
["烙"] = "各",
["雒"] = "各",
["珞"] = "各",
["硌"] = "各",
["袼"] = "各",
["笿"] = "各",
["鉻"] = "各",
["鮥"] = "各",
["鵅"] = "各",
["挌"] = "各",
["落"] = "各",
["各"] = "各",
["胳"] = "各",
["閣"] = "各",
["格"] = "各",
["擱"] = "各",
["恪"] = "各",
["愙"] = "各",
["貉"] = "各",
["狢"] = "各",
["佫"] = "各",
["略"] = "各",
["茖"] = "各",
["骼"] = "各",
["觡"] = "各",
["蛒"] = "各",
["敋"] = "各",
["客"] = "各",
["喀"] = "各",
["揢"] = "各",
["額"] = "各",
["峉"] = "各",
["頟"] = "各",
["詻"] = "各",
["垎"] = "各",
["楁"] = "各",
["艱"] = "艮",
["齦"] = "艮",
["眼"] = "艮",
["蛝"] = "艮",
["限"] = "艮",
["硍"] = "艮",
["豤"] = "艮",
["詪"] = "艮",
["根"] = "艮",
["跟"] = "艮",
["珢"] = "艮",
["艮"] = "艮",
["茛"] = "艮",
["墾"] = "艮",
["懇"] = "艮",
["垠"] = "艮",
["泿"] = "艮",
["痕"] = "艮",
["拫"] = "艮",
["鞎"] = "艮",
["很"] = "艮",
["恨"] = "艮",
["銀"] = "艮",
["檭"] = "艮",
["烜"] = "亘",
["貆"] = "亘",
["峘"] = "亘",
["狟"] = "亘",
["絙"] = "亘",
["荁"] = "亘",
["宣"] = "亘",
["咺"] = "亘",
["暅"] = "亘",
["桓"] = "亘",
["洹"] = "亘",
["揎"] = "亘",
["愃"] = "亘",
["瑄"] = "亘",
["渲"] = "亘",
["喧"] = "亘",
["萱"] = "亘",
["暄"] = "亘",
["諠"] = "亘",
["翧"] = "亘",
["蝖"] = "亘",
["垣"] = "亘",
["楦"] = "亘",
["唐"] = "庚",
["煻"] = "庚",
["糖"] = "庚",
["搪"] = "庚",
["蓎"] = "庚",
["瑭"] = "庚",
["餹"] = "庚",
["篖"] = "庚",
["螗"] = "庚",
["塘"] = "庚",
["鶶"] = "庚",
["赯"] = "庚",
["磄"] = "庚",
["溏"] = "庚",
["傏"] = "庚",
["鎕"] = "庚",
["榶"] = "庚",
["嵣"] = "庚",
["庚"] = "庚",
["賡"] = "庚",
["鹒"] = "庚",
["康"] = "庚",
["穅"] = "庚",
["糠"] = "庚",
["槺"] = "庚",
["漮"] = "庚",
["躿"] = "庚",
["慷"] = "庚",
["耿"] = "耿",
["褧"] = "耿",
["缸"] = "工",
["篢"] = "工",
["贑"] = "工",
["涳"] = "工",
["江"] = "工",
["肛"] = "工",
["扛"] = "工",
["杠"] = "工",
["豇"] = "工",
["茳"] = "工",
["釭"] = "工",
["矼"] = "工",
["玒"] = "工",
["虹"] = "工",
["腔"] = "工",
["崆"] = "工",
["羫"] = "工",
["控"] = "工",
["椌"] = "工",
["悾"] = "工",
["跫"] = "工",
["啌"] = "工",
["谾"] = "工",
["舡"] = "工",
["缻"] = "工",
["項"] = "工",
["屸"] = "工",
["功"] = "工",
["工"] = "工",
["疘"] = "工",
["魟"] = "工",
["攻"] = "工",
["愩"] = "工",
["碽"] = "工",
["貢"] = "工",
["羾"] = "工",
["空"] = "工",
["箜"] = "工",
["硿"] = "工",
["埪"] = "工",
["鵼"] = "工",
["倥"] = "工",
["鞚"] = "工",
["叿"] = "工",
["嗊"] = "工",
["訌"] = "工",
["紅"] = "工",
["仜"] = "工",
["葒"] = "工",
["渱"] = "工",
["鴻"] = "工",
["汞"] = "工",
["澒"] = "工",
["鞏"] = "工",
["巩"] = "工",
["銎"] = "工",
["恐"] = "工",
["蛩"] = "工",
["筇"] = "工",
["桏"] = "工",
["邛"] = "工",
["弓"] = "弓",
["穹"] = "弓",
["焪"] = "弓",
["芎"] = "弓",
["慃"] = "公",
["袞"] = "公",
["蔉"] = "公",
["滾"] = "公",
["忩"] = "公",
["鬆"] = "公",
["凇"] = "公",
["公"] = "公",
["蚣"] = "公",
["翁"] = "公",
["螉"] = "公",
["蓊"] = "公",
["嗡"] = "公",
["滃"] = "公",
["暡"] = "公",
["勜"] = "公",
["塕"] = "公",
["瓮"] = "公",
["崧"] = "公",
["菘"] = "公",
["硹"] = "公",
["淞"] = "公",
["蜙"] = "公",
["倯"] = "公",
["松"] = "公",
["訟"] = "公",
["頌"] = "公",
["忪"] = "公",
["彸"] = "公",
["衳"] = "公",
["伀"] = "公",
["妐"] = "公",
["炂"] = "公",
["鈆"] = "公",
["肱"] = "厷",
["宏"] = "厷",
["閎"] = "厷",
["吰"] = "厷",
["竑"] = "厷",
["谹"] = "厷",
["翃"] = "厷",
["紘"] = "厷",
["鈜"] = "厷",
["浤"] = "厷",
["耾"] = "厷",
["雄"] = "厷",
["躬"] = "躬",
["匑"] = "躬",
["躳"] = "躬",
["窮"] = "躬",
["藭"] = "躬",
["港"] = "共",
["巷"] = "共",
["衖"] = "共",
["鬨"] = "共",
["烘"] = "共",
["洪"] = "共",
["鉷"] = "共",
["谼"] = "共",
["葓"] = "共",
["哄"] = "共",
["蕻"] = "共",
["恭"] = "共",
["供"] = "共",
["龔"] = "共",
["珙"] = "共",
["共"] = "共",
["髸"] = "共",
["拱"] = "共",
["拲"] = "共",
["蛬"] = "共",
["栱"] = "共",
["輁"] = "共",
["舼"] = "共",
["輂"] = "共",
["溝"] = "冓",
["篝"] = "冓",
["鞲"] = "冓",
["韝"] = "冓",
["褠"] = "冓",
["冓"] = "冓",
["構"] = "冓",
["購"] = "冓",
["媾"] = "冓",
["覯"] = "冓",
["遘"] = "冓",
["煹"] = "冓",
["搆"] = "冓",
["講"] = "冓",
["耩"] = "冓",
["傋"] = "冓",
["斠"] = "冓",
["箇"] = "古",
["個"] = "古",
["居"] = "古",
["橭"] = "古",
["嫴"] = "古",
["姑"] = "古",
["辜"] = "古",
["酤"] = "古",
["蛄"] = "古",
["鴣"] = "古",
["沽"] = "古",
["盬"] = "古",
["古"] = "古",
["罟"] = "古",
["估"] = "古",
["鈷"] = "古",
["詁"] = "古",
["牯"] = "古",
["故"] = "古",
["固"] = "古",
["稒"] = "古",
["痼"] = "古",
["錮"] = "古",
["鯝"] = "古",
["棝"] = "古",
["凅"] = "古",
["枯"] = "古",
["軲"] = "古",
["跍"] = "古",
["骷"] = "古",
["苦"] = "古",
["葫"] = "古",
["餬"] = "古",
["瑚"] = "古",
["湖"] = "古",
["鶘"] = "古",
["猢"] = "古",
["醐"] = "古",
["糊"] = "古",
["箶"] = "古",
["蝴"] = "古",
["胡"] = "古",
["瓳"] = "古",
["怙"] = "古",
["祜"] = "古",
["岵"] = "古",
["婟"] = "古",
["楛"] = "古",
["据"] = "古",
["裾"] = "古",
["琚"] = "古",
["椐"] = "古",
["鶋"] = "古",
["蜛"] = "古",
["崌"] = "古",
["涺"] = "古",
["腒"] = "古",
["鋸"] = "古",
["倨"] = "古",
["踞"] = "古",
["涸"] = "古",
["螸"] = "谷",
["裕"] = "谷",
["容"] = "谷",
["溶"] = "谷",
["鎔"] = "谷",
["蓉"] = "谷",
["傛"] = "谷",
["褣"] = "谷",
["搈"] = "谷",
["瑢"] = "谷",
["嵱"] = "谷",
["熔"] = "谷",
["榕"] = "谷",
["塎"] = "谷",
["谷"] = "谷",
["唂"] = "谷",
["焀"] = "谷",
["俗"] = "谷",
["欲"] = "谷",
["浴"] = "谷",
["鵒"] = "谷",
["峪"] = "谷",
["鋊"] = "谷",
["輍"] = "谷",
["慾"] = "谷",
["股"] = "股",
["羖"] = "股",
["顝"] = "骨",
["滑"] = "骨",
["猾"] = "骨",
["磆"] = "骨",
["螖"] = "骨",
["鶻"] = "骨",
["嗗"] = "骨",
["骨"] = "骨",
["縎"] = "骨",
["愲"] = "骨",
["蓇"] = "骨",
["尳"] = "骨",
["榾"] = "骨",
["搰"] = "骨",
["核"] = "骨",
["皷"] = "鼓",
["鼓"] = "鼓",
["瞽"] = "鼓",
["瓜"] = "瓜",
["坬"] = "瓜",
["窊"] = "瓜",
["畖"] = "瓜",
["搲"] = "瓜",
["攨"] = "瓜",
["孤"] = "瓜",
["苽"] = "瓜",
["胍"] = "瓜",
["泒"] = "瓜",
["呱"] = "瓜",
["觚"] = "瓜",
["柧"] = "瓜",
["罛"] = "瓜",
["軱"] = "瓜",
["菰"] = "瓜",
["箛"] = "瓜",
["狐"] = "瓜",
["弧"] = "瓜",
["碢"] = "冎",
["腡"] = "冎",
["過"] = "冎",
["渦"] = "冎",
["鍋"] = "冎",
["楇"] = "冎",
["瘑"] = "冎",
["緺"] = "冎",
["堝"] = "冎",
["濄"] = "冎",
["鐹"] = "冎",
["薖"] = "冎",
["簻"] = "冎",
["禍"] = "冎",
["窩"] = "冎",
["萵"] = "冎",
["檛"] = "冎",
["膼"] = "冎",
["蝸"] = "冎",
["媧"] = "冎",
["騧"] = "冎",
["冎"] = "冎",
["剮"] = "冎",
["諣"] = "冎",
["歄"] = "冎",
["咼"] = "冎",
["喎"] = "冎",
["箉"] = "枴",
["拐"] = "枴",
["枴"] = "枴",
["袂"] = "夬",
["夬"] = "夬",
["快"] = "夬",
["駃"] = "夬",
["筷"] = "夬",
["炔"] = "夬",
["觖"] = "夬",
["缺"] = "夬",
["蒛"] = "夬",
["吷"] = "夬",
["妜"] = "夬",
["決"] = "夬",
["訣"] = "夬",
["抉"] = "夬",
["玦"] = "夬",
["芵"] = "夬",
["赽"] = "夬",
["鴂"] = "夬",
["鈌"] = "夬",
["决"] = "夬",
["疦"] = "夬",
["蚗"] = "夬",
["趹"] = "夬",
["官"] = "官",
["棺"] = "官",
["倌"] = "官",
["悹"] = "官",
["涫"] = "官",
["管"] = "官",
["琯"] = "官",
["痯"] = "官",
["輨"] = "官",
["錧"] = "官",
["館"] = "官",
["婠"] = "官",
["悺"] = "官",
["逭"] = "官",
["菅"] = "官",
["綰"] = "官",
["捾"] = "官",
["毌"] = "毌",
["貫"] = "毌",
["樌"] = "毌",
["鏆"] = "毌",
["遦"] = "毌",
["慣"] = "毌",
["摜"] = "毌",
["瑻"] = "毌",
["謴"] = "毌",
["觀"] = "雚",
["灌"] = "雚",
["鸛"] = "雚",
["瓘"] = "雚",
["矔"] = "雚",
["懽"] = "雚",
["爟"] = "雚",
["雚"] = "雚",
["罐"] = "雚",
["鑵"] = "雚",
["歡"] = "雚",
["驩"] = "雚",
["貛"] = "雚",
["酄"] = "雚",
["獾"] = "雚",
["讙"] = "雚",
["嚾"] = "雚",
["權"] = "雚",
["顴"] = "雚",
["孉"] = "雚",
["蠸"] = "雚",
["虇"] = "雚",
["勸"] = "雚",
["光"] = "光",
["灮"] = "光",
["洸"] = "光",
["桄"] = "光",
["胱"] = "光",
["垙"] = "光",
["輄"] = "光",
["恍"] = "光",
["茪"] = "光",
["侊"] = "光",
["晃"] = "光",
["幌"] = "光",
["榥"] = "光",
["滉"] = "光",
["觥"] = "光",
["駫"] = "光",
["街"] = "圭",
["鞋"] = "圭",
["娾"] = "圭",
["佳"] = "圭",
["鮭"] = "圭",
["涯"] = "圭",
["崖"] = "圭",
["啀"] = "圭",
["厓"] = "圭",
["捱"] = "圭",
["睚"] = "圭",
["娃"] = "圭",
["洼"] = "圭",
["哇"] = "圭",
["胿"] = "圭",
["溎"] = "圭",
["觟"] = "圭",
["黊"] = "圭",
["蘳"] = "圭",
["蛙"] = "圭",
["窪"] = "圭",
["卦"] = "圭",
["挂"] = "圭",
["掛"] = "圭",
["詿"] = "圭",
["罣"] = "圭",
["絓"] = "圭",
["鼃"] = "圭",
["圭"] = "圭",
["珪"] = "圭",
["邽"] = "圭",
["閨"] = "圭",
["袿"] = "圭",
["窐"] = "圭",
["茥"] = "圭",
["桂"] = "圭",
["筀"] = "圭",
["奎"] = "圭",
["刲"] = "圭",
["蝰"] = "圭",
["楏"] = "圭",
["睳"] = "圭",
["畦"] = "圭",
["眭"] = "圭",
["烓"] = "圭",
["跬"] = "圭",
["恚"] = "圭",
["硅"] = "圭",
["嫢"] = "規",
["規"] = "規",
["槻"] = "規",
["鬹"] = "規",
["摫"] = "規",
["瞡"] = "規",
["窺"] = "規",
["闚"] = "規",
["鬮"] = "龜",
["龜"] = "龜",
["孈"] = "巂",
["纗"] = "巂",
["攜"] = "巂",
["蠵"] = "巂",
["鑴"] = "巂",
["驨"] = "巂",
["酅"] = "巂",
["雟"] = "巂",
["讗"] = "巂",
["觽"] = "巂",
["儶"] = "巂",
["觿"] = "巂",
["欈"] = "巂",
["瓗"] = "巂",
["携"] = "巂",
["睽"] = "癸",
["湀"] = "癸",
["聧"] = "癸",
["藈"] = "癸",
["癸"] = "癸",
["葵"] = "癸",
["鄈"] = "癸",
["楑"] = "癸",
["戣"] = "癸",
["鍨"] = "癸",
["騤"] = "癸",
["揆"] = "癸",
["猤"] = "癸",
["闋"] = "癸",
["謉"] = "鬼",
["瑰"] = "鬼",
["傀"] = "鬼",
["藱"] = "鬼",
["魁"] = "鬼",
["磈"] = "鬼",
["塊"] = "鬼",
["嵬"] = "鬼",
["隗"] = "鬼",
["槐"] = "鬼",
["瘣"] = "鬼",
["廆"] = "鬼",
["溾"] = "鬼",
["螝"] = "鬼",
["褢"] = "鬼",
["騩"] = "鬼",
["愧"] = "鬼",
["媿"] = "鬼",
["聭"] = "鬼",
["餽"] = "鬼",
["鬼"] = "鬼",
["魏"] = "鬼",
["巍"] = "鬼",
["犩"] = "鬼",
["簋"] = "簋",
["孂"] = "簋",
["藬"] = "貴",
["僓"] = "貴",
["頹"] = "貴",
["穨"] = "貴",
["蘈"] = "貴",
["隤"] = "貴",
["墤"] = "貴",
["尵"] = "貴",
["蹪"] = "貴",
["瀢"] = "貴",
["鞼"] = "貴",
["膭"] = "貴",
["憒"] = "貴",
["靧"] = "貴",
["潰"] = "貴",
["繢"] = "貴",
["嬇"] = "貴",
["殨"] = "貴",
["闠"] = "貴",
["簣"] = "貴",
["嘳"] = "貴",
["蕢"] = "貴",
["聵"] = "貴",
["樻"] = "貴",
["䙡"] = "貴",
["匱"] = "貴",
["臾"] = "貴",
["饋"] = "貴",
["櫃"] = "貴",
["遺"] = "貴",
["壝"] = "貴",
["瞶"] = "貴",
["貴"] = "貴",
["郭"] = "郭",
["埻"] = "郭",
["崞"] = "郭",
["椁"] = "郭",
["槨"] = "郭",
["噋"] = "郭",
["廓"] = "郭",
["鞹"] = "郭",
["漷"] = "郭",
["霩"] = "郭",
["裸"] = "果",
["躶"] = "果",
["果"] = "果",
["菓"] = "果",
["猓"] = "果",
["輠"] = "果",
["裹"] = "果",
["蜾"] = "果",
["惈"] = "果",
["粿"] = "果",
["窠"] = "果",
["稞"] = "果",
["課"] = "果",
["髁"] = "果",
["棵"] = "果",
["顆"] = "果",
["堁"] = "果",
["敤"] = "果",
["夥"] = "果",
["婐"] = "果",
["踝"] = "果",
["祼"] = "果",
["該"] = "亥",
["垓"] = "亥",
["賅"] = "亥",
["陔"] = "亥",
["豥"] = "亥",
["荄"] = "亥",
["郂"] = "亥",
["姟"] = "亥",
["絯"] = "亥",
["晐"] = "亥",
["峐"] = "亥",
["侅"] = "亥",
["胲"] = "亥",
["頦"] = "亥",
["奒"] = "亥",
["輆"] = "亥",
["欬"] = "亥",
["硋"] = "亥",
["閡"] = "亥",
["咳"] = "亥",
["孩"] = "亥",
["亥"] = "亥",
["劾"] = "亥",
["痎"] = "亥",
["烗"] = "亥",
["骸"] = "亥",
["駭"] = "亥",
["刻"] = "亥",
["餩"] = "亥",
["核"] = "亥",
["轄"] = "害",
["害"] = "害",
["犗"] = "害",
["幰"] = "害",
["攇"] = "害",
["憲"] = "害",
["瀗"] = "害",
["割"] = "害",
["磍"] = "害",
["瞎"] = "害",
["鎋"] = "害",
["鶷"] = "害",
["縖"] = "害",
["豁"] = "害",
["蜬"] = "函",
["函"] = "函",
["涵"] = "函",
["顄"] = "函",
["圅"] = "函",
["菡"] = "函",
["寒"] = "寒",
["蹇"] = "寒",
["謇"] = "寒",
["搴"] = "寒",
["藆"] = "寒",
["騫"] = "寒",
["褰"] = "寒",
["攐"] = "寒",
["鑳"] = "寒",
["寋"] = "寒",
["鶱"] = "寒",
["厂"] = "厂",
["屵"] = "厂",
["儺"] = "暵",
["臡"] = "暵",
["嘆"] = "暵",
["灘"] = "暵",
["擹"] = "暵",
["攤"] = "暵",
["癱"] = "暵",
["歎"] = "暵",
["難"] = "暵",
["暵"] = "暵",
["熯"] = "暵",
["漢"] = "暵",
["戁"] = "暵",
["薅"] = "好",
["好"] = "好",
["饕"] = "号",
["號"] = "号",
["号"] = "号",
["枵"] = "号",
["呺"] = "号",
["鴞"] = "号",
["昊"] = "昊",
["顥"] = "昊",
["灝"] = "昊",
["科"] = "禾",
["萪"] = "禾",
["蝌"] = "禾",
["犐"] = "禾",
["禾"] = "禾",
["和"] = "禾",
["咊"] = "禾",
["盉"] = "禾",
["龢"] = "禾",
["鉌"] = "禾",
["俰"] = "禾",
["龕"] = "合",
["媕"] = "合",
["頜"] = "合",
["答"] = "合",
["畣"] = "合",
["荅"] = "合",
["嗒"] = "合",
["褡"] = "合",
["撘"] = "合",
["搭"] = "合",
["榙"] = "合",
["佮"] = "合",
["蛤"] = "合",
["鴿"] = "合",
["合"] = "合",
["郃"] = "合",
["匌"] = "合",
["鉿"] = "合",
["閤"] = "合",
["鞈"] = "合",
["韐"] = "合",
["鮯"] = "合",
["哈"] = "合",
["姶"] = "合",
["欱"] = "合",
["盒"] = "合",
["耠"] = "合",
["詥"] = "合",
["塔"] = "合",
["鞳"] = "合",
["劄"] = "合",
["跲"] = "合",
["袷"] = "合",
["餄"] = "合",
["恰"] = "合",
["帢"] = "合",
["洽"] = "合",
["祫"] = "合",
["珨"] = "合",
["烚"] = "合",
["歙"] = "合",
["湁"] = "合",
["拾"] = "合",
["給"] = "合",
["翕"] = "合",
["噏"] = "合",
["潝"] = "合",
["熻"] = "合",
["嬆"] = "合",
["翖"] = "合",
["闟"] = "合",
["愒"] = "曷",
["馤"] = "曷",
["靄"] = "曷",
["餲"] = "曷",
["喝"] = "曷",
["揭"] = "曷",
["偈"] = "曷",
["猲"] = "曷",
["葛"] = "曷",
["輵"] = "曷",
["獦"] = "曷",
["渴"] = "曷",
["嵑"] = "曷",
["暍"] = "曷",
["曷"] = "曷",
["褐"] = "曷",
["鶡"] = "曷",
["毼"] = "曷",
["蝎"] = "曷",
["鞨"] = "曷",
["遏"] = "曷",
["齃"] = "曷",
["堨"] = "曷",
["擖"] = "曷",
["楬"] = "曷",
["朅"] = "曷",
["藒"] = "曷",
["竭"] = "曷",
["碣"] = "曷",
["羯"] = "曷",
["鍻"] = "曷",
["歇"] = "曷",
["蠍"] = "曷",
["謁"] = "曷",
["蓋"] = "盍",
["盖"] = "盍",
["溘"] = "盍",
["搕"] = "盍",
["嗑"] = "盍",
["榼"] = "盍",
["磕"] = "盍",
["瞌"] = "盍",
["盍"] = "盍",
["闔"] = "盍",
["篕"] = "盍",
["熆"] = "盍",
["鰪"] = "盍",
["廅"] = "盍",
["圔"] = "盍",
["饁"] = "盍",
["鶴"] = "寉",
["髉"] = "寉",
["篧"] = "寉",
["榷"] = "寉",
["搉"] = "寉",
["傕"] = "寉",
["確"] = "寉",
["寉"] = "寉",
["蒮"] = "寉",
["嚜"] = "黑",
["嫼"] = "黑",
["墨"] = "黑",
["默"] = "黑",
["纆"] = "黑",
["黑"] = "黑",
["潶"] = "黑",
["亨"] = "亨",
["享"] = "亨",
["烹"] = "亨",
["脝"] = "亨",
["悙"] = "亨",
["哼"] = "亨",
["搄"] = "亙",
["縆"] = "亙",
["絙"] = "亙",
["亙"] = "亙",
["堩"] = "亙",
["恒"] = "亙",
["峘"] = "亙",
["弘"] = "弘",
["鞃"] = "弘",
["苰"] = "弘",
["泓"] = "弘",
["宖"] = "弘",
["紭"] = "弘",
["緱"] = "侯",
["侯"] = "侯",
["喉"] = "侯",
["猴"] = "侯",
["瘊"] = "侯",
["篌"] = "侯",
["糇"] = "侯",
["帿"] = "侯",
["睺"] = "侯",
["矦"] = "侯",
["餱"] = "侯",
["翭"] = "侯",
["葔"] = "侯",
["鄇"] = "侯",
["鍭"] = "侯",
["鯸"] = "侯",
["候"] = "侯",
["堠"] = "侯",
["垢"] = "后",
["詬"] = "后",
["茩"] = "后",
["姤"] = "后",
["銗"] = "后",
["骺"] = "后",
["后"] = "后",
["垕"] = "后",
["郈"] = "后",
["逅"] = "后",
["鲘"] = "后",
["缿"] = "后",
["罅"] = "乎",
["呼"] = "乎",
["軤"] = "乎",
["苸"] = "乎",
["嘑"] = "乎",
["歑"] = "乎",
["謼"] = "乎",
["滹"] = "乎",
["乎"] = "乎",
["虖"] = "乎",
["嫭"] = "乎",
["唬"] = "虍",
["戲"] = "虍",
["巇"] = "虍",
["隵"] = "虍",
["嚱"] = "虍",
["盧"] = "虍",
["鑪"] = "虍",
["壚"] = "虍",
["籚"] = "虍",
["蘆"] = "虍",
["顱"] = "虍",
["髗"] = "虍",
["鱸"] = "虍",
["攎"] = "虍",
["櫨"] = "虍",
["轤"] = "虍",
["黸"] = "虍",
["獹"] = "虍",
["鸕"] = "虍",
["艫"] = "虍",
["纑"] = "虍",
["瀘"] = "虍",
["瓐"] = "虍",
["爐"] = "虍",
["嚧"] = "虍",
["矑"] = "虍",
["罏"] = "虍",
["蠦"] = "虍",
["虜"] = "虍",
["擄"] = "虍",
["艣"] = "虍",
["鐪"] = "虍",
["虖"] = "虍",
["虍"] = "虍",
["雐"] = "虍",
["虎"] = "虍",
["琥"] = "虍",
["萀"] = "虍",
["臚"] = "虍",
["廬"] = "虍",
["驢"] = "虍",
["藘"] = "虍",
["爈"] = "虍",
["櫖"] = "虍",
["儢"] = "虍",
["慮"] = "虍",
["勴"] = "虍",
["鑢"] = "虍",
["濾"] = "虍",
["攄"] = "虍",
["處"] = "虍",
["豦"] = "虍",
["據"] = "虍",
["鐻"] = "虍",
["澽"] = "虍",
["虛"] = "虍",
["墟"] = "虍",
["懅"] = "虍",
["蘧"] = "虍",
["籧"] = "虍",
["醵"] = "虍",
["璩"] = "虍",
["虡"] = "虍",
["遽"] = "虍",
["勮"] = "虍",
["嘘"] = "虍",
["驉"] = "虍",
["歔"] = "虍",
["魖"] = "虍",
["膚"] = "虍",
["虧"] = "虍",
["噱"] = "虍",
["臄"] = "虍",
["劇"] = "虍",
["諕"] = "虍",
["魱"] = "互",
["互"] = "互",
["冱"] = "互",
["枑"] = "互",
["妒"] = "戸",
["雇"] = "戸",
["顧"] = "戸",
["戽"] = "戸",
["戶"] = "戸",
["扈"] = "戸",
["帍"] = "戸",
["昈"] = "戸",
["滬"] = "戸",
["簄"] = "戸",
["齭"] = "戸",
["所"] = "戸",
["鞾"] = "華",
["華"] = "華",
["譁"] = "華",
["樺"] = "華",
["嘩"] = "華",
["驊"] = "華",
["鏵"] = "華",
["崋"] = "華",
["訛"] = "化",
["吪"] = "化",
["鈋"] = "化",
["囮"] = "化",
["魤"] = "化",
["靴"] = "化",
["貨"] = "化",
["花"] = "化",
["化"] = "化",
["杹"] = "化",
["𠤎"] = "化",
["畫"] = "畫",
["澅"] = "畫",
["繣"] = "畫",
["劃"] = "畫",
["嫿"] = "畫",
["瓌"] = "褱",
["櫰"] = "褱",
["褱"] = "褱",
["懷"] = "褱",
["瀤"] = "褱",
["壞"] = "褱",
["蘾"] = "褱",
["寬"] = "萈",
["髖"] = "萈",
["萈"] = "萈",
["臗"] = "萈",
["渙"] = "奐",
["瘓"] = "奐",
["喚"] = "奐",
["煥"] = "奐",
["奐"] = "奐",
["寏"] = "奐",
["換"] = "奐",
["漶"] = "患",
["贃"] = "患",
["患"] = "患",
["槵"] = "患",
["僙"] = "黃",
["廣"] = "黃",
["鄺"] = "黃",
["懬"] = "黃",
["爌"] = "黃",
["曠"] = "黃",
["矌"] = "黃",
["壙"] = "黃",
["纊"] = "黃",
["黃"] = "黃",
["璜"] = "黃",
["潢"] = "黃",
["簧"] = "黃",
["癀"] = "黃",
["鱑"] = "黃",
["獚"] = "黃",
["蟥"] = "黃",
["趪"] = "黃",
["櫎"] = "黃",
["擴"] = "黃",
["瀇"] = "黃",
["獷"] = "黃",
["觵"] = "黃",
["礦"] = "黃",
["鑛"] = "黃",
["穬"] = "黃",
["橫"] = "黃",
["黌"] = "黃",
["鐄"] = "黃",
["嚝"] = "黃",
["彉"] = "黃",
["彍"] = "黃",
["脄"] = "灰",
["盔"] = "灰",
["詼"] = "灰",
["恢"] = "灰",
["灰"] = "灰",
["鬌"] = "隓",
["隋"] = "隓",
["墮"] = "隓",
["媠"] = "隓",
["橢"] = "隓",
["嫷"] = "隓",
["毻"] = "隓",
["堶"] = "隓",
["憜"] = "隓",
["惰"] = "隓",
["嶞"] = "隓",
["髓"] = "隓",
["瀡"] = "隓",
["隨"] = "隓",
["隓"] = "隓",
["隳"] = "隓",
["撱"] = "隓",
["回"] = "回",
["徊"] = "回",
["茴"] = "回",
["洄"] = "回",
["迴"] = "回",
["佪"] = "回",
["蛔"] = "回",
["毀"] = "毀",
["燬"] = "毀",
["檓"] = "毀",
["毇"] = "毀",
["譭"] = "毀",
["卉"] = "卉",
["芔"] = "卉",
["泋"] = "卉",
["櫘"] = "彗",
["彗"] = "彗",
["篲"] = "彗",
["鏏"] = "彗",
["槥"] = "彗",
["轊"] = "彗",
["熭"] = "彗",
["嘒"] = "彗",
["暳"] = "彗",
["嚖"] = "彗",
["慧"] = "彗",
["蔧"] = "彗",
["雪"] = "彗",
["韢"] = "惠",
["繐"] = "惠",
["憓"] = "惠",
["潓"] = "惠",
["惠"] = "惠",
["蟪"] = "惠",
["蕙"] = "惠",
["橞"] = "惠",
["譓"] = "惠",
["鏸"] = "惠",
["穗"] = "惠",
["譮"] = "會",
["會"] = "會",
["儈"] = "會",
["膾"] = "會",
["鱠"] = "會",
["襘"] = "會",
["禬"] = "會",
["檜"] = "會",
["旝"] = "會",
["澮"] = "會",
["鄶"] = "會",
["廥"] = "會",
["鬠"] = "會",
["劊"] = "會",
["獪"] = "會",
["繪"] = "會",
["懀"] = "會",
["薈"] = "會",
["嬒"] = "會",
["瞺"] = "會",
["噲"] = "會",
["璯"] = "會",
["鍲"] = "昏",
["抿"] = "昏",
["緡"] = "昏",
["捪"] = "昏",
["湣"] = "昏",
["昏"] = "昏",
["婚"] = "昏",
["閽"] = "昏",
["惛"] = "昏",
["棔"] = "昏",
["殙"] = "昏",
["溷"] = "圂",
["慁"] = "圂",
["圂"] = "圂",
["火"] = "火",
["邩"] = "火",
["伙"] = "火",
["幗"] = "或",
["慖"] = "或",
["簂"] = "或",
["蔮"] = "或",
["國"] = "或",
["或"] = "或",
["惑"] = "或",
["蜮"] = "或",
["閾"] = "或",
["緎"] = "或",
["淢"] = "或",
["域"] = "或",
["罭"] = "或",
["棫"] = "或",
["琙"] = "或",
["魊"] = "或",
["馘"] = "或",
["聝"] = "或",
["膕"] = "或",
["摑"] = "或",
["漍"] = "或",
["嘓"] = "或",
["蟈"] = "或",
["掝"] = "或",
["彧"] = "或",
["稶"] = "或",
["檴"] = "蒦",
["鱯"] = "蒦",
["護"] = "蒦",
["頀"] = "蒦",
["濩"] = "蒦",
["韄"] = "蒦",
["鳠"] = "蒦",
["擭"] = "蒦",
["瓁"] = "蒦",
["劐"] = "蒦",
["穫"] = "蒦",
["鑊"] = "蒦",
["矆"] = "蒦",
["鸌"] = "蒦",
["雘"] = "蒦",
["蠖"] = "蒦",
["臒"] = "蒦",
["嬳"] = "蒦",
["彠"] = "蒦",
["嚄"] = "蒦",
["獲"] = "蒦",
["靃"] = "霍",
["臛"] = "霍",
["籗"] = "霍",
["霍"] = "霍",
["藿"] = "霍",
["攉"] = "霍",
["矐"] = "霍",
["瀖"] = "霍",
["癨"] = "霍",
["繫"] = "毄",
["檕"] = "毄",
["轚"] = "毄",
["蘻"] = "毄",
["罊"] = "毄",
["蟿"] = "毄",
["礊"] = "毄",
["擊"] = "毄",
["墼"] = "毄",
["趿"] = "及",
["鈒"] = "及",
["靸"] = "及",
["馺"] = "及",
["砐"] = "及",
["魥"] = "及",
["扱"] = "及",
["笈"] = "及",
["衱"] = "及",
["极"] = "及",
["昅"] = "及",
["雭"] = "及",
["急"] = "及",
["級"] = "及",
["汲"] = "及",
["芨"] = "及",
["伋"] = "及",
["彶"] = "及",
["及"] = "及",
["岌"] = "及",
["吸"] = "及",
["秸"] = "吉",
["髻"] = "吉",
["夡"] = "吉",
["鴶"] = "吉",
["袺"] = "吉",
["頡"] = "吉",
["劼"] = "吉",
["硈"] = "吉",
["咭"] = "吉",
["黠"] = "吉",
["聐"] = "吉",
["趌"] = "吉",
["結"] = "吉",
["拮"] = "吉",
["桔"] = "吉",
["狤"] = "吉",
["擷"] = "吉",
["襭"] = "吉",
["翓"] = "吉",
["纈"] = "吉",
["吉"] = "吉",
["郆"] = "吉",
["詰"] = "吉",
["蛣"] = "吉",
["佶"] = "吉",
["鮚"] = "吉",
["姞"] = "吉",
["欯"] = "吉",
["恄"] = "吉",
["卪"] = "即",
["癤"] = "即",
["幯"] = "即",
["節"] = "即",
["蝍"] = "即",
["蠞"] = "即",
["堲"] = "即",
["唧"] = "即",
["楖"] = "即",
["揤"] = "即",
["櫛"] = "即",
["瀄"] = "即",
["擳"] = "即",
["即"] = "即",
["鯽"] = "即",
["亟"] = "茍",
["茍"] = "茍",
["殛"] = "茍",
["極"] = "茍",
["嫉"] = "疾",
["疾"] = "疾",
["蒺"] = "疾",
["愱"] = "疾",
["槉"] = "疾",
["棘"] = "棘",
["襋"] = "棘",
["蕀"] = "棘",
["雜"] = "集",
["磼"] = "集",
["囃"] = "集",
["鏶"] = "集",
["穕"] = "集",
["潗"] = "集",
["集"] = "集",
["肌"] = "几",
["飢"] = "几",
["机"] = "几",
["虮"] = "几",
["几"] = "几",
["麂"] = "几",
["改"] = "己",
["跽"] = "己",
["己"] = "己",
["紀"] = "己",
["妀"] = "己",
["記"] = "己",
["杞"] = "己",
["屺"] = "己",
["芑"] = "己",
["邔"] = "己",
["玘"] = "己",
["忌"] = "己",
["鵋"] = "己",
["誋"] = "己",
["梞"] = "己",
["丮"] = "丮",
["谻"] = "丮",
["脊"] = "脊",
["蹐"] = "脊",
["鶺"] = "脊",
["塉"] = "脊",
["瘠"] = "脊",
["膌"] = "脊",
["機"] = "幾",
["譏"] = "幾",
["嘰"] = "幾",
["磯"] = "幾",
["鞿"] = "幾",
["饑"] = "幾",
["禨"] = "幾",
["幾"] = "幾",
["鐖"] = "幾",
["僟"] = "幾",
["璣"] = "幾",
["蟣"] = "幾",
["穖"] = "幾",
["畿"] = "幾",
["戟"] = "戟",
["撠"] = "戟",
["溉"] = "旡",
["槩"] = "旡",
["概"] = "旡",
["摡"] = "旡",
["慨"] = "旡",
["嘅"] = "旡",
["穊"] = "旡",
["暨"] = "旡",
["鱀"] = "旡",
["塈"] = "旡",
["既"] = "旡",
["旡"] = "旡",
["蔇"] = "旡",
["炁"] = "旡",
["櫭"] = "旡",
["曁"] = "旡",
["季"] = "季",
["悸"] = "季",
["痵"] = "季",
["蔡"] = "祭",
["瘵"] = "祭",
["祭"] = "祭",
["際"] = "祭",
["穄"] = "祭",
["鰶"] = "祭",
["傺"] = "祭",
["摖"] = "祭",
["擦"] = "祭",
["攃"] = "祭",
["礤"] = "祭",
["察"] = "祭",
["詧"] = "祭",
["冀"] = "冀",
["驥"] = "冀",
["懻"] = "冀",
["罽"] = "罽",
["瀱"] = "罽",
["蘮"] = "罽",
["繼"] = "繼",
["檵"] = "繼",
["妿"] = "加",
["賀"] = "加",
["迦"] = "加",
["茄"] = "加",
["伽"] = "加",
["枷"] = "加",
["嘉"] = "加",
["加"] = "加",
["笳"] = "加",
["痂"] = "加",
["袈"] = "加",
["跏"] = "加",
["珈"] = "加",
["鴐"] = "加",
["架"] = "加",
["駕"] = "加",
["瘸"] = "加",
["瘞"] = "夾",
["瘱"] = "夾",
["脥"] = "夾",
["浹"] = "夾",
["挾"] = "夾",
["夾"] = "夾",
["郟"] = "夾",
["筴"] = "夾",
["裌"] = "夾",
["鵊"] = "夾",
["狹"] = "夾",
["峽"] = "夾",
["硤"] = "夾",
["陜"] = "夾",
["陿"] = "夾",
["翜"] = "夾",
["梜"] = "夾",
["頰"] = "夾",
["莢"] = "夾",
["鋏"] = "夾",
["蛺"] = "夾",
["唊"] = "夾",
["悏"] = "夾",
["匧"] = "夾",
["愜"] = "夾",
["篋"] = "夾",
["俠"] = "夾",
["綊"] = "夾",
["家"] = "家",
["傢"] = "家",
["幏"] = "家",
["稼"] = "家",
["嫁"] = "家",
["戛"] = "戛",
["嘎"] = "戛",
["笚"] = "甲",
["閘"] = "甲",
["鉀"] = "甲",
["甲"] = "甲",
["胛"] = "甲",
["岬"] = "甲",
["押"] = "甲",
["玾"] = "甲",
["呷"] = "甲",
["匣"] = "甲",
["狎"] = "甲",
["柙"] = "甲",
["翈"] = "甲",
["炠"] = "甲",
["鴨"] = "甲",
["庘"] = "甲",
["葭"] = "叚",
["麚"] = "叚",
["瘕"] = "叚",
["豭"] = "叚",
["貑"] = "叚",
["猳"] = "叚",
["犌"] = "叚",
["假"] = "叚",
["嘏"] = "叚",
["婽"] = "叚",
["椵"] = "叚",
["叚"] = "叚",
["蝦"] = "叚",
["煆"] = "叚",
["霞"] = "叚",
["遐"] = "叚",
["瑕"] = "叚",
["鰕"] = "叚",
["碬"] = "叚",
["蕸"] = "叚",
["赮"] = "叚",
["鍜"] = "叚",
["騢"] = "叚",
["暇"] = "叚",
["殘"] = "戔",
["戔"] = "戔",
["帴"] = "戔",
["虥"] = "戔",
["盞"] = "戔",
["醆"] = "戔",
["琖"] = "戔",
["剗"] = "戔",
["棧"] = "戔",
["輚"] = "戔",
["嶘"] = "戔",
["錢"] = "戔",
["俴"] = "戔",
["籛"] = "戔",
["淺"] = "戔",
["濺"] = "戔",
["踐"] = "戔",
["諓"] = "戔",
["餞"] = "戔",
["賤"] = "戔",
["綫"] = "戔",
["箋"] = "戔",
["牋"] = "戔",
["顅"] = "肩",
["掮"] = "肩",
["肩"] = "肩",
["猏"] = "肩",
["菺"] = "肩",
["鵳"] = "肩",
["姦"] = "姦",
["葌"] = "姦",
["譧"] = "兼",
["賺"] = "兼",
["尲"] = "兼",
["鹻"] = "兼",
["歉"] = "兼",
["槏"] = "兼",
["鰜"] = "兼",
["稴"] = "兼",
["豏"] = "兼",
["甉"] = "兼",
["廉"] = "兼",
["鎌"] = "兼",
["鬑"] = "兼",
["鐮"] = "兼",
["簾"] = "兼",
["薕"] = "兼",
["蠊"] = "兼",
["嬚"] = "兼",
["溓"] = "兼",
["嵰"] = "兼",
["隒"] = "兼",
["熑"] = "兼",
["濂"] = "兼",
["燫"] = "兼",
["兼"] = "兼",
["縑"] = "兼",
["鶼"] = "兼",
["蒹"] = "兼",
["搛"] = "兼",
["謙"] = "兼",
["膁"] = "兼",
["嗛"] = "兼",
["慊"] = "兼",
["傔"] = "兼",
["馦"] = "兼",
["嫌"] = "兼",
["鼸"] = "兼",
["尷"] = "兼",
["藍"] = "監",
["襤"] = "監",
["籃"] = "監",
["懢"] = "監",
["儖"] = "監",
["蘫"] = "監",
["攬"] = "監",
["欖"] = "監",
["覽"] = "監",
["爁"] = "監",
["擥"] = "監",
["灠"] = "監",
["濫"] = "監",
["嚂"] = "監",
["纜"] = "監",
["監"] = "監",
["礛"] = "監",
["鑑"] = "監",
["艦"] = "監",
["檻"] = "監",
["壏"] = "監",
["轞"] = "監",
["鹽"] = "監",
["蘭"] = "柬",
["攔"] = "柬",
["欄"] = "柬",
["瀾"] = "柬",
["讕"] = "柬",
["闌"] = "柬",
["韊"] = "柬",
["幱"] = "柬",
["籣"] = "柬",
["躝"] = "柬",
["爛"] = "柬",
["爤"] = "柬",
["鑭"] = "柬",
["糷"] = "柬",
["斕"] = "柬",
["揀"] = "柬",
["柬"] = "柬",
["暕"] = "柬",
["諫"] = "柬",
["練"] = "柬",
["鍊"] = "柬",
["煉"] = "柬",
["楝"] = "柬",
["萰"] = "柬",
["堜"] = "柬",
["湅"] = "柬",
["襺"] = "繭",
["繭"] = "繭",
["蠒"] = "繭",
["笄"] = "幵",
["枅"] = "幵",
["蚈"] = "幵",
["羿"] = "幵",
["栞"] = "幵",
["雃"] = "幵",
["詽"] = "幵",
["揅"] = "幵",
["幵"] = "幵",
["鳽"] = "幵",
["豣"] = "幵",
["麉"] = "幵",
["趼"] = "幵",
["汧"] = "幵",
["岍"] = "幵",
["研"] = "幵",
["妍"] = "幵",
["訮"] = "幵",
["鈃"] = "幵",
["涀"] = "見",
["莧"] = "見",
["粯"] = "見",
["晛"] = "見",
["筧"] = "見",
["絸"] = "見",
["垷"] = "見",
["挸"] = "見",
["見"] = "見",
["俔"] = "見",
["蜆"] = "見",
["硯"] = "見",
["峴"] = "見",
["哯"] = "見",
["睍"] = "見",
["現"] = "見",
["犍"] = "建",
["騝"] = "建",
["鍵"] = "建",
["揵"] = "建",
["鞬"] = "建",
["腱"] = "建",
["湕"] = "建",
["建"] = "建",
["旔"] = "建",
["楗"] = "建",
["健"] = "建",
["間"] = "閒",
["簡"] = "閒",
["澗"] = "閒",
["鐧"] = "閒",
["蕑"] = "閒",
["覵"] = "閒",
["襉"] = "閒",
["僩"] = "閒",
["鬜"] = "閒",
["癇"] = "閒",
["瞯"] = "閒",
["憪"] = "閒",
["橌"] = "閒",
["撊"] = "閒",
["瀳"] = "薦",
["韉"] = "薦",
["薦"] = "薦",
["畺"] = "畺",
["畕"] = "畺",
["礓"] = "畺",
["繮"] = "畺",
["韁"] = "畺",
["橿"] = "畺",
["薑"] = "畺",
["疆"] = "畺",
["壃"] = "畺",
["僵"] = "畺",
["彊"] = "畺",
["麠"] = "畺",
["贛"] = "夅",
["灨"] = "夅",
["竷"] = "夅",
["戇"] = "夅",
["洚"] = "夅",
["降"] = "夅",
["絳"] = "夅",
["栙"] = "夅",
["夅"] = "夅",
["跭"] = "夅",
["隆"] = "夅",
["癃"] = "夅",
["窿"] = "夅",
["霳"] = "夅",
["烄"] = "交",
["礮"] = "交",
["交"] = "交",
["郊"] = "交",
["茭"] = "交",
["蛟"] = "交",
["鮫"] = "交",
["鵁"] = "交",
["咬"] = "交",
["鉸"] = "交",
["佼"] = "交",
["詨"] = "交",
["絞"] = "交",
["狡"] = "交",
["姣"] = "交",
["筊"] = "交",
["校"] = "交",
["珓"] = "交",
["跤"] = "交",
["頝"] = "交",
["骹"] = "交",
["齩"] = "交",
["洨"] = "交",
["胶"] = "交",
["效"] = "交",
["効"] = "交",
["傚"] = "交",
["皎"] = "交",
["恔"] = "交",
["晈"] = "交",
["窔"] = "交",
["駮"] = "交",
["癄"] = "焦",
["焦"] = "焦",
["蕉"] = "焦",
["鷦"] = "焦",
["僬"] = "焦",
["噍"] = "焦",
["膲"] = "焦",
["鐎"] = "焦",
["蟭"] = "焦",
["燋"] = "焦",
["醮"] = "焦",
["潐"] = "焦",
["趭"] = "焦",
["樵"] = "焦",
["譙"] = "焦",
["憔"] = "焦",
["劁"] = "焦",
["顦"] = "焦",
["嶕"] = "焦",
["撨"] = "焦",
["穛"] = "焦",
["捔"] = "角",
["桷"] = "角",
["角"] = "角",
["埆"] = "角",
["确"] = "角",
["斛"] = "角",
["槲"] = "角",
["蔛"] = "角",
["礉"] = "敫",
["邀"] = "敫",
["憿"] = "敫",
["徼"] = "敫",
["儌"] = "敫",
["璬"] = "敫",
["皦"] = "敫",
["繳"] = "敫",
["敫"] = "敫",
["譥"] = "敫",
["激"] = "敫",
["噭"] = "敫",
["獥"] = "敫",
["鸄"] = "敫",
["墽"] = "敫",
["竅"] = "敫",
["覈"] = "敫",
["燩"] = "敫",
["檄"] = "敫",
["薂"] = "敫",
["皆"] = "皆",
["偕"] = "皆",
["階"] = "皆",
["喈"] = "皆",
["稭"] = "皆",
["堦"] = "皆",
["楷"] = "皆",
["鶛"] = "皆",
["湝"] = "皆",
["蝔"] = "皆",
["鍇"] = "皆",
["揩"] = "皆",
["諧"] = "皆",
["瑎"] = "皆",
["龤"] = "皆",
["孑"] = "孑",
["𨥂"] = "孑",
["劫"] = "劫",
["蜐"] = "劫",
["疀"] = "疌",
["萐"] = "疌",
["箑"] = "疌",
["啑"] = "疌",
["睫"] = "疌",
["婕"] = "疌",
["緁"] = "疌",
["捷"] = "疌",
["疌"] = "疌",
["寁"] = "疌",
["倢"] = "疌",
["崨"] = "疌",
["踕"] = "疌",
["誱"] = "疌",
["徢"] = "疌",
["蜨"] = "疌",
["桀"] = "桀",
["傑"] = "桀",
["榤"] = "桀",
["嵥"] = "桀",
["滐"] = "桀",
["搩"] = "桀",
["謋"] = "桀",
["巀"] = "截",
["截"] = "截",
["蠽"] = "截",
["薢"] = "解",
["解"] = "解",
["檞"] = "解",
["懈"] = "解",
["繲"] = "解",
["廨"] = "解",
["蟹"] = "解",
["獬"] = "解",
["澥"] = "解",
["嶰"] = "解",
["邂"] = "解",
["夆"] = "丯",
["丯"] = "丯",
["瘛"] = "丯",
["觢"] = "丯",
["契"] = "丯",
["栔"] = "丯",
["禊"] = "丯",
["稧"] = "丯",
["楔"] = "丯",
["葜"] = "丯",
["猰"] = "丯",
["窫"] = "丯",
["揳"] = "丯",
["偰"] = "丯",
["潔"] = "丯",
["絜"] = "丯",
["鍥"] = "丯",
["挈"] = "丯",
["蛪"] = "丯",
["齧"] = "丯",
["褉"] = "丯",
["喫"] = "丯",
["妎"] = "介",
["芥"] = "介",
["尬"] = "介",
["界"] = "介",
["介"] = "介",
["疥"] = "介",
["玠"] = "介",
["砎"] = "介",
["魪"] = "介",
["价"] = "介",
["衸"] = "介",
["齘"] = "介",
["骱"] = "介",
["扴"] = "介",
["圿"] = "介",
["忦"] = "介",
["祴"] = "戒",
["駴"] = "戒",
["戒"] = "戒",
["誡"] = "戒",
["悈"] = "戒",
["械"] = "戒",
["裓"] = "戒",
["巾"] = "巾",
["帘"] = "巾",
["貪"] = "今",
["嗿"] = "今",
["僋"] = "今",
["酓"] = "今",
["馠"] = "今",
["谽"] = "今",
["唅"] = "今",
["含"] = "今",
["肣"] = "今",
["頷"] = "今",
["筨"] = "今",
["梒"] = "今",
["鋡"] = "今",
["莟"] = "今",
["琀"] = "今",
["浛"] = "今",
["盦"] = "今",
["韽"] = "今",
["玪"] = "今",
["妗"] = "今",
["欦"] = "今",
["黔"] = "今",
["鈐"] = "今",
["鳹"] = "今",
["雂"] = "今",
["念"] = "今",
["梣"] = "今",
["枔"] = "今",
["岑"] = "今",
["笒"] = "今",
["涔"] = "今",
["侺"] = "今",
["今"] = "今",
["黅"] = "今",
["衿"] = "今",
["衾"] = "今",
["坅"] = "今",
["搇"] = "今",
["琴"] = "今",
["禽"] = "今",
["芩"] = "今",
["庈"] = "今",
["耹"] = "今",
["靲"] = "今",
["擒"] = "今",
["檎"] = "今",
["紟"] = "今",
["吟"] = "今",
["訡"] = "今",
["廞"] = "今",
["陰"] = "今",
["霠"] = "今",
["飲"] = "今",
["蔭"] = "今",
["廕"] = "今",
["矜"] = "今",
["蘄"] = "斤",
["祈"] = "斤",
["頎"] = "斤",
["旂"] = "斤",
["圻"] = "斤",
["蚚"] = "斤",
["岓"] = "斤",
["玂"] = "斤",
["沂"] = "斤",
["掀"] = "斤",
["釿"] = "斤",
["齗"] = "斤",
["听"] = "斤",
["垽"] = "斤",
["斤"] = "斤",
["菦"] = "斤",
["靳"] = "斤",
["劤"] = "斤",
["勁"] = "斤",
["赾"] = "斤",
["芹"] = "斤",
["近"] = "斤",
["斦"] = "斤",
["欣"] = "斤",
["忻"] = "斤",
["昕"] = "斤",
["訢"] = "斤",
["炘"] = "斤",
["邤"] = "斤",
["庍"] = "斤",
["焮"] = "斤",
["淦"] = "金",
["顉"] = "金",
["金"] = "金",
["錦"] = "金",
["欽"] = "金",
["菳"] = "金",
["嶔"] = "金",
["撳"] = "金",
["捦"] = "金",
["鵭"] = "金",
["唫"] = "金",
["鈙"] = "金",
["崟"] = "金",
["趛"] = "金",
["簪"] = "兓",
["撍"] = "兓",
["鐕"] = "兓",
["憯"] = "兓",
["噆"] = "兓",
["朁"] = "兓",
["蠶"] = "兓",
["蚕"] = "兓",
["糣"] = "兓",
["熸"] = "兓",
["鬵"] = "兓",
["灊"] = "兓",
["潛"] = "兓",
["僭"] = "兓",
["兓"] = "兓",
["嶜"] = "兓",
["兂"] = "兓",
["譖"] = "兓",
["葏"] = "津",
["津"] = "津",
["囏"] = "堇",
["螼"] = "堇",
["堇"] = "堇",
["墐"] = "堇",
["𥎊"] = "堇",
["僅"] = "堇",
["瑾"] = "堇",
["覲"] = "堇",
["殣"] = "堇",
["饉"] = "堇",
["廑"] = "堇",
["瘽"] = "堇",
["歏"] = "堇",
["鄞"] = "堇",
["謹"] = "堇",
["槿"] = "堇",
["漌"] = "堇",
["慬"] = "堇",
["勤"] = "堇",
["懃"] = "堇",
["懄"] = "堇",
["濜"] = "盡",
["盡"] = "盡",
["賮"] = "盡",
["燼"] = "盡",
["藎"] = "盡",
["壗"] = "盡",
["璶"] = "盡",
["鄑"] = "晉",
["戩"] = "晉",
["榗"] = "晉",
["晉"] = "晉",
["縉"] = "晉",
["搢"] = "晉",
["瑨"] = "晉",
["璡"] = "進",
["進"] = "進",
["羥"] = "坙",
["俓"] = "坙",
["牼"] = "坙",
["硁"] = "坙",
["誙"] = "坙",
["娙"] = "坙",
["莖"] = "坙",
["痙"] = "坙",
["葝"] = "巠",
["頸"] = "巠",
["勁"] = "巠",
["鑋"] = "巠",
["輕"] = "巠",
["涇"] = "巠",
["經"] = "巠",
["鵛"] = "巠",
["巠"] = "巠",
["剄"] = "巠",
["烴"] = "巠",
["徑"] = "巠",
["逕"] = "巠",
["桱"] = "巠",
["蛵"] = "巠",
["陘"] = "巠",
["鋞"] = "巠",
["脛"] = "巠",
["踁"] = "巠",
["涼"] = "京",
["凉"] = "京",
["椋"] = "京",
["綡"] = "京",
["輬"] = "京",
["諒"] = "京",
["掠"] = "京",
["弶"] = "京",
["京"] = "京",
["麖"] = "京",
["鶁"] = "京",
["景"] = "京",
["鯨"] = "京",
["黥"] = "京",
["勍"] = "京",
["剠"] = "京",
["倞"] = "京",
["影"] = "京",
["璟"] = "京",
["憬"] = "京",
["暻"] = "京",
["澋"] = "京",
["兢"] = "兢",
["殑"] = "兢",
["硎"] = "井",
["耕"] = "井",
["荊"] = "井",
["井"] = "井",
["丼"] = "井",
["妌"] = "井",
["穽"] = "井",
["阱"] = "井",
["汫"] = "井",
["刑"] = "井",
["形"] = "井",
["邢"] = "井",
["鉶"] = "井",
["型"] = "井",
["侀"] = "井",
["滰"] = "竟",
["境"] = "竟",
["竟"] = "竟",
["鏡"] = "竟",
["獍"] = "竟",
["樈"] = "竟",
["璄"] = "竟",
["摬"] = "竟",
["蟼"] = "敬",
["憼"] = "敬",
["驚"] = "敬",
["警"] = "敬",
["儆"] = "敬",
["璥"] = "敬",
["檠"] = "敬",
["敬"] = "敬",
["擎"] = "敬",
["曔"] = "敬",
["誩"] = "誩",
["競"] = "誩",
["苘"] = "冋",
["詗"] = "冋",
["駉"] = "冋",
["坰"] = "冋",
["冋"] = "冋",
["絅"] = "冋",
["扃"] = "冋",
["炯"] = "冋",
["迥"] = "冋",
["泂"] = "冋",
["臩"] = "臦",
["臦"] = "臦",
["艽"] = "丩",
["芁"] = "丩",
["荍"] = "丩",
["叫"] = "丩",
["訆"] = "丩",
["嘂"] = "丩",
["收"] = "丩",
["糾"] = "丩",
["朻"] = "丩",
["丩"] = "丩",
["赳"] = "丩",
["虬"] = "丩",
["虯"] = "丩",
["觓"] = "丩",
["尻"] = "九",
["訄"] = "九",
["艽"] = "九",
["虓"] = "九",
["鳩"] = "九",
["勼"] = "九",
["九"] = "九",
["究"] = "九",
["仇"] = "九",
["鼽"] = "九",
["犰"] = "九",
["叴"] = "九",
["厹"] = "九",
["頄"] = "九",
["朹"] = "九",
["馗"] = "九",
["扏"] = "九",
["訅"] = "九",
["釚"] = "九",
["肍"] = "九",
["軌"] = "九",
["宄"] = "九",
["氿"] = "九",
["匭"] = "九",
["泦"] = "九",
["旭"] = "九",
["畂"] = "久",
["久"] = "久",
["灸"] = "久",
["玖"] = "久",
["疚"] = "久",
["柩"] = "久",
["羑"] = "久",
["臼"] = "臼",
["齨"] = "臼",
["桕"] = "臼",
["舅"] = "臼",
["舊"] = "臼",
["匶"] = "臼",
["閰"] = "臼",
["咎"] = "咎",
["鼛"] = "咎",
["櫜"] = "咎",
["倃"] = "咎",
["綹"] = "咎",
["麔"] = "咎",
["晷"] = "咎",
["厬"] = "咎",
["僦"] = "就",
["就"] = "就",
["鷲"] = "就",
["殧"] = "就",
["噈"] = "就",
["蹴"] = "就",
["廄"] = "廄",
["匓"] = "廄",
["菊"] = "匊",
["鞠"] = "匊",
["掬"] = "匊",
["匊"] = "匊",
["鵴"] = "匊",
["椈"] = "匊",
["諊"] = "匊",
["踘"] = "匊",
["趜"] = "匊",
["蘜"] = "匊",
["鞫"] = "匊",
["巈"] = "匊",
["麴"] = "匊",
["毱"] = "匊",
["驧"] = "匊",
["鋦"] = "局",
["挶"] = "局",
["梮"] = "局",
["局"] = "局",
["跼"] = "局",
["侷"] = "局",
["瞁"] = "狊",
["湨"] = "狊",
["郹"] = "狊",
["狊"] = "狊",
["鶪"] = "狊",
["鼳"] = "狊",
["犑"] = "狊",
["闃"] = "狊",
["柜"] = "巨",
["渠"] = "巨",
["磲"] = "巨",
["蕖"] = "巨",
["蟝"] = "巨",
["璖"] = "巨",
["巨"] = "巨",
["距"] = "巨",
["拒"] = "巨",
["苣"] = "巨",
["炬"] = "巨",
["詎"] = "巨",
["鉅"] = "巨",
["秬"] = "巨",
["粔"] = "巨",
["駏"] = "巨",
["歫"] = "巨",
["矩"] = "巨",
["榘"] = "巨",
["勾"] = "句",
["鉤"] = "句",
["鴝"] = "句",
["句"] = "句",
["夠"] = "句",
["枸"] = "句",
["軥"] = "句",
["狗"] = "句",
["苟"] = "句",
["岣"] = "句",
["笱"] = "句",
["玽"] = "句",
["耇"] = "句",
["豿"] = "句",
["敂"] = "句",
["怐"] = "句",
["雊"] = "句",
["竘"] = "句",
["齁"] = "句",
["呴"] = "句",
["蚼"] = "句",
["豞"] = "句",
["訽"] = "句",
["佝"] = "句",
["拘"] = "句",
["駒"] = "句",
["眗"] = "句",
["跔"] = "句",
["鮈"] = "句",
["痀"] = "句",
["蒟"] = "句",
["絇"] = "句",
["邭"] = "句",
["劬"] = "句",
["朐"] = "句",
["鼩"] = "句",
["斪"] = "句",
["翑"] = "句",
["葋"] = "句",
["姁"] = "句",
["欨"] = "句",
["喣"] = "句",
["煦"] = "句",
["昫"] = "句",
["俱"] = "具",
["椇"] = "具",
["具"] = "具",
["埧"] = "具",
["颶"] = "具",
["瞿"] = "瞿",
["衢"] = "瞿",
["氍"] = "瞿",
["癯"] = "瞿",
["蠷"] = "瞿",
["臞"] = "瞿",
["欋"] = "瞿",
["鸜"] = "瞿",
["灈"] = "瞿",
["躣"] = "瞿",
["忂"] = "瞿",
["戵"] = "瞿",
["鑺"] = "瞿",
["懼"] = "瞿",
["潫"] = "龹",
["豢"] = "龹",
["勬"] = "龹",
["韏"] = "龹",
["眷"] = "龹",
["桊"] = "龹",
["絭"] = "龹",
["觠"] = "龹",
["飬"] = "龹",
["弮"] = "龹",
["拳"] = "龹",
["卷"] = "龹",
["齤"] = "龹",
["券"] = "龹",
["腃"] = "卷",
["卷"] = "卷",
["菤"] = "卷",
["捲"] = "卷",
["埢"] = "卷",
["睠"] = "卷",
["弮"] = "卷",
["犈"] = "卷",
["棬"] = "卷",
["鬈"] = "卷",
["圈"] = "卷",
["蜷"] = "卷",
["踡"] = "卷",
["婘"] = "卷",
["蔨"] = "卷",
["倦"] = "卷",
["淃"] = "卷",
["綣"] = "卷",
["裷"] = "卷",
["隽"] = "雋",
["檇"] = "雋",
["臇"] = "雋",
["嶲"] = "雋",
["鐫"] = "雋",
["雋"] = "雋",
["儁"] = "雋",
["寯"] = "雋",
["鱖"] = "欮",
["蹶"] = "欮",
["厥"] = "欮",
["欮"] = "欮",
["蕨"] = "欮",
["劂"] = "欮",
["瘚"] = "欮",
["蟨"] = "欮",
["蟩"] = "欮",
["橜"] = "欮",
["撅"] = "欮",
["闕"] = "欮",
["橛"] = "欮",
["鷢"] = "欮",
["蹷"] = "欮",
["憠"] = "欮",
["蕝"] = "絕",
["脃"] = "絕",
["脆"] = "絕",
["絕"] = "絕",
["釂"] = "爵",
["皭"] = "爵",
["爝"] = "爵",
["爵"] = "爵",
["嚼"] = "爵",
["穱"] = "爵",
["灂"] = "爵",
["钁"] = "矍",
["攫"] = "矍",
["矍"] = "矍",
["躩"] = "矍",
["玃"] = "矍",
["貜"] = "矍",
["彏"] = "矍",
["戄"] = "矍",
["籰"] = "矍",
["涒"] = "君",
["麏"] = "君",
["莙"] = "君",
["輑"] = "君",
["蜠"] = "君",
["峮"] = "君",
["窘"] = "君",
["僒"] = "君",
["君"] = "君",
["桾"] = "君",
["宭"] = "君",
["鮶"] = "君",
["捃"] = "君",
["群"] = "君",
["羣"] = "君",
["裙"] = "君",
["裠"] = "君",
["帬"] = "君",
["焄"] = "君",
["郡"] = "君",
["揮"] = "軍",
["輝"] = "軍",
["翬"] = "軍",
["暉"] = "軍",
["煇"] = "軍",
["楎"] = "軍",
["瀈"] = "軍",
["韗"] = "軍",
["褌"] = "軍",
["鶤"] = "軍",
["緷"] = "軍",
["睴"] = "軍",
["璭"] = "軍",
["瘒"] = "軍",
["顐"] = "軍",
["諢"] = "軍",
["餫"] = "軍",
["渾"] = "軍",
["琿"] = "軍",
["鼲"] = "軍",
["堚"] = "軍",
["鯶"] = "軍",
["軍"] = "軍",
["皸"] = "軍",
["齳"] = "軍",
["喗"] = "軍",
["葷"] = "軍",
["惲"] = "軍",
["賱"] = "軍",
["運"] = "軍",
["暈"] = "軍",
["鄆"] = "軍",
["諐"] = "侃",
["侃"] = "侃",
["偘"] = "侃",
["笐"] = "亢",
["亢"] = "亢",
["牨"] = "亢",
["苀"] = "亢",
["魧"] = "亢",
["迒"] = "亢",
["邟"] = "亢",
["忼"] = "亢",
["骯"] = "亢",
["抗"] = "亢",
["炕"] = "亢",
["伉"] = "亢",
["閌"] = "亢",
["犺"] = "亢",
["蚢"] = "亢",
["砊"] = "亢",
["阬"] = "亢",
["頏"] = "亢",
["航"] = "亢",
["杭"] = "亢",
["沆"] = "亢",
["肮"] = "亢",
["吭"] = "亢",
["秔"] = "亢",
["坑"] = "亢",
["劥"] = "亢",
["丂"] = "丂",
["攷"] = "丂",
["考"] = "丂",
["烤"] = "丂",
["拷"] = "丂",
["栲"] = "丂",
["洘"] = "丂",
["銬"] = "丂",
["巧"] = "丂",
["朽"] = "丂",
["彀"] = "殻",
["鷇"] = "殻",
["瞉"] = "殻",
["豰"] = "殻",
["瑴"] = "殻",
["愨"] = "殻",
["殼"] = "殻",
["觳"] = "殻",
["嗀"] = "殻",
["穀"] = "殻",
["糓"] = "殻",
["轂"] = "殻",
["榖"] = "殻",
["瀔"] = "殻",
["縠"] = "殻",
["砢"] = "可",
["柯"] = "可",
["菏"] = "可",
["牁"] = "可",
["滒"] = "可",
["哥"] = "可",
["歌"] = "可",
["謌"] = "可",
["鴚"] = "可",
["哿"] = "可",
["舸"] = "可",
["笴"] = "可",
["軻"] = "可",
["珂"] = "可",
["可"] = "可",
["岢"] = "可",
["坷"] = "可",
["蚵"] = "可",
["呵"] = "可",
["訶"] = "可",
["抲"] = "可",
["荷"] = "可",
["何"] = "可",
["河"] = "可",
["苛"] = "可",
["魺"] = "可",
["袔"] = "可",
["阿"] = "可",
["妸"] = "可",
["疴"] = "可",
["鈳"] = "可",
["娿"] = "可",
["痾"] = "可",
["跒"] = "可",
["閜"] = "可",
["克"] = "克",
["剋"] = "克",
["勊"] = "克",
["肯"] = "肯",
["肎"] = "肯",
["吼"] = "孔",
["孔"] = "孔",
["口"] = "口",
["叩"] = "口",
["扣"] = "口",
["釦"] = "口",
["筘"] = "口",
["滱"] = "寇",
["寇"] = "寇",
["簆"] = "寇",
["蔻"] = "寇",
["怪"] = "圣",
["恠"] = "圣",
["圣"] = "圣",
["凷"] = "凷",
["屆"] = "凷",
["款"] = "款",
["欵"] = "款",
["歀"] = "款",
["窾"] = "款",
["夔"] = "夔",
["犪"] = "夔",
["躨"] = "夔",
["昆"] = "昆",
["琨"] = "昆",
["鯤"] = "昆",
["菎"] = "昆",
["崐"] = "昆",
["蜫"] = "昆",
["惃"] = "昆",
["錕"] = "昆",
["猑"] = "昆",
["騉"] = "昆",
["緄"] = "昆",
["輥"] = "昆",
["棍"] = "昆",
["餛"] = "昆",
["混"] = "昆",
["焜"] = "昆",
["倱"] = "昆",
["掍"] = "昆",
["箟"] = "昆",
["硱"] = "困",
["梱"] = "困",
["捆"] = "困",
["綑"] = "困",
["閫"] = "困",
["悃"] = "困",
["稛"] = "困",
["裍"] = "困",
["齫"] = "困",
["困"] = "困",
["涃"] = "困",
["咶"] = "桰",
["話"] = "桰",
["刮"] = "桰",
["鴰"] = "桰",
["趏"] = "桰",
["舌"] = "桰",
["姡"] = "桰",
["頢"] = "桰",
["括"] = "桰",
["活"] = "桰",
["适"] = "桰",
["栝"] = "桰",
["佸"] = "桰",
["髺"] = "桰",
["聒"] = "桰",
["銛"] = "桰",
["葀"] = "桰",
["懖"] = "桰",
["筈"] = "桰",
["萿"] = "桰",
["蛞"] = "桰",
["闊"] = "桰",
["秳"] = "桰",
["莿"] = "剌",
["鵣"] = "剌",
["辣"] = "剌",
["辢"] = "剌",
["剌"] = "剌",
["揧"] = "剌",
["瘌"] = "剌",
["楋"] = "剌",
["蝲"] = "剌",
["來"] = "來",
["萊"] = "來",
["淶"] = "來",
["徠"] = "來",
["崍"] = "來",
["郲"] = "來",
["騋"] = "來",
["猍"] = "來",
["鯠"] = "來",
["鶆"] = "來",
["庲"] = "來",
["棶"] = "來",
["斄"] = "來",
["逨"] = "來",
["麳"] = "來",
["唻"] = "來",
["賚"] = "來",
["睞"] = "來",
["勑"] = "來",
["誺"] = "來",
["倈"] = "來",
["憖"] = "來",
["猌"] = "來",
["麥"] = "來",
["賴"] = "賴",
["籟"] = "賴",
["癩"] = "賴",
["瀨"] = "賴",
["藾"] = "賴",
["攋"] = "賴",
["懶"] = "賴",
["嬾"] = "賴",
["獺"] = "賴",
["牢"] = "牢",
["窂"] = "牢",
["哰"] = "牢",
["勞"] = "勞",
["撈"] = "勞",
["嘮"] = "勞",
["癆"] = "勞",
["簩"] = "勞",
["蟧"] = "勞",
["憥"] = "勞",
["澇"] = "勞",
["僗"] = "勞",
["髝"] = "勞",
["膋"] = "勞",
["犖"] = "勞",
["老"] = "老",
["姥"] = "老",
["栳"] = "老",
["恅"] = "老",
["樂"] = "樂",
["轢"] = "樂",
["濼"] = "樂",
["躒"] = "樂",
["擽"] = "樂",
["爍"] = "樂",
["鑠"] = "樂",
["藥"] = "樂",
["櫟"] = "樂",
["纅"] = "樂",
["礫"] = "樂",
["瓅"] = "樂",
["皪"] = "樂",
["觻"] = "樂",
["嚛"] = "樂",
["摞"] = "畾",
["騾"] = "畾",
["螺"] = "畾",
["蔂"] = "畾",
["虆"] = "畾",
["瘰"] = "畾",
["礌"] = "畾",
["雷"] = "畾",
["擂"] = "畾",
["攂"] = "畾",
["礧"] = "畾",
["儡"] = "畾",
["瓃"] = "畾",
["櫑"] = "畾",
["鑘"] = "畾",
["鐳"] = "畾",
["畾"] = "畾",
["轠"] = "畾",
["罍"] = "畾",
["蕾"] = "畾",
["癗"] = "畾",
["磥"] = "畾",
["累"] = "畾",
["儽"] = "畾",
["樏"] = "畾",
["鸓"] = "畾",
["嫘"] = "畾",
["纍"] = "畾",
["欙"] = "畾",
["纝"] = "畾",
["壘"] = "畾",
["櫐"] = "畾",
["蘽"] = "畾",
["藟"] = "畾",
["讄"] = "畾",
["絫"] = "厽",
["厽"] = "厽",
["垒"] = "厽",
["頛"] = "耒",
["郲"] = "耒",
["耒"] = "耒",
["銇"] = "耒",
["洡"] = "耒",
["誄"] = "耒",
["藞"] = "磊",
["磊"] = "磊",
["蘱"] = "頪",
["纇"] = "頪",
["類"] = "頪",
["頪"] = "頪",
["禷"] = "頪",
["謧"] = "离",
["璃"] = "离",
["離"] = "离",
["縭"] = "离",
["离"] = "离",
["醨"] = "离",
["樆"] = "离",
["褵"] = "离",
["漓"] = "离",
["黐"] = "离",
["籬"] = "离",
["灕"] = "离",
["蘺"] = "离",
["攡"] = "离",
["魑"] = "离",
["螭"] = "离",
["摛"] = "离",
["犛"] = "釐",
["釐"] = "釐",
["嫠"] = "釐",
["剺"] = "釐",
["孷"] = "釐",
["漦"] = "釐",
["氂"] = "釐",
["盠"] = "蠡",
["欚"] = "蠡",
["劙"] = "蠡",
["埋"] = "里",
["霾"] = "里",
["薶"] = "里",
["榸"] = "里",
["厘"] = "里",
["狸"] = "里",
["貍"] = "里",
["梩"] = "里",
["艃"] = "里",
["里"] = "里",
["理"] = "里",
["鯉"] = "里",
["俚"] = "里",
["悝"] = "里",
["娌"] = "里",
["裏"] = "里",
["荲"] = "里",
["體"] = "豊",
["軆"] = "豊",
["禮"] = "豊",
["澧"] = "豊",
["醴"] = "豊",
["豊"] = "豊",
["鱧"] = "豊",
["勒"] = "力",
["肋"] = "力",
["扐"] = "力",
["仂"] = "力",
["艻"] = "力",
["朸"] = "力",
["玏"] = "力",
["泐"] = "力",
["阞"] = "力",
["竻"] = "力",
["力"] = "力",
["屴"] = "力",
["鳨"] = "力",
["涖"] = "立",
["莅"] = "立",
["蒞"] = "立",
["位"] = "立",
["拉"] = "立",
["菈"] = "立",
["颯"] = "立",
["立"] = "立",
["粒"] = "立",
["笠"] = "立",
["砬"] = "立",
["岦"] = "立",
["苙"] = "立",
["鴗"] = "立",
["雴"] = "立",
["泣"] = "立",
["犁"] = "利",
["黎"] = "利",
["莉"] = "利",
["黧"] = "利",
["鯬"] = "利",
["筣"] = "利",
["蔾"] = "利",
["藜"] = "利",
["邌"] = "利",
["瓈"] = "利",
["鵹"] = "利",
["棃"] = "利",
["梨"] = "利",
["蟍"] = "利",
["蜊"] = "利",
["鑗"] = "利",
["利"] = "利",
["痢"] = "利",
["浰"] = "利",
["灑"] = "丽",
["籭"] = "丽",
["躧"] = "丽",
["曬"] = "丽",
["廲"] = "丽",
["驪"] = "丽",
["鱺"] = "丽",
["欐"] = "丽",
["丽"] = "丽",
["麗"] = "丽",
["儷"] = "丽",
["鸝"] = "丽",
["酈"] = "丽",
["孋"] = "丽",
["矖"] = "丽",
["穲"] = "丽",
["邐"] = "丽",
["彲"] = "丽",
["釃"] = "丽",
["襹"] = "丽",
["纚"] = "丽",
["錑"] = "戾",
["戻"] = "戾",
["戾"] = "戾",
["綟"] = "戾",
["唳"] = "戾",
["蜧"] = "戾",
["捩"] = "戾",
["悷"] = "戾",
["淚"] = "戾",
["曃"] = "隶",
["埭"] = "隶",
["逮"] = "隶",
["靆"] = "隶",
["齂"] = "隶",
["棣"] = "隶",
["隸"] = "隶",
["肆"] = "隶",
["蕼"] = "隶",
["肂"] = "隶",
["殔"] = "隶",
["隶"] = "隶",
["栗"] = "栗",
["溧"] = "栗",
["慄"] = "栗",
["鷅"] = "栗",
["凓"] = "栗",
["篥"] = "栗",
["麜"] = "栗",
["瑮"] = "栗",
["塛"] = "栗",
["搮"] = "栗",
["秝"] = "秝",
["歷"] = "秝",
["曆"] = "秝",
["磿"] = "秝",
["靂"] = "秝",
["癧"] = "秝",
["櫪"] = "秝",
["藶"] = "秝",
["瀝"] = "秝",
["攊"] = "秝",
["厤"] = "秝",
["連"] = "連",
["漣"] = "連",
["鰱"] = "連",
["翴"] = "連",
["鏈"] = "連",
["璉"] = "連",
["僆"] = "連",
["摙"] = "連",
["蓮"] = "連",
["嗹"] = "連",
["縺"] = "連",
["剆"] = "良",
["郎"] = "良",
["稂"] = "良",
["桹"] = "良",
["鋃"] = "良",
["硠"] = "良",
["浪"] = "良",
["蜋"] = "良",
["琅"] = "良",
["狼"] = "良",
["欴"] = "良",
["踉"] = "良",
["莨"] = "良",
["艆"] = "良",
["駺"] = "良",
["躴"] = "良",
["筤"] = "良",
["閬"] = "良",
["哴"] = "良",
["蓈"] = "良",
["廊"] = "良",
["榔"] = "良",
["螂"] = "良",
["瑯"] = "良",
["朗"] = "良",
["朖"] = "良",
["誏"] = "良",
["俍"] = "良",
["崀"] = "良",
["埌"] = "良",
["蒗"] = "良",
["娘"] = "良",
["良"] = "良",
["粮"] = "良",
["悢"] = "良",
["倆"] = "兩",
["兩"] = "兩",
["脼"] = "兩",
["緉"] = "兩",
["蜽"] = "兩",
["魎"] = "兩",
["輛"] = "兩",
["糧"] = "量",
["量"] = "量",
["釕"] = "了",
["了"] = "了",
["料"] = "料",
["炓"] = "料",
["簝"] = "尞",
["潦"] = "尞",
["獠"] = "尞",
["轑"] = "尞",
["橑"] = "尞",
["燎"] = "尞",
["繚"] = "尞",
["璙"] = "尞",
["憭"] = "尞",
["爒"] = "尞",
["僚"] = "尞",
["嫽"] = "尞",
["療"] = "尞",
["膫"] = "尞",
["鷯"] = "尞",
["遼"] = "尞",
["撩"] = "尞",
["嘹"] = "尞",
["寮"] = "尞",
["飉"] = "尞",
["竂"] = "尞",
["鐐"] = "尞",
["蟟"] = "尞",
["瞭"] = "尞",
["嶚"] = "尞",
["镽"] = "尞",
["例"] = "列",
["鮤"] = "列",
["栵"] = "列",
["洌"] = "列",
["銐"] = "列",
["峛"] = "列",
["列"] = "列",
["裂"] = "列",
["烈"] = "列",
["冽"] = "列",
["迾"] = "列",
["蛚"] = "列",
["茢"] = "列",
["颲"] = "列",
["鴷"] = "列",
["挒"] = "列",
["姴"] = "列",
["鑞"] = "巤",
["蠟"] = "巤",
["邋"] = "巤",
["臘"] = "巤",
["臈"] = "巤",
["擸"] = "巤",
["擖"] = "巤",
["獵"] = "巤",
["躐"] = "巤",
["鬣"] = "巤",
["儠"] = "巤",
["犣"] = "巤",
["鱲"] = "巤",
["巤"] = "巤",
["獦"] = "巤",
["婪"] = "林",
["惏"] = "林",
["啉"] = "林",
["漤"] = "林",
["醂"] = "林",
["林"] = "林",
["琳"] = "林",
["淋"] = "林",
["痳"] = "林",
["箖"] = "林",
["霖"] = "林",
["菻"] = "林",
["罧"] = "林",
["棽"] = "林",
["綝"] = "林",
["郴"] = "林",
["禁"] = "林",
["襟"] = "林",
["僸"] = "林",
["澿"] = "林",
["噤"] = "林",
["凚"] = "林",
["齽"] = "林",
["潾"] = "粦",
["膦"] = "粦",
["憐"] = "粦",
["燐"] = "粦",
["鄰"] = "粦",
["轔"] = "粦",
["嶙"] = "粦",
["粼"] = "粦",
["磷"] = "粦",
["疄"] = "粦",
["麟"] = "粦",
["鱗"] = "粦",
["璘"] = "粦",
["翷"] = "粦",
["瞵"] = "粦",
["獜"] = "粦",
["驎"] = "粦",
["鏻"] = "粦",
["繗"] = "粦",
["僯"] = "粦",
["橉"] = "粦",
["撛"] = "粦",
["遴"] = "粦",
["粦"] = "粦",
["甐"] = "粦",
["麐"] = "吝",
["吝"] = "吝",
["悋"] = "吝",
["藺"] = "閵",
["閵"] = "閵",
["躪"] = "閵",
["轥"] = "閵",
["棱"] = "夌",
["稜"] = "夌",
["輘"] = "夌",
["倰"] = "夌",
["祾"] = "夌",
["踜"] = "夌",
["凌"] = "夌",
["菱"] = "夌",
["陵"] = "夌",
["綾"] = "夌",
["鯪"] = "夌",
["淩"] = "夌",
["夌"] = "夌",
["蔆"] = "夌",
["崚"] = "夌",
["掕"] = "夌",
["𩜁"] = "夌",
["庱"] = "夌",
["睖"] = "夌",
["靈"] = "霝",
["霛"] = "霝",
["麢"] = "霝",
["霝"] = "霝",
["醽"] = "霝",
["櫺"] = "霝",
["蘦"] = "霝",
["孁"] = "霝",
["龗"] = "霝",
["酃"] = "霝",
["爧"] = "霝",
["欞"] = "霝",
["令"] = "令",
["怜"] = "令",
["零"] = "令",
["魿"] = "令",
["命"] = "令",
["冷"] = "令",
["跉"] = "令",
["嶺"] = "令",
["領"] = "令",
["阾"] = "令",
["柃"] = "令",
["袊"] = "令",
["詅"] = "令",
["旍"] = "令",
["舲"] = "令",
["齡"] = "令",
["囹"] = "令",
["鴒"] = "令",
["蛉"] = "令",
["鈴"] = "令",
["苓"] = "令",
["伶"] = "令",
["泠"] = "令",
["瓴"] = "令",
["拎"] = "令",
["刢"] = "令",
["玲"] = "令",
["聆"] = "令",
["竛"] = "令",
["軨"] = "令",
["笭"] = "令",
["翎"] = "令",
["閝"] = "令",
["鹷"] = "令",
["昤"] = "令",
["駖"] = "令",
["彾"] = "令",
["呤"] = "令",
["狑"] = "令",
["秢"] = "令",
["岭"] = "令",
["紷"] = "令",
["砱"] = "令",
["羚"] = "令",
["姈"] = "令",
["蕶"] = "令",
["澪"] = "令",
["流"] = "流",
["硫"] = "流",
["琉"] = "流",
["旒"] = "流",
["瑬"] = "流",
["裗"] = "流",
["六"] = "六",
["圥"] = "六",
["醪"] = "翏",
["嫪"] = "翏",
["嘐"] = "翏",
["賿"] = "翏",
["顟"] = "翏",
["膠"] = "翏",
["轇"] = "翏",
["摎"] = "翏",
["髎"] = "翏",
["熮"] = "翏",
["廖"] = "翏",
["憀"] = "翏",
["豂"] = "翏",
["漻"] = "翏",
["翏"] = "翏",
["寥"] = "翏",
["蓼"] = "翏",
["鄝"] = "翏",
["鷚"] = "翏",
["繆"] = "翏",
["勠"] = "翏",
["疁"] = "翏",
["飂"] = "翏",
["鏐"] = "翏",
["僇"] = "翏",
["瘳"] = "翏",
["璆"] = "翏",
["謬"] = "翏",
["蟉"] = "翏",
["樛"] = "翏",
["磟"] = "翏",
["戮"] = "翏",
["剹"] = "翏",
["穋"] = "翏",
["驡"] = "龍",
["龐"] = "龍",
["瀧"] = "龍",
["籠"] = "龍",
["豅"] = "龍",
["朧"] = "龍",
["龓"] = "龍",
["聾"] = "龍",
["礱"] = "龍",
["嚨"] = "龍",
["蘢"] = "龍",
["櫳"] = "龍",
["襱"] = "龍",
["瓏"] = "龍",
["曨"] = "龍",
["鸗"] = "龍",
["蠪"] = "龍",
["巃"] = "龍",
["竉"] = "龍",
["攏"] = "龍",
["儱"] = "龍",
["龍"] = "龍",
["躘"] = "龍",
["隴"] = "龍",
["壠"] = "龍",
["壟"] = "龍",
["寵"] = "龍",
["龏"] = "龍",
["樓"] = "婁",
["摟"] = "婁",
["耬"] = "婁",
["僂"] = "婁",
["婁"] = "婁",
["螻"] = "婁",
["髏"] = "婁",
["蔞"] = "婁",
["鞻"] = "婁",
["艛"] = "婁",
["膢"] = "婁",
["廔"] = "婁",
["嘍"] = "婁",
["瞜"] = "婁",
["簍"] = "婁",
["慺"] = "婁",
["鷜"] = "婁",
["褸"] = "婁",
["遱"] = "婁",
["謱"] = "婁",
["嶁"] = "婁",
["甊"] = "婁",
["塿"] = "婁",
["漊"] = "婁",
["鏤"] = "婁",
["瘻"] = "婁",
["擻"] = "婁",
["藪"] = "婁",
["籔"] = "婁",
["氀"] = "婁",
["縷"] = "婁",
["屢"] = "婁",
["數"] = "婁",
["屨"] = "婁",
["窶"] = "婁",
["貗"] = "婁",
["漏"] = "屚",
["瘺"] = "屚",
["屚"] = "屚",
["滷"] = "鹵",
["鹵"] = "鹵",
["樐"] = "鹵",
["蓾"] = "鹵",
["鏀"] = "鹵",
["魯"] = "魯",
["櫓"] = "魯",
["穭"] = "魯",
["灶"] = "圥",
["竈"] = "圥",
["鼀"] = "圥",
["睦"] = "坴",
["坴"] = "坴",
["陸"] = "坴",
["稑"] = "坴",
["鵱"] = "坴",
["鯥"] = "坴",
["淕"] = "坴",
["踛"] = "坴",
["剝"] = "彔",
["龣"] = "彔",
["祿"] = "彔",
["淥"] = "彔",
["睩"] = "彔",
["琭"] = "彔",
["箓"] = "彔",
["碌"] = "彔",
["盝"] = "彔",
["娽"] = "彔",
["彔"] = "彔",
["趢"] = "彔",
["簶"] = "彔",
["綠"] = "彔",
["逯"] = "彔",
["錄"] = "彔",
["醁"] = "彔",
["騄"] = "彔",
["菉"] = "彔",
["籙"] = "彔",
["鄜"] = "鹿",
["鹿"] = "鹿",
["漉"] = "鹿",
["轆"] = "鹿",
["簏"] = "鹿",
["螰"] = "鹿",
["麓"] = "鹿",
["騼"] = "鹿",
["摝"] = "鹿",
["廘"] = "鹿",
["蔍"] = "鹿",
["鏕"] = "鹿",
["櫚"] = "呂",
["閭"] = "呂",
["吕"] = "呂",
["侣"] = "呂",
["梠"] = "呂",
["郘"] = "呂",
["絽"] = "呂",
["莒"] = "呂",
["筥"] = "呂",
["酹"] = "寽",
["脟"] = "寽",
["捋"] = "寽",
["蛶"] = "寽",
["埒"] = "寽",
["鋝"] = "寽",
["浖"] = "寽",
["哷"] = "寽",
["寽"] = "寽",
["玈"] = "旅",
["旅"] = "旅",
["膂"] = "旅",
["祣"] = "旅",
["率"] = "率",
["繂"] = "率",
["膟"] = "率",
["蟀"] = "率",
["蠻"] = "䜌",
["矕"] = "䜌",
["變"] = "䜌",
["鸞"] = "䜌",
["巒"] = "䜌",
["灤"] = "䜌",
["欒"] = "䜌",
["鑾"] = "䜌",
["臠"] = "䜌",
["羉"] = "䜌",
["䜌"] = "䜌",
["灓"] = "䜌",
["圝"] = "䜌",
["曫"] = "䜌",
["孿"] = "䜌",
["彎"] = "䜌",
["灣"] = "䜌",
["攣"] = "䜌",
["孌"] = "䜌",
["戀"] = "䜌",
["㪻"] = "䜌",
["卵"] = "卵",
["關"] = "卵",
["関"] = "卵",
["聯"] = "卵",
["覼"] = "亂",
["亂"] = "亂",
["薍"] = "亂",
["蜦"] = "侖",
["綸"] = "侖",
["論"] = "侖",
["崘"] = "侖",
["掄"] = "侖",
["菕"] = "侖",
["惀"] = "侖",
["睔"] = "侖",
["碖"] = "侖",
["溣"] = "侖",
["倫"] = "侖",
["淪"] = "侖",
["輪"] = "侖",
["侖"] = "侖",
["陯"] = "侖",
["鯩"] = "侖",
["棆"] = "侖",
["踚"] = "侖",
["耣"] = "侖",
["錀"] = "侖",
["羅"] = "羅",
["蘿"] = "羅",
["籮"] = "羅",
["儸"] = "羅",
["饠"] = "羅",
["欏"] = "羅",
["囉"] = "羅",
["鑼"] = "羅",
["邏"] = "羅",
["驘"] = "蠃",
["鸁"] = "蠃",
["蠃"] = "蠃",
["臝"] = "蠃",
["羸"] = "蠃",
["麻"] = "麻",
["痲"] = "麻",
["犘"] = "麻",
["縻"] = "麻",
["醿"] = "麻",
["爢"] = "麻",
["蘼"] = "麻",
["靡"] = "麻",
["摩"] = "麻",
["魔"] = "麻",
["磨"] = "麻",
["劘"] = "麻",
["麽"] = "麻",
["麼"] = "麻",
["塺"] = "麻",
["麾"] = "麻",
["馬"] = "馬",
["碼"] = "馬",
["罵"] = "馬",
["鷌"] = "馬",
["鰢"] = "馬",
["瑪"] = "馬",
["榪"] = "馬",
["傌"] = "馬",
["禡"] = "馬",
["媽"] = "馬",
["買"] = "買",
["蕒"] = "買",
["嘪"] = "買",
["鷶"] = "買",
["賣"] = "買",
["獌"] = "曼",
["鬘"] = "曼",
["謾"] = "曼",
["慢"] = "曼",
["嫚"] = "曼",
["縵"] = "曼",
["曼"] = "曼",
["饅"] = "曼",
["蔓"] = "曼",
["鰻"] = "曼",
["墁"] = "曼",
["鏝"] = "曼",
["槾"] = "曼",
["漫"] = "曼",
["幔"] = "曼",
["蟃"] = "曼",
["厖"] = "尨",
["駹"] = "尨",
["狵"] = "尨",
["尨"] = "尨",
["浝"] = "尨",
["哤"] = "尨",
["牻"] = "尨",
["娏"] = "尨",
["蛖"] = "尨",
["𥆙"] = "尨",
["痝"] = "尨",
["𪁪"] = "尨",
["莽"] = "茻",
["茻"] = "茻",
["蟒"] = "莽",
["漭"] = "莽",
["毛"] = "毛",
["髦"] = "毛",
["旄"] = "毛",
["芼"] = "毛",
["氂"] = "毛",
["枆"] = "毛",
["酕"] = "毛",
["牦"] = "毛",
["耄"] = "毛",
["覒"] = "毛",
["眊"] = "毛",
["耗"] = "毛",
["秏"] = "毛",
["毣"] = "毛",
["堥"] = "矛",
["蓩"] = "矛",
["猱"] = "矛",
["茅"] = "矛",
["罞"] = "矛",
["蝥"] = "矛",
["鶜"] = "矛",
["瞀"] = "矛",
["愗"] = "矛",
["袤"] = "矛",
["雺"] = "矛",
["懋"] = "矛",
["楙"] = "矛",
["矛"] = "矛",
["蟊"] = "矛",
["髳"] = "矛",
["鍪"] = "矛",
["鞪"] = "矛",
["糅"] = "矛",
["腬"] = "矛",
["柔"] = "矛",
["揉"] = "矛",
["蹂"] = "矛",
["鍒"] = "矛",
["騥"] = "矛",
["蝚"] = "矛",
["葇"] = "矛",
["鞣"] = "矛",
["鰇"] = "矛",
["瑈"] = "矛",
["鶔"] = "矛",
["楺"] = "矛",
["煣"] = "矛",
["輮"] = "矛",
["韖"] = "矛",
["敄"] = "矛",
["務"] = "矛",
["鶩"] = "矛",
["騖"] = "矛",
["婺"] = "矛",
["霚"] = "矛",
["嵍"] = "矛",
["霧"] = "矛",
["霿"] = "矛",
["楘"] = "矛",
["卯"] = "卯",
["昴"] = "卯",
["泖"] = "卯",
["茆"] = "卯",
["奅"] = "卯",
["窌"] = "卯",
["聊"] = "卯",
["貿"] = "卯",
["鄮"] = "卯",
["劉"] = "卯",
["留"] = "卯",
["蒥"] = "卯",
["鶹"] = "卯",
["騮"] = "卯",
["榴"] = "卯",
["瑠"] = "卯",
["瘤"] = "卯",
["遛"] = "卯",
["鎦"] = "卯",
["飀"] = "卯",
["鰡"] = "卯",
["嵧"] = "卯",
["餾"] = "卯",
["瀏"] = "卯",
["懰"] = "卯",
["柳"] = "卯",
["珋"] = "卯",
["罶"] = "卯",
["嬼"] = "卯",
["溜"] = "卯",
["霤"] = "卯",
["廇"] = "卯",
["塯"] = "卯",
["媢"] = "冃",
["冃"] = "冃",
["冒"] = "冃",
["帽"] = "冃",
["瑁"] = "冃",
["賵"] = "冃",
["艒"] = "冃",
["萺"] = "冃",
["勗"] = "冃",
["勖"] = "冃",
["貌"] = "皃",
["皃"] = "皃",
["藐"] = "皃",
["邈"] = "皃",
["眉"] = "眉",
["楣"] = "眉",
["嵋"] = "眉",
["湄"] = "眉",
["鶥"] = "眉",
["瑂"] = "眉",
["郿"] = "眉",
["葿"] = "眉",
["媚"] = "眉",
["篃"] = "眉",
["蝞"] = "眉",
["煝"] = "眉",
["美"] = "美",
["渼"] = "美",
["媄"] = "美",
["蔄"] = "門",
["闅"] = "門",
["閩"] = "門",
["蕄"] = "門",
["門"] = "門",
["捫"] = "門",
["悶"] = "門",
["聞"] = "門",
["閿"] = "門",
["問"] = "門",
["蒙"] = "冡",
["冡"] = "冡",
["濛"] = "冡",
["艨"] = "冡",
["朦"] = "冡",
["矇"] = "冡",
["饛"] = "冡",
["檬"] = "冡",
["鸏"] = "冡",
["幪"] = "冡",
["蠓"] = "冡",
["靀"] = "冡",
["曚"] = "冡",
["蘉"] = "夢",
["瞢"] = "夢",
["懜"] = "夢",
["懵"] = "夢",
["甍"] = "夢",
["薨"] = "夢",
["夢"] = "夢",
["鄸"] = "夢",
["謎"] = "米",
["迷"] = "米",
["米"] = "米",
["眯"] = "米",
["洣"] = "米",
["蔝"] = "米",
["麊"] = "米",
["冞"] = "米",
["糜"] = "米",
["敉"] = "米",
["侎"] = "米",
["麋"] = "米",
["蘪"] = "米",
["攗"] = "米",
["羋"] = "羋",
["蝆"] = "羋",
["冟"] = "冖",
["冖"] = "冖",
["冪"] = "冖",
["羃"] = "冖",
["濗"] = "冖",
["鼏"] = "冖",
["覓"] = "覓",
["漞"] = "覓",
["芇"] = "芇",
["蹣"] = "芇",
["瞞"] = "芇",
["顢"] = "芇",
["樠"] = "芇",
["慲"] = "芇",
["鬗"] = "芇",
["滿"] = "芇",
["鏋"] = "芇",
["懣"] = "芇",
["璊"] = "芇",
["綿"] = "綿",
["棉"] = "綿",
["緜"] = "綿",
["矊"] = "綿",
["臱"] = "臱",
["矏"] = "臱",
["櫋"] = "臱",
["籩"] = "臱",
["邊"] = "臱",
["汅"] = "丏",
["沔"] = "丏",
["丏"] = "丏",
["眄"] = "丏",
["麪"] = "丏",
["免"] = "免",
["娩"] = "免",
["勉"] = "免",
["俛"] = "免",
["鮸"] = "免",
["冕"] = "免",
["絻"] = "免",
["婏"] = "免",
["浼"] = "免",
["鞔"] = "免",
["悗"] = "免",
["嬎"] = "免",
["晚"] = "免",
["挽"] = "免",
["輓"] = "免",
["脕"] = "免",
["莬"] = "免",
["蝒"] = "面",
["緬"] = "面",
["湎"] = "面",
["愐"] = "面",
["偭"] = "面",
["勔"] = "面",
["面"] = "面",
["麵"] = "面",
["貓"] = "苗",
["描"] = "苗",
["媌"] = "苗",
["緢"] = "苗",
["苗"] = "苗",
["猫"] = "苗",
["庿"] = "苗",
["礣"] = "蔑",
["蔑"] = "蔑",
["篾"] = "蔑",
["蠛"] = "蔑",
["懱"] = "蔑",
["幭"] = "蔑",
["鱴"] = "蔑",
["衊"] = "蔑",
["瀎"] = "蔑",
["襪"] = "蔑",
["韤"] = "蔑",
["韈"] = "蔑",
["眠"] = "民",
["民"] = "民",
["泯"] = "民",
["怋"] = "民",
["岷"] = "民",
["珉"] = "民",
["罠"] = "民",
["笢"] = "民",
["鈱"] = "民",
["抿"] = "民",
["刡"] = "民",
["敃"] = "民",
["愍"] = "民",
["暋"] = "民",
["蟁"] = "民",
["猛"] = "皿",
["艋"] = "皿",
["蜢"] = "皿",
["皿"] = "皿",
["孟"] = "皿",
["憫"] = "閔",
["閔"] = "閔",
["潣"] = "閔",
["簢"] = "閔",
["燘"] = "閔",
["澠"] = "黽",
["黽"] = "黽",
["僶"] = "黽",
["繩"] = "黽",
["譝"] = "黽",
["憴"] = "黽",
["鱦"] = "黽",
["蠅"] = "黽",
["鄳"] = "黽",
["鼆"] = "黽",
["名"] = "名",
["洺"] = "名",
["眳"] = "名",
["詺"] = "名",
["銘"] = "名",
["茗"] = "名",
["酩"] = "名",
["姳"] = "名",
["莔"] = "明",
["明"] = "明",
["盟"] = "明",
["萌"] = "明",
["奣"] = "明",
["瞑"] = "冥",
["嫇"] = "冥",
["慏"] = "冥",
["冥"] = "冥",
["榠"] = "冥",
["鄍"] = "冥",
["溟"] = "冥",
["螟"] = "冥",
["猽"] = "冥",
["蓂"] = "冥",
["覭"] = "冥",
["暝"] = "冥",
["幎"] = "冥",
["幂"] = "冥",
["塓"] = "冥",
["眛"] = "末",
["沬"] = "末",
["佅"] = "末",
["韎"] = "末",
["帓"] = "末",
["粖"] = "末",
["末"] = "末",
["昩"] = "末",
["秣"] = "末",
["靺"] = "末",
["眜"] = "末",
["抹"] = "末",
["妺"] = "末",
["怽"] = "末",
["沫"] = "末",
["袜"] = "末",
["沒"] = "沒",
["歿"] = "沒",
["莈"] = "沒",
["蟆"] = "莫",
["鬕"] = "莫",
["饃"] = "莫",
["模"] = "莫",
["摸"] = "莫",
["嫫"] = "莫",
["謨"] = "莫",
["膜"] = "莫",
["摹"] = "莫",
["暮"] = "莫",
["慕"] = "莫",
["募"] = "莫",
["墓"] = "莫",
["慔"] = "莫",
["莫"] = "莫",
["寞"] = "莫",
["漠"] = "莫",
["幕"] = "莫",
["鏌"] = "莫",
["瘼"] = "莫",
["鄚"] = "莫",
["瞙"] = "莫",
["嗼"] = "莫",
["塻"] = "莫",
["貘"] = "莫",
["驀"] = "莫",
["牟"] = "牟",
["眸"] = "牟",
["侔"] = "牟",
["蛑"] = "牟",
["麰"] = "牟",
["劺"] = "牟",
["恈"] = "牟",
["鴾"] = "牟",
["某"] = "某",
["謀"] = "某",
["媒"] = "某",
["煤"] = "某",
["腜"] = "某",
["禖"] = "某",
["脢"] = "母",
["挴"] = "母",
["海"] = "母",
["毐"] = "母",
["呣"] = "母",
["拇"] = "母",
["母"] = "母",
["胟"] = "母",
["姆"] = "母",
["畮"] = "母",
["踇"] = "母",
["苺"] = "母",
["莓"] = "母",
["敏"] = "母",
["鰵"] = "母",
["慜"] = "母",
["毋"] = "母",
["梅"] = "母",
["酶"] = "母",
["鋂"] = "母",
["每"] = "母",
["毎"] = "母",
["痗"] = "母",
["晦"] = "母",
["誨"] = "母",
["悔"] = "母",
["霉"] = "母",
["畝"] = "畝",
["畞"] = "畝",
["姥"] = "姥",
["峔"] = "姥",
["瞐"] = "目",
["苜"] = "目",
["目"] = "目",
["木"] = "木",
["沐"] = "木",
["朷"] = "木",
["蚞"] = "木",
["霂"] = "木",
["乃"] = "乃",
["鼐"] = "乃",
["疓"] = "乃",
["奶"] = "乃",
["仍"] = "乃",
["艿"] = "乃",
["辸"] = "乃",
["礽"] = "乃",
["扔"] = "乃",
["芿"] = "乃",
["奈"] = "奈",
["柰"] = "奈",
["渿"] = "奈",
["捺"] = "奈",
["南"] = "南",
["楠"] = "南",
["腩"] = "南",
["湳"] = "南",
["揇"] = "南",
["萳"] = "南",
["罱"] = "南",
["喃"] = "南",
["諵"] = "南",
["獿"] = "夒",
["犪"] = "夒",
["擾"] = "夒",
["腦"] = "匘",
["惱"] = "匘",
["瑙"] = "匘",
["匘"] = "匘",
["碯"] = "匘",
["硇"] = "匘",
["𣳦"] = "匘",
["妠"] = "內",
["內"] = "內",
["笍"] = "內",
["芮"] = "內",
["枘"] = "內",
["汭"] = "內",
["鈉"] = "內",
["蜹"] = "內",
["抐"] = "內",
["納"] = "內",
["衲"] = "內",
["魶"] = "內",
["軜"] = "內",
["蒳"] = "內",
["豽"] = "內",
["肭"] = "內",
["吶"] = "內",
["焫"] = "內",
["訥"] = "內",
["態"] = "能",
["能"] = "能",
["螚"] = "能",
["褦"] = "能",
["泥"] = "尼",
["屔"] = "尼",
["苨"] = "尼",
["坭"] = "尼",
["迡"] = "尼",
["埿"] = "尼",
["旎"] = "尼",
["狔"] = "尼",
["抳"] = "尼",
["尼"] = "尼",
["呢"] = "尼",
["怩"] = "尼",
["柅"] = "尼",
["蚭"] = "尼",
["跜"] = "尼",
["秜"] = "尼",
["痆"] = "尼",
["昵"] = "尼",
["孨"] = "孴",
["孴"] = "孴",
["斥"] = "屰",
["訴"] = "屰",
["泝"] = "屰",
["愬"] = "屰",
["遡"] = "屰",
["塑"] = "屰",
["溯"] = "屰",
["遻"] = "屰",
["柝"] = "屰",
["鶚"] = "屰",
["諤"] = "屰",
["齶"] = "屰",
["鍔"] = "屰",
["遌"] = "屰",
["崿"] = "屰",
["偔"] = "屰",
["堮"] = "屰",
["湂"] = "屰",
["鱷"] = "屰",
["噩"] = "屰",
["咢"] = "屰",
["鑩"] = "屰",
["鄂"] = "屰",
["鰐"] = "屰",
["萼"] = "屰",
["愕"] = "屰",
["顎"] = "屰",
["朔"] = "屰",
["槊"] = "屰",
["蒴"] = "屰",
["坼"] = "屰",
["拆"] = "屰",
["逆"] = "屰",
["屰"] = "屰",
["縌"] = "屰",
["蝷"] = "屰",
["暱"] = "匿",
["慝"] = "匿",
["匿"] = "匿",
["輦"] = "輦",
["鄻"] = "輦",
["攆"] = "輦",
["淰"] = "念",
["唸"] = "念",
["埝"] = "念",
["趝"] = "念",
["諗"] = "念",
["稔"] = "念",
["棯"] = "念",
["腍"] = "念",
["捻"] = "念",
["錜"] = "念",
["敜"] = "念",
["惗"] = "念",
["菍"] = "念",
["島"] = "鳥",
["搗"] = "鳥",
["鵃"] = "鳥",
["瞗"] = "鳥",
["鳥"] = "鳥",
["蔦"] = "鳥",
["窵"] = "鳥",
["甈"] = "臬",
["臬"] = "臬",
["嵲"] = "臬",
["臲"] = "臬",
["闑"] = "臬",
["攝"] = "聶",
["聶"] = "聶",
["鑷"] = "聶",
["躡"] = "聶",
["襵"] = "聶",
["懾"] = "聶",
["囁"] = "聶",
["欇"] = "聶",
["灄"] = "聶",
["顳"] = "聶",
["讘"] = "聶",
["濘"] = "寧",
["獰"] = "寧",
["檸"] = "寧",
["儜"] = "寧",
["薴"] = "寧",
["鬡"] = "寧",
["鑏"] = "寧",
["嬣"] = "寧",
["寍"] = "寧",
["寗"] = "寧",
["甯"] = "寧",
["寧"] = "寧",
["鸋"] = "寧",
["嚀"] = "寧",
["聹"] = "寧",
["嶩"] = "農",
["噥"] = "農",
["鬞"] = "農",
["擃"] = "農",
["齈"] = "農",
["癑"] = "農",
["農"] = "農",
["辳"] = "農",
["憹"] = "農",
["膿"] = "農",
["儂"] = "農",
["濃"] = "農",
["醲"] = "農",
["襛"] = "農",
["穠"] = "農",
["檂"] = "農",
["筭"] = "弄",
["弄"] = "弄",
["梇"] = "弄",
["哢"] = "弄",
["硦"] = "弄",
["拿"] = "女",
["拏"] = "女",
["詉"] = "女",
["蒘"] = "女",
["笯"] = "女",
["挐"] = "女",
["絮"] = "女",
["呶"] = "女",
["怓"] = "女",
["帑"] = "女",
["奴"] = "女",
["砮"] = "女",
["駑"] = "女",
["孥"] = "女",
["努"] = "女",
["弩"] = "女",
["怒"] = "女",
["袽"] = "女",
["帤"] = "女",
["女"] = "女",
["籹"] = "女",
["恕"] = "女",
["如"] = "女",
["茹"] = "女",
["洳"] = "女",
["鴽"] = "女",
["蕠"] = "女",
["汝"] = "女",
["肗"] = "女",
["虐"] = "虐",
["瘧"] = "虐",
["謔"] = "虐",
["庍"] = "派",
["派"] = "派",
["脈"] = "派",
["脉"] = "派",
["衇"] = "派",
["眽"] = "派",
["覛"] = "派",
["霢"] = "派",
["佩"] = "佩",
["珮"] = "佩",
["配"] = "配",
["嶏"] = "配",
["崩"] = "朋",
["堋"] = "朋",
["漰"] = "朋",
["倗"] = "朋",
["朋"] = "朋",
["鵬"] = "朋",
["棚"] = "朋",
["鬅"] = "朋",
["掤"] = "朋",
["淜"] = "朋",
["輣"] = "朋",
["繃"] = "朋",
["弸"] = "朋",
["澎"] = "彭",
["彭"] = "彭",
["膨"] = "彭",
["蟚"] = "彭",
["蟛"] = "彭",
["憉"] = "彭",
["陂"] = "皮",
["詖"] = "皮",
["彼"] = "皮",
["柀"] = "皮",
["佊"] = "皮",
["貱"] = "皮",
["跛"] = "皮",
["披"] = "皮",
["鈹"] = "皮",
["帔"] = "皮",
["鮍"] = "皮",
["耚"] = "皮",
["狓"] = "皮",
["翍"] = "皮",
["旇"] = "皮",
["秛"] = "皮",
["紴"] = "皮",
["皮"] = "皮",
["疲"] = "皮",
["被"] = "皮",
["髲"] = "皮",
["鞁"] = "皮",
["骳"] = "皮",
["波"] = "皮",
["碆"] = "皮",
["菠"] = "皮",
["簸"] = "皮",
["駊"] = "皮",
["頗"] = "皮",
["坡"] = "皮",
["玻"] = "皮",
["破"] = "皮",
["婆"] = "皮",
["蔢"] = "皮",
["匹"] = "匹",
["鴄"] = "匹",
["爿"] = "片",
["片"] = "片",
["沜"] = "片",
["標"] = "票",
["鏢"] = "票",
["瘭"] = "票",
["幖"] = "票",
["熛"] = "票",
["蔈"] = "票",
["膘"] = "票",
["褾"] = "票",
["票"] = "票",
["飄"] = "票",
["漂"] = "票",
["螵"] = "票",
["瞟"] = "票",
["嫖"] = "票",
["旚"] = "票",
["僄"] = "票",
["慓"] = "票",
["彯"] = "票",
["摽"] = "票",
["翲"] = "票",
["嘌"] = "票",
["縹"] = "票",
["醥"] = "票",
["顠"] = "票",
["篻"] = "票",
["剽"] = "票",
["勡"] = "票",
["薸"] = "票",
["瓢"] = "票",
["鰾"] = "票",
["驃"] = "票",
["瀕"] = "頻",
["頻"] = "頻",
["顰"] = "頻",
["蘋"] = "頻",
["嚬"] = "頻",
["臨"] = "品",
["瀶"] = "品",
["品"] = "品",
["俜"] = "甹",
["甹"] = "甹",
["聘"] = "甹",
["娉"] = "甹",
["騁"] = "甹",
["梬"] = "甹",
["平"] = "平",
["怦"] = "平",
["砰"] = "平",
["抨"] = "平",
["閛"] = "平",
["伻"] = "平",
["評"] = "平",
["坪"] = "平",
["苹"] = "平",
["枰"] = "平",
["泙"] = "平",
["蚲"] = "平",
["胓"] = "平",
["匉"] = "平",
["萍"] = "平",
["蓓"] = "咅",
["倍"] = "咅",
["菩"] = "咅",
["掊"] = "咅",
["剖"] = "咅",
["婄"] = "咅",
["踣"] = "咅",
["箁"] = "咅",
["咅"] = "咅",
["部"] = "咅",
["培"] = "咅",
["犃"] = "咅",
["瓿"] = "咅",
["殕"] = "咅",
["醅"] = "咅",
["棓"] = "咅",
["涪"] = "咅",
["賠"] = "咅",
["陪"] = "咅",
["毰"] = "咅",
["焙"] = "咅",
["樸"] = "菐",
["璞"] = "菐",
["墣"] = "菐",
["撲"] = "菐",
["轐"] = "菐",
["獛"] = "菐",
["蹼"] = "菐",
["襆"] = "菐",
["濮"] = "菐",
["纀"] = "菐",
["醭"] = "菐",
["僕"] = "菐",
["菐"] = "菐",
["穙"] = "菐",
["鏷"] = "菐",
["幞"] = "菐",
["譜"] = "普",
["普"] = "普",
["切"] = "七",
["砌"] = "七",
["沏"] = "七",
["七"] = "七",
["柒"] = "七",
["叱"] = "七",
["妻"] = "妻",
["萋"] = "妻",
["淒"] = "妻",
["凄"] = "妻",
["悽"] = "妻",
["鶈"] = "妻",
["郪"] = "妻",
["緀"] = "妻",
["霋"] = "妻",
["棲"] = "妻",
["漆"] = "桼",
["桼"] = "桼",
["膝"] = "桼",
["厀"] = "桼",
["基"] = "其",
["箕"] = "其",
["朞"] = "其",
["稘"] = "其",
["萁"] = "其",
["期"] = "其",
["諅"] = "其",
["其"] = "其",
["錤"] = "其",
["諆"] = "其",
["欺"] = "其",
["娸"] = "其",
["魌"] = "其",
["僛"] = "其",
["唭"] = "其",
["棋"] = "其",
["旗"] = "其",
["淇"] = "其",
["祺"] = "其",
["琪"] = "其",
["騏"] = "其",
["綦"] = "其",
["麒"] = "其",
["蜞"] = "其",
["綨"] = "其",
["蜝"] = "其",
["棊"] = "其",
["碁"] = "其",
["鯕"] = "其",
["踑"] = "其",
["藄"] = "其",
["櫀"] = "其",
["璂"] = "其",
["禥"] = "其",
["惎"] = "其",
["帺"] = "其",
["奇"] = "奇",
["畸"] = "奇",
["剞"] = "奇",
["羇"] = "奇",
["掎"] = "奇",
["攲"] = "奇",
["躸"] = "奇",
["踦"] = "奇",
["寄"] = "奇",
["徛"] = "奇",
["欹"] = "奇",
["崎"] = "奇",
["觭"] = "奇",
["碕"] = "奇",
["綺"] = "奇",
["婍"] = "奇",
["騎"] = "奇",
["琦"] = "奇",
["鵸"] = "奇",
["錡"] = "奇",
["輢"] = "奇",
["齮"] = "奇",
["犄"] = "奇",
["猗"] = "奇",
["椅"] = "奇",
["旖"] = "奇",
["陭"] = "奇",
["檹"] = "奇",
["漪"] = "奇",
["倚"] = "奇",
["畁"] = "畁",
["萆"] = "畁",
["儕"] = "齊",
["麡"] = "齊",
["齋"] = "齊",
["穧"] = "齊",
["擠"] = "齊",
["躋"] = "齊",
["齏"] = "齊",
["齎"] = "齊",
["櫅"] = "齊",
["齌"] = "齊",
["隮"] = "齊",
["賷"] = "齊",
["虀"] = "齊",
["濟"] = "齊",
["癠"] = "齊",
["霽"] = "齊",
["齊"] = "齊",
["臍"] = "齊",
["蠐"] = "齊",
["懠"] = "齊",
["薺"] = "齊",
["鱭"] = "齊",
["嚌"] = "齊",
["劑"] = "齊",
["齍"] = "齊",
["乞"] = "乞",
["盵"] = "乞",
["齕"] = "乞",
["紇"] = "乞",
["籺"] = "乞",
["圪"] = "乞",
["訖"] = "乞",
["吃"] = "乞",
["扢"] = "乞",
["疙"] = "乞",
["屹"] = "乞",
["仡"] = "乞",
["迄"] = "乞",
["釳"] = "乞",
["忔"] = "乞",
["汔"] = "乞",
["矻"] = "乞",
["麧"] = "乞",
["獃"] = "豈",
["剴"] = "豈",
["凱"] = "豈",
["愷"] = "豈",
["塏"] = "豈",
["鎧"] = "豈",
["颽"] = "豈",
["暟"] = "豈",
["闓"] = "豈",
["豈"] = "豈",
["隑"] = "豈",
["皚"] = "豈",
["嵦"] = "豈",
["敳"] = "豈",
["磑"] = "豈",
["螘"] = "豈",
["覬"] = "豈",
["溰"] = "豈",
["顗"] = "豈",
["啓"] = "啓",
["啟"] = "啓",
["棨"] = "啓",
["綮"] = "啓",
["晵"] = "啓",
["闙"] = "啓",
["启"] = "啓",
["愾"] = "气",
["忾"] = "气",
["刏"] = "气",
["汽"] = "气",
["氣"] = "气",
["气"] = "气",
["忥"] = "气",
["餼"] = "气",
["鎎"] = "气",
["熂"] = "气",
["霼"] = "气",
["犔"] = "气",
["楫"] = "咠",
["檝"] = "咠",
["湒"] = "咠",
["咠"] = "咠",
["葺"] = "咠",
["緝"] = "咠",
["諿"] = "咠",
["輯"] = "咠",
["箿"] = "咠",
["蕺"] = "咠",
["戢"] = "咠",
["濈"] = "咠",
["霵"] = "咠",
["揖"] = "咠",
["牽"] = "牽",
["縴"] = "牽",
["厱"] = "僉",
["歛"] = "僉",
["臉"] = "僉",
["醶"] = "僉",
["鹼"] = "僉",
["薟"] = "僉",
["匳"] = "僉",
["獫"] = "僉",
["蘞"] = "僉",
["籢"] = "僉",
["斂"] = "僉",
["瀲"] = "僉",
["撿"] = "僉",
["羷"] = "僉",
["殮"] = "僉",
["簽"] = "僉",
["僉"] = "僉",
["憸"] = "僉",
["譣"] = "僉",
["檢"] = "僉",
["瞼"] = "僉",
["儉"] = "僉",
["顩"] = "僉",
["嬐"] = "僉",
["嶮"] = "僉",
["噞"] = "僉",
["驗"] = "僉",
["險"] = "僉",
["劒"] = "僉",
["劍"] = "僉",
["𩏩"] = "僉",
["遷"] = "遷",
["櫏"] = "遷",
["韆"] = "遷",
["僊"] = "遷",
["躚"] = "遷",
["蹮"] = "遷",
["媊"] = "前",
["煎"] = "前",
["湔"] = "前",
["鬋"] = "前",
["剪"] = "前",
["翦"] = "前",
["譾"] = "前",
["揃"] = "前",
["箭"] = "前",
["葥"] = "前",
["前"] = "前",
["騚"] = "前",
["歬"] = "前",
["虔"] = "虔",
["鰬"] = "虔",
["榩"] = "虔",
["遣"] = "遣",
["繾"] = "遣",
["譴"] = "遣",
["坎"] = "欠",
["扻"] = "欠",
["砍"] = "欠",
["芡"] = "欠",
["欠"] = "欠",
["杴"] = "欠",
["鍁"] = "欠",
["臧"] = "爿",
["牂"] = "爿",
["戕"] = "爿",
["贓"] = "爿",
["藏"] = "爿",
["奘"] = "爿",
["臟"] = "爿",
["將"] = "爿",
["漿"] = "爿",
["鱂"] = "爿",
["蔣"] = "爿",
["螿"] = "爿",
["槳"] = "爿",
["獎"] = "爿",
["醬"] = "爿",
["鏘"] = "爿",
["蹡"] = "爿",
["嶈"] = "爿",
["斨"] = "爿",
["爿"] = "爿",
["牆"] = "爿",
["妝"] = "爿",
["莊"] = "爿",
["裝"] = "爿",
["壯"] = "爿",
["疒"] = "爿",
["床"] = "爿",
["牀"] = "爿",
["狀"] = "爿",
["繈"] = "強",
["襁"] = "強",
["膙"] = "強",
["鏹"] = "強",
["勥"] = "強",
["強"] = "強",
["薔"] = "牆",
["廧"] = "牆",
["蘠"] = "牆",
["嬙"] = "牆",
["檣"] = "牆",
["驕"] = "喬",
["嬌"] = "喬",
["憍"] = "喬",
["穚"] = "喬",
["鷮"] = "喬",
["蕎"] = "喬",
["喬"] = "喬",
["簥"] = "喬",
["撟"] = "喬",
["矯"] = "喬",
["鱎"] = "喬",
["敽"] = "喬",
["蟜"] = "喬",
["譑"] = "喬",
["蹻"] = "喬",
["繑"] = "喬",
["鞽"] = "喬",
["趫"] = "喬",
["嘺"] = "喬",
["橋"] = "喬",
["僑"] = "喬",
["鐈"] = "喬",
["毊"] = "喬",
["轎"] = "喬",
["嶠"] = "喬",
["獢"] = "喬",
["屩"] = "喬",
["虘"] = "且",
["蔖"] = "且",
["摣"] = "且",
["袓"] = "且",
["怚"] = "且",
["罝"] = "且",
["謯"] = "且",
["姐"] = "且",
["抯"] = "且",
["飷"] = "且",
["且"] = "且",
["趄"] = "且",
["笡"] = "且",
["查"] = "且",
["柤"] = "且",
["樝"] = "且",
["皻"] = "且",
["渣"] = "且",
["楂"] = "且",
["苴"] = "且",
["駔"] = "且",
["租"] = "且",
["蒩"] = "且",
["祖"] = "且",
["組"] = "且",
["珇"] = "且",
["靻"] = "且",
["粗"] = "且",
["徂"] = "且",
["殂"] = "且",
["麆"] = "且",
["伹"] = "且",
["蛆"] = "且",
["沮"] = "且",
["咀"] = "且",
["疽"] = "且",
["雎"] = "且",
["狙"] = "且",
["岨"] = "且",
["砠"] = "且",
["坥"] = "且",
["刞"] = "且",
["覰"] = "且",
["覷"] = "且",
["跙"] = "且",
["筯"] = "且",
["菹"] = "且",
["葅"] = "且",
["阻"] = "且",
["俎"] = "且",
["詛"] = "且",
["鉏"] = "且",
["豠"] = "且",
["鋤"] = "且",
["耡"] = "且",
["齟"] = "且",
["助"] = "且",
["霎"] = "妾",
["翣"] = "妾",
["帹"] = "妾",
["接"] = "妾",
["椄"] = "妾",
["菨"] = "妾",
["鯜"] = "妾",
["妾"] = "妾",
["淁"] = "妾",
["踥"] = "妾",
["鋟"] = "侵",
["綅"] = "侵",
["祲"] = "侵",
["埐"] = "侵",
["梫"] = "侵",
["濅"] = "侵",
["浸"] = "侵",
["侵"] = "侵",
["駸"] = "侵",
["寢"] = "侵",
["寑"] = "侵",
["薓"] = "侵",
["轃"] = "秦",
["秦"] = "秦",
["螓"] = "秦",
["臻"] = "秦",
["蓁"] = "秦",
["搸"] = "秦",
["溱"] = "秦",
["榛"] = "秦",
["顈"] = "頃",
["傾"] = "頃",
["頃"] = "頃",
["穎"] = "頃",
["潁"] = "頃",
["熲"] = "頃",
["殸"] = "殸",
["聲"] = "殸",
["謦"] = "殸",
["磬"] = "殸",
["罄"] = "殸",
["馨"] = "殸",
["慶"] = "慶",
["羻"] = "慶",
["丘"] = "丘",
["邱"] = "丘",
["蚯"] = "丘",
["丠"] = "丘",
["鍫"] = "秋",
["篍"] = "秋",
["愀"] = "秋",
["湫"] = "秋",
["揪"] = "秋",
["揫"] = "秋",
["啾"] = "秋",
["鬏"] = "秋",
["秋"] = "秋",
["鰍"] = "秋",
["楸"] = "秋",
["秌"] = "秋",
["鞦"] = "秋",
["鶖"] = "秋",
["萩"] = "秋",
["甃"] = "秋",
["醔"] = "秋",
["愁"] = "秋",
["僽"] = "秋",
["鮂"] = "囚",
["囚"] = "囚",
["泅"] = "囚",
["苬"] = "囚",
["救"] = "求",
["求"] = "求",
["球"] = "求",
["逑"] = "求",
["賕"] = "求",
["蛷"] = "求",
["莍"] = "求",
["殏"] = "求",
["梂"] = "求",
["俅"] = "求",
["脙"] = "求",
["絿"] = "求",
["銶"] = "求",
["毬"] = "求",
["捄"] = "求",
["觩"] = "求",
["摳"] = "區",
["彄"] = "區",
["剾"] = "區",
["謳"] = "區",
["歐"] = "區",
["區"] = "區",
["鷗"] = "區",
["甌"] = "區",
["漚"] = "區",
["瞘"] = "區",
["嘔"] = "區",
["櫙"] = "區",
["膒"] = "區",
["蓲"] = "區",
["醧"] = "區",
["鏂"] = "區",
["毆"] = "區",
["塸"] = "區",
["貙"] = "區",
["樞"] = "區",
["驅"] = "區",
["軀"] = "區",
["嶇"] = "區",
["鰸"] = "區",
["敺"] = "區",
["傴"] = "區",
["嫗"] = "區",
["饇"] = "區",
["陬"] = "取",
["棷"] = "取",
["掫"] = "取",
["緅"] = "取",
["趣"] = "取",
["取"] = "取",
["鯫"] = "取",
["棸"] = "取",
["鄹"] = "取",
["郰"] = "取",
["齱"] = "取",
["菆"] = "取",
["箃"] = "取",
["黀"] = "取",
["驟"] = "取",
["最"] = "取",
["襊"] = "取",
["蕞"] = "取",
["嘬"] = "取",
["諏"] = "取",
["娵"] = "取",
["娶"] = "取",
["聚"] = "取",
["埾"] = "取",
["藂"] = "取",
["叢"] = "取",
["繓"] = "取",
["撮"] = "取",
["佉"] = "去",
["呿"] = "去",
["抾"] = "去",
["弆"] = "去",
["祛"] = "去",
["袪"] = "去",
["阹"] = "去",
["胠"] = "去",
["魼"] = "去",
["去"] = "去",
["麮"] = "去",
["鼁"] = "去",
["砝"] = "去",
["劫"] = "去",
["鉣"] = "去",
["蜐"] = "去",
["怯"] = "去",
["拴"] = "全",
["栓"] = "全",
["跧"] = "全",
["痊"] = "全",
["詮"] = "全",
["荃"] = "全",
["銓"] = "全",
["筌"] = "全",
["輇"] = "全",
["硂"] = "全",
["佺"] = "全",
["駩"] = "全",
["絟"] = "全",
["恮"] = "全",
["峑"] = "全",
["全"] = "全",
["仝"] = "全",
["牷"] = "全",
["線"] = "泉",
["泉"] = "泉",
["葲"] = "泉",
["灥"] = "泉",
["猚"] = "犬",
["畎"] = "犬",
["汱"] = "犬",
["甽"] = "犬",
["犬"] = "犬",
["腳"] = "郤",
["脚"] = "郤",
["卻"] = "郤",
["却"] = "郤",
["谻"] = "郤",
["郤"] = "郤",
["綌"] = "郤",
["菌"] = "囷",
["麇"] = "囷",
["麕"] = "囷",
["囷"] = "囷",
["箘"] = "囷",
["攈"] = "囷",
["嘫"] = "肰",
["然"] = "肰",
["肰"] = "肰",
["繎"] = "肰",
["燃"] = "肰",
["蹨"] = "肰",
["橪"] = "肰",
["撚"] = "肰",
["那"] = "冉",
["挪"] = "冉",
["娜"] = "冉",
["柟"] = "冉",
["抩"] = "冉",
["聃"] = "冉",
["舑"] = "冉",
["坍"] = "冉",
["髯"] = "冉",
["蚺"] = "冉",
["呥"] = "冉",
["冉"] = "冉",
["袡"] = "冉",
["苒"] = "冉",
["姌"] = "冉",
["千"] = "人",
["仟"] = "人",
["芊"] = "人",
["阡"] = "人",
["汘"] = "人",
["迁"] = "人",
["杄"] = "人",
["人"] = "人",
["仁"] = "人",
["朲"] = "人",
["佞"] = "人",
["紝"] = "壬",
["鵀"] = "壬",
["拰"] = "壬",
["賃"] = "壬",
["任"] = "壬",
["壬"] = "壬",
["恁"] = "壬",
["銋"] = "壬",
["荏"] = "壬",
["餁"] = "壬",
["栠"] = "壬",
["袵"] = "壬",
["飪"] = "壬",
["妊"] = "壬",
["衽"] = "壬",
["涊"] = "刃",
["紉"] = "刃",
["忍"] = "刃",
["荵"] = "刃",
["刃"] = "刃",
["認"] = "刃",
["仞"] = "刃",
["軔"] = "刃",
["韌"] = "刃",
["肕"] = "刃",
["牣"] = "刃",
["杒"] = "刃",
["訒"] = "刃",
["涅"] = "日",
["捏"] = "日",
["篞"] = "日",
["衵"] = "日",
["日"] = "日",
["馹"] = "日",
["娀"] = "戎",
["戎"] = "戎",
["茙"] = "戎",
["駥"] = "戎",
["狨"] = "戎",
["絨"] = "戎",
["茸"] = "茸",
["髶"] = "茸",
["搑"] = "茸",
["榵"] = "茸",
["穁"] = "茸",
["宂"] = "冗",
["冗"] = "冗",
["朒"] = "肉",
["肉"] = "肉",
["啂"] = "乳",
["乳"] = "乳",
["耨"] = "辱",
["槈"] = "辱",
["鎒"] = "辱",
["搙"] = "辱",
["褥"] = "辱",
["傉"] = "辱",
["辱"] = "辱",
["縟"] = "辱",
["蓐"] = "辱",
["鄏"] = "辱",
["溽"] = "辱",
["媷"] = "辱",
["嗕"] = "辱",
["陾"] = "耎",
["腝"] = "耎",
["堧"] = "耎",
["稬"] = "耎",
["愞"] = "耎",
["煗"] = "耎",
["餪"] = "耎",
["渜"] = "耎",
["偄"] = "耎",
["瑌"] = "耎",
["軟"] = "耎",
["輭"] = "耎",
["蝡"] = "耎",
["碝"] = "耎",
["耎"] = "耎",
["緛"] = "耎",
["媆"] = "耎",
["甤"] = "甤",
["蕤"] = "甤",
["睿"] = "睿",
["叡"] = "睿",
["璿"] = "睿",
["壡"] = "睿",
["濬"] = "睿",
["撋"] = "閏",
["瞤"] = "閏",
["潤"] = "閏",
["閏"] = "閏",
["若"] = "若",
["婼"] = "若",
["惹"] = "若",
["諾"] = "若",
["蠚"] = "若",
["逽"] = "若",
["蹃"] = "若",
["箬"] = "若",
["楉"] = "若",
["鄀"] = "若",
["嫋"] = "弱",
["弱"] = "弱",
["溺"] = "弱",
["蒻"] = "弱",
["搦"] = "弱",
["愵"] = "弱",
["賽"] = "塞",
["塞"] = "塞",
["簺"] = "塞",
["僿"] = "塞",
["寨"] = "塞",
["三"] = "三",
["弎"] = "三",
["散"] = "散",
["糤"] = "散",
["繖"] = "散",
["饊"] = "散",
["鏾"] = "散",
["潸"] = "散",
["霰"] = "散",
["撒"] = "散",
["桒"] = "桑",
["桑"] = "桑",
["磉"] = "桑",
["顙"] = "桑",
["嗓"] = "桑",
["搡"] = "桑",
["掃"] = "掃",
["埽"] = "掃",
["色"] = "色",
["赩"] = "色",
["濇"] = "嗇",
["嗇"] = "嗇",
["穡"] = "嗇",
["薔"] = "嗇",
["轖"] = "嗇",
["繬"] = "嗇",
["嬙"] = "嗇",
["懎"] = "嗇",
["澀"] = "歰",
["歰"] = "歰",
["澁"] = "歰",
["閷"] = "杀",
["鎩"] = "杀",
["殺"] = "杀",
["蔱"] = "杀",
["摋"] = "杀",
["煞"] = "杀",
["榝"] = "杀",
["刹"] = "杀",
["硰"] = "沙",
["娑"] = "沙",
["挱"] = "沙",
["挲"] = "沙",
["桫"] = "沙",
["渻"] = "沙",
["沙"] = "沙",
["紗"] = "沙",
["砂"] = "沙",
["鯊"] = "沙",
["裟"] = "沙",
["桬"] = "沙",
["髿"] = "沙",
["魦"] = "沙",
["莎"] = "沙",
["莏"] = "沙",
["杉"] = "彡",
["彡"] = "彡",
["衫"] = "彡",
["髟"] = "彡",
["釤"] = "彡",
["䑣"] = "彡",
["彤"] = "彡",
["浵"] = "彡",
["肜"] = "彡",
["山"] = "山",
["疝"] = "山",
["邖"] = "山",
["汕"] = "山",
["訕"] = "山",
["仙"] = "山",
["秈"] = "山",
["苮"] = "山",
["屾"] = "山",
["珊"] = "删",
["跚"] = "删",
["姗"] = "删",
["删"] = "删",
["栅"] = "删",
["羴"] = "羴",
["羼"] = "羴",
["扇"] = "扇",
["煽"] = "扇",
["傓"] = "扇",
["橏"] = "善",
["嫸"] = "善",
["善"] = "善",
["譱"] = "善",
["蟮"] = "善",
["鱔"] = "善",
["僐"] = "善",
["鄯"] = "善",
["墡"] = "善",
["磰"] = "善",
["繕"] = "善",
["膳"] = "善",
["饍"] = "善",
["商"] = "商",
["蔏"] = "商",
["螪"] = "商",
["丄"] = "上",
["上"] = "上",
["當"] = "尚",
["襠"] = "尚",
["鐺"] = "尚",
["簹"] = "尚",
["璫"] = "尚",
["檔"] = "尚",
["儅"] = "尚",
["蟷"] = "尚",
["擋"] = "尚",
["黨"] = "尚",
["讜"] = "尚",
["欓"] = "尚",
["譡"] = "尚",
["闣"] = "尚",
["瓽"] = "尚",
["鏜"] = "尚",
["闛"] = "尚",
["鼞"] = "尚",
["曭"] = "尚",
["儻"] = "尚",
["戃"] = "尚",
["矘"] = "尚",
["爣"] = "尚",
["攩"] = "尚",
["淌"] = "尚",
["倘"] = "尚",
["躺"] = "尚",
["趟"] = "尚",
["堂"] = "尚",
["坣"] = "尚",
["棠"] = "尚",
["糛"] = "尚",
["螳"] = "尚",
["隚"] = "尚",
["橖"] = "尚",
["掌"] = "尚",
["廠"] = "尚",
["敞"] = "尚",
["僘"] = "尚",
["氅"] = "尚",
["常"] = "尚",
["嘗"] = "尚",
["裳"] = "尚",
["徜"] = "尚",
["尚"] = "尚",
["甞"] = "尚",
["鋿"] = "尚",
["嫦"] = "尚",
["償"] = "尚",
["賞"] = "尚",
["瞠"] = "尚",
["撐"] = "尚",
["樘"] = "尚",
["橕"] = "尚",
["牚"] = "尚",
["埫"] = "尚",
["豹"] = "勺",
["趵"] = "勺",
["尥"] = "勺",
["箹"] = "勺",
["杓"] = "勺",
["約"] = "勺",
["扚"] = "勺",
["釣"] = "勺",
["瘹"] = "勺",
["芍"] = "勺",
["酌"] = "勺",
["灼"] = "勺",
["勺"] = "勺",
["彴"] = "勺",
["犳"] = "勺",
["妁"] = "勺",
["汋"] = "勺",
["仢"] = "勺",
["葯"] = "勺",
["礿"] = "勺",
["肑"] = "勺",
["瓝"] = "勺",
["的"] = "勺",
["靮"] = "勺",
["馰"] = "勺",
["玓"] = "勺",
["魡"] = "勺",
["絬"] = "舌",
["舌"] = "舌",
["謝"] = "射",
["榭"] = "射",
["射"] = "射",
["麝"] = "射",
["設"] = "設",
["蔎"] = "設",
["電"] = "申",
["胂"] = "申",
["申"] = "申",
["伸"] = "申",
["呻"] = "申",
["紳"] = "申",
["眒"] = "申",
["柛"] = "申",
["訷"] = "申",
["抻"] = "申",
["神"] = "申",
["朄"] = "申",
["身"] = "身",
["銵"] = "身",
["探"] = "罙",
["棎"] = "罙",
["賝"] = "罙",
["琛"] = "罙",
["穼"] = "罙",
["深"] = "罙",
["宷"] = "宷",
["審"] = "宷",
["瀋"] = "宷",
["嬸"] = "宷",
["昚"] = "昚",
["傄"] = "昚",
["湛"] = "甚",
["媅"] = "甚",
["黮"] = "甚",
["糂"] = "甚",
["堪"] = "甚",
["戡"] = "甚",
["嵁"] = "甚",
["歁"] = "甚",
["勘"] = "甚",
["磡"] = "甚",
["墈"] = "甚",
["偡"] = "甚",
["碪"] = "甚",
["椹"] = "甚",
["揕"] = "甚",
["踸"] = "甚",
["鍖"] = "甚",
["斟"] = "甚",
["諶"] = "甚",
["愖"] = "甚",
["瘎"] = "甚",
["煁"] = "甚",
["甚"] = "甚",
["葚"] = "甚",
["升"] = "升",
["昇"] = "升",
["陞"] = "升",
["抍"] = "升",
["猜"] = "生",
["輤"] = "生",
["綪"] = "生",
["倩"] = "生",
["棈"] = "生",
["蒨"] = "生",
["篟"] = "生",
["生"] = "生",
["牲"] = "生",
["笙"] = "生",
["甥"] = "生",
["鉎"] = "生",
["珄"] = "生",
["鼪"] = "生",
["猩"] = "生",
["狌"] = "生",
["眚"] = "生",
["貹"] = "生",
["崝"] = "生",
["精"] = "生",
["菁"] = "生",
["鶄"] = "生",
["蜻"] = "生",
["鼱"] = "生",
["婧"] = "生",
["睛"] = "生",
["箐"] = "生",
["聙"] = "生",
["旌"] = "生",
["清"] = "生",
["圊"] = "生",
["請"] = "生",
["凊"] = "生",
["䝼"] = "生",
["靚"] = "生",
["情"] = "生",
["晴"] = "生",
["夝"] = "生",
["靜"] = "生",
["靖"] = "生",
["睲"] = "生",
["惺"] = "生",
["性"] = "生",
["姓"] = "生",
["靗"] = "生",
["鯖"] = "生",
["青"] = "生",
["靘"] = "生",
["掅"] = "生",
["胜"] = "生",
["曐"] = "生",
["星"] = "生",
["鮏"] = "生",
["腥"] = "生",
["鯹"] = "生",
["醒"] = "生",
["篂"] = "生",
["省"] = "省",
["渻"] = "省",
["箵"] = "省",
["檉"] = "聖",
["蟶"] = "聖",
["聖"] = "聖",
["聽"] = "聖",
["廳"] = "聖",
["杘"] = "尸",
["尸"] = "尸",
["鳲"] = "尸",
["屍"] = "尸",
["屎"] = "尸",
["眣"] = "失",
["蛈"] = "失",
["迭"] = "失",
["跌"] = "失",
["瓞"] = "失",
["昳"] = "失",
["胅"] = "失",
["軼"] = "失",
["苵"] = "失",
["镻"] = "失",
["詄"] = "失",
["泆"] = "失",
["趃"] = "失",
["柣"] = "失",
["抶"] = "失",
["秩"] = "失",
["帙"] = "失",
["紩"] = "失",
["袠"] = "失",
["翐"] = "失",
["妷"] = "失",
["失"] = "失",
["佚"] = "失",
["劮"] = "失",
["篩"] = "師",
["師"] = "師",
["鰤"] = "師",
["蒒"] = "師",
["獅"] = "師",
["螄"] = "師",
["儑"] = "濕",
["濕"] = "濕",
["漯"] = "濕",
["礘"] = "濕",
["隰"] = "濕",
["溼"] = "濕",
["針"] = "十",
["汁"] = "十",
["卙"] = "十",
["十"] = "十",
["什"] = "十",
["柘"] = "石",
["妬"] = "石",
["蠹"] = "石",
["沰"] = "石",
["拓"] = "石",
["橐"] = "石",
["袥"] = "石",
["驝"] = "石",
["斫"] = "石",
["磭"] = "石",
["磔"] = "石",
["跖"] = "石",
["石"] = "石",
["碩"] = "石",
["祏"] = "石",
["鉐"] = "石",
["鼫"] = "石",
["飤"] = "食",
["食"] = "食",
["蝕"] = "食",
["飾"] = "食",
["飭"] = "食",
["吏"] = "史",
["倳"] = "史",
["剚"] = "史",
["事"] = "史",
["史"] = "史",
["使"] = "史",
["駛"] = "史",
["彘"] = "矢",
["璏"] = "矢",
["薙"] = "矢",
["知"] = "矢",
["蜘"] = "矢",
["智"] = "矢",
["鼅"] = "矢",
["潪"] = "矢",
["踟"] = "矢",
["雉"] = "矢",
["矢"] = "矢",
["痴"] = "矢",
["茌"] = "士",
["士"] = "士",
["仕"] = "士",
["氏"] = "氏",
["衹"] = "氏",
["紙"] = "氏",
["帋"] = "氏",
["扺"] = "氏",
["坁"] = "氏",
["汦"] = "氏",
["忯"] = "氏",
["眂"] = "氏",
["舐"] = "氏",
["芪"] = "氏",
["祇"] = "氏",
["疧"] = "氏",
["軝"] = "氏",
["蚔"] = "氏",
["貰"] = "世",
["跇"] = "世",
["迣"] = "世",
["世"] = "世",
["泄"] = "世",
["枻"] = "世",
["詍"] = "世",
["靾"] = "世",
["袣"] = "世",
["抴"] = "世",
["呭"] = "世",
["勩"] = "世",
["屜"] = "世",
["鰈"] = "世",
["渫"] = "世",
["煠"] = "世",
["喋"] = "世",
["鞢"] = "世",
["殜"] = "世",
["葉"] = "世",
["弽"] = "世",
["韘"] = "世",
["枼"] = "世",
["楪"] = "世",
["揲"] = "世",
["鍱"] = "世",
["偞"] = "世",
["蝶"] = "世",
["牒"] = "世",
["蹀"] = "世",
["諜"] = "世",
["堞"] = "世",
["牃"] = "世",
["褋"] = "世",
["惵"] = "世",
["碟"] = "世",
["屧"] = "世",
["屟"] = "世",
["紲"] = "世",
["齛"] = "世",
["疶"] = "世",
["緤"] = "世",
["媟"] = "世",
["示"] = "示",
["祁"] = "示",
["狋"] = "示",
["視"] = "示",
["眎"] = "示",
["沶"] = "示",
["鞮"] = "是",
["隄"] = "是",
["堤"] = "是",
["鍉"] = "是",
["蝭"] = "是",
["醍"] = "是",
["緹"] = "是",
["提"] = "是",
["瑅"] = "是",
["題"] = "是",
["媞"] = "是",
["褆"] = "是",
["禔"] = "是",
["騠"] = "是",
["趧"] = "是",
["鯷"] = "是",
["踶"] = "是",
["徥"] = "是",
["匙"] = "是",
["是"] = "是",
["諟"] = "是",
["翨"] = "是",
["睼"] = "是",
["寔"] = "是",
["湜"] = "是",
["遈"] = "是",
["噬"] = "筮",
["筮"] = "筮",
["簭"] = "筮",
["澨"] = "筮",
["遾"] = "筮",
["奭"] = "奭",
["襫"] = "奭",
["杽"] = "手",
["手"] = "手",
["守"] = "守",
["狩"] = "守",
["道"] = "首",
["導"] = "首",
["首"] = "首",
["受"] = "受",
["綬"] = "受",
["授"] = "受",
["禱"] = "壽",
["擣"] = "壽",
["檮"] = "壽",
["壔"] = "壽",
["懤"] = "壽",
["濤"] = "壽",
["燾"] = "壽",
["翿"] = "壽",
["幬"] = "壽",
["儔"] = "壽",
["譸"] = "壽",
["籌"] = "壽",
["疇"] = "壽",
["躊"] = "壽",
["燽"] = "壽",
["薵"] = "壽",
["魗"] = "壽",
["醻"] = "壽",
["壽"] = "壽",
["璹"] = "壽",
["鑄"] = "壽",
["獸"] = "嘼",
["嘼"] = "嘼",
["吺"] = "殳",
["祋"] = "殳",
["投"] = "殳",
["骰"] = "殳",
["酘"] = "殳",
["坄"] = "殳",
["殳"] = "殳",
["杸"] = "殳",
["椒"] = "尗",
["茮"] = "尗",
["踧"] = "尗",
["蔋"] = "尗",
["惄"] = "尗",
["戚"] = "尗",
["慼"] = "尗",
["鏚"] = "尗",
["慽"] = "尗",
["磩"] = "尗",
["寂"] = "尗",
["嘁"] = "尗",
["墄"] = "尗",
["摵"] = "尗",
["督"] = "尗",
["錖"] = "尗",
["裻"] = "尗",
["傶"] = "尗",
["蹙"] = "尗",
["槭"] = "尗",
["縬"] = "尗",
["顣"] = "尗",
["敊"] = "尗",
["琡"] = "尗",
["俶"] = "尗",
["埱"] = "尗",
["淑"] = "尗",
["婌"] = "尗",
["尗"] = "尗",
["叔"] = "尗",
["掓"] = "尗",
["菽"] = "尗",
["鮛"] = "尗",
["疋"] = "疋",
["蝑"] = "疋",
["壻"] = "疋",
["婿"] = "疋",
["胥"] = "疋",
["稰"] = "疋",
["楈"] = "疋",
["諝"] = "疋",
["湑"] = "疋",
["揟"] = "疋",
["醑"] = "疋",
["糈"] = "疋",
["楚"] = "疋",
["礎"] = "疋",
["憷"] = "疋",
["齼"] = "疋",
["濋"] = "疋",
["儊"] = "疋",
["綀"] = "疋",
["疎"] = "疋",
["疏"] = "疋",
["蔬"] = "疋",
["梳"] = "疋",
["熟"] = "孰",
["孰"] = "孰",
["塾"] = "孰",
["鼠"] = "鼠",
["癙"] = "鼠",
["襡"] = "蜀",
["噣"] = "蜀",
["斣"] = "蜀",
["歜"] = "蜀",
["斀"] = "蜀",
["孎"] = "蜀",
["濁"] = "蜀",
["鐲"] = "蜀",
["鸀"] = "蜀",
["擉"] = "蜀",
["獨"] = "蜀",
["髑"] = "蜀",
["韣"] = "蜀",
["斸"] = "蜀",
["钃"] = "蜀",
["欘"] = "蜀",
["躅"] = "蜀",
["蠋"] = "蜀",
["燭"] = "蜀",
["囑"] = "蜀",
["矚"] = "蜀",
["屬"] = "蜀",
["属"] = "蜀",
["蠾"] = "蜀",
["觸"] = "蜀",
["臅"] = "蜀",
["觕"] = "蜀",
["蜀"] = "蜀",
["訹"] = "朮",
["怵"] = "朮",
["朮"] = "朮",
["炢"] = "朮",
["術"] = "朮",
["述"] = "朮",
["秫"] = "朮",
["沭"] = "朮",
["蒁"] = "朮",
["涑"] = "束",
["鏉"] = "束",
["摗"] = "束",
["駷"] = "束",
["嗽"] = "束",
["瘶"] = "束",
["欶"] = "束",
["漱"] = "束",
["捒"] = "束",
["悚"] = "束",
["竦"] = "束",
["娕"] = "束",
["梀"] = "束",
["速"] = "束",
["餗"] = "束",
["殐"] = "束",
["遬"] = "束",
["蔌"] = "束",
["樕"] = "束",
["藗"] = "束",
["誎"] = "束",
["束"] = "束",
["褯"] = "庶",
["遮"] = "庶",
["蔗"] = "庶",
["鷓"] = "庶",
["樜"] = "庶",
["蟅"] = "庶",
["嗻"] = "庶",
["鍍"] = "庶",
["度"] = "庶",
["渡"] = "庶",
["庶"] = "庶",
["剫"] = "庶",
["踱"] = "庶",
["喥"] = "庶",
["謶"] = "庶",
["席"] = "庶",
["蓆"] = "庶",
["墌"] = "庶",
["摭"] = "庶",
["蹠"] = "庶",
["涮"] = "刷",
["刷"] = "刷",
["蓑"] = "衰",
["缞"] = "衰",
["衰"] = "衰",
["榱"] = "衰",
["雙"] = "雙",
["艭"] = "雙",
["愯"] = "雙",
["㩳"] = "雙",
["摤"] = "爽",
["磢"] = "爽",
["漺"] = "爽",
["傸"] = "爽",
["鷞"] = "爽",
["騻"] = "爽",
["爽"] = "爽",
["塽"] = "爽",
["樉"] = "爽",
["沝"] = "水",
["水"] = "水",
["私"] = "厶",
["厶"] = "厶",
["司"] = "司",
["伺"] = "司",
["覗"] = "司",
["笥"] = "司",
["詞"] = "司",
["祠"] = "司",
["柌"] = "司",
["嗣"] = "司",
["孠"] = "司",
["飼"] = "司",
["呞"] = "司",
["擨"] = "虒",
["搋"] = "虒",
["鷈"] = "虒",
["謕"] = "虒",
["嗁"] = "虒",
["蹏"] = "虒",
["鼶"] = "虒",
["遞"] = "虒",
["虒"] = "虒",
["榹"] = "虒",
["磃"] = "虒",
["傂"] = "虒",
["螔"] = "虒",
["禠"] = "虒",
["褫"] = "虒",
["篪"] = "虒",
["歋"] = "虒",
["嘶"] = "斯",
["撕"] = "斯",
["斯"] = "斯",
["廝"] = "斯",
["蟴"] = "斯",
["燍"] = "斯",
["鐁"] = "斯",
["凘"] = "斯",
["澌"] = "斯",
["絲"] = "絲",
["蕬"] = "絲",
["鷥"] = "絲",
["巳"] = "巳",
["祀"] = "巳",
["汜"] = "巳",
["戺"] = "巳",
["起"] = "巳",
["熙"] = "巳",
["媐"] = "巳",
["圯"] = "巳",
["异"] = "巳",
["巸"] = "巳",
["訵"] = "四",
["四"] = "四",
["泗"] = "四",
["駟"] = "四",
["柶"] = "四",
["牭"] = "四",
["呬"] = "四",
["等"] = "寺",
["待"] = "寺",
["寺"] = "寺",
["持"] = "寺",
["峙"] = "寺",
["痔"] = "寺",
["跱"] = "寺",
["歭"] = "寺",
["洔"] = "寺",
["畤"] = "寺",
["秲"] = "寺",
["庤"] = "寺",
["時"] = "寺",
["鰣"] = "寺",
["塒"] = "寺",
["蒔"] = "寺",
["榯"] = "寺",
["恃"] = "寺",
["侍"] = "寺",
["詩"] = "寺",
["邿"] = "寺",
["特"] = "寺",
["浨"] = "宋",
["俕"] = "宋",
["宋"] = "宋",
["㮴"] = "叟",
["艘"] = "叟",
["嫂"] = "叟",
["瞍"] = "叟",
["謏"] = "叟",
["叜"] = "叟",
["叟"] = "叟",
["傁"] = "叟",
["廋"] = "叟",
["醙"] = "叟",
["遚"] = "叟",
["餿"] = "叟",
["搜"] = "叟",
["颼"] = "叟",
["溲"] = "叟",
["鎪"] = "叟",
["獀"] = "叟",
["鄋"] = "叟",
["螋"] = "叟",
["騪"] = "叟",
["瘦"] = "叟",
["洬"] = "夙",
["夙"] = "夙",
["素"] = "素",
["傃"] = "素",
["嗉"] = "素",
["膆"] = "素",
["塐"] = "素",
["宿"] = "宿",
["蓿"] = "宿",
["縮"] = "宿",
["樎"] = "宿",
["蹜"] = "宿",
["摍"] = "宿",
["粟"] = "粟",
["憟"] = "粟",
["簫"] = "肅",
["蕭"] = "肅",
["瀟"] = "肅",
["潚"] = "肅",
["彇"] = "肅",
["蟰"] = "肅",
["橚"] = "肅",
["嘯"] = "肅",
["歗"] = "肅",
["熽"] = "肅",
["繡"] = "肅",
["鏽"] = "肅",
["肅"] = "肅",
["鷫"] = "肅",
["驌"] = "肅",
["鱐"] = "肅",
["璛"] = "肅",
["蒜"] = "祘",
["祘"] = "祘",
["纂"] = "算",
["繤"] = "算",
["算"] = "算",
["匴"] = "算",
["篹"] = "算",
["篡"] = "算",
["攥"] = "算",
["隊"] = "遂",
["邃"] = "遂",
["譢"] = "遂",
["遂"] = "遂",
["隧"] = "遂",
["燧"] = "遂",
["襚"] = "遂",
["旞"] = "遂",
["璲"] = "遂",
["檖"] = "遂",
["澻"] = "遂",
["鐆"] = "遂",
["鐩"] = "遂",
["穟"] = "遂",
["墜"] = "遂",
["噦"] = "歲",
["翽"] = "歲",
["鐬"] = "歲",
["濊"] = "歲",
["歲"] = "歲",
["劌"] = "歲",
["顪"] = "歲",
["穢"] = "歲",
["薉"] = "歲",
["獩"] = "歲",
["饖"] = "歲",
["奯"] = "歲",
["孫"] = "孫",
["猻"] = "孫",
["蓀"] = "孫",
["搎"] = "孫",
["遜"] = "孫",
["愻"] = "孫",
["飧"] = "飧",
["蕵"] = "飧",
["隼"] = "隼",
["榫"] = "隼",
["准"] = "隼",
["準"] = "隼",
["索"] = "索",
["溹"] = "索",
["惢"] = "惢",
["蕊"] = "惢",
["蘂"] = "惢",
["繠"] = "惢",
["鎖"] = "瑣",
["瑣"] = "瑣",
["溑"] = "瑣",
["佗"] = "它",
["拕"] = "它",
["它"] = "它",
["蛇"] = "它",
["袉"] = "它",
["鴕"] = "它",
["駝"] = "它",
["紽"] = "它",
["鮀"] = "它",
["陀"] = "它",
["沱"] = "它",
["跎"] = "它",
["詑"] = "它",
["酡"] = "它",
["迱"] = "它",
["舵"] = "它",
["柁"] = "它",
["鉈"] = "它",
["傝"] = "蹋",
["搨"] = "蹋",
["蹹"] = "蹋",
["榻"] = "蹋",
["遢"] = "蹋",
["鰨"] = "蹋",
["毾"] = "蹋",
["塌"] = "蹋",
["溻"] = "蹋",
["蹋"] = "蹋",
["躢"] = "蹋",
["闒"] = "蹋",
["誩"] = "譶",
["譶"] = "譶",
["霅"] = "譶",
["胎"] = "台",
["台"] = "台",
["邰"] = "台",
["鮐"] = "台",
["孡"] = "台",
["苔"] = "台",
["抬"] = "台",
["駘"] = "台",
["炱"] = "台",
["菭"] = "台",
["跆"] = "台",
["殆"] = "台",
["怠"] = "台",
["迨"] = "台",
["紿"] = "台",
["詒"] = "台",
["軩"] = "台",
["咍"] = "台",
["佁"] = "台",
["枲"] = "台",
["辝"] = "台",
["鈶"] = "台",
["笞"] = "台",
["齝"] = "台",
["眙"] = "台",
["治"] = "台",
["始"] = "台",
["怡"] = "台",
["貽"] = "台",
["飴"] = "台",
["瓵"] = "台",
["珆"] = "台",
["懛"] = "臺",
["儓"] = "臺",
["臺"] = "臺",
["擡"] = "臺",
["薹"] = "臺",
["嬯"] = "臺",
["檯"] = "臺",
["籉"] = "臺",
["鷣"] = "覃",
["撢"] = "覃",
["憛"] = "覃",
["潭"] = "覃",
["譚"] = "覃",
["覃"] = "覃",
["鐔"] = "覃",
["藫"] = "覃",
["橝"] = "覃",
["蟫"] = "覃",
["燂"] = "覃",
["醰"] = "覃",
["禫"] = "覃",
["嘾"] = "覃",
["贉"] = "覃",
["瞫"] = "覃",
["蕈"] = "覃",
["鱏"] = "覃",
["簟"] = "覃",
["驔"] = "覃",
["磹"] = "覃",
["曇"] = "曇",
["壜"] = "曇",
["炭"] = "炭",
["湠"] = "炭",
["弢"] = "弢",
["詜"] = "弢",
["掏"] = "匋",
["蜪"] = "匋",
["陶"] = "匋",
["萄"] = "匋",
["啕"] = "匋",
["淘"] = "匋",
["騊"] = "匋",
["匋"] = "匋",
["祹"] = "匋",
["綯"] = "匋",
["替"] = "替",
["暜"] = "替",
["僣"] = "替",
["添"] = "天",
["忝"] = "天",
["悿"] = "天",
["舔"] = "天",
["菾"] = "天",
["天"] = "天",
["吞"] = "天",
["祆"] = "天",
["蚕"] = "天",
["田"] = "田",
["佃"] = "田",
["畋"] = "田",
["畇"] = "田",
["鈿"] = "田",
["沺"] = "田",
["甸"] = "田",
["銛"] = "甜",
["栝"] = "甜",
["餂"] = "甜",
["恬"] = "甜",
["湉"] = "甜",
["甜"] = "甜",
["狧"] = "甜",
["蜓"] = "廷",
["涏"] = "廷",
["綎"] = "廷",
["珽"] = "廷",
["脡"] = "廷",
["侹"] = "廷",
["頲"] = "廷",
["廷"] = "廷",
["庭"] = "廷",
["鼮"] = "廷",
["莛"] = "廷",
["筳"] = "廷",
["霆"] = "廷",
["娗"] = "廷",
["挺"] = "廷",
["艇"] = "廷",
["鋌"] = "廷",
["梃"] = "廷",
["誔"] = "廷",
["鮦"] = "同",
["侗"] = "同",
["恫"] = "同",
["痌"] = "同",
["同"] = "同",
["仝"] = "同",
["銅"] = "同",
["桐"] = "同",
["峒"] = "同",
["硐"] = "同",
["筒"] = "同",
["洞"] = "同",
["烔"] = "同",
["挏"] = "同",
["酮"] = "同",
["鲖"] = "同",
["眮"] = "同",
["衕"] = "同",
["哃"] = "同",
["絧"] = "同",
["姛"] = "同",
["詷"] = "同",
["胴"] = "同",
["駧"] = "同",
["迵"] = "同",
["戙"] = "同",
["禿"] = "禿",
["鵚"] = "禿",
["突"] = "突",
["宊"] = "突",
["揬"] = "突",
["鼵"] = "突",
["葖"] = "突",
["鶟"] = "突",
["堗"] = "突",
["啚"] = "圖",
["圖"] = "圖",
["社"] = "土",
["肚"] = "土",
["土"] = "土",
["吐"] = "土",
["芏"] = "土",
["杜"] = "土",
["靯"] = "土",
["荰"] = "土",
["菟"] = "兔",
["兔"] = "兔",
["鵵"] = "兔",
["梚"] = "兔",
["腿"] = "退",
["退"] = "退",
["褪"] = "退",
["豚"] = "豚",
["遯"] = "豚",
["妥"] = "妥",
["鵎"] = "妥",
["挼"] = "妥",
["骽"] = "妥",
["脮"] = "妥",
["餒"] = "妥",
["浽"] = "妥",
["娞"] = "妥",
["鮾"] = "妥",
["綏"] = "妥",
["荽"] = "妥",
["鋖"] = "妥",
["桵"] = "妥",
["瓦"] = "瓦",
["邷"] = "瓦",
["骫"] = "丸",
["丸"] = "丸",
["紈"] = "丸",
["芄"] = "丸",
["汍"] = "丸",
["肒"] = "丸",
["糲"] = "萬",
["犡"] = "萬",
["噧"] = "萬",
["邁"] = "萬",
["勱"] = "萬",
["蠆"] = "萬",
["厲"] = "萬",
["勵"] = "萬",
["礪"] = "萬",
["蠣"] = "萬",
["蠇"] = "萬",
["癘"] = "萬",
["濿"] = "萬",
["櫔"] = "萬",
["巁"] = "萬",
["贎"] = "萬",
["萬"] = "萬",
["忙"] = "亡",
["芒"] = "亡",
["茫"] = "亡",
["恾"] = "亡",
["吂"] = "亡",
["汒"] = "亡",
["朚"] = "亡",
["邙"] = "亡",
["杗"] = "亡",
["荒"] = "亡",
["肓"] = "亡",
["衁"] = "亡",
["巟"] = "亡",
["詤"] = "亡",
["慌"] = "亡",
["謊"] = "亡",
["喪"] = "亡",
["亡"] = "亡",
["望"] = "亡",
["莣"] = "亡",
["朢"] = "亡",
["鋩"] = "亡",
["硭"] = "亡",
["忘"] = "亡",
["网"] = "亡",
["罔"] = "亡",
["蛧"] = "亡",
["網"] = "亡",
["輞"] = "亡",
["棢"] = "亡",
["惘"] = "亡",
["菵"] = "亡",
["誷"] = "亡",
["魍"] = "亡",
["妄"] = "亡",
["盲"] = "亡",
["蝱"] = "亡",
["虻"] = "亡",
["氓"] = "亡",
["甿"] = "亡",
["皇"] = "王",
["惶"] = "王",
["遑"] = "王",
["堭"] = "王",
["煌"] = "王",
["餭"] = "王",
["騜"] = "王",
["艎"] = "王",
["隍"] = "王",
["湟"] = "王",
["徨"] = "王",
["篁"] = "王",
["蝗"] = "王",
["凰"] = "王",
["偟"] = "王",
["媓"] = "王",
["韹"] = "王",
["葟"] = "王",
["皝"] = "王",
["汪"] = "王",
["尪"] = "王",
["迋"] = "王",
["逛"] = "王",
["誑"] = "王",
["匡"] = "王",
["筐"] = "王",
["框"] = "王",
["眶"] = "王",
["誆"] = "王",
["邼"] = "王",
["恇"] = "王",
["劻"] = "王",
["洭"] = "王",
["軭"] = "王",
["狂"] = "王",
["軖"] = "王",
["鵟"] = "王",
["俇"] = "王",
["王"] = "王",
["蚟"] = "王",
["彺"] = "王",
["旺"] = "王",
["諻"] = "王",
["喤"] = "王",
["瑝"] = "王",
["鍠"] = "王",
["揘"] = "王",
["暀"] = "往",
["誑"] = "往",
["枉"] = "往",
["往"] = "往",
["鮠"] = "危",
["峞"] = "危",
["頠"] = "危",
["詭"] = "危",
["垝"] = "危",
["陒"] = "危",
["觤"] = "危",
["恑"] = "危",
["蛫"] = "危",
["祪"] = "危",
["洈"] = "危",
["姽"] = "危",
["桅"] = "危",
["佹"] = "危",
["跪"] = "危",
["危"] = "危",
["峗"] = "危",
["硊"] = "危",
["卼"] = "危",
["崴"] = "威",
["威"] = "威",
["葳"] = "威",
["隇"] = "威",
["蝛"] = "威",
["鰄"] = "威",
["楲"] = "威",
["矀"] = "微",
["覹"] = "微",
["黴"] = "微",
["薇"] = "微",
["媺"] = "微",
["微"] = "微",
["溦"] = "微",
["癓"] = "微",
["徽"] = "微",
["幑"] = "微",
["禕"] = "韋",
["郼"] = "韋",
["褘"] = "韋",
["諱"] = "韋",
["媁"] = "韋",
["幃"] = "韋",
["違"] = "韋",
["圍"] = "韋",
["韋"] = "韋",
["闈"] = "韋",
["湋"] = "韋",
["鍏"] = "韋",
["潿"] = "韋",
["韙"] = "韋",
["煒"] = "韋",
["暐"] = "韋",
["偉"] = "韋",
["瑋"] = "韋",
["葦"] = "韋",
["椲"] = "韋",
["韡"] = "韋",
["愇"] = "韋",
["緯"] = "韋",
["匯"] = "唯",
["擓"] = "唯",
["淮"] = "唯",
["睢"] = "唯",
["嶉"] = "唯",
["趡"] = "唯",
["踓"] = "唯",
["雖"] = "唯",
["濉"] = "唯",
["倠"] = "唯",
["婎"] = "唯",
["蓶"] = "唯",
["維"] = "唯",
["惟"] = "唯",
["唯"] = "唯",
["濰"] = "唯",
["琟"] = "唯",
["鷕"] = "唯",
["帷"] = "唯",
["鵻"] = "唯",
["譌"] = "爲",
["嬀"] = "爲",
["潙"] = "爲",
["蟡"] = "爲",
["僞"] = "爲",
["噅"] = "爲",
["撝"] = "爲",
["爲"] = "爲",
["鄬"] = "爲",
["蔿"] = "爲",
["儰"] = "爲",
["寪"] = "爲",
["蘤"] = "爲",
["娓"] = "尾",
["尾"] = "尾",
["浘"] = "尾",
["矮"] = "委",
["躷"] = "委",
["捼"] = "委",
["倭"] = "委",
["涹"] = "委",
["踒"] = "委",
["餧"] = "委",
["諉"] = "委",
["痿"] = "委",
["萎"] = "委",
["逶"] = "委",
["覣"] = "委",
["蜲"] = "委",
["委"] = "委",
["緌"] = "委",
["寐"] = "未",
["魅"] = "未",
["鬽"] = "未",
["昧"] = "未",
["妹"] = "未",
["眛"] = "未",
["沬"] = "未",
["未"] = "未",
["味"] = "未",
["鮇"] = "未",
["菋"] = "未",
["煨"] = "畏",
["偎"] = "畏",
["隈"] = "畏",
["椳"] = "畏",
["鰃"] = "畏",
["渨"] = "畏",
["葨"] = "畏",
["揋"] = "畏",
["猥"] = "畏",
["嵔"] = "畏",
["鍡"] = "畏",
["碨"] = "畏",
["腲"] = "畏",
["餵"] = "畏",
["畏"] = "畏",
["喟"] = "胃",
["胃"] = "胃",
["謂"] = "胃",
["媦"] = "胃",
["蝟"] = "胃",
["渭"] = "胃",
["煟"] = "胃",
["緭"] = "胃",
["尉"] = "尉",
["熨"] = "尉",
["慰"] = "尉",
["罻"] = "尉",
["犚"] = "尉",
["蔚"] = "尉",
["螱"] = "尉",
["褽"] = "尉",
["鳚"] = "尉",
["衞"] = "衛",
["讏"] = "衛",
["躛"] = "衛",
["媪"] = "𥁕",
["蝹"] = "𥁕",
["溫"] = "𥁕",
["𥁕"] = "𥁕",
["輼"] = "𥁕",
["蕰"] = "𥁕",
["殟"] = "𥁕",
["豱"] = "𥁕",
["緼"] = "𥁕",
["韞"] = "𥁕",
["瘟"] = "𥁕",
["揾"] = "𥁕",
["氲"] = "𥁕",
["煴"] = "𥁕",
["馧"] = "𥁕",
["蒀"] = "𥁕",
["藴"] = "𥁕",
["褞"] = "𥁕",
["醖"] = "𥁕",
["慍"] = "𥁕",
["蘊"] = "𥁕",
["腽"] = "𥁕",
["榅"] = "𥁕",
["嗢"] = "𥁕",
["旻"] = "文",
["旼"] = "文",
["汶"] = "文",
["忞"] = "文",
["盿"] = "文",
["枚"] = "文",
["玫"] = "文",
["玟"] = "文",
["文"] = "文",
["紋"] = "文",
["蚊"] = "文",
["雯"] = "文",
["彣"] = "文",
["馼"] = "文",
["鳼"] = "文",
["鼤"] = "文",
["抆"] = "文",
["紊"] = "文",
["莪"] = "我",
["哦"] = "我",
["娥"] = "我",
["峨"] = "我",
["峩"] = "我",
["鵝"] = "我",
["俄"] = "我",
["蛾"] = "我",
["睋"] = "我",
["涐"] = "我",
["誐"] = "我",
["硪"] = "我",
["我"] = "我",
["騀"] = "我",
["餓"] = "我",
["義"] = "我",
["儀"] = "我",
["轙"] = "我",
["檥"] = "我",
["蟻"] = "我",
["艤"] = "我",
["礒"] = "我",
["羛"] = "我",
["議"] = "我",
["犧"] = "我",
["曦"] = "我",
["羲"] = "我",
["巫"] = "巫",
["誣"] = "巫",
["莁"] = "巫",
["鵐"] = "巫",
["握"] = "屋",
["幄"] = "屋",
["偓"] = "屋",
["渥"] = "屋",
["齷"] = "屋",
["楃"] = "屋",
["喔"] = "屋",
["腛"] = "屋",
["媉"] = "屋",
["屋"] = "屋",
["剭"] = "屋",
["烏"] = "烏",
["嗚"] = "烏",
["鰞"] = "烏",
["歍"] = "烏",
["鎢"] = "烏",
["瑦"] = "烏",
["鄔"] = "烏",
["螐"] = "烏",
["隖"] = "烏",
["塢"] = "烏",
["溩"] = "烏",
["吳"] = "吳",
["蜈"] = "吳",
["鋘"] = "吳",
["麌"] = "吳",
["祦"] = "吳",
["誤"] = "吳",
["悞"] = "吳",
["娛"] = "吳",
["虞"] = "吳",
["澞"] = "吳",
["鸆"] = "吳",
["俁"] = "吳",
["噳"] = "吳",
["墲"] = "無",
["橅"] = "無",
["膴"] = "無",
["幠"] = "無",
["鄦"] = "無",
["撫"] = "無",
["無"] = "無",
["瞴"] = "無",
["蕪"] = "無",
["璑"] = "無",
["鷡"] = "無",
["譕"] = "無",
["憮"] = "無",
["舞"] = "無",
["廡"] = "無",
["嫵"] = "無",
["甒"] = "無",
["潕"] = "無",
["儛"] = "無",
["吾"] = "五",
["衙"] = "五",
["鼯"] = "五",
["浯"] = "五",
["珸"] = "五",
["郚"] = "五",
["齬"] = "五",
["鯃"] = "五",
["娪"] = "五",
["梧"] = "五",
["峿"] = "五",
["五"] = "五",
["伍"] = "五",
["寤"] = "五",
["啎"] = "五",
["晤"] = "五",
["悟"] = "五",
["逜"] = "五",
["窹"] = "五",
["捂"] = "五",
["鋙"] = "五",
["語"] = "五",
["圄"] = "五",
["敔"] = "五",
["卸"] = "午",
["汻"] = "午",
["滸"] = "午",
["午"] = "午",
["仵"] = "午",
["旿"] = "午",
["忤"] = "午",
["迕"] = "午",
["杵"] = "午",
["籞"] = "午",
["蘌"] = "午",
["篽"] = "午",
["禦"] = "午",
["許"] = "午",
["御"] = "午",
["賦"] = "武",
["陚"] = "武",
["武"] = "武",
["鵡"] = "武",
["珷"] = "武",
["碔"] = "武",
["娬"] = "武",
["虺"] = "兀",
["豗"] = "兀",
["鼿"] = "兀",
["虫"] = "兀",
["髡"] = "兀",
["軏"] = "兀",
["扤"] = "兀",
["兀"] = "兀",
["杌"] = "兀",
["屼"] = "兀",
["矹"] = "兀",
["脗"] = "勿",
["吻"] = "勿",
["刎"] = "勿",
["伆"] = "勿",
["勽"] = "勿",
["沕"] = "勿",
["忽"] = "勿",
["昒"] = "勿",
["惚"] = "勿",
["匫"] = "勿",
["笏"] = "勿",
["曶"] = "勿",
["淴"] = "勿",
["物"] = "勿",
["勿"] = "勿",
["芴"] = "勿",
["岉"] = "勿",
["茂"] = "戊",
["戊"] = "戊",
["夕"] = "夕",
["汐"] = "夕",
["穸"] = "夕",
["盻"] = "兮",
["兮"] = "兮",
["枍"] = "兮",
["粞"] = "西",
["洒"] = "西",
["西"] = "西",
["卤"] = "西",
["卥"] = "西",
["栖"] = "西",
["茜"] = "西",
["哂"] = "西",
["桸"] = "希",
["郗"] = "希",
["絺"] = "希",
["脪"] = "希",
["瓻"] = "希",
["希"] = "希",
["晞"] = "希",
["莃"] = "希",
["鵗"] = "希",
["稀"] = "希",
["睎"] = "希",
["豨"] = "希",
["悕"] = "希",
["俙"] = "希",
["欷"] = "希",
["浠"] = "希",
["唏"] = "希",
["借"] = "昔",
["唶"] = "昔",
["藉"] = "昔",
["躤"] = "昔",
["蜡"] = "昔",
["齰"] = "昔",
["醋"] = "昔",
["錯"] = "昔",
["措"] = "昔",
["厝"] = "昔",
["逪"] = "昔",
["剒"] = "昔",
["鵲"] = "昔",
["碏"] = "昔",
["踖"] = "昔",
["趞"] = "昔",
["皵"] = "昔",
["舄"] = "昔",
["斮"] = "昔",
["簎"] = "昔",
["諎"] = "昔",
["矠"] = "昔",
["庴"] = "昔",
["籍"] = "昔",
["耤"] = "昔",
["猎"] = "昔",
["昔"] = "昔",
["惜"] = "昔",
["腊"] = "昔",
["焟"] = "昔",
["棤"] = "昔",
["菥"] = "析",
["蜤"] = "析",
["析"] = "析",
["皙"] = "析",
["蜥"] = "析",
["淅"] = "析",
["惁"] = "析",
["晰"] = "析",
["厗"] = "屖",
["屖"] = "屖",
["遟"] = "屖",
["謘"] = "屖",
["稺"] = "屖",
["息"] = "息",
["熄"] = "息",
["媳"] = "息",
["鄎"] = "息",
["瘜"] = "息",
["蒠"] = "息",
["僁"] = "悉",
["悉"] = "悉",
["蟋"] = "悉",
["窸"] = "悉",
["摨"] = "犀",
["犀"] = "犀",
["遲"] = "犀",
["墀"] = "犀",
["橀"] = "醯",
["醯"] = "醯",
["謑"] = "奚",
["膎"] = "奚",
["鞵"] = "奚",
["榽"] = "奚",
["鷄"] = "奚",
["雞"] = "奚",
["谿"] = "奚",
["嵠"] = "奚",
["溪"] = "奚",
["磎"] = "奚",
["螇"] = "奚",
["鸂"] = "奚",
["奚"] = "奚",
["豯"] = "奚",
["徯"] = "奚",
["蹊"] = "奚",
["騱"] = "奚",
["傒"] = "奚",
["鼷"] = "奚",
["蒵"] = "奚",
["貕"] = "奚",
["慀"] = "奚",
["摺"] = "習",
["磖"] = "習",
["褶"] = "習",
["慴"] = "習",
["霫"] = "習",
["習"] = "習",
["鰼"] = "習",
["騽"] = "習",
["飁"] = "習",
["槢"] = "習",
["熠"] = "習",
["簁"] = "徙",
["徙"] = "徙",
["褷"] = "徙",
["屣"] = "徙",
["縰"] = "徙",
["蓰"] = "徙",
["嘻"] = "喜",
["嬉"] = "喜",
["禧"] = "喜",
["熹"] = "喜",
["僖"] = "喜",
["歖"] = "喜",
["譆"] = "喜",
["瞦"] = "喜",
["喜"] = "喜",
["憙"] = "喜",
["蟢"] = "喜",
["糦"] = "喜",
["饎"] = "喜",
["係"] = "系",
["系"] = "系",
["寫"] = "舄",
["瀉"] = "舄",
["舄"] = "舄",
["獡"] = "舄",
["潟"] = "舄",
["磶"] = "舄",
["蕮"] = "舄",
["虩"] = "隙",
["隙"] = "隙",
["丅"] = "下",
["下"] = "下",
["芐"] = "下",
["榎"] = "夏",
["廈"] = "夏",
["嗄"] = "夏",
["夏"] = "夏",
["洗"] = "先",
["先"] = "先",
["銑"] = "先",
["跣"] = "先",
["毨"] = "先",
["姺"] = "先",
["筅"] = "先",
["冼"] = "先",
["箲"] = "先",
["駪"] = "先",
["兟"] = "先",
["詵"] = "先",
["侁"] = "先",
["鮮"] = "鮮",
["廯"] = "鮮",
["癬"] = "鮮",
["蘚"] = "鮮",
["感"] = "咸",
["鱤"] = "咸",
["顑"] = "咸",
["轗"] = "咸",
["撼"] = "咸",
["憾"] = "咸",
["喊"] = "咸",
["緘"] = "咸",
["瑊"] = "咸",
["黬"] = "咸",
["減"] = "咸",
["羬"] = "咸",
["麙"] = "咸",
["咸"] = "咸",
["鹹"] = "咸",
["醎"] = "咸",
["諴"] = "咸",
["椷"] = "咸",
["輱"] = "咸",
["鍼"] = "咸",
["箴"] = "咸",
["葴"] = "咸",
["鱵"] = "咸",
["閑"] = "閑",
["嫻"] = "閑",
["鷴"] = "閑",
["顯"] = "顯",
["韅"] = "顯",
["萏"] = "臽",
["窞"] = "臽",
["惂"] = "臽",
["輡"] = "臽",
["錎"] = "臽",
["埳"] = "臽",
["臽"] = "臽",
["淊"] = "臽",
["欿"] = "臽",
["蜭"] = "臽",
["啗"] = "臽",
["鵮"] = "臽",
["餡"] = "臽",
["陷"] = "臽",
["爓"] = "臽",
["諂"] = "臽",
["讇"] = "臽",
["閻"] = "臽",
["焰"] = "臽",
["壛"] = "臽",
["櫩"] = "臽",
["燄"] = "臽",
["掐"] = "臽",
["縣"] = "縣",
["懸"] = "縣",
["相"] = "相",
["廂"] = "相",
["湘"] = "相",
["緗"] = "相",
["箱"] = "相",
["葙"] = "相",
["想"] = "相",
["霜"] = "相",
["孀"] = "相",
["鸘"] = "相",
["驦"] = "相",
["香"] = "香",
["萫"] = "香",
["曏"] = "鄉",
["鄉"] = "鄉",
["薌"] = "鄉",
["膷"] = "鄉",
["響"] = "鄉",
["饗"] = "鄉",
["蠁"] = "鄉",
["嚮"] = "鄉",
["卿"] = "鄉",
["囊"] = "襄",
["蠰"] = "襄",
["曩"] = "襄",
["灢"] = "襄",
["儾"] = "襄",
["孃"] = "襄",
["瓤"] = "襄",
["鑲"] = "襄",
["釀"] = "襄",
["瓖"] = "襄",
["驤"] = "襄",
["襄"] = "襄",
["纕"] = "襄",
["忀"] = "襄",
["欀"] = "襄",
["饟"] = "襄",
["攘"] = "襄",
["禳"] = "襄",
["穰"] = "襄",
["躟"] = "襄",
["瀼"] = "襄",
["獽"] = "襄",
["儴"] = "襄",
["蘘"] = "襄",
["鬤"] = "襄",
["勷"] = "襄",
["壤"] = "襄",
["嚷"] = "襄",
["讓"] = "襄",
["懹"] = "襄",
["攮"] = "襄",
["晌"] = "向",
["餉"] = "向",
["向"] = "向",
["珦"] = "向",
["潒"] = "象",
["像"] = "象",
["象"] = "象",
["橡"] = "象",
["蟓"] = "象",
["襐"] = "象",
["勨"] = "象",
["鱌"] = "象",
["嶑"] = "象",
["梟"] = "梟",
["蟂"] = "梟",
["鄡"] = "梟",
["囂"] = "囂",
["虈"] = "囂",
["觘"] = "小",
["抄"] = "小",
["鈔"] = "小",
["訬"] = "小",
["炒"] = "小",
["吵"] = "小",
["耖"] = "小",
["仯"] = "小",
["眇"] = "小",
["渺"] = "小",
["杪"] = "小",
["秒"] = "小",
["篎"] = "小",
["妙"] = "小",
["玅"] = "小",
["釥"] = "小",
["小"] = "小",
["少"] = "小",
["麨"] = "小",
["尠"] = "小",
["梢"] = "肖",
["捎"] = "肖",
["筲"] = "肖",
["鞘"] = "肖",
["艄"] = "肖",
["蛸"] = "肖",
["髾"] = "肖",
["輎"] = "肖",
["旓"] = "肖",
["弰"] = "肖",
["鮹"] = "肖",
["綃"] = "肖",
["颵"] = "肖",
["莦"] = "肖",
["娋"] = "肖",
["稍"] = "肖",
["哨"] = "肖",
["揱"] = "肖",
["潲"] = "肖",
["睄"] = "肖",
["悄"] = "肖",
["俏"] = "肖",
["峭"] = "肖",
["陗"] = "肖",
["帩"] = "肖",
["誚"] = "肖",
["消"] = "肖",
["宵"] = "肖",
["霄"] = "肖",
["硝"] = "肖",
["銷"] = "肖",
["逍"] = "肖",
["魈"] = "肖",
["痟"] = "肖",
["焇"] = "肖",
["肖"] = "肖",
["韒"] = "肖",
["趙"] = "肖",
["箾"] = "肖",
["踃"] = "肖",
["削"] = "肖",
["矟"] = "肖",
["酵"] = "孝",
["窙"] = "孝",
["哮"] = "孝",
["庨"] = "孝",
["涍"] = "孝",
["孝"] = "孝",
["栛"] = "劦",
["珕"] = "劦",
["荔"] = "劦",
["脅"] = "劦",
["姭"] = "劦",
["搚"] = "劦",
["拹"] = "劦",
["愶"] = "劦",
["嗋"] = "劦",
["熁"] = "劦",
["協"] = "劦",
["勰"] = "劦",
["劦"] = "劦",
["叶"] = "劦",
["瀣"] = "韰",
["韰"] = "韰",
["薤"] = "韰",
["燮"] = "燮",
["躞"] = "燮",
["沁"] = "心",
["吣"] = "心",
["心"] = "心",
["杺"] = "心",
["伈"] = "心",
["親"] = "辛",
["寴"] = "辛",
["儭"] = "辛",
["瀙"] = "辛",
["辛"] = "辛",
["新"] = "辛",
["薪"] = "辛",
["襯"] = "辛",
["櫬"] = "辛",
["嚫"] = "辛",
["莘"] = "辛",
["騂"] = "辛",
["垶"] = "辛",
["觪"] = "辛",
["崽"] = "囟",
["偲"] = "囟",
["腮"] = "囟",
["鰓"] = "囟",
["揌"] = "囟",
["顋"] = "囟",
["愢"] = "囟",
["毢"] = "囟",
["諰"] = "囟",
["細"] = "囟",
["思"] = "囟",
["緦"] = "囟",
["罳"] = "囟",
["禗"] = "囟",
["楒"] = "囟",
["葸"] = "囟",
["恖"] = "囟",
["颸"] = "囟",
["囟"] = "囟",
["顖"] = "囟",
["毸"] = "囟",
["釁"] = "釁",
["舋"] = "釁",
["亹"] = "釁",
["斖"] = "釁",
["虋"] = "釁",
["璺"] = "釁",
["興"] = "興",
["臖"] = "興",
["嬹"] = "興",
["筕"] = "行",
["桁"] = "行",
["行"] = "行",
["胻"] = "行",
["衡"] = "行",
["蘅"] = "行",
["珩"] = "行",
["洐"] = "行",
["荇"] = "行",
["絎"] = "行",
["杏"] = "杏",
["莕"] = "杏",
["幸"] = "幸",
["倖"] = "幸",
["婞"] = "幸",
["涬"] = "幸",
["緈"] = "幸",
["悻"] = "幸",
["睪"] = "幸",
["酗"] = "凶",
["凶"] = "凶",
["匈"] = "凶",
["兇"] = "凶",
["訩"] = "凶",
["胸"] = "凶",
["胷"] = "凶",
["洶"] = "凶",
["恟"] = "凶",
["詾"] = "凶",
["怳"] = "兄",
["況"] = "兄",
["貺"] = "兄",
["况"] = "兄",
["兄"] = "兄",
["讂"] = "夐",
["矎"] = "夐",
["夐"] = "夐",
["瓊"] = "夐",
["藑"] = "夐",
["觼"] = "夐",
["茠"] = "休",
["烋"] = "休",
["恘"] = "休",
["休"] = "休",
["貅"] = "休",
["咻"] = "休",
["庥"] = "休",
["鵂"] = "休",
["髤"] = "休",
["髹"] = "休",
["透"] = "秀",
["莠"] = "秀",
["誘"] = "秀",
["蜏"] = "秀",
["琇"] = "秀",
["秀"] = "秀",
["銹"] = "秀",
["滅"] = "戌",
["搣"] = "戌",
["烕"] = "戌",
["戌"] = "戌",
["珬"] = "戌",
["銊"] = "戌",
["剨"] = "砉",
["湱"] = "砉",
["砉"] = "砉",
["盨"] = "須",
["須"] = "須",
["鬚"] = "須",
["嬃"] = "須",
["蕦"] = "須",
["羺"] = "需",
["獳"] = "需",
["擩"] = "需",
["譳"] = "需",
["懦"] = "需",
["糯"] = "需",
["需"] = "需",
["繻"] = "需",
["鑐"] = "需",
["儒"] = "需",
["濡"] = "需",
["襦"] = "需",
["嚅"] = "需",
["顬"] = "需",
["鱬"] = "需",
["嬬"] = "需",
["臑"] = "需",
["醹"] = "需",
["蠕"] = "需",
["孺"] = "需",
["畜"] = "畜",
["蓄"] = "畜",
["稸"] = "畜",
["滀"] = "畜",
["傗"] = "畜",
["鄐"] = "畜",
["慉"] = "畜",
["弦"] = "玄",
["絃"] = "玄",
["舷"] = "玄",
["痃"] = "玄",
["胘"] = "玄",
["蚿"] = "玄",
["伭"] = "玄",
["婱"] = "玄",
["玄"] = "玄",
["眩"] = "玄",
["玹"] = "玄",
["玆"] = "玄",
["詃"] = "玄",
["泫"] = "玄",
["鉉"] = "玄",
["炫"] = "玄",
["袨"] = "玄",
["衒"] = "玄",
["惤"] = "玄",
["旋"] = "旋",
["漩"] = "旋",
["璇"] = "旋",
["琁"] = "旋",
["蜁"] = "旋",
["嫙"] = "旋",
["鏇"] = "旋",
["縼"] = "旋",
["躠"] = "薛",
["嶭"] = "薛",
["櫱"] = "薛",
["薛"] = "薛",
["辥"] = "薛",
["孼"] = "薛",
["蘖"] = "薛",
["蠥"] = "薛",
["孽"] = "薛",
["糵"] = "薛",
["攪"] = "學",
["覺"] = "學",
["澩"] = "學",
["斆"] = "學",
["鱟"] = "學",
["嶨"] = "學",
["礐"] = "學",
["觷"] = "學",
["學"] = "學",
["鷽"] = "學",
["泬"] = "穴",
["坹"] = "穴",
["穴"] = "穴",
["袕"] = "穴",
["鴪"] = "穴",
["侐"] = "血",
["血"] = "血",
["恤"] = "血",
["卹"] = "血",
["賉"] = "血",
["欰"] = "血",
["洫"] = "血",
["殈"] = "血",
["櫄"] = "熏",
["薰"] = "熏",
["曛"] = "熏",
["勲"] = "熏",
["熏"] = "熏",
["燻"] = "熏",
["獯"] = "熏",
["纁"] = "熏",
["醺"] = "熏",
["臐"] = "熏",
["爋"] = "熏",
["襑"] = "尋",
["憳"] = "尋",
["蕁"] = "尋",
["撏"] = "尋",
["燖"] = "尋",
["尋"] = "尋",
["潯"] = "尋",
["樳"] = "尋",
["鄩"] = "尋",
["汛"] = "卂",
["軐"] = "卂",
["卂"] = "卂",
["訊"] = "卂",
["訙"] = "卂",
["迅"] = "卂",
["阠"] = "卂",
["扟"] = "卂",
["籸"] = "卂",
["蝨"] = "卂",
["撰"] = "巽",
["饌"] = "巽",
["譔"] = "巽",
["鐉"] = "巽",
["選"] = "巽",
["繏"] = "巽",
["潠"] = "巽",
["蟤"] = "巽",
["僎"] = "巽",
["襈"] = "巽",
["巽"] = "巽",
["簨"] = "巽",
["邪"] = "牙",
["衺"] = "牙",
["牙"] = "牙",
["芽"] = "牙",
["齖"] = "牙",
["呀"] = "牙",
["枒"] = "牙",
["雅"] = "牙",
["厊"] = "牙",
["庌"] = "牙",
["訝"] = "牙",
["迓"] = "牙",
["砑"] = "牙",
["犽"] = "牙",
["疨"] = "牙",
["岈"] = "牙",
["谺"] = "牙",
["颬"] = "牙",
["鴉"] = "牙",
["釾"] = "牙",
["賈"] = "襾",
["檟"] = "襾",
["價"] = "襾",
["覀"] = "襾",
["襾"] = "襾",
["椏"] = "亞",
["錏"] = "亞",
["鵶"] = "亞",
["啞"] = "亞",
["瘂"] = "亞",
["亞"] = "亞",
["婭"] = "亞",
["俹"] = "亞",
["稏"] = "亞",
["惡"] = "亞",
["噁"] = "亞",
["堊"] = "亞",
["蝁"] = "亞",
["嘕"] = "焉",
["嫣"] = "焉",
["焉"] = "焉",
["鄢"] = "焉",
["蔫"] = "焉",
["漹"] = "焉",
["傿"] = "焉",
["唌"] = "延",
["誕"] = "延",
["蜑"] = "延",
["蛋"] = "延",
["硟"] = "延",
["涎"] = "延",
["脠"] = "延",
["梴"] = "延",
["鋋"] = "延",
["埏"] = "延",
["挻"] = "延",
["鯅"] = "延",
["延"] = "延",
["筵"] = "延",
["蜒"] = "延",
["狿"] = "延",
["郔"] = "延",
["綖"] = "延",
["莚"] = "延",
["唁"] = "言",
["這"] = "言",
["言"] = "言",
["琂"] = "言",
["圁"] = "言",
["誾"] = "言",
["訔"] = "言",
["狺"] = "言",
["船"] = "沿",
["沿"] = "沿",
["鉛"] = "沿",
["倓"] = "炎",
["緂"] = "炎",
["毯"] = "炎",
["菼"] = "炎",
["裧"] = "炎",
["賧"] = "炎",
["睒"] = "炎",
["舕"] = "炎",
["談"] = "炎",
["郯"] = "炎",
["惔"] = "炎",
["錟"] = "炎",
["淡"] = "炎",
["痰"] = "炎",
["餤"] = "炎",
["啖"] = "炎",
["腅"] = "炎",
["剡"] = "炎",
["覢"] = "炎",
["掞"] = "炎",
["炎"] = "炎",
["琰"] = "炎",
["棪"] = "炎",
["扊"] = "炎",
["庵"] = "奄",
["鵪"] = "奄",
["菴"] = "奄",
["馣"] = "奄",
["晻"] = "奄",
["唵"] = "奄",
["黤"] = "奄",
["埯"] = "奄",
["淹"] = "奄",
["閹"] = "奄",
["崦"] = "奄",
["醃"] = "奄",
["掩"] = "奄",
["奄"] = "奄",
["罨"] = "奄",
["裺"] = "奄",
["俺"] = "奄",
["腌"] = "奄",
["殗"] = "奄",
["餣"] = "奄",
["弇"] = "弇",
["媕"] = "弇",
["黭"] = "弇",
["揜"] = "弇",
["渰"] = "弇",
["鞥"] = "弇",
["愆"] = "衍",
["衍"] = "衍",
["堰"] = "妟",
["躽"] = "妟",
["宴"] = "妟",
["蝘"] = "妟",
["偃"] = "妟",
["郾"] = "妟",
["鶠"] = "妟",
["褗"] = "妟",
["匽"] = "妟",
["鼴"] = "妟",
["鰋"] = "妟",
["揠"] = "妟",
["喭"] = "彦",
["鏟"] = "彦",
["産"] = "彦",
["簅"] = "彦",
["摌"] = "彦",
["嵼"] = "彦",
["滻"] = "彦",
["顏"] = "彦",
["楌"] = "彦",
["偐"] = "彦",
["齴"] = "彦",
["遃"] = "彦",
["嵃"] = "彦",
["彦"] = "彦",
["諺"] = "彦",
["猒"] = "猒",
["懕"] = "猒",
["饜"] = "猒",
["嬮"] = "猒",
["厭"] = "猒",
["黶"] = "猒",
["檿"] = "猒",
["魘"] = "猒",
["厴"] = "猒",
["擪"] = "猒",
["壓"] = "猒",
["靨"] = "猒",
["雁"] = "雁",
["鳫"] = "雁",
["鴈"] = "雁",
["贗"] = "雁",
["燕"] = "燕",
["驠"] = "燕",
["嬿"] = "燕",
["鷰"] = "燕",
["醼"] = "燕",
["讌"] = "燕",
["嚥"] = "燕",
["酀"] = "燕",
["獻"] = "鬳",
["甗"] = "鬳",
["巘"] = "鬳",
["讞"] = "鬳",
["鬳"] = "鬳",
["瓛"] = "鬳",
["囐"] = "鬳",
["齾"] = "鬳",
["钀"] = "鬳",
["豔"] = "豔",
["灩"] = "豔",
["鴦"] = "央",
["佒"] = "央",
["咉"] = "央",
["眏"] = "央",
["姎"] = "央",
["坱"] = "央",
["映"] = "央",
["泱"] = "央",
["盎"] = "央",
["駚"] = "央",
["軮"] = "央",
["醠"] = "央",
["央"] = "央",
["秧"] = "央",
["殃"] = "央",
["鞅"] = "央",
["鉠"] = "央",
["雵"] = "央",
["胦"] = "央",
["柍"] = "央",
["詇"] = "央",
["岟"] = "央",
["炴"] = "央",
["怏"] = "央",
["紻"] = "央",
["英"] = "央",
["瑛"] = "央",
["霙"] = "央",
["韺"] = "央",
["媖"] = "央",
["渶"] = "央",
["鶧"] = "央",
["楧"] = "央",
["暎"] = "央",
["样"] = "羊",
["佯"] = "羊",
["詳"] = "羊",
["洋"] = "羊",
["翔"] = "羊",
["庠"] = "羊",
["祥"] = "羊",
["痒"] = "羊",
["姜"] = "羊",
["羌"] = "羊",
["蜣"] = "羊",
["猐"] = "羊",
["唴"] = "羊",
["羊"] = "羊",
["徉"] = "羊",
["烊"] = "羊",
["蛘"] = "羊",
["眻"] = "羊",
["鴹"] = "羊",
["恙"] = "羊",
["羕"] = "羊",
["樣"] = "羊",
["漾"] = "羊",
["湯"] = "昜",
["踼"] = "昜",
["蝪"] = "昜",
["薚"] = "昜",
["簜"] = "昜",
["盪"] = "昜",
["偒"] = "昜",
["蕩"] = "昜",
["燙"] = "昜",
["啺"] = "昜",
["碭"] = "昜",
["婸"] = "昜",
["愓"] = "昜",
["璗"] = "昜",
["崵"] = "昜",
["逿"] = "昜",
["暢"] = "昜",
["畼"] = "昜",
["腸"] = "昜",
["場"] = "昜",
["傷"] = "昜",
["殤"] = "昜",
["觴"] = "昜",
["慯"] = "昜",
["禓"] = "昜",
["塲"] = "昜",
["陽"] = "昜",
["楊"] = "昜",
["揚"] = "昜",
["瘍"] = "昜",
["煬"] = "昜",
["鍚"] = "昜",
["暘"] = "昜",
["颺"] = "昜",
["昜"] = "昜",
["輰"] = "昜",
["敭"] = "昜",
["鰑"] = "昜",
["諹"] = "昜",
["瑒"] = "昜",
["鸉"] = "昜",
["餳"] = "昜",
["鯗"] = "養",
["養"] = "養",
["癢"] = "養",
["瀁"] = "養",
["幺"] = "幺",
["吆"] = "幺",
["笑"] = "夭",
["夭"] = "夭",
["镺"] = "夭",
["芺"] = "夭",
["妖"] = "夭",
["祅"] = "夭",
["枖"] = "夭",
["訞"] = "夭",
["殀"] = "夭",
["仸"] = "夭",
["妋"] = "夭",
["飫"] = "夭",
["沃"] = "夭",
["鋈"] = "夭",
["崤"] = "爻",
["郩"] = "爻",
["敎"] = "爻",
["較"] = "爻",
["肴"] = "爻",
["淆"] = "爻",
["倄"] = "爻",
["爻"] = "爻",
["餚"] = "爻",
["殽"] = "爻",
["笅"] = "爻",
["駁"] = "爻",
["撓"] = "垚",
["鐃"] = "垚",
["譊"] = "垚",
["橈"] = "垚",
["磽"] = "垚",
["墝"] = "垚",
["穘"] = "垚",
["顤"] = "垚",
["燒"] = "垚",
["饒"] = "垚",
["蟯"] = "垚",
["蕘"] = "垚",
["襓"] = "垚",
["繞"] = "垚",
["遶"] = "垚",
["嬈"] = "垚",
["趬"] = "垚",
["蹺"] = "垚",
["翹"] = "垚",
["澆"] = "垚",
["驍"] = "垚",
["僥"] = "垚",
["堯"] = "垚",
["垚"] = "垚",
["嶢"] = "垚",
["獟"] = "垚",
["膮"] = "垚",
["嘵"] = "垚",
["憢"] = "垚",
["曉"] = "垚",
["皢"] = "垚",
["搖"] = "謠",
["遙"] = "謠",
["瑤"] = "謠",
["徭"] = "謠",
["鰩"] = "謠",
["媱"] = "謠",
["傜"] = "謠",
["颻"] = "謠",
["窰"] = "謠",
["愮"] = "謠",
["鷂"] = "謠",
["榣"] = "謠",
["嗂"] = "謠",
["猺"] = "謠",
["謠"] = "謠",
["鎐"] = "謠",
["繇"] = "繇",
["蘨"] = "繇",
["櫾"] = "繇",
["滔"] = "舀",
["韜"] = "舀",
["縚"] = "舀",
["謟"] = "舀",
["慆"] = "舀",
["幍"] = "舀",
["槄"] = "舀",
["搯"] = "舀",
["瑫"] = "舀",
["稻"] = "舀",
["蹈"] = "舀",
["舀"] = "舀",
["腰"] = "要",
["要"] = "要",
["葽"] = "要",
["喓"] = "要",
["闄"] = "要",
["偠"] = "要",
["騕"] = "要",
["婹"] = "要",
["耶"] = "耶",
["椰"] = "耶",
["爺"] = "耶",
["瑘"] = "耶",
["鎁"] = "耶",
["他"] = "也",
["拖"] = "也",
["駞"] = "也",
["池"] = "也",
["灺"] = "也",
["鍦"] = "也",
["虵"] = "也",
["也"] = "也",
["忚"] = "也",
["髢"] = "也",
["杝"] = "也",
["肔"] = "也",
["馳"] = "也",
["阤"] = "也",
["施"] = "也",
["絁"] = "也",
["葹"] = "也",
["弛"] = "也",
["箷"] = "也",
["衪"] = "也",
["暆"] = "也",
["迆"] = "也",
["酏"] = "也",
["匜"] = "也",
["迤"] = "也",
["扡"] = "也",
["崺"] = "也",
["貤"] = "也",
["地"] = "也",
["洩"] = "曳",
["曳"] = "曳",
["拽"] = "曳",
["礏"] = "業",
["業"] = "業",
["鄴"] = "業",
["驜"] = "業",
["嶪"] = "業",
["鸈"] = "業",
["澲"] = "業",
["曄"] = "曄",
["爗"] = "曄",
["燁"] = "曄",
["曅"] = "曄",
["皣"] = "曄",
["瞱"] = "曄",
["一"] = "一",
["弌"] = "一",
["哀"] = "衣",
["依"] = "衣",
["衣"] = "衣",
["扆"] = "衣",
["庡"] = "衣",
["偯"] = "衣",
["曀"] = "壹",
["殪"] = "壹",
["豷"] = "壹",
["懿"] = "壹",
["饐"] = "壹",
["鷧"] = "壹",
["撎"] = "壹",
["亄"] = "壹",
["噎"] = "壹",
["壹"] = "壹",
["桋"] = "夷",
["荑"] = "夷",
["銕"] = "夷",
["鴺"] = "夷",
["鮧"] = "夷",
["洟"] = "夷",
["羠"] = "夷",
["咦"] = "夷",
["夷"] = "夷",
["姨"] = "夷",
["痍"] = "夷",
["峓"] = "夷",
["恞"] = "夷",
["眱"] = "夷",
["蛦"] = "夷",
["胰"] = "夷",
["跠"] = "夷",
["茝"] = "頤",
["洍"] = "頤",
["姬"] = "頤",
["宧"] = "頤",
["頤"] = "頤",
["弬"] = "頤",
["礙"] = "疑",
["儗"] = "疑",
["懝"] = "疑",
["譺"] = "疑",
["癡"] = "疑",
["疑"] = "疑",
["嶷"] = "疑",
["觺"] = "疑",
["擬"] = "疑",
["薿"] = "疑",
["凝"] = "疑",
["劜"] = "乙",
["札"] = "乙",
["扎"] = "乙",
["蚻"] = "乙",
["紮"] = "乙",
["軋"] = "乙",
["圠"] = "乙",
["穵"] = "乙",
["挖"] = "乙",
["鳦"] = "乙",
["耴"] = "乙",
["乙"] = "乙",
["肊"] = "乙",
["似"] = "以",
["姒"] = "以",
["耜"] = "以",
["佀"] = "以",
["以"] = "以",
["苡"] = "以",
["苢"] = "以",
["唉"] = "矣",
["埃"] = "矣",
["欸"] = "矣",
["娭"] = "矣",
["挨"] = "矣",
["騃"] = "矣",
["俟"] = "矣",
["竢"] = "矣",
["涘"] = "矣",
["誒"] = "矣",
["矣"] = "矣",
["艾"] = "乂",
["鴱"] = "乂",
["餀"] = "乂",
["刈"] = "乂",
["乂"] = "乂",
["戴"] = "弋",
["襶"] = "弋",
["貸"] = "弋",
["代"] = "弋",
["袋"] = "弋",
["岱"] = "弋",
["黛"] = "弋",
["玳"] = "弋",
["帒"] = "弋",
["甙"] = "弋",
["酨"] = "弋",
["試"] = "弋",
["弒"] = "弋",
["忒"] = "弋",
["貣"] = "弋",
["鴏"] = "弋",
["栻"] = "弋",
["侙"] = "弋",
["恜"] = "弋",
["式"] = "弋",
["軾"] = "弋",
["拭"] = "弋",
["鉽"] = "弋",
["烒"] = "弋",
["弋"] = "弋",
["芅"] = "弋",
["黓"] = "弋",
["隿"] = "弋",
["杙"] = "弋",
["釴"] = "弋",
["夜"] = "亦",
["鵺"] = "亦",
["迹"] = "亦",
["跡"] = "亦",
["亦"] = "亦",
["弈"] = "亦",
["奕"] = "亦",
["帟"] = "亦",
["腋"] = "亦",
["掖"] = "亦",
["焲"] = "亦",
["液"] = "亦",
["椺"] = "役",
["役"] = "役",
["疫"] = "役",
["垼"] = "役",
["炈"] = "役",
["鈠"] = "役",
["豛"] = "役",
["坄"] = "役",
["唈"] = "邑",
["浥"] = "邑",
["裛"] = "邑",
["俋"] = "邑",
["挹"] = "邑",
["邑"] = "邑",
["悒"] = "邑",
["賜"] = "易",
["儩"] = "易",
["舓"] = "易",
["易"] = "易",
["敡"] = "易",
["鬄"] = "易",
["睗"] = "易",
["晹"] = "易",
["痬"] = "易",
["蜴"] = "易",
["埸"] = "易",
["逷"] = "易",
["剔"] = "易",
["踢"] = "易",
["惕"] = "易",
["錫"] = "易",
["裼"] = "易",
["緆"] = "易",
["鷖"] = "医",
["翳"] = "医",
["嫛"] = "医",
["黳"] = "医",
["繄"] = "医",
["医"] = "医",
["嫕"] = "医",
["蘙"] = "医",
["瞖"] = "医",
["殹"] = "医",
["贀"] = "医",
["醫"] = "医",
["毉"] = "医",
["蠮"] = "医",
["洕"] = "佾",
["佾"] = "佾",
["屑"] = "佾",
["榍"] = "佾",
["糏"] = "佾",
["隘"] = "益",
["賹"] = "益",
["搤"] = "益",
["縊"] = "益",
["螠"] = "益",
["謚"] = "益",
["諡"] = "益",
["蠲"] = "益",
["溢"] = "益",
["鎰"] = "益",
["齸"] = "益",
["貖"] = "益",
["益"] = "益",
["嗌"] = "益",
["膉"] = "益",
["鷁"] = "益",
["艗"] = "益",
["褹"] = "埶",
["勢"] = "埶",
["藝"] = "埶",
["囈"] = "埶",
["埶"] = "埶",
["蓺"] = "埶",
["槸"] = "埶",
["爇"] = "埶",
["褻"] = "埶",
["暬"] = "埶",
["熱"] = "埶",
["槷"] = "埶",
["禩"] = "異",
["異"] = "異",
["潩"] = "異",
["廙"] = "異",
["趩"] = "異",
["瀷"] = "異",
["翼"] = "異",
["熼"] = "異",
["豙"] = "豙",
["藙"] = "豙",
["顡"] = "豙",
["毅"] = "豙",
["斁"] = "睪",
["籜"] = "睪",
["蘀"] = "睪",
["鐸"] = "睪",
["凙"] = "睪",
["襗"] = "睪",
["擇"] = "睪",
["澤"] = "睪",
["鸅"] = "睪",
["蠌"] = "睪",
["檡"] = "睪",
["釋"] = "睪",
["繹"] = "睪",
["睪"] = "睪",
["譯"] = "睪",
["嶧"] = "睪",
["懌"] = "睪",
["驛"] = "睪",
["醳"] = "睪",
["圛"] = "睪",
["墿"] = "睪",
["燡"] = "睪",
["噫"] = "意",
["譩"] = "意",
["醷"] = "意",
["意"] = "意",
["鷾"] = "意",
["憶"] = "意",
["億"] = "意",
["臆"] = "意",
["繶"] = "意",
["澺"] = "意",
["薏"] = "意",
["檍"] = "意",
["癔"] = "意",
["欭"] = "因",
["烟"] = "因",
["胭"] = "因",
["咽"] = "因",
["恩"] = "因",
["煾"] = "因",
["因"] = "因",
["姻"] = "因",
["茵"] = "因",
["鞇"] = "因",
["氤"] = "因",
["洇"] = "因",
["駰"] = "因",
["絪"] = "因",
["裀"] = "因",
["黫"] = "垔",
["甄"] = "垔",
["薽"] = "垔",
["籈"] = "垔",
["煙"] = "垔",
["湮"] = "垔",
["堙"] = "垔",
["禋"] = "垔",
["闉"] = "垔",
["垔"] = "垔",
["陻"] = "垔",
["諲"] = "垔",
["歅"] = "垔",
["鄄"] = "垔",
["諳"] = "音",
["腤"] = "音",
["嬜"] = "音",
["喑"] = "音",
["揞"] = "音",
["隌"] = "音",
["罯"] = "音",
["暗"] = "音",
["闇"] = "音",
["黯"] = "音",
["歆"] = "音",
["愔"] = "音",
["韾"] = "音",
["音"] = "音",
["瘖"] = "音",
["窨"] = "音",
["湆"] = "音",
["殷"] = "殷",
["慇"] = "殷",
["溵"] = "殷",
["磤"] = "殷",
["冘"] = "冘",
["抌"] = "冘",
["狖"] = "冘",
["貁"] = "冘",
["耽"] = "冘",
["眈"] = "冘",
["酖"] = "冘",
["妉"] = "冘",
["黕"] = "冘",
["衴"] = "冘",
["瓭"] = "冘",
["馾"] = "冘",
["髧"] = "冘",
["紞"] = "冘",
["鈂"] = "冘",
["沈"] = "冘",
["沉"] = "冘",
["枕"] = "冘",
["莐"] = "冘",
["霃"] = "冘",
["鴆"] = "冘",
["訦"] = "冘",
["忱"] = "冘",
["邥"] = "冘",
["魫"] = "冘",
["寅"] = "寅",
["蔩"] = "寅",
["鏔"] = "寅",
["演"] = "寅",
["縯"] = "寅",
["戭"] = "寅",
["夤"] = "寅",
["螾"] = "寅",
["濥"] = "寅",
["瞚"] = "寅",
["淫"] = "淫",
["霪"] = "淫",
["婬"] = "淫",
["芛"] = "尹",
["伊"] = "尹",
["咿"] = "尹",
["蛜"] = "尹",
["笋"] = "尹",
["尹"] = "尹",
["紖"] = "引",
["矧"] = "引",
["訠"] = "引",
["弞"] = "引",
["引"] = "引",
["蚓"] = "引",
["鈏"] = "引",
["靷"] = "引",
["隱"] = "隱",
["櫽"] = "隱",
["嶾"] = "隱",
["癮"] = "隱",
["懚"] = "隱",
["檼"] = "隱",
["穩"] = "隱",
["印"] = "印",
["鮣"] = "印",
["胤"] = "胤",
["酳"] = "胤",
["瀴"] = "賏",
["甖"] = "賏",
["鸚"] = "賏",
["櫻"] = "賏",
["嚶"] = "賏",
["罌"] = "賏",
["鸎"] = "賏",
["譻"] = "賏",
["賏"] = "賏",
["嬰"] = "賏",
["瓔"] = "賏",
["纓"] = "賏",
["攖"] = "賏",
["蘡"] = "賏",
["癭"] = "賏",
["廮"] = "賏",
["巊"] = "賏",
["應"] = "鷹",
["鷹"] = "鷹",
["膺"] = "鷹",
["譍"] = "鷹",
["噟"] = "鷹",
["盈"] = "盈",
["楹"] = "盈",
["鶯"] = "熒",
["罃"] = "熒",
["嫈"] = "熒",
["褮"] = "熒",
["覮"] = "熒",
["謍"] = "熒",
["䁝"] = "熒",
["嶸"] = "熒",
["嵤"] = "熒",
["榮"] = "熒",
["瑩"] = "熒",
["蠑"] = "熒",
["禜"] = "熒",
["醟"] = "熒",
["檾"] = "熒",
["煢"] = "熒",
["焭"] = "熒",
["縈"] = "熒",
["營"] = "熒",
["鎣"] = "熒",
["塋"] = "熒",
["濴"] = "熒",
["熒"] = "熒",
["螢"] = "熒",
["滎"] = "熒",
["濙"] = "熒",
["瀅"] = "熒",
["嬴"] = "贏",
["瀛"] = "贏",
["籝"] = "贏",
["贏"] = "贏",
["攍"] = "贏",
["郺"] = "邕",
["齆"] = "邕",
["甕"] = "邕",
["罋"] = "邕",
["雍"] = "邕",
["邕"] = "邕",
["嗈"] = "邕",
["灉"] = "邕",
["癰"] = "邕",
["廱"] = "邕",
["雝"] = "邕",
["壅"] = "邕",
["饔"] = "邕",
["噰"] = "邕",
["澭"] = "邕",
["擁"] = "邕",
["臃"] = "邕",
["永"] = "永",
["栐"] = "永",
["泳"] = "永",
["詠"] = "永",
["咏"] = "永",
["通"] = "用",
["俑"] = "用",
["蓪"] = "用",
["桶"] = "用",
["捅"] = "用",
["痛"] = "用",
["筩"] = "用",
["誦"] = "用",
["傭"] = "用",
["慵"] = "用",
["鱅"] = "用",
["滽"] = "用",
["墉"] = "用",
["鏞"] = "用",
["鄘"] = "用",
["槦"] = "用",
["銿"] = "用",
["甬"] = "用",
["勇"] = "用",
["涌"] = "用",
["踊"] = "用",
["蛹"] = "用",
["恿"] = "用",
["慂"] = "用",
["悀"] = "用",
["埇"] = "用",
["踴"] = "用",
["庸"] = "用",
["用"] = "用",
["佣"] = "用",
["絛"] = "攸",
["窱"] = "攸",
["蓧"] = "攸",
["條"] = "攸",
["鋚"] = "攸",
["鞗"] = "攸",
["樤"] = "攸",
["鰷"] = "攸",
["莜"] = "攸",
["翛"] = "攸",
["筱"] = "攸",
["篠"] = "攸",
["修"] = "攸",
["脩"] = "攸",
["樇"] = "攸",
["滫"] = "攸",
["悠"] = "攸",
["攸"] = "攸",
["浟"] = "攸",
["蓨"] = "攸",
["滌"] = "攸",
["儵"] = "攸",
["倐"] = "攸",
["倏"] = "攸",
["虪"] = "攸",
["鏖"] = "麀",
["𤏶"] = "麀",
["麀"] = "麀",
["憂"] = "憂",
["優"] = "憂",
["瀀"] = "憂",
["櫌"] = "憂",
["鄾"] = "憂",
["嚘"] = "憂",
["耰"] = "憂",
["獶"] = "憂",
["纋"] = "憂",
["懮"] = "憂",
["尤"] = "尤",
["疣"] = "尤",
["肬"] = "尤",
["沋"] = "尤",
["訧"] = "尤",
["忧"] = "尤",
["蚘"] = "尤",
["袖"] = "由",
["岫"] = "由",
["牰"] = "由",
["抽"] = "由",
["妯"] = "由",
["紬"] = "由",
["怞"] = "由",
["鮋"] = "由",
["菗"] = "由",
["宙"] = "由",
["胄"] = "由",
["冑"] = "由",
["伷"] = "由",
["駎"] = "由",
["油"] = "由",
["由"] = "由",
["蚰"] = "由",
["秞"] = "由",
["邮"] = "由",
["釉"] = "由",
["柚"] = "由",
["鼬"] = "由",
["苖"] = "由",
["笛"] = "由",
["迪"] = "由",
["頔"] = "由",
["軸"] = "由",
["舳"] = "由",
["游"] = "斿",
["遊"] = "斿",
["蝣"] = "斿",
["斿"] = "斿",
["楢"] = "酉",
["逎"] = "酉",
["遒"] = "酉",
["蝤"] = "酉",
["揂"] = "酉",
["酒"] = "酉",
["媨"] = "酉",
["鞧"] = "酉",
["緧"] = "酉",
["趥"] = "酉",
["酋"] = "酉",
["崷"] = "酉",
["鰌"] = "酉",
["煪"] = "酉",
["醜"] = "酉",
["猶"] = "酉",
["猷"] = "酉",
["輶"] = "酉",
["偤"] = "酉",
["莤"] = "酉",
["蕕"] = "酉",
["庮"] = "酉",
["槱"] = "酉",
["梄"] = "酉",
["丣"] = "酉",
["酉"] = "酉",
["郵"] = "郵",
["腄"] = "郵",
["絠"] = "又",
["醢"] = "又",
["珛"] = "又",
["栯"] = "又",
["有"] = "又",
["友"] = "又",
["右"] = "又",
["宥"] = "又",
["囿"] = "又",
["侑"] = "又",
["酭"] = "又",
["姷"] = "又",
["又"] = "又",
["佑"] = "又",
["祐"] = "又",
["賄"] = "又",
["蛕"] = "又",
["烠"] = "又",
["倄"] = "又",
["鮪"] = "又",
["洧"] = "又",
["痏"] = "又",
["郁"] = "又",
["戫"] = "又",
["哊"] = "又",
["黝"] = "幼",
["坳"] = "幼",
["軪"] = "幼",
["眑"] = "幼",
["拗"] = "幼",
["鴢"] = "幼",
["靿"] = "幼",
["狕"] = "幼",
["袎"] = "幼",
["怮"] = "幼",
["窈"] = "幼",
["苭"] = "幼",
["泑"] = "幼",
["呦"] = "幼",
["蚴"] = "幼",
["幼"] = "幼",
["侉"] = "于",
["夸"] = "于",
["姱"] = "于",
["胯"] = "于",
["跨"] = "于",
["誇"] = "于",
["垮"] = "于",
["銙"] = "于",
["骻"] = "于",
["咵"] = "于",
["釫"] = "于",
["摦"] = "于",
["鮬"] = "于",
["嶀"] = "于",
["扝"] = "于",
["刳"] = "于",
["郀"] = "于",
["挎"] = "于",
["袴"] = "于",
["絝"] = "于",
["褲"] = "于",
["恗"] = "于",
["洿"] = "于",
["瓠"] = "于",
["鄠"] = "于",
["污"] = "于",
["杇"] = "于",
["圬"] = "于",
["鴮"] = "于",
["盓"] = "于",
["汙"] = "于",
["樗"] = "于",
["摴"] = "于",
["荂"] = "于",
["雩"] = "于",
["吁"] = "于",
["盱"] = "于",
["訏"] = "于",
["扜"] = "于",
["旴"] = "于",
["冔"] = "于",
["紆"] = "于",
["陓"] = "于",
["迂"] = "于",
["虶"] = "于",
["于"] = "于",
["盂"] = "于",
["竽"] = "于",
["邘"] = "于",
["玗"] = "于",
["芋"] = "于",
["杅"] = "于",
["釪"] = "于",
["骬"] = "于",
["謣"] = "于",
["宇"] = "于",
["野"] = "予",
["壄"] = "予",
["序"] = "予",
["抒"] = "予",
["芧"] = "予",
["杼"] = "予",
["墅"] = "予",
["舒"] = "予",
["紓"] = "予",
["妤"] = "予",
["伃"] = "予",
["予"] = "予",
["預"] = "予",
["忬"] = "予",
["豫"] = "予",
["蕷"] = "予",
["澦"] = "予",
["斜"] = "余",
["茶"] = "余",
["荼"] = "余",
["梌"] = "余",
["搽"] = "余",
["塗"] = "余",
["佘"] = "余",
["賒"] = "余",
["畬"] = "余",
["舍"] = "余",
["捨"] = "余",
["騇"] = "余",
["涻"] = "余",
["稌"] = "余",
["悇"] = "余",
["庩"] = "余",
["捈"] = "余",
["途"] = "余",
["酴"] = "余",
["駼"] = "余",
["鵌"] = "余",
["涂"] = "余",
["嵞"] = "余",
["峹"] = "余",
["筡"] = "余",
["蒤"] = "余",
["徐"] = "余",
["俆"] = "余",
["敘"] = "余",
["漵"] = "余",
["除"] = "余",
["篨"] = "余",
["滁"] = "余",
["蒢"] = "余",
["蜍"] = "余",
["鵨"] = "余",
["瑹"] = "余",
["余"] = "余",
["餘"] = "余",
["艅"] = "余",
["狳"] = "余",
["雓"] = "余",
["悆"] = "余",
["閼"] = "於",
["菸"] = "於",
["於"] = "於",
["淤"] = "於",
["箊"] = "於",
["唹"] = "於",
["扵"] = "於",
["瘀"] = "於",
["棜"] = "於",
["萸"] = "臾",
["臾"] = "臾",
["腴"] = "臾",
["諛"] = "臾",
["楰"] = "臾",
["庾"] = "臾",
["斞"] = "臾",
["褕"] = "俞",
["偷"] = "俞",
["媮"] = "俞",
["鍮"] = "俞",
["緰"] = "俞",
["牏"] = "俞",
["揄"] = "俞",
["窬"] = "俞",
["歈"] = "俞",
["俞"] = "俞",
["隃"] = "俞",
["毹"] = "俞",
["輸"] = "俞",
["鄃"] = "俞",
["腧"] = "俞",
["逾"] = "俞",
["榆"] = "俞",
["愉"] = "俞",
["渝"] = "俞",
["瑜"] = "俞",
["蕍"] = "俞",
["覦"] = "俞",
["蝓"] = "俞",
["踰"] = "俞",
["崳"] = "俞",
["羭"] = "俞",
["堬"] = "俞",
["瘉"] = "俞",
["萮"] = "俞",
["騟"] = "俞",
["愈"] = "俞",
["貐"] = "俞",
["喻"] = "俞",
["諭"] = "俞",
["攑"] = "舁",
["藇"] = "舁",
["嶼"] = "舁",
["鱮"] = "舁",
["舉"] = "舁",
["櫸"] = "舁",
["舁"] = "舁",
["與"] = "舁",
["輿"] = "舁",
["旟"] = "舁",
["璵"] = "舁",
["歟"] = "舁",
["譽"] = "舁",
["嬩"] = "舁",
["擧"] = "舁",
["鸒"] = "舁",
["礜"] = "舁",
["穥"] = "舁",
["齵"] = "禺",
["偶"] = "禺",
["耦"] = "禺",
["藕"] = "禺",
["髃"] = "禺",
["蕅"] = "禺",
["愚"] = "禺",
["隅"] = "禺",
["禺"] = "禺",
["湡"] = "禺",
["堣"] = "禺",
["嵎"] = "禺",
["鰅"] = "禺",
["鍝"] = "禺",
["遇"] = "禺",
["寓"] = "禺",
["庽"] = "禺",
["媀"] = "禺",
["喁"] = "禺",
["顒"] = "禺",
["蘇"] = "魚",
["穌"] = "魚",
["魚"] = "魚",
["漁"] = "魚",
["䱷"] = "魚",
["詡"] = "羽",
["栩"] = "羽",
["珝"] = "羽",
["祤"] = "羽",
["羽"] = "羽",
["頨"] = "羽",
["踽"] = "禹",
["萭"] = "禹",
["聥"] = "禹",
["楀"] = "禹",
["齲"] = "禹",
["禹"] = "禹",
["瑀"] = "禹",
["鄅"] = "禹",
["珏"] = "玉",
["砡"] = "玉",
["匤"] = "玉",
["玉"] = "玉",
["鳿"] = "玉",
["頊"] = "玉",
["筆"] = "聿",
["潷"] = "聿",
["硉"] = "聿",
["律"] = "聿",
["葎"] = "聿",
["聿"] = "聿",
["銉"] = "聿",
["育"] = "育",
["毓"] = "育",
["棛"] = "育",
["錥"] = "育",
["焴"] = "育",
["淯"] = "育",
["蜟"] = "育",
["堉"] = "育",
["逳"] = "育",
["蘛"] = "育",
["煜"] = "昱",
["翊"] = "昱",
["翌"] = "昱",
["昱"] = "昱",
["喅"] = "昱",
["瞲"] = "矞",
["璚"] = "矞",
["劀"] = "矞",
["鱊"] = "矞",
["譎"] = "矞",
["潏"] = "矞",
["鐍"] = "矞",
["憰"] = "矞",
["噊"] = "矞",
["驈"] = "矞",
["橘"] = "矞",
["繘"] = "矞",
["獝"] = "矞",
["燏"] = "矞",
["遹"] = "矞",
["鷸"] = "矞",
["矞"] = "矞",
["霱"] = "矞",
["嶽"] = "獄",
["鸑"] = "獄",
["哭"] = "獄",
["獄"] = "獄",
["竇"] = "𧶠",
["續"] = "𧶠",
["覿"] = "𧶠",
["黷"] = "𧶠",
["讟"] = "𧶠",
["殰"] = "𧶠",
["讀"] = "𧶠",
["櫝"] = "𧶠",
["牘"] = "𧶠",
["儥"] = "𧶠",
["贕"] = "𧶠",
["皾"] = "𧶠",
["瓄"] = "𧶠",
["瀆"] = "𧶠",
["豄"] = "𧶠",
["韇"] = "𧶠",
["嬻"] = "𧶠",
["犢"] = "𧶠",
["匵"] = "𧶠",
["藚"] = "𧶠",
["襩"] = "𧶠",
["贖"] = "𧶠",
["𧶠"] = "𧶠",
["鬱"] = "鬱",
["欝"] = "鬱",
["灪"] = "鬱",
["爩"] = "鬱",
["絹"] = "肙",
["狷"] = "肙",
["蜎"] = "肙",
["弲"] = "肙",
["娟"] = "肙",
["悁"] = "肙",
["捐"] = "肙",
["涓"] = "肙",
["鵑"] = "肙",
["睊"] = "肙",
["焆"] = "肙",
["鞙"] = "肙",
["埍"] = "肙",
["罥"] = "肙",
["羂"] = "肙",
["瓹"] = "肙",
["梋"] = "肙",
["鋗"] = "肙",
["駽"] = "肙",
["琄"] = "肙",
["剈"] = "肙",
["肙"] = "肙",
["冤"] = "冤",
["蒬"] = "冤",
["婣"] = "淵",
["鼘"] = "淵",
["囦"] = "淵",
["淵"] = "淵",
["裫"] = "淵",
["奫"] = "淵",
["冠"] = "元",
["莞"] = "元",
["脘"] = "元",
["筦"] = "元",
["梡"] = "元",
["岏"] = "元",
["刓"] = "元",
["园"] = "元",
["忨"] = "元",
["蚖"] = "元",
["黿"] = "元",
["抏"] = "元",
["玩"] = "元",
["貦"] = "元",
["翫"] = "元",
["妧"] = "元",
["完"] = "元",
["捖"] = "元",
["垸"] = "元",
["綄"] = "元",
["院"] = "元",
["皖"] = "元",
["晥"] = "元",
["浣"] = "元",
["頑"] = "元",
["睆"] = "元",
["鯇"] = "元",
["元"] = "元",
["沅"] = "元",
["芫"] = "元",
["杬"] = "元",
["邧"] = "元",
["阮"] = "元",
["俒"] = "元",
["暖"] = "爰",
["煖"] = "爰",
["喛"] = "爰",
["緩"] = "爰",
["鰀"] = "爰",
["嵈"] = "爰",
["鍰"] = "爰",
["湲"] = "爰",
["媛"] = "爰",
["瑗"] = "爰",
["援"] = "爰",
["褑"] = "爰",
["諼"] = "爰",
["愋"] = "爰",
["楥"] = "爰",
["爰"] = "爰",
["鶢"] = "爰",
["蝯"] = "爰",
["猨"] = "爰",
["羱"] = "原",
["豲"] = "原",
["謜"] = "原",
["縓"] = "原",
["原"] = "原",
["源"] = "原",
["厵"] = "原",
["嫄"] = "原",
["騵"] = "原",
["榞"] = "原",
["獂"] = "原",
["蒝"] = "原",
["願"] = "原",
["傆"] = "原",
["愿"] = "原",
["員"] = "員",
["圓"] = "員",
["塤"] = "員",
["損"] = "員",
["縜"] = "員",
["隕"] = "員",
["殞"] = "員",
["溳"] = "員",
["磒"] = "員",
["霣"] = "員",
["愪"] = "員",
["勛"] = "員",
["鄖"] = "員",
["篔"] = "員",
["貟"] = "員",
["韻"] = "員",
["薳"] = "袁",
["袁"] = "袁",
["園"] = "袁",
["轅"] = "袁",
["猿"] = "袁",
["榬"] = "袁",
["溒"] = "袁",
["遠"] = "袁",
["癏"] = "睘",
["擐"] = "睘",
["還"] = "睘",
["環"] = "睘",
["鬟"] = "睘",
["寰"] = "睘",
["闤"] = "睘",
["糫"] = "睘",
["圜"] = "睘",
["鐶"] = "睘",
["轘"] = "睘",
["澴"] = "睘",
["繯"] = "睘",
["檈"] = "睘",
["儇"] = "睘",
["翾"] = "睘",
["蠉"] = "睘",
["嬛"] = "睘",
["譞"] = "睘",
["懁"] = "睘",
["獧"] = "睘",
["噮"] = "睘",
["彋"] = "睘",
["睘"] = "睘",
["涴"] = "夗",
["埦"] = "夗",
["豌"] = "夗",
["剜"] = "夗",
["眢"] = "夗",
["蜿"] = "夗",
["帵"] = "夗",
["碗"] = "夗",
["椀"] = "夗",
["盌"] = "夗",
["腕"] = "夗",
["惋"] = "夗",
["捥"] = "夗",
["睕"] = "夗",
["琬"] = "夗",
["鴛"] = "夗",
["鵷"] = "夗",
["惌"] = "夗",
["宛"] = "夗",
["怨"] = "夗",
["葾"] = "夗",
["夗"] = "夗",
["婉"] = "夗",
["菀"] = "夗",
["苑"] = "夗",
["踠"] = "夗",
["畹"] = "夗",
["倇"] = "夗",
["晼"] = "夗",
["黦"] = "夗",
["焥"] = "夗",
["曰"] = "曰",
["汩"] = "曰",
["𦚢"] = "𦚢",
["𩨭"] = "𦚢",
["刖"] = "月",
["枂"] = "月",
["月"] = "月",
["跀"] = "月",
["抈"] = "月",
["鈅"] = "月",
["玥"] = "月",
["蚏"] = "月",
["泧"] = "戉",
["眓"] = "戉",
["越"] = "戉",
["狘"] = "戉",
["戉"] = "戉",
["鉞"] = "戉",
["樾"] = "戉",
["怴"] = "戉",
["岳"] = "岳",
["捳"] = "岳",
["讑"] = "龠",
["籲"] = "龠",
["爚"] = "龠",
["禴"] = "龠",
["蘥"] = "龠",
["鑰"] = "龠",
["瀹"] = "龠",
["龠"] = "龠",
["籥"] = "龠",
["鸙"] = "龠",
["魂"] = "云",
["沄"] = "云",
["忶"] = "云",
["囩"] = "云",
["夽"] = "云",
["雲"] = "云",
["芸"] = "云",
["耘"] = "云",
["妘"] = "云",
["紜"] = "云",
["云"] = "云",
["耺"] = "云",
["蕓"] = "云",
["澐"] = "云",
["橒"] = "云",
["抎"] = "云",
["枃"] = "匀",
["笉"] = "匀",
["郇"] = "匀",
["絢"] = "匀",
["眴"] = "匀",
["盷"] = "匀",
["訇"] = "匀",
["迿"] = "匀",
["姰"] = "匀",
["畇"] = "匀",
["荀"] = "匀",
["詢"] = "匀",
["洵"] = "匀",
["恂"] = "匀",
["峋"] = "匀",
["珣"] = "匀",
["槆"] = "匀",
["筍"] = "匀",
["箰"] = "匀",
["旬"] = "匀",
["殉"] = "匀",
["徇"] = "匀",
["侚"] = "匀",
["均"] = "匀",
["鈞"] = "匀",
["袀"] = "匀",
["汮"] = "匀",
["呁"] = "匀",
["筠"] = "匀",
["荺"] = "匀",
["匀"] = "匀",
["韵"] = "匀",
["輷"] = "匀",
["揈"] = "匀",
["鍧"] = "匀",
["渹"] = "匀",
["赹"] = "匀",
["憌"] = "匀",
["惸"] = "匀",
["咰"] = "匀",
["唆"] = "允",
["梭"] = "允",
["葰"] = "允",
["誜"] = "允",
["朘"] = "允",
["捘"] = "允",
["荾"] = "允",
["酸"] = "允",
["狻"] = "允",
["痠"] = "允",
["鋑"] = "允",
["脧"] = "允",
["悛"] = "允",
["吮"] = "允",
["萒"] = "允",
["沇"] = "允",
["抁"] = "允",
["馻"] = "允",
["兖"] = "允",
["渷"] = "允",
["兗"] = "允",
["焌"] = "允",
["允"] = "允",
["狁"] = "允",
["玧"] = "允",
["俊"] = "允",
["晙"] = "允",
["餕"] = "允",
["畯"] = "允",
["駿"] = "允",
["竣"] = "允",
["皴"] = "允",
["逡"] = "允",
["踆"] = "允",
["夋"] = "允",
["埈"] = "允",
["陖"] = "允",
["鵕"] = "允",
["浚"] = "允",
["峻"] = "允",
["帀"] = "帀",
["沞"] = "帀",
["魳"] = "帀",
["迊"] = "帀",
["匝"] = "帀",
["咂"] = "帀",
["韴"] = "帀",
["砸"] = "帀",
["灾"] = "災",
["災"] = "災",
["𢦏"] = "𢦏",
["栽"] = "𢦏",
["哉"] = "𢦏",
["烖"] = "𢦏",
["載"] = "𢦏",
["渽"] = "𢦏",
["睵"] = "𢦏",
["溨"] = "𢦏",
["裁"] = "𢦏",
["酨"] = "𢦏",
["蛓"] = "𢦏",
["胾"] = "𢦏",
["宰"] = "宰",
["縡"] = "宰",
["梓"] = "宰",
["滓"] = "宰",
["再"] = "再",
["洅"] = "再",
["贊"] = "贊",
["趲"] = "贊",
["讚"] = "贊",
["酇"] = "贊",
["饡"] = "贊",
["濽"] = "贊",
["襸"] = "贊",
["攢"] = "贊",
["瓚"] = "贊",
["禶"] = "贊",
["穳"] = "贊",
["囋"] = "贊",
["鑽"] = "贊",
["劗"] = "贊",
["纘"] = "贊",
["儧"] = "贊",
["鄼"] = "贊",
["欑"] = "贊",
["籫"] = "贊",
["巑"] = "贊",
["攅"] = "贊",
["髒"] = "葬",
["葬"] = "葬",
["早"] = "早",
["草"] = "早",
["愺"] = "早",
["騲"] = "早",
["皁"] = "早",
["皂"] = "早",
["蚤"] = "蚤",
["慅"] = "蚤",
["騷"] = "蚤",
["搔"] = "蚤",
["鰠"] = "蚤",
["溞"] = "蚤",
["颾"] = "蚤",
["瘙"] = "蚤",
["瑵"] = "蚤",
["糔"] = "蚤",
["鼜"] = "蚤",
["藻"] = "喿",
["澡"] = "喿",
["璪"] = "喿",
["繰"] = "喿",
["躁"] = "喿",
["趮"] = "喿",
["操"] = "喿",
["幧"] = "喿",
["懆"] = "喿",
["鄵"] = "喿",
["鐰"] = "喿",
["臊"] = "喿",
["鱢"] = "喿",
["燥"] = "喿",
["噪"] = "喿",
["髞"] = "喿",
["喿"] = "喿",
["譟"] = "喿",
["劋"] = "喿",
["橾"] = "喿",
["廁"] = "則",
["則"] = "則",
["賊"] = "則",
["鰂"] = "則",
["鱡"] = "則",
["蠈"] = "則",
["側"] = "則",
["萴"] = "則",
["測"] = "則",
["惻"] = "則",
["崱"] = "則",
["仄"] = "仄",
["昃"] = "仄",
["潧"] = "曾",
["繒"] = "曾",
["增"] = "曾",
["憎"] = "曾",
["磳"] = "曾",
["曾"] = "曾",
["矰"] = "曾",
["罾"] = "曾",
["熷"] = "曾",
["竲"] = "曾",
["橧"] = "曾",
["譄"] = "曾",
["蹭"] = "曾",
["層"] = "曾",
["贈"] = "曾",
["僧"] = "曾",
["鬙"] = "曾",
["甑"] = "曾",
["鄫"] = "曾",
["驓"] = "曾",
["嶒"] = "曾",
["噌"] = "曾",
["鏳"] = "曾",
["作"] = "乍",
["鲊"] = "乍",
["痄"] = "乍",
["厏"] = "乍",
["詐"] = "乍",
["咋"] = "乍",
["笮"] = "乍",
["榨"] = "乍",
["炸"] = "乍",
["乍"] = "乍",
["拃"] = "乍",
["酢"] = "乍",
["祚"] = "乍",
["胙"] = "乍",
["阼"] = "乍",
["飵"] = "乍",
["秨"] = "乍",
["迮"] = "乍",
["柞"] = "乍",
["昨"] = "乍",
["怍"] = "乍",
["砟"] = "乍",
["莋"] = "乍",
["岝"] = "乍",
["鈼"] = "乍",
["筰"] = "乍",
["葃"] = "乍",
["舴"] = "乍",
["窄"] = "乍",
["蚱"] = "乍",
["齚"] = "乍",
["泎"] = "乍",
["頕"] = "占",
["煔"] = "占",
["炶"] = "占",
["詀"] = "占",
["站"] = "占",
["檆"] = "占",
["黏"] = "占",
["粘"] = "占",
["枮"] = "占",
["霑"] = "占",
["沾"] = "占",
["覘"] = "占",
["鉆"] = "占",
["占"] = "占",
["颭"] = "占",
["佔"] = "占",
["苫"] = "占",
["痁"] = "占",
["蛅"] = "占",
["阽"] = "占",
["敁"] = "占",
["掂"] = "占",
["點"] = "占",
["玷"] = "占",
["店"] = "占",
["坫"] = "占",
["黇"] = "占",
["扂"] = "占",
["拈"] = "占",
["鮎"] = "占",
["砧"] = "占",
["笘"] = "占",
["跕"] = "占",
["貼"] = "占",
["帖"] = "占",
["怗"] = "占",
["呫"] = "占",
["甔"] = "詹",
["擔"] = "詹",
["儋"] = "詹",
["聸"] = "詹",
["膽"] = "詹",
["黵"] = "詹",
["澹"] = "詹",
["憺"] = "詹",
["瞻"] = "詹",
["詹"] = "詹",
["蟾"] = "詹",
["噡"] = "詹",
["譫"] = "詹",
["幨"] = "詹",
["襜"] = "詹",
["韂"] = "詹",
["贍"] = "詹",
["檐"] = "詹",
["簷"] = "詹",
["舚"] = "詹",
["碾"] = "展",
["輾"] = "展",
["展"] = "展",
["搌"] = "展",
["慚"] = "斬",
["慙"] = "斬",
["鏨"] = "斬",
["槧"] = "斬",
["暫"] = "斬",
["蹔"] = "斬",
["斬"] = "斬",
["獑"] = "斬",
["嶃"] = "斬",
["覱"] = "斬",
["摲"] = "斬",
["漸"] = "斬",
["塹"] = "斬",
["壍"] = "斬",
["嬱"] = "斬",
["螹"] = "斬",
["蔪"] = "斬",
["章"] = "章",
["樟"] = "章",
["彰"] = "章",
["漳"] = "章",
["鄣"] = "章",
["璋"] = "章",
["嫜"] = "章",
["獐"] = "章",
["慞"] = "章",
["墇"] = "章",
["障"] = "章",
["麞"] = "章",
["蔁"] = "章",
["暲"] = "章",
["嶂"] = "章",
["瘴"] = "章",
["丈"] = "丈",
["杖"] = "丈",
["仗"] = "丈",
["挑"] = "兆",
["洮"] = "兆",
["桃"] = "兆",
["逃"] = "兆",
["咷"] = "兆",
["鼗"] = "兆",
["鞉"] = "兆",
["駣"] = "兆",
["𣂁"] = "兆",
["脁"] = "兆",
["晁"] = "兆",
["兆"] = "兆",
["旐"] = "兆",
["狣"] = "兆",
["鮡"] = "兆",
["垗"] = "兆",
["姚"] = "兆",
["珧"] = "兆",
["銚"] = "兆",
["恌"] = "兆",
["烑"] = "兆",
["餆"] = "兆",
["筄"] = "兆",
["艞"] = "兆",
["佻"] = "兆",
["祧"] = "兆",
["朓"] = "兆",
["庣"] = "兆",
["趒"] = "兆",
["聎"] = "兆",
["眺"] = "兆",
["覜"] = "兆",
["頫"] = "兆",
["絩"] = "兆",
["跳"] = "兆",
["窕"] = "兆",
["誂"] = "兆",
["肁"] = "肁",
["肇"] = "肁",
["咤"] = "乇",
["吒"] = "乇",
["灹"] = "乇",
["矺"] = "乇",
["奼"] = "乇",
["侘"] = "乇",
["詫"] = "乇",
["秅"] = "乇",
["秺"] = "乇",
["亳"] = "乇",
["托"] = "乇",
["託"] = "乇",
["魠"] = "乇",
["馲"] = "乇",
["侂"] = "乇",
["飥"] = "乇",
["仛"] = "乇",
["虴"] = "乇",
["杔"] = "乇",
["乇"] = "乇",
["宅"] = "乇",
["厇"] = "乇",
["晢"] = "折",
["狾"] = "折",
["誓"] = "折",
["逝"] = "折",
["銴"] = "折",
["折"] = "折",
["娎"] = "折",
["哳"] = "折",
["踅"] = "折",
["哲"] = "折",
["蜇"] = "折",
["悊"] = "折",
["嚞"] = "折",
["喆"] = "折",
["硩"] = "折",
["浙"] = "折",
["晣"] = "折",
["焎"] = "折",
["觰"] = "者",
["諸"] = "者",
["者"] = "者",
["堵"] = "者",
["赭"] = "者",
["撦"] = "者",
["扯"] = "者",
["闍"] = "者",
["奢"] = "者",
["鍺"] = "者",
["都"] = "者",
["醏"] = "者",
["覩"] = "者",
["睹"] = "者",
["暏"] = "者",
["賭"] = "者",
["帾"] = "者",
["楮"] = "者",
["屠"] = "者",
["瘏"] = "者",
["廜"] = "者",
["鷵"] = "者",
["緒"] = "者",
["豬"] = "者",
["猪"] = "者",
["瀦"] = "者",
["藸"] = "者",
["櫫"] = "者",
["褚"] = "者",
["著"] = "者",
["箸"] = "者",
["儲"] = "者",
["躇"] = "者",
["櫧"] = "者",
["藷"] = "者",
["蠩"] = "者",
["煮"] = "者",
["渚"] = "者",
["煑"] = "者",
["陼"] = "者",
["翥"] = "者",
["署"] = "者",
["薯"] = "者",
["曙"] = "者",
["書"] = "者",
["暑"] = "者",
["鐯"] = "者",
["擆"] = "者",
["櫡"] = "者",
["踂"] = "耴",
["輒"] = "耴",
["耴"] = "耴",
["鮿"] = "耴",
["偵"] = "貞",
["幀"] = "貞",
["湞"] = "貞",
["貞"] = "貞",
["楨"] = "貞",
["禎"] = "貞",
["赬"] = "貞",
["遉"] = "貞",
["寘"] = "真",
["䡩"] = "真",
["黰"] = "真",
["顛"] = "真",
["滇"] = "真",
["齻"] = "真",
["槙"] = "真",
["瘨"] = "真",
["傎"] = "真",
["蹎"] = "真",
["厧"] = "真",
["巔"] = "真",
["癲"] = "真",
["瑱"] = "真",
["填"] = "真",
["窴"] = "真",
["闐"] = "真",
["磌"] = "真",
["鷏"] = "真",
["嗔"] = "真",
["搷"] = "真",
["鎮"] = "真",
["縝"] = "真",
["真"] = "真",
["禛"] = "真",
["稹"] = "真",
["蒖"] = "真",
["鬒"] = "真",
["瞋"] = "真",
["謓"] = "真",
["慎"] = "真",
["沴"] = "疹",
["趁"] = "疹",
["紾"] = "疹",
["跈"] = "疹",
["殄"] = "疹",
["抮"] = "疹",
["駗"] = "疹",
["珍"] = "疹",
["診"] = "疹",
["畛"] = "疹",
["疹"] = "疹",
["軫"] = "疹",
["胗"] = "疹",
["袗"] = "疹",
["眕"] = "疹",
["飻"] = "疹",
["餮"] = "疹",
["黱"] = "朕",
["朕"] = "朕",
["鰧"] = "朕",
["螣"] = "朕",
["栚"] = "朕",
["眹"] = "朕",
["騰"] = "朕",
["滕"] = "朕",
["縢"] = "朕",
["儯"] = "朕",
["幐"] = "朕",
["藤"] = "朕",
["謄"] = "朕",
["膡"] = "朕",
["籐"] = "朕",
["勝"] = "朕",
["蕂"] = "朕",
["榺"] = "朕",
["塍"] = "朕",
["媵"] = "朕",
["賸"] = "朕",
["琤"] = "爭",
["崢"] = "爭",
["鬇"] = "爭",
["爭"] = "爭",
["箏"] = "爭",
["猙"] = "爭",
["埩"] = "爭",
["諍"] = "爭",
["凈"] = "爭",
["錚"] = "爭",
["棦"] = "爭",
["竫"] = "爭",
["睜"] = "爭",
["淨"] = "爭",
["徵"] = "徵",
["癥"] = "徵",
["澂"] = "徵",
["懲"] = "徵",
["綻"] = "正",
["淀"] = "正",
["靛"] = "正",
["症"] = "正",
["竀"] = "正",
["征"] = "正",
["怔"] = "正",
["正"] = "正",
["鉦"] = "正",
["鴊"] = "正",
["眐"] = "正",
["佂"] = "正",
["整"] = "正",
["政"] = "正",
["証"] = "正",
["定"] = "正",
["顁"] = "正",
["錠"] = "正",
["掟"] = "正",
["之"] = "之",
["芝"] = "之",
["志"] = "之",
["痣"] = "之",
["娡"] = "之",
["誌"] = "之",
["蚩"] = "之",
["妛"] = "之",
["嗤"] = "之",
["媸"] = "之",
["旹"] = "之",
["滍"] = "之",
["支"] = "支",
["枝"] = "支",
["肢"] = "支",
["汥"] = "支",
["衼"] = "支",
["馶"] = "支",
["鳷"] = "支",
["忮"] = "支",
["伎"] = "支",
["豉"] = "支",
["翅"] = "支",
["翄"] = "支",
["妓"] = "支",
["庋"] = "支",
["跂"] = "支",
["蚑"] = "支",
["吱"] = "支",
["岐"] = "支",
["歧"] = "支",
["鬾"] = "支",
["技"] = "支",
["芰"] = "支",
["攱"] = "支",
["庪"] = "支",
["頍"] = "支",
["屐"] = "支",
["巵"] = "巵",
["梔"] = "巵",
["識"] = "戠",
["幟"] = "戠",
["織"] = "戠",
["熾"] = "戠",
["樴"] = "戠",
["職"] = "戠",
["軄"] = "戠",
["戠"] = "戠",
["膱"] = "戠",
["蟙"] = "戠",
["置"] = "直",
["值"] = "直",
["植"] = "直",
["埴"] = "直",
["惪"] = "直",
["德"] = "直",
["稙"] = "直",
["淔"] = "直",
["直"] = "直",
["犆"] = "直",
["殖"] = "直",
["騺"] = "執",
["摯"] = "執",
["贄"] = "執",
["鷙"] = "執",
["墊"] = "執",
["慹"] = "執",
["謺"] = "執",
["褺"] = "執",
["蓻"] = "執",
["縶"] = "執",
["漐"] = "執",
["蟄"] = "執",
["執"] = "執",
["瓡"] = "執",
["祉"] = "止",
["址"] = "止",
["止"] = "止",
["趾"] = "止",
["芷"] = "止",
["沚"] = "止",
["阯"] = "止",
["齒"] = "止",
["紕"] = "止",
["只"] = "只",
["胑"] = "只",
["疻"] = "只",
["軹"] = "只",
["咫"] = "只",
["枳"] = "只",
["抧"] = "只",
["伿"] = "只",
["齞"] = "只",
["稽"] = "旨",
["詣"] = "旨",
["栺"] = "旨",
["榰"] = "旨",
["脂"] = "旨",
["鴲"] = "旨",
["指"] = "旨",
["旨"] = "旨",
["恉"] = "旨",
["嗜"] = "旨",
["蓍"] = "旨",
["鰭"] = "旨",
["耆"] = "旨",
["鮨"] = "旨",
["鬐"] = "旨",
["致"] = "至",
["輊"] = "至",
["駤"] = "至",
["跮"] = "至",
["荎"] = "至",
["緻"] = "至",
["至"] = "至",
["鵄"] = "至",
["胵"] = "至",
["痓"] = "至",
["咥"] = "至",
["窒"] = "至",
["蛭"] = "至",
["垤"] = "至",
["耋"] = "至",
["姪"] = "至",
["絰"] = "至",
["恎"] = "至",
["挃"] = "至",
["庢"] = "至",
["銍"] = "至",
["秷"] = "至",
["螲"] = "至",
["侄"] = "至",
["桎"] = "至",
["郅"] = "至",
["晊"] = "至",
["室"] = "至",
["制"] = "制",
["淛"] = "制",
["製"] = "制",
["掣"] = "制",
["痸"] = "制",
["猘"] = "制",
["陟"] = "陟",
["騭"] = "陟",
["啑"] = "疐",
["疐"] = "疐",
["嚏"] = "疐",
["懥"] = "疐",
["質"] = "質",
["躓"] = "質",
["懫"] = "質",
["礩"] = "質",
["櫍"] = "質",
["劕"] = "質",
["鑕"] = "質",
["中"] = "中",
["忠"] = "中",
["衷"] = "中",
["忡"] = "中",
["浺"] = "中",
["盅"] = "中",
["种"] = "中",
["沖"] = "中",
["翀"] = "中",
["仲"] = "中",
["撞"] = "重",
["幢"] = "重",
["橦"] = "重",
["噇"] = "重",
["𩪘"] = "重",
["艟"] = "重",
["憧"] = "重",
["畽"] = "重",
["董"] = "重",
["蕫"] = "重",
["箽"] = "重",
["懂"] = "重",
["湩"] = "重",
["曈"] = "重",
["童"] = "重",
["僮"] = "重",
["瞳"] = "重",
["罿"] = "重",
["犝"] = "重",
["潼"] = "重",
["穜"] = "重",
["動"] = "重",
["慟"] = "重",
["堹"] = "重",
["諥"] = "重",
["蹱"] = "重",
["重"] = "重",
["緟"] = "重",
["蝩"] = "重",
["褈"] = "重",
["鐘"] = "重",
["鍾"] = "重",
["籦"] = "重",
["種"] = "重",
["腫"] = "重",
["踵"] = "重",
["歱"] = "重",
["喠"] = "重",
["偅"] = "重",
["衝"] = "重",
["揰"] = "重",
["尰"] = "重",
["潨"] = "眾",
["眾"] = "眾",
["洲"] = "州",
["州"] = "州",
["喌"] = "州",
["酬"] = "州",
["詶"] = "州",
["鵃"] = "舟",
["輈"] = "舟",
["侜"] = "舟",
["矪"] = "舟",
["舟"] = "舟",
["裯"] = "周",
["啁"] = "周",
["禂"] = "周",
["綢"] = "周",
["翢"] = "周",
["錭"] = "周",
["雕"] = "周",
["凋"] = "周",
["琱"] = "周",
["鯛"] = "周",
["鵰"] = "周",
["彫"] = "周",
["奝"] = "周",
["調"] = "周",
["蜩"] = "周",
["惆"] = "周",
["婤"] = "周",
["稠"] = "周",
["椆"] = "周",
["周"] = "周",
["輖"] = "周",
["賙"] = "周",
["郮"] = "周",
["晭"] = "周",
["倜"] = "周",
["粥"] = "粥",
["鬻"] = "粥",
["肘"] = "肘",
["疛"] = "肘",
["紂"] = "肘",
["葤"] = "肘",
["酎"] = "肘",
["婦"] = "帚",
["帚"] = "帚",
["箒"] = "帚",
["鯞"] = "帚",
["咮"] = "朱",
["株"] = "朱",
["誅"] = "朱",
["邾"] = "朱",
["鼄"] = "朱",
["跦"] = "朱",
["袾"] = "朱",
["鴸"] = "朱",
["蛛"] = "朱",
["殊"] = "朱",
["趎"] = "朱",
["珠"] = "朱",
["朱"] = "朱",
["侏"] = "朱",
["絑"] = "朱",
["祩"] = "朱",
["鮢"] = "朱",
["硃"] = "朱",
["姝"] = "朱",
["銖"] = "朱",
["茱"] = "朱",
["洙"] = "朱",
["陎"] = "朱",
["竺"] = "竹",
["篤"] = "竹",
["竹"] = "竹",
["筑"] = "竹",
["築"] = "竹",
["茿"] = "竹",
["篴"] = "逐",
["蓫"] = "逐",
["逐"] = "逐",
["鱁"] = "逐",
["飳"] = "主",
["妵"] = "主",
["黈"] = "主",
["蘣"] = "主",
["罜"] = "主",
["拄"] = "主",
["柱"] = "主",
["駐"] = "主",
["註"] = "主",
["鉒"] = "主",
["軴"] = "主",
["住"] = "主",
["跓"] = "主",
["嵀"] = "主",
["主"] = "主",
["麈"] = "主",
["宔"] = "主",
["炷"] = "主",
["注"] = "主",
["疰"] = "主",
["蛀"] = "主",
["霔"] = "主",
["貯"] = "宁",
["詝"] = "宁",
["柠"] = "宁",
["宁"] = "宁",
["佇"] = "宁",
["竚"] = "宁",
["苧"] = "宁",
["紵"] = "宁",
["羜"] = "宁",
["眝"] = "宁",
["壴"] = "壴",
["廚"] = "壴",
["躕"] = "壴",
["櫥"] = "壴",
["幮"] = "壴",
["樹"] = "壴",
["澍"] = "壴",
["尌"] = "壴",
["祝"] = "祝",
["呪"] = "祝",
["咒"] = "祝",
["柷"] = "祝",
["抓"] = "爪",
["爪"] = "爪",
["笊"] = "爪",
["找"] = "爪",
["竱"] = "專",
["團"] = "專",
["摶"] = "專",
["篿"] = "專",
["慱"] = "專",
["剸"] = "專",
["鄟"] = "專",
["漙"] = "專",
["鷒"] = "專",
["轉"] = "專",
["傳"] = "專",
["囀"] = "專",
["縳"] = "專",
["專"] = "專",
["磚"] = "專",
["甎"] = "專",
["塼"] = "專",
["嫥"] = "專",
["膞"] = "專",
["鱄"] = "專",
["蓴"] = "專",
["孨"] = "孨",
["孱"] = "孨",
["蜼"] = "隹",
["堆"] = "隹",
["嵟"] = "隹",
["碓"] = "隹",
["推"] = "隹",
["蓷"] = "隹",
["陮"] = "隹",
["魋"] = "隹",
["嶊"] = "隹",
["崔"] = "隹",
["猚"] = "隹",
["椎"] = "隹",
["顀"] = "隹",
["隹"] = "隹",
["錐"] = "隹",
["萑"] = "隹",
["騅"] = "隹",
["鵻"] = "隹",
["誰"] = "隹",
["脽"] = "隹",
["蘬"] = "追",
["磓"] = "追",
["塠"] = "追",
["頧"] = "追",
["鴭"] = "追",
["鎚"] = "追",
["搥"] = "追",
["縋"] = "追",
["膇"] = "追",
["槌"] = "追",
["追"] = "追",
["桘"] = "追",
["巋"] = "追",
["歸"] = "追",
["悼"] = "卓",
["淖"] = "卓",
["罩"] = "卓",
["鵫"] = "卓",
["趠"] = "卓",
["踔"] = "卓",
["棹"] = "卓",
["鋽"] = "卓",
["掉"] = "卓",
["逴"] = "卓",
["焯"] = "卓",
["綽"] = "卓",
["婥"] = "卓",
["繛"] = "卓",
["卓"] = "卓",
["桌"] = "卓",
["倬"] = "卓",
["啅"] = "卓",
["晫"] = "卓",
["蝃"] = "叕",
["欼"] = "叕",
["綴"] = "叕",
["醊"] = "叕",
["畷"] = "叕",
["啜"] = "叕",
["餟"] = "叕",
["腏"] = "叕",
["錣"] = "叕",
["輟"] = "叕",
["娺"] = "叕",
["窡"] = "叕",
["鵽"] = "叕",
["掇"] = "叕",
["剟"] = "叕",
["裰"] = "叕",
["敠"] = "叕",
["惙"] = "叕",
["罬"] = "叕",
["叕"] = "叕",
["歠"] = "叕",
["逫"] = "叕",
["輜"] = "甾",
["淄"] = "甾",
["錙"] = "甾",
["緇"] = "甾",
["甾"] = "甾",
["菑"] = "甾",
["鶅"] = "甾",
["椔"] = "甾",
["鯔"] = "甾",
["糍"] = "兹",
["茲"] = "兹",
["滋"] = "兹",
["孳"] = "兹",
["嵫"] = "兹",
["嗞"] = "兹",
["鎡"] = "兹",
["鰦"] = "兹",
["鶿"] = "兹",
["稵"] = "兹",
["螆"] = "兹",
["慈"] = "兹",
["鷀"] = "兹",
["磁"] = "兹",
["礠"] = "兹",
["濨"] = "兹",
["孜"] = "子",
["仔"] = "子",
["孖"] = "子",
["子"] = "子",
["虸"] = "子",
["耔"] = "子",
["秄"] = "子",
["杍"] = "子",
["籽"] = "子",
["字"] = "子",
["茡"] = "子",
["芓"] = "子",
["牸"] = "子",
["李"] = "子",
["姊"] = "秭",
["秭"] = "秭",
["趀"] = "秭",
["笫"] = "秭",
["胏"] = "秭",
["柹"] = "秭",
["柿"] = "秭",
["郋"] = "自",
["自"] = "自",
["洎"] = "自",
["臮"] = "自",
["垍"] = "自",
["詯"] = "自",
["淙"] = "宗",
["鬃"] = "宗",
["漴"] = "宗",
["粽"] = "宗",
["宗"] = "宗",
["倧"] = "宗",
["綜"] = "宗",
["錝"] = "宗",
["賨"] = "宗",
["琮"] = "宗",
["悰"] = "宗",
["孮"] = "宗",
["誴"] = "宗",
["崇"] = "宗",
["崈"] = "宗",
["踪"] = "宗",
["奏"] = "奏",
["凑"] = "奏",
["腠"] = "奏",
["輳"] = "奏",
["楱"] = "奏",
["湊"] = "奏",
["足"] = "足",
["莡"] = "足",
["捉"] = "足",
["齪"] = "足",
["娖"] = "足",
["浞"] = "足",
["鋜"] = "足",
["趗"] = "足",
["珿"] = "足",
["哫"] = "足",
["促"] = "足",
["晬"] = "卒",
["祽"] = "卒",
["綷"] = "卒",
["淬"] = "卒",
["啐"] = "卒",
["倅"] = "卒",
["焠"] = "卒",
["碎"] = "卒",
["誶"] = "卒",
["濢"] = "卒",
["噿"] = "卒",
["臎"] = "卒",
["醉"] = "卒",
["翠"] = "卒",
["悴"] = "卒",
["萃"] = "卒",
["瘁"] = "卒",
["顇"] = "卒",
["粹"] = "卒",
["睟"] = "卒",
["賥"] = "卒",
["卒"] = "卒",
["稡"] = "卒",
["猝"] = "卒",
["椊"] = "卒",
["捽"] = "卒",
["崪"] = "卒",
["窣"] = "卒",
["崒"] = "卒",
["踤"] = "卒",
["錊"] = "卒",
["蔟"] = "族",
["嗾"] = "族",
["鷟"] = "族",
["鏃"] = "族",
["瘯"] = "族",
["簇"] = "族",
["族"] = "族",
["罪"] = "罪",
["辠"] = "罪",
["𢶀"] = "罪",
["尊"] = "尊",
["樽"] = "尊",
["罇"] = "尊",
["嶟"] = "尊",
["繜"] = "尊",
["撙"] = "尊",
["噂"] = "尊",
["譐"] = "尊",
["僔"] = "尊",
["蹲"] = "尊",
["鱒"] = "尊",
["鐏"] = "尊",
["遵"] = "尊",
["鷷"] = "尊",
["墫"] = "尊",
["竴"] = "尊",
["左"] = "左",
["佐"] = "左",
["袏"] = "左",
["蹉"] = "左",
["瑳"] = "左",
["搓"] = "左",
["磋"] = "左",
["溠"] = "左",
["傞"] = "左",
["醝"] = "左",
["瘥"] = "左",
["鹺"] = "左",
["嵯"] = "左",
["嵳"] = "左",
["蒫"] = "左",
["艖"] = "左",
["齹"] = "左",
["縒"] = "左",
["褨"] = "左",
["嗟"] = "左",
["差"] = "左",
["鎈"] = "左",
["槎"] = "左",
["髊"] = "左",
["脞"] = "坐",
["侳"] = "坐",
["挫"] = "坐",
["夎"] = "坐",
["遳"] = "坐",
["銼"] = "坐",
["剉"] = "坐",
["莝"] = "坐",
["趖"] = "坐",
["矬"] = "坐",
["痤"] = "坐",
["睉"] = "坐",
["坐"] = "坐",
["座"] = "坐",
["髽"] = "坐",
["鑿"] = "丵",
["糳"] = "丵",
["艐"] = "翪",
["堫"] = "翪",
["葼"] = "翪",
["鬷"] = "翪",
["嵕"] = "翪",
["猣"] = "翪",
["鯼"] = "翪",
["椶"] = "翪",
["騣"] = "翪",
["蝬"] = "翪",
["翪"] = "翪",
["緵"] = "翪",
["稯"] = "翪",
["鬉"] = "翪",
["糉"] = "翪",
}
jb8cabq7w4513a57r7mo9wjqpg3d8hk
모듈:zh-glyph/phonetic
828
448052
4388253
2025-07-07T09:55:33Z
CHK2605
33979
새 문서: return { ["愛"]="愛曖僾靉薆璦瞹", ["安"]="安鞍鞌侒按案洝荌晏鴳騴鷃頞胺咹", ["卬"]="卬枊昂仰迎", ["敖"]="熬敖嗷螯聱驁鰲遨獒滶蔜鷔鼇謷嶅嗸摮嫯鏊傲磝", ["奧"]="襖懊燠奧墺隩澳噢薁䉛", ["八"]="扒八𩡩朳玐釟汃", ["巴"]="巴芭笆豝鈀吧蚆疤把爸弝靶葩舥妑帊琶爬杷跁耙", ["犮"]="軷韍祓蛂拔菝袚茇盋帗跋魃䣮馛炦颰妭犮胈鈸苃坺髮冹瞂紱黻翇", ["癹"]="發癹", ["罷"]...
4388253
Scribunto
text/plain
return {
["愛"]="愛曖僾靉薆璦瞹",
["安"]="安鞍鞌侒按案洝荌晏鴳騴鷃頞胺咹",
["卬"]="卬枊昂仰迎",
["敖"]="熬敖嗷螯聱驁鰲遨獒滶蔜鷔鼇謷嶅嗸摮嫯鏊傲磝",
["奧"]="襖懊燠奧墺隩澳噢薁䉛",
["八"]="扒八𩡩朳玐釟汃",
["巴"]="巴芭笆豝鈀吧蚆疤把爸弝靶葩舥妑帊琶爬杷跁耙",
["犮"]="軷韍祓蛂拔菝袚茇盋帗跋魃䣮馛炦颰妭犮胈鈸苃坺髮冹瞂紱黻翇",
["癹"]="發癹",
["罷"]="擺犤罷矲羆襬藣",
["霸"]="壩霸灞欛",
["白"]="怕帕粕胉泊箔魄皕伯百迫敀柏湐拍珀皛洦白帛舶鮊陌帞袹蛨貊佰銆碧咟",
["拜"]="拜湃",
["班"]="班斑",
["般"]="螌般媻搫搬盤磐瘢幋槃縏鎜鞶",
["半"]="半絆靽姅拌拚坢判泮頖胖冸牉柈伴叛畔袢",
["勹"]="袍袌軳抱勽菢勹包胞苞枹飽泡炮皰疱跑咆庖匏刨狍炰鉋瓟颮鞄鮑骲玸雹窇",
["保"]="襃保堡褓堢緥葆賲宲椺",
["鴇"]="鴇駂",
["暴"]="暴曝瀑虣爆襮嚗謈犦懪",
["卑"]="捭牌郫蠯猈稗粺𥱼豍箄錍睥渒鼙鞞椑崥髀卑鵯裨痺碑婢諀脾埤陴蜱焷螷庳琕萆綼",
["北"]="背鄁偝邶苝北",
["貝"]="貝狽鋇浿垻敗唄",
["備"]="憊韛備俻鞴糒犕",
["奔"]="賁蟦膹橨奔錛噴濆歕獖餴饙僨墳燌豶羵蕡鐼馩轒鼖憤鱝",
["本"]="本笨苯翉体鉢缽",
["匕"]="匕庀疕朼牝",
["比"]="梐狴悂螕鎞蓖篦批砒鈚磇媲笓膍陛仳吡紕比妣秕沘枇粊庇屁琵毗貔豼蚍芘肶魮阰坒玭",
["啚"]="鄙啚",
["必"]="泌秘毖閟柲鉍邲覕咇苾馝飶鴓鮅必珌佖駜怭妼宓樒密蔤滵蜜謐榓淧瑟璱飋虙",
["畀"]="箅濞畀痹淠嚊鼻襣",
["畢"]="畢蓽篳蹕韠滭鷝熚彃縪饆鏎罼",
["敝"]="蔽鄨鷩彆潎斃敝幣弊鱉虌憋瞥鐅嫳撇撆暼蹩襒",
["閉"]="閉閇",
["辟"]="嬖薜鐾臂譬避檗擘糪掰繴辟璧鐴躄襞僻癖廦擗躃闢壁鼊霹劈澼憵甓鷿幦",
["扁"]="斒鯿編揙褊篇偏翩媥扁萹騗騙諞楄蝙甂猵牑蹁匾碥惼糄徧遍頨艑",
["卞"]="汴卞忭抃犿笇飰",
["弁"]="鴘弁拚閞昪匥笲軬畚",
["便"]="鞭鯾箯便緶楩",
["辡"]="辬瓣辦辨辡辯辮",
["彪"]="彪淲滮",
["猋"]="飆猋贆",
["麃"]="藨麃臕鑣儦瀌犥皫",
["表"]="表裱俵",
["别"]="捌哵別莂",
["彬"]="虨彬霦",
["斌"]="斌贇",
["豩"]="燹豳",
["賓"]="蠙賓檳鑌濱顮儐矉擯殯鬢繽嬪薲獱臏髕",
["仌"]="冫冰砅馮憑",
["兵"]="浜捠兵",
["丙"]="更粳埂浭稉梗哽綆鯁挭骾郠硬鞕丙炳邴怲苪蛃昺昞窉柄鈵寎病",
["秉"]="秉棅",
["禀"]="燷壈燣顲稟廩懍凜癛檁",
["并"]="鵧駢胼骿軿賆跰恲鮩絣拼迸姘皏併并栟屏箳餅鉼摒庰偋艵頩竮瓶缾蛢荓郱洴蓱",
["並"]="湴跰並竝",
["孛"]="誖悖孛哱馞勃餑郣浡桲挬脖鵓渤綍",
["卜"]="仆赴訃朴圤卜鳪扑攴",
["不"]="肧俖娝痞丕伾秠駓怌豾髬魾鉟嚭邳岯否抔不紑鴀衃罘芣杯盃桮坯胚",
["步"]="荹步踄",
["部"]="部蔀篰",
["才"]="茬材才財鼒在豺",
["采"]="采睬彩採綵寀菜埰棌",
["參"]="篸參驂傪慘黲謲毿蔘犙糝槮鬖摻醦縿穇嵾磣墋曑瘮滲",
["粲"]="餐湌粲燦璨薒殩",
["倉"]="艙倉蒼滄傖鶬凔槍搶蹌瑲牄嗆創瘡愴鎗",
["曹"]="遭糟醩傮槽曹螬漕嘈艚褿蓸慒",
["冊"]="栅冊笧",
["畟"]="稷畟溭謖",
["叉"]="叉杈靫汊衩扠釵芆訍",
["臿"]="偛插鍤臿喢牐歃敮",
["孱"]="孱潺僝轏樼",
["廛"]="纏緾躔瀍鄽廛",
["毚"]="纔讒饞毚欃攙儳酁瀺嚵巉劖艬鑱",
["昌"]="昌倡猖菖閶鯧裮琩唱",
["長"]="張餦粻漲長脹痮帳賬倀鼚鋹悵韔萇瓺棖掁",
["巢"]="璅繅薻罺摷勦巢轈樔鄛剿漅",
["朝"]="嘲廟朝潮",
["車"]="車硨厙庫",
["徹"]="徹撤澈轍",
["臣"]="臤掔慳藖堅鋻鰹蜸菣賢礥臔挋臣茞腎頣緊嚚鏗摼硻",
["辰"]="辴屒振侲桭唇帪賑裖敐震娠蜃辰晨宸鷐麎祳脤鋠磭陙脣漘",
["陳"]="陳敶陣",
["韱"]="讖攕櫼懺殲瀸鑯虃籤韯纖孅韱襳",
["爯"]="稱爯偁",
["丞"]="蒸烝篜脀拯氶承丞巹",
["成"]="成城誠宬郕筬盛珹晟墭",
["呈"]="挰鋥逞裎悜睈呈程酲珵徎郢浧桯鞓壬鐵驖戜",
["乘"]="乘溗塖騬椉剩嵊",
["尺"]="尺蚇",
["彖"]="蠡盠彖墬喙餯剶猭鶨椽篆瑑堟蝝緣櫞掾褖湪",
["赤"]="浾嚇赦郝赫爀赤烾螫赥捇焃",
["敕"]="敕勅鷘慗遫",
["充"]="統充珫茺銃",
["舂"]="樁憃舂摏蹖",
["蟲"]="痋鉵赨爞蟲融瀜",
["雔"]="犨犫雔售讎",
["丑"]="峱紐扭狃鈕忸杻莥羞丑沑粈衄",
["臭"]="臭殠糗嗅齅",
["出"]="聉贅祟出茁欪貀袦咄柮拙炪掘鈯啒淈窟泏堀胐窋絀黜屈趉鶌詘倔崛",
["芻"]="煼謅縐鄒騶搊皺篘㑳趍趨芻犓雛鶵媰齺",
["豖"]="冢塚涿琢啄諑剢瘃豖",
["川"]="川釧巛巡馴紃甽順訓",
["舛"]="舛荈僢舜瞬蕣",
["刅"]="梁粱刱",
["吹"]="吹炊焁",
["垂"]="埵綞涶唾厜腄箠娷諈錘甀硾捶垂陲倕菙睡",
["辭"]="辤辭",
["此"]="些跐柴祡茈眦砦寨啙泚玼皉鮆眥貲髭頾訾鴜鈭姕觜紫訿呰嘴雌此佌庛疵骴胔飺齜",
["朿"]="債積刺莿㓨朿漬耫嘖梀捒幘簀嫧謮責皟憡策筴拺賾鰿擌蹟襀磧洓績勣樍",
["次"]="咨資姿粢諮恣澬趑蠀次佽絘薋瓷茨餈垐楶",
["囱"]="牎窗窓囱總熜傯緫揔偬囪璁驄蔥匆怱葱楤聦繱騘鍯聰愡檧憽幒",
["从"]="摐鏦豵嵸蓯蹤縱樅磫熧瘲暰瑽從从慫聳傱",
["竄"]="躥竄攛鑹",
["崔"]="嗺催璀皠漼鏙摧崔慛槯繀膗",
["毳"]="膬毳竁橇",
["存"]="荐洊臶栫袸存拵",
["寸"]="村忖刌寸",
["沓"]="踏濌錔鞜沓涾誻",
["羍"]="羍達闥撻躂澾薘",
["龖"]="龖襲",
["大"]="馱大忕太汰汏軑釱达杕",
["眔"]="褱鰥嚃眔遝",
["帶"]="帶蹛艜慸滯懘蔕螮摕僀殢遰墆嵽蒂",
["丹"]="丹旃栴",
["單"]="嚲癉奲驒鼉磾鷤觶單鄲殫簞匰襌彈貚撣潬僤憚樿燀戰闡繟幝嘽灛蟬禪嬋墠鱓蕇",
["旦"]="皽担胆疸觛亶嬗笪狚旦鴠譠坦但檀壇儃驙袒襢繵膻澶邅鱣饘旜氈鸇顫蟺擅羶呾怛妲靼炟",
["宕"]="宕菪",
["刀"]="刀忉魛舠朷叨倒到菿鞀鳭灱菬超怊欩召昭招鉊沼照詔炤弨眧韶佋軺玿柖紹袑綤邵劭卲刁芀貂蛁迢苕髫岧",
["得"]="得淂棏",
["登"]="登璒燈簦蹬磴鐙嶝隥橙凳墱鼟膯澄鄧僜覴瞪憕撜證",
["狄"]="逖悐狄荻梑",
["翟"]="櫂濯耀曜燿糶粜嬥藋躍戳擢蠗鸐翟趯籊糴䊮",
["氐"]="低氐袛羝眡岻奃趆柢邸底詆坻抵牴觝弤軧骶砥胝疷秪泜蚳彽阺貾祗厎茋鴟汦",
["弟"]="梯睇涕挮鬀剃綈蕛稊苐鵜銻鮷罤弟娣悌第",
["帝"]="膪揥腣諦偙渧帝楴啼蹄締崹鶙禘啻嫡摘謫讁擿蹢適啇滴鏑甋樀敵",
["典"]="典錪腆痶淟琠賟晪",
["奠"]="奠鄭擲躑",
["殿"]="殿澱壂臀",
["弔"]="盄弔伄",
["疊"]="曡疊",
["丁"]="圢町打盯朾丁玎虰揨釘靪仃叮疔頂奵耵酊葶矴訂飣汀艼庁婷停聤渟楟亭",
["鼎"]="鼎薡濎",
["冬"]="疼冬苳笗炵佟鼕鉖終螽鼨柊鴤泈蔠",
["東"]="東菄鶇倲涷蝀凍鯟崠埬棟",
["兜"]="兜篼",
["斗"]="斗抖蚪枓阧斢鈄",
["豆"]="侸剅郖鬪鋀頭豆逗痘梪脰荳浢餖毭豎裋短",
["鬥"]="鬥鬭",
["毒"]="瑇纛碡毒蝳",
["耑"]="揣褍惴圌篅瑞端剬偳鍴耑踹湍煓貒諯顓喘遄輲椯歂腨",
["段"]="鍛腶碫瑖緞段椴毈",
["兌"]="毤蛻娧駾裞兌綐銳帨稅說涚䫄脫侻挩莌梲鮵敓痥悅閱",
["對"]="對轛薱濧懟",
["敦"]="弴敦錞憝憞譈鐓鷻鶉惇墩驐燉焞啍暾噋諄埻稕醇淳犉",
["屯"]="躉窀沌盹頓扽黗吨屯飩豘軘坉邨忳芚庉囤迍杶瑃椿偆肫訰純春蠢踳惷蒓賰鬊",
["盾"]="盾遁循揗楯輴腯鍎",
["多"]="多哆跢痑爹陊橠袲奓栘黟趍誃簃眵恀侈姼鉹垑袳卶宜誼竩移迻扅拸熪謻蛥",
["朵"]="桗挆朵朶躲剁垛",
["戹"]="呃阸厄蚅扼軛戹豟呝軶",
["而"]="耐耏而鮞鴯栭陑峏輀胹洏髵恧",
["兒"]="掜誽倪蜺霓郳齯婗輗棿猊麑貎鯢兒觬堄晲睨唲隉鶂鬩",
["尔"]="妳弥尒尔迩你苶",
["耳"]="佴麛弭渳葞髶聻恥咡誀耳洱駬餌珥衈毦刵眲",
["爾"]="嬭禰镾薾檷鑈瀰獼瓕彌鸍擟濔壐璽爾邇獮籋",
["二"]="膩二弍貳樲",
["發"]="廢癈橃撥鱍襏驋鏺潑醱",
["乏"]="砭貶窆泛姂䒦柉覂眨鴔乏",
["伐"]="茷筏伐閥垡栰",
["罰"]="罰藅",
["法"]="法灋",
["番"]="皤嶓番播譒鄱潘蟠磻蕃轓鱕鐇藩籓橎翻幡飜旛繙燔蹯膰羳鷭璠襎墦",
["凡"]="嵐葻釩汎凡帆颿軓梵芃風飌楓猦偑檒瘋諷堸渢鳳",
["棥"]="攀襻棥礬樊蠜",
["煩"]="煩薠",
["緐"]="繁緐蘩瀿瀪",
["反"]="扳板版瓪昄鈑蝂眅阪魬粄反返坂畈販汳飯",
["氾"]="氾犯範范笵",
["匚"]="匚匠",
["方"]="縍榜蒡牓螃搒舫謗雱磅霶滂鎊髈彷趽房篣騯傍膀旁徬閍祊嗙方汸坊邡枋鈁蚄肪鴋牥昉瓬放倣芳淓妨紡仿髣鶭訪防魴",
["妃"]="圮妃",
["非"]="啡排俳輫悲棑輩裴徘琲痱非扉緋猆斐馡騑誹餥匪棐蜚篚榧鯡霏菲婔裶悱奜腓陫屝厞翡",
["飛"]="飛騛",
["肥"]="蜰肥淝萉",
["朏"]="朏昢",
["分"]="扮盼頒朌鳻份汃玢邠攽砏貧湓盆葐坌坋分吩粉黺芬紛衯棻氛雰忿魵汾羒枌棼妢梤馚鼢蚡弅秎",
["糞"]="糞瀵",
["丰"]="邦梆垹肨蚌玤棒蜯琫菶俸髼蜂韸蓬篷唪埲丰妦仹峯峰鋒烽蠭桻莑夆捧逢縫漨捀奉",
["豐"]="豐蘴灃寷麷酆",
["封"]="幫鞤封葑犎崶湗",
["夆"]="胮逄舽",
["缶"]="寶珤缶缹",
["夫"]="趺肤邞鈇衭玞夫鳺扶妋麩蚨芙颫枎",
["旉"]="敷璷",
["巿"]="沛芾伂霈旆肺杮巿",
["弗"]="鄪費砩沸疿茀髴昲靅狒怫胇艴弗紼柫笰拂刜彿佛坲咈炥",
["伏"]="絥伏垘茯洑栿",
["孚"]="殍脬捊莩哹浮蜉桴罦琈粰烰艀俘孚孵稃郛筟",
["服"]="菔服鵩箙棴",
["畐"]="富輻副褔蔔匐逼偪幅楅湢堛愊踾揊稫畐疈腷鶝福蝠葍",
["复"]="愎鍑覆復椱複馥腹輹蝮蕧复鰒澓",
["甫"]="豧縛逋餔晡庯陠鵏峬誧秿鯆補圃鋪痡浦烳溥悑酺匍蜅脯葡蒱蒲簿捕哺簠甫黼莆俌郙傅搏麱尃榑輔鬴賻博髆鎛猼餺簙鑮欂蒪膊薄礡",
["父"]="抪布佈怖斧父蚥滏釜",
["付"]="鉜跗柎腑俯府付咐怤泭姇紨拊弣符苻坿腐附駙鮒袝蚹胕",
["阜"]="阜埠",
["負"]="負萯蝜偩",
["丐"]="丐匄",
["干"]="訐肝竿干奸玕汗迀忓鳱邗秆矸仠皯衦簳擀旰盰幹杆骭桿趕稈刊靬衎犴豻頇岸鼾罕焊蔊虷旱皔釬扞閈馯捍悍銲垾駻睅娨飦赶軒蓒酐澣",
["甘"]="紺姏嵌甘柑苷泔坩蚶酣甝魽邯鉗箝黚拑",
["敢"]="撖澉噉敢橄瞰闞憨譀巖礹豃讝玁嚴儼曮釅",
["倝"]="乾漧倝榦韓鶾翰瀚螒雗斡",
["岡"]="岡崗剛掆鋼綱犅堈",
["羔"]="羔糕餻窯溔",
["高"]="高膏篙稿稾槁縞暠槀藁燺薧犒蒿藃豪毫壕濠鎬滈鄗鰝薃搞敲髇嗃巐歊謞熇碻塙毃翯瀥",
["皋"]="睾皋",
["皐"]="臯橰鷱翱翺噑獋暭",
["夰"]="夰昦",
["杲"]="杲菒",
["告"]="造慥艁糙告誥郜祰靠浩晧皓窖簉梏硞牿鵠酷焅嚳頶",
["戈"]="戕戈划",
["革"]="革諽緙鞂",
["鬲"]="隔膈搹鬲槅嗝虉翮滆蒚鎘",
["各"]="髂路輅賂虂露潞鷺璐簬簵洛駱絡酪烙雒珞硌袼笿鉻鮥鵅挌落各胳閣格擱恪愙貉狢佫略茖骼觡蛒敋客喀揢額峉頟詻垎楁",
["艮"]="艱齦眼蛝限硍豤詪根跟珢艮茛墾懇垠泿痕拫鞎很恨銀檭",
["亘"]="烜貆峘狟絙荁宣咺暅桓洹揎愃瑄渲喧萱暄諠翧蝖垣楦",
["庚"]="唐煻糖搪蓎瑭餹篖螗塘鶶赯磄溏傏鎕榶嵣庚賡鹒康穅糠槺漮躿慷",
["耿"]="耿褧",
["工"]="缸篢贑涳江肛扛杠豇茳釭矼玒虹腔崆羫控椌悾跫啌谾舡缻項屸功工疘魟攻愩碽貢羾空箜硿埪鵼倥鞚叿嗊訌紅仜葒渱鴻汞澒鞏巩銎恐蛩筇桏邛",
["弓"]="弓穹焪芎",
["公"]="慃袞蔉滾忩鬆凇公蚣翁螉蓊嗡滃暡勜塕瓮崧菘硹淞蜙倯松訟頌忪彸衳伀妐炂鈆",
["厷"]="肱宏閎吰竑谹翃紘鈜浤耾雄",
["躬"]="躬匑躳窮藭",
["共"]="港巷衖鬨烘洪鉷谼葓哄蕻恭供龔珙共髸拱拲蛬栱輁舼輂",
["冓"]="溝篝鞲韝褠冓構購媾覯遘煹搆講耩傋斠",
["古"]="箇個居橭嫴姑辜酤蛄鴣沽盬古罟估鈷詁牯故固稒痼錮鯝棝凅枯軲跍骷苦葫餬瑚湖鶘猢醐糊箶蝴胡瓳怙祜岵婟楛据裾琚椐鶋蜛崌涺腒鋸倨踞涸",
["谷"]="螸裕容溶鎔蓉傛褣搈瑢嵱熔榕塎谷唂焀俗欲浴鵒峪鋊輍慾",
["股"]="股羖",
["骨"]="顝滑猾磆螖鶻嗗骨縎愲蓇尳榾搰核",
["鼓"]="皷鼓瞽",
["瓜"]="瓜坬窊畖搲攨孤苽胍泒呱觚柧罛軱菰箛狐弧",
["冎"]="碢腡過渦鍋楇瘑緺堝濄鐹薖簻禍窩萵檛膼蝸媧騧冎剮諣歄咼喎",
["枴"]="箉拐枴",
["夬"]="袂夬快駃筷炔觖缺蒛吷妜決訣抉玦芵赽鴂鈌决疦蚗趹",
["官"]="官棺倌悹涫管琯痯輨錧館婠悺逭菅綰捾",
["毌"]="毌貫樌鏆遦慣摜瑻謴",
["雚"]="觀灌鸛瓘矔懽爟雚罐鑵歡驩貛酄獾讙嚾權顴孉蠸虇勸",
["光"]="光灮洸桄胱垙輄恍茪侊晃幌榥滉觥駫",
["圭"]="街鞋娾佳鮭涯崖啀厓捱睚娃洼哇胿溎觟黊蘳蛙窪卦挂掛詿罣絓鼃圭珪邽閨袿窐茥桂筀奎刲蝰楏睳畦眭烓跬恚硅",
["規"]="嫢規槻鬹摫瞡窺闚",
["龜"]="鬮龜",
["巂"]="孈纗攜蠵鑴驨酅雟讗觽儶觿欈瓗携",
["癸"]="睽湀聧藈癸葵鄈楑戣鍨騤揆猤闋",
["鬼"]="謉瑰傀藱魁磈塊嵬隗槐瘣廆溾螝褢騩愧媿聭餽鬼魏巍犩",
["簋"]="簋孂",
["貴"]="藬僓頹穨蘈隤墤尵蹪瀢鞼膭憒靧潰繢嬇殨闠簣嘳蕢聵樻䙡匱臾饋櫃遺壝瞶貴",
["郭"]="郭埻崞椁槨噋廓鞹漷霩",
["果"]="裸躶果菓猓輠裹蜾惈粿窠稞課髁棵顆堁敤夥婐踝祼",
["亥"]="該垓賅陔豥荄郂姟絯晐峐侅胲頦奒輆欬硋閡咳孩亥劾痎烗骸駭刻餩核",
["害"]="轄害犗幰攇憲瀗割磍瞎鎋鶷縖豁",
["函"]="蜬函涵顄圅菡",
["寒"]="寒蹇謇搴藆騫褰攐鑳寋鶱",
["厂"]="厂屵",
["暵"]="儺臡嘆灘擹攤癱歎難暵熯漢戁",
["好"]="薅好",
["号"]="饕號号枵呺鴞",
["昊"]="昊顥灝",
["禾"]="科萪蝌犐禾和咊盉龢鉌俰",
["合"]="龕媕頜答畣荅嗒褡撘搭榙佮蛤鴿合郃匌鉿閤鞈韐鮯哈姶欱盒耠詥塔鞳劄跲袷餄恰帢洽祫珨烚歙湁拾給翕噏潝熻嬆翖闟",
["曷"]="愒馤靄餲喝揭偈猲葛輵獦渴嵑暍曷褐鶡毼蝎鞨遏齃堨擖楬朅藒竭碣羯鍻歇蠍謁",
["盍"]="蓋盖溘搕嗑榼磕瞌盍闔篕熆鰪廅圔饁",
["寉"]="鶴髉篧榷搉傕確寉蒮",
["黑"]="嚜嫼墨默纆黑潶",
["亨"]="亨享烹脝悙哼",
["亙"]="搄縆絙亙堩恆峘",
["弘"]="弘鞃苰泓宖紭",
["侯"]="緱侯喉猴瘊篌糇帿睺矦餱翭葔鄇鍭鯸候堠",
["后"]="垢詬茩姤銗骺后垕郈逅鲘缿",
["乎"]="罅呼軤苸嘑歑謼滹乎虖嫭",
["虍"]="唬戲巇隵嚱盧鑪壚籚蘆顱髗鱸攎櫨轤黸獹鸕艫纑瀘瓐爐嚧矑罏蠦虜擄艣鐪虖虍雐虎琥萀臚廬驢藘爈櫖儢慮勴鑢濾攄處豦據鐻澽虛墟懅蘧籧醵璩虡遽勮噓驉歔魖膚虧噱臄劇諕",
["互"]="魱互冱枑",
["戸"]="妒雇顧戽戶扈帍昈滬簄齭所",
["華"]="鞾華譁樺嘩驊鏵崋",
["化"]="訛吪鈋囮魤靴貨花化杹匕",
["畫"]="畫澅繣劃嫿",
["褱"]="瓌櫰褱懷瀤壞蘾",
["萈"]="寬髖萈臗",
["奐"]="渙瘓喚煥奐寏換",
["患"]="漶贃患槵",
["黃"]="僙廣鄺懬爌曠矌壙纊黃璜潢簧癀鱑獚蟥趪櫎擴瀇獷觵礦鑛穬橫黌鐄嚝彉彍",
["灰"]="脄盔詼恢灰",
["隓"]="鬌隋墮媠橢嫷毻堶憜惰嶞髓瀡隨隓隳撱",
["回"]="回徊茴洄迴佪蛔",
["毀"]="毀燬檓毇譭",
["卉"]="卉芔泋",
["彗"]="櫘彗篲鏏槥轊熭嘒暳嚖慧蔧雪",
["惠"]="韢繐憓潓惠蟪蕙橞譓鏸穗",
["會"]="譮會儈膾鱠襘禬檜旝澮鄶廥鬠劊獪繪懀薈嬒瞺噲璯",
["昏"]="鍲抿緡捪湣昏婚閽惛棔殙",
["圂"]="溷慁圂",
["火"]="火邩伙",
["或"]="幗慖簂蔮國或惑蜮閾緎淢域罭棫琙魊馘聝膕摑漍嘓蟈掝彧稶",
["蒦"]="檴鱯護頀濩韄鳠擭瓁劐穫鑊矆鸌雘蠖臒嬳彠嚄獲",
["霍"]="靃臛籗霍藿攉矐瀖癨",
["毄"]="繫檕轚蘻罊蟿礊擊墼",
["及"]="趿鈒靸馺砐魥扱笈衱极昅雭急級汲芨伋彶及岌吸",
["吉"]="秸髻夡鴶袺頡劼硈咭黠聐趌結拮桔狤擷襭翓纈吉郆詰蛣佶鮚姞欯恄",
["即"]="卪癤幯節蝍蠞堲唧楖揤櫛瀄擳即鯽",
["茍"]="亟茍殛極",
["疾"]="嫉疾蒺愱槉",
["棘"]="棘襋蕀",
["集"]="雜磼囃鏶穕潗集",
["几"]="肌飢机虮几麂",
["己"]="改跽己紀妀記杞屺芑邔玘忌鵋誋梞",
["丮"]="丮谻",
["脊"]="脊蹐鶺塉瘠膌",
["幾"]="機譏嘰磯鞿饑禨幾鐖僟璣蟣穖畿",
["戟"]="戟撠",
["旡"]="溉槩概摡慨嘅穊暨鱀塈既旡蔇炁櫭曁",
["季"]="季悸痵",
["祭"]="蔡瘵祭際穄鰶傺摖擦攃礤察詧",
["冀"]="冀驥懻",
["罽"]="罽瀱蘮",
["繼"]="繼檵",
["加"]="妿賀迦茄伽枷嘉加笳痂袈跏珈鴐架駕瘸",
["夾"]="瘞瘱脥浹挾夾郟筴裌鵊狹峽硤陜陿翜梜頰莢鋏蛺唊悏匧愜篋俠綊",
["家"]="家傢幏稼嫁",
["戛"]="戛嘎",
["甲"]="笚閘鉀甲胛岬押玾呷匣狎柙翈炠鴨庘",
["叚"]="葭麚瘕豭貑猳犌假嘏婽椵叚蝦煆霞遐瑕鰕碬蕸赮鍜騢暇",
["戔"]="殘戔帴虥盞醆琖剗棧輚嶘錢俴籛淺濺踐諓餞賤綫箋牋",
["肩"]="顅掮肩猏菺鵳",
["姦"]="姦葌",
["兼"]="譧賺尲鹻歉槏鰜稴豏甉廉鎌鬑鐮簾薕蠊嬚溓嵰隒熑濂燫兼縑鶼蒹搛謙膁嗛慊傔馦嫌鼸尷",
["監"]="藍襤籃懢儖蘫攬欖覽爁擥灠濫嚂纜監礛鑑艦檻壏轞鹽",
["柬"]="蘭攔欄瀾讕闌韊幱籣躝爛爤鑭糷斕揀柬暕諫練鍊煉楝萰堜湅",
["繭"]="襺繭蠒",
["幵"]="笄枅蚈羿栞雃詽揅幵鳽豣麉趼汧岍研妍訮鈃",
["見"]="涀莧粯晛筧絸垷挸見俔蜆硯峴哯睍現",
["建"]="犍騝鍵揵鞬腱湕建旔楗健",
["閒"]="間簡澗鐧蕑覵襉僩鬜癇瞯憪橌撊",
["薦"]="瀳韉薦",
["畺"]="畺畕礓繮韁橿薑疆壃僵彊麠",
["夅"]="贛灨竷戇洚降絳栙夅跭隆癃窿霳",
["交"]="烄礮交郊茭蛟鮫鵁咬鉸佼詨絞狡姣筊校珓跤頝骹齩洨胶效効傚皎恔晈窔駮",
["焦"]="癄焦蕉鷦僬噍膲鐎蟭燋醮潐趭樵譙憔劁顦嶕撨穛",
["角"]="捔桷角埆确斛槲蔛",
["敫"]="礉邀憿徼儌璬皦繳敫譥激噭獥鸄墽竅覈燩檄薂",
["皆"]="皆偕階喈稭堦楷鶛湝蝔鍇揩諧瑎龤",
["孑"]="孑𨥂",
["劫"]="劫蜐",
["疌"]="疀萐箑啑睫婕緁捷疌寁倢崨踕誱徢蜨",
["桀"]="桀傑榤嵥滐搩謋",
["截"]="巀截蠽",
["解"]="薢解檞懈繲廨蟹獬澥嶰邂",
["丯"]="夆丯瘛觢契栔禊稧楔葜猰窫揳偰潔絜鍥挈蛪齧褉喫",
["介"]="妎芥尬界介疥玠砎魪价衸齘骱扴圿忦",
["戒"]="祴駴戒誡悈械裓",
["巾"]="巾帘",
["今"]="貪嗿僋酓馠谽唅含肣頷筨梒鋡莟琀浛盦韽玪妗欦黔鈐鳹雂念梣枔岑笒涔侺今黅衿衾坅搇琴禽芩庈耹靲擒檎紟吟訡廞陰霠飲蔭廕矜",
["斤"]="蘄祈頎旂圻蚚岓玂沂掀釿齗听垽斤菦靳劤勁赾芹近斦欣忻昕訢炘邤庍焮",
["金"]="淦顉金錦欽菳嶔撳捦鵭唫鈙崟趛",
["兓"]="簪撍鐕憯噆朁蠶蚕糣熸鬵灊潛僭兓嶜兂譖",
["津"]="葏津",
["堇"]="囏螼堇墐𥎊僅瑾覲殣饉廑瘽歏鄞謹槿漌慬勤懃懄",
["盡"]="濜盡賮燼藎壗璶",
["晉"]="鄑戩榗晉縉搢瑨",
["進"]="璡進",
["坙"]="羥俓牼硁誙娙莖痙",
["巠"]="葝頸勁鑋輕涇經鵛巠剄烴徑逕桱蛵陘鋞脛踁",
["京"]="涼凉椋綡輬諒掠弶京麖鶁景鯨黥勍剠倞影璟憬暻澋",
["兢"]="兢殑",
["井"]="硎耕荊井丼妌穽阱汫刑形邢鉶型侀",
["竟"]="滰境竟鏡獍樈璄摬",
["敬"]="蟼憼驚警儆璥檠敬擎曔",
["誩"]="誩競",
["冋"]="苘詗駉坰冋絅扃炯迥泂",
["臦"]="臩臦",
["丩"]="艽芁荍叫訆嘂收糾朻丩赳虬虯觓",
["九"]="尻訄艽虓鳩勼九究仇鼽犰叴厹頄朹馗扏訅釚肍軌宄氿匭泦旭",
["久"]="畂久灸玖疚柩羑",
["臼"]="臼齨桕舅舊匶閰",
["咎"]="咎鼛櫜倃綹麔晷厬",
["就"]="僦就鷲殧噈蹴",
["廄"]="廄匓",
["匊"]="菊鞠掬匊鵴椈諊踘趜蘜鞫巈麴毱驧",
["局"]="鋦挶梮局跼侷",
["狊"]="瞁湨郹狊鶪鼳犑闃",
["巨"]="柜渠磲蕖蟝璖巨距拒苣炬詎鉅秬粔駏歫矩榘",
["句"]="勾鉤鴝句夠枸軥狗苟岣笱玽耇豿敂怐雊竘齁呴蚼豞訽佝拘駒眗跔鮈痀蒟絇邭劬朐鼩斪翑葋姁欨喣煦昫",
["具"]="俱椇具埧颶",
["瞿"]="瞿衢氍癯蠷臞欋鸜灈躣忂戵鑺懼",
["龹"]="潫豢勬韏眷桊絭觠飬弮拳卷齤券",
["卷"]="腃卷菤捲埢睠弮犈棬鬈圈蜷踡婘蔨倦淃綣裷",
["雋"]="隽檇臇嶲鐫雋儁寯",
["欮"]="鱖蹶厥欮蕨劂瘚蟨蟩橜撅闕橛鷢蹷憠",
["絕"]="蕝脃脆絕",
["爵"]="釂皭爝爵嚼穱灂",
["矍"]="钁攫矍躩玃貜彏戄籰",
["君"]="涒麏莙輑蜠峮窘僒君桾宭鮶捃群羣裙裠帬焄郡",
["軍"]="揮輝翬暉煇楎瀈韗褌鶤緷睴璭瘒顐諢餫渾琿鼲堚鯶軍皸齳喗葷惲賱運暈鄆",
["侃"]="諐侃偘",
["亢"]="笐亢牨苀魧迒邟忼骯抗炕伉閌犺蚢砊阬頏航杭沆肮吭秔坑劥",
["丂"]="丂攷考烤拷栲洘銬巧朽",
["殻"]="彀鷇瞉豰瑴愨殼觳嗀穀糓轂榖瀔縠",
["可"]="砢柯菏牁滒哥歌謌鴚哿舸笴軻珂可岢坷蚵呵訶抲荷何河苛魺袔阿妸疴鈳娿痾跒閜",
["克"]="克剋勊",
["肯"]="肯肎",
["孔"]="吼孔",
["口"]="口叩扣釦筘",
["寇"]="滱寇簆蔻",
["圣"]="怪恠圣",
["凷"]="凷屆",
["款"]="款欵歀窾",
["夔"]="夔犪躨",
["昆"]="昆琨鯤菎崐蜫惃錕猑騉緄輥棍餛混焜倱掍箟",
["困"]="硱梱捆綑閫悃稛裍齫困涃",
["桰"]="咶話刮鴰趏舌姡頢括活适栝佸髺聒銛葀懖筈萿蛞闊秳",
["剌"]="莿鵣辣辢剌揧瘌楋蝲",
["來"]="來萊淶徠崍郲騋猍鯠鶆庲棶斄逨麳唻賚睞勑誺倈憖猌麥",
["賴"]="賴籟癩瀨藾攋懶嬾獺",
["牢"]="牢窂哰",
["勞"]="勞撈嘮癆簩蟧憥澇僗髝膋犖",
["老"]="老姥栳恅",
["樂"]="樂轢濼躒擽爍鑠藥櫟纅礫瓅皪觻嚛",
["畾"]="摞騾螺蔂虆瘰礌雷擂攂礧儡瓃櫑鑘鐳畾轠罍蕾癗磥累儽樏鸓嫘纍欙纝壘櫐蘽藟讄",
["厽"]="絫厽垒",
["耒"]="頛郲耒銇洡誄",
["磊"]="藞磊",
["頪"]="蘱纇類頪禷",
["离"]="謧璃離縭离醨樆褵漓黐籬灕蘺攡魑螭摛",
["釐"]="犛釐嫠剺孷漦氂",
["蠡"]="盠欚劙",
["里"]="埋霾薶榸厘狸貍梩艃里理鯉俚悝娌裏荲",
["豊"]="體軆禮澧醴豊鱧",
["力"]="勒肋扐仂艻朸玏泐阞竻力屴鳨",
["立"]="涖莅蒞位拉菈颯立粒笠砬岦苙鴗雴泣",
["利"]="犁黎莉黧鯬筣蔾藜邌瓈鵹棃梨蟍蜊鑗利痢浰",
["丽"]="灑籭躧曬廲驪鱺欐丽麗儷鸝酈孋矖穲邐彲釃襹纚",
["戾"]="錑戻戾綟唳蜧捩悷淚",
["隶"]="曃埭逮靆齂棣隸肆蕼肂殔隶",
["栗"]="栗溧慄鷅凓篥麜瑮塛搮",
["秝"]="秝歷曆磿靂癧櫪藶瀝攊厤",
["連"]="連漣鰱翴鏈璉僆摙蓮嗹縺",
["良"]="剆郎稂桹鋃硠浪蜋琅狼欴踉莨艆駺躴筤閬哴蓈廊榔螂瑯朗朖誏俍崀埌蒗娘良粮悢",
["兩"]="倆兩脼緉蜽魎輛",
["量"]="糧量",
["了"]="釕了",
["料"]="料炓",
["尞"]="簝潦獠轑橑燎繚璙憭爒僚嫽療膫鷯遼撩嘹寮飉竂鐐蟟瞭嶚镽",
["列"]="例鮤栵洌銐峛列裂烈冽迾蛚茢颲鴷挒姴",
["巤"]="鑞蠟邋臘臈擸擖獵躐鬣儠犣鱲巤獦",
["林"]="婪惏啉漤醂林琳淋痳箖霖菻罧棽綝郴禁襟僸澿噤凚齽",
["粦"]="潾膦憐燐鄰轔嶙粼磷疄麟鱗璘翷瞵獜驎鏻繗僯橉撛遴粦甐",
["吝"]="麐吝悋",
["閵"]="藺閵躪轥",
["夌"]="棱稜輘倰祾踜凌菱陵綾鯪淩夌蔆崚掕𩜁庱睖",
["霝"]="靈霛麢霝醽櫺蘦孁龗酃爧欞",
["令"]="令怜零魿命冷跉嶺領阾柃袊詅旍舲齡囹鴒蛉鈴苓伶泠瓴拎刢玲聆竛軨笭翎閝鹷昤駖彾呤狑秢岭紷砱羚姈蕶澪",
["流"]="流硫琉旒瑬裗",
["六"]="六圥",
["翏"]="醪嫪嘐賿顟膠轇摎髎熮廖憀豂漻翏寥蓼鄝鷚繆勠疁飂鏐僇瘳璆謬蟉樛磟戮剹穋",
["龍"]="驡龐瀧籠豅朧龓聾礱嚨蘢櫳襱瓏曨鸗蠪巃竉攏儱龍躘隴壠壟寵龏",
["婁"]="樓摟耬僂婁螻髏蔞鞻艛膢廔嘍瞜簍慺鷜褸遱謱嶁甊塿漊鏤瘻擻藪籔氀縷屢數屨窶貗",
["屚"]="漏瘺屚",
["鹵"]="滷鹵樐蓾鏀",
["魯"]="魯櫓穭",
["圥"]="灶竈鼀",
["坴"]="睦坴陸稑鵱鯥淕踛",
["彔"]="剝龣祿淥睩琭箓碌盝娽彔趢簶綠逯錄醁騄菉籙",
["鹿"]="鄜鹿漉轆簏螰麓騼摝廘蔍鏕",
["呂"]="櫚閭吕侣梠郘絽莒筥",
["寽"]="酹脟捋蛶埒鋝浖哷寽",
["旅"]="玈旅膂祣",
["率"]="率繂膟蟀",
["䜌"]="蠻矕變鸞巒灤欒鑾臠羉䜌灓圝曫孿彎灣攣孌戀㪻",
["卵"]="卵關関聯",
["亂"]="覼亂薍",
["侖"]="蜦綸論崘掄菕惀睔碖溣倫淪輪侖陯鯩棆踚耣錀",
["羅"]="羅蘿籮儸饠欏囉鑼邏",
["蠃"]="驘鸁蠃臝羸",
["麻"]="麻痲犘縻醿爢蘼靡摩魔磨劘麽麼塺麾",
["馬"]="馬碼罵鷌鰢瑪榪傌禡媽",
["買"]="買蕒嘪鷶賣",
["曼"]="獌鬘謾慢嫚縵曼饅蔓鰻墁鏝槾漫幔蟃",
["尨"]="厖駹狵尨浝哤牻娏蛖𥆙痝𪁪",
["茻"]="莽茻",
["莽"]="蟒漭",
["毛"]="毛髦旄芼氂枆酕牦耄覒眊耗秏毣",
["矛"]="堥蓩猱茅罞蝥鶜瞀愗袤雺懋楙矛蟊髳鍪鞪糅腬柔揉蹂鍒騥蝚葇鞣鰇瑈鶔楺煣輮韖敄務鶩騖婺霚嵍霧霿楘",
["卯"]="卯昴泖茆奅窌聊貿鄮劉留蒥鶹騮榴瑠瘤遛鎦飀鰡嵧餾瀏懰柳珋罶嬼溜霤廇塯",
["冃"]="媢冃冒帽瑁賵艒萺勗勖",
["皃"]="貌皃藐邈",
["眉"]="眉楣嵋湄鶥瑂郿葿媚篃蝞煝",
["美"]="美渼媄",
["門"]="蔄闅閩蕄門捫悶聞閿問",
["冡"]="蒙冡濛艨朦矇饛檬鸏幪蠓靀曚",
["夢"]="蘉瞢懜懵甍薨夢鄸",
["米"]="謎迷米眯洣蔝麊冞糜敉侎麋蘪攗",
["羋"]="羋蝆",
["冖"]="冟冖冪羃濗鼏",
["覓"]="覓漞",
["芇"]="芇蹣瞞顢樠慲鬗滿鏋懣璊",
["綿"]="綿棉緜矊",
["臱"]="臱矏櫋籩邊",
["丏"]="汅沔丏眄麪",
["免"]="免娩勉俛鮸冕絻婏浼鞔悗嬎晚挽輓脕莬",
["面"]="蝒緬湎愐偭勔面麵",
["苗"]="貓描媌緢苗猫庿",
["蔑"]="礣蔑篾蠛懱幭鱴衊瀎襪韤韈",
["民"]="眠民泯怋岷珉罠笢鈱抿刡敃愍暋蟁",
["皿"]="猛艋蜢皿孟",
["閔"]="憫閔潣簢燘",
["黽"]="澠黽僶繩譝憴鱦蠅鄳鼆",
["名"]="名洺眳詺銘茗酩姳",
["明"]="莔明盟萌奣",
["冥"]="瞑嫇慏冥榠鄍溟螟猽蓂覭暝幎幂塓",
["末"]="眛沬佅韎帓粖末昩秣靺眜抹妺怽沫袜",
["沒"]="沒歿莈",
["莫"]="蟆鬕饃模摸嫫謨膜摹暮慕募墓慔莫寞漠幕鏌瘼鄚瞙嗼塻貘驀",
["牟"]="牟眸侔蛑麰劺恈鴾",
["某"]="某謀媒煤腜禖",
["母"]="脢挴海毐呣拇母胟姆畮踇苺莓敏鰵慜毋梅酶鋂每毎痗晦誨悔霉",
["畝"]="畝畞",
["姥"]="姥峔",
["目"]="瞐苜目",
["木"]="木沐朷蚞霂",
["乃"]="乃鼐疓奶仍艿辸礽扔芿",
["奈"]="奈柰渿捺",
["南"]="南楠腩湳揇萳罱喃諵",
["夒"]="獿犪擾",
["匘"]="腦惱瑙匘碯硇𣳦",
["內"]="妠內笍芮枘汭鈉蜹抐納衲魶軜蒳豽肭吶焫訥",
["能"]="態能螚褦",
["尼"]="泥屔苨坭迡埿旎狔抳尼呢怩柅蚭跜秜痆昵",
["孴"]="孨孴",
["屰"]="斥訴泝愬遡塑溯遻柝鶚諤齶鍔遌崿偔堮湂鱷噩咢鑩鄂鰐萼愕顎朔槊蒴坼拆逆屰縌蝷",
["匿"]="暱慝匿",
["輦"]="輦鄻攆",
["念"]="淰唸埝趝諗稔棯腍捻錜敜惗菍",
["鳥"]="島搗鵃瞗鳥蔦窵",
["臬"]="甈臬嵲臲闑",
["聶"]="攝聶鑷躡襵懾囁欇灄顳讘",
["寧"]="濘獰檸儜薴鬡鑏嬣寍寗甯寧鸋嚀聹",
["農"]="嶩噥鬞擃齈癑農辳憹膿儂濃醲襛穠檂",
["弄"]="筭弄梇哢硦",
["女"]="拿拏詉蒘笯挐絮呶怓帑奴砮駑孥努弩怒袽帤女籹恕如茹洳鴽蕠汝肗",
["虐"]="虐瘧謔",
["派"]="庍派脈脉衇眽覛霢",
["佩"]="佩珮",
["配"]="配嶏",
["朋"]="崩堋漰倗朋鵬棚鬅掤淜輣繃弸",
["彭"]="澎彭膨蟚蟛憉",
["皮"]="陂詖彼柀佊貱跛披鈹帔鮍耚狓翍旇秛紴皮疲被髲鞁骳波碆菠簸駊頗坡玻破婆蔢",
["匹"]="匹鴄",
["片"]="爿片沜",
["票"]="標鏢瘭幖熛蔈膘褾票飄漂螵瞟嫖旚僄慓彯摽翲嘌縹醥顠篻剽勡薸瓢鰾驃",
["頻"]="瀕頻顰蘋嚬",
["品"]="臨瀶品",
["甹"]="俜甹聘娉騁梬",
["平"]="平怦砰抨閛伻評坪苹枰泙蚲胓匉萍",
["咅"]="蓓倍菩掊剖婄踣箁咅部培犃瓿殕醅棓涪賠陪毰焙",
["菐"]="樸璞墣撲轐獛蹼襆濮纀醭僕菐穙鏷幞",
["普"]="譜普",
["七"]="切砌沏七柒叱",
["妻"]="妻萋淒凄悽鶈郪緀霋棲",
["桼"]="漆桼膝厀",
["其"]="基箕朞稘萁期諅其錤諆欺娸魌僛唭棋旗淇祺琪騏綦麒蜞綨蜝棊碁鯕踑藄櫀璂禥惎帺",
["奇"]="奇畸剞羇掎攲躸踦寄徛欹崎觭碕綺婍騎琦鵸錡輢齮犄猗椅旖陭檹漪倚",
["畁"]="畁萆",
["齊"]="儕麡齋穧擠躋齏齎櫅齌隮賷虀濟癠霽齊臍蠐懠薺鱭嚌劑齍",
["乞"]="乞盵齕紇籺圪訖吃扢疙屹仡迄釳忔汔矻麧",
["豈"]="獃剴凱愷塏鎧颽暟闓豈隑皚嵦敳磑螘覬溰顗",
["啓"]="啓啟棨綮晵闙启",
["气"]="愾忾刏汽氣气忥餼鎎熂霼犔",
["咠"]="楫檝湒咠葺緝諿輯箿蕺戢濈霵揖",
["牽"]="牽縴",
["僉"]="厱歛臉醶鹼薟匳獫蘞籢斂瀲撿羷殮簽僉憸譣檢瞼儉顩嬐嶮噞驗險劒劍𩏩",
["遷"]="遷櫏韆僊躚蹮",
["前"]="媊煎湔鬋剪翦譾揃箭葥前騚歬",
["虔"]="虔鰬榩",
["遣"]="遣繾譴",
["欠"]="坎扻砍芡欠杴鍁",
["爿"]="臧牂戕贓藏奘臟將漿鱂蔣螿槳獎醬鏘蹡嶈斨爿牆妝莊裝壯疒床牀狀",
["強"]="繈襁膙鏹勥強",
["牆"]="薔廧蘠嬙檣",
["喬"]="驕嬌憍穚鷮蕎喬簥撟矯鱎敽蟜譑蹻繑鞽趫嘺橋僑鐈毊轎嶠獢屩",
["且"]="虘蔖摣袓怚罝謯姐抯飷且趄笡查柤樝皻渣楂苴駔租蒩祖組珇靻粗徂殂麆伹蛆沮咀疽雎狙岨砠坥刞覰覷跙筯菹葅阻俎詛鉏豠鋤耡齟助",
["妾"]="霎翣帹接椄菨鯜妾淁踥",
["侵"]="鋟綅祲埐梫濅浸侵駸寢寑薓",
["秦"]="轃秦螓臻蓁搸溱榛",
["頃"]="顈傾頃穎潁熲",
["殸"]="殸聲謦磬罄馨",
["慶"]="慶羻",
["丘"]="丘邱蚯丠",
["秋"]="鍫篍愀湫揪揫啾鬏秋鰍楸秌鞦鶖萩甃醔愁僽",
["囚"]="鮂囚泅苬",
["求"]="救求球逑賕蛷莍殏梂俅脙絿銶毬捄觩",
["區"]="摳彄剾謳歐區鷗甌漚瞘嘔櫙膒蓲醧鏂毆塸貙樞驅軀嶇鰸敺傴嫗饇",
["取"]="陬棷掫緅趣取鯫棸鄹郰齱菆箃黀驟最襊蕞嘬諏娵娶聚埾藂叢繓撮",
["去"]="佉呿抾弆祛袪阹胠魼去麮鼁砝劫鉣蜐怯",
["全"]="拴栓跧痊詮荃銓筌輇硂佺駩絟恮峑全仝牷",
["泉"]="線泉葲灥",
["犬"]="猚畎汱甽犬",
["郤"]="腳脚卻却谻郤綌",
["囷"]="菌麇麕囷箘攈",
["肰"]="嘫然肰繎燃蹨橪撚",
["冉"]="那挪娜柟抩聃舑坍髯蚺呥冉袡苒姌",
["人"]="千仟芊阡汘迁杄人仁朲佞",
["壬"]="紝鵀拰賃任壬恁銋荏餁栠袵飪妊衽",
["刃"]="涊紉忍荵刃認仞軔韌肕牣杒訒",
["日"]="涅捏篞衵日馹",
["戎"]="娀戎茙駥狨絨",
["茸"]="茸髶搑榵穁",
["冗"]="宂冗",
["肉"]="朒肉",
["乳"]="啂乳",
["辱"]="耨槈鎒搙褥傉辱縟蓐鄏溽媷嗕",
["耎"]="陾腝堧稬愞煗餪渜偄瑌軟輭蝡碝耎緛媆",
["甤"]="甤蕤",
["睿"]="睿叡璿壡濬",
["閏"]="撋瞤潤閏",
["若"]="若婼惹諾蠚逽蹃箬楉鄀",
["弱"]="嫋弱溺蒻搦愵",
["塞"]="賽塞簺僿寨",
["三"]="三弎",
["散"]="散糤繖饊鏾潸霰撒",
["桑"]="桒桑磉顙嗓搡",
["掃"]="掃埽",
["色"]="色赩",
["嗇"]="濇嗇穡薔轖繬嬙懎",
["歰"]="澀歰澁",
["杀"]="閷鎩殺蔱摋煞榝刹",
["沙"]="硰娑挱挲桫渻沙紗砂鯊裟桬髿魦莎莏",
["彡"]="杉彡衫髟釤䑣彤浵肜",
["山"]="山疝邖汕訕仙秈苮屾",
["删"]="珊跚姗删栅",
["羴"]="羴羼",
["扇"]="扇煽傓",
["善"]="橏嫸善譱蟮鱔僐鄯墡磰繕膳饍",
["商"]="商蔏螪",
["上"]="丄上",
["尚"]="當襠鐺簹璫檔儅蟷擋黨讜欓譡闣瓽鏜闛鼞曭儻戃矘爣攩淌倘躺趟堂坣棠糛螳隚橖掌廠敞僘氅常嘗裳徜尚甞鋿嫦償賞瞠撐樘橕牚埫",
["勺"]="豹趵尥箹杓約扚釣瘹芍酌灼勺彴犳妁汋仢葯礿肑瓝的靮馰玓魡",
["舌"]="絬舌",
["射"]="謝榭射麝",
["設"]="設蔎",
["申"]="電胂申伸呻紳眒柛訷抻神朄",
["身"]="身銵",
["罙"]="探棎賝琛穼深",
["宷"]="宷審瀋嬸",
["昚"]="昚傄",
["甚"]="湛媅黮糂堪戡嵁歁勘磡墈偡碪椹揕踸鍖斟諶愖瘎煁甚葚",
["升"]="升昇陞抍",
["生"]="猜輤綪倩棈蒨篟生牲笙甥鉎珄鼪猩狌眚貹崝精菁鶄蜻鼱婧睛箐聙旌清圊請凊䝼靚情晴夝靜靖睲惺性姓靗鯖青靘掅胜曐星鮏腥鯹醒篂",
["省"]="省渻箵",
["聖"]="檉蟶聖聽廳",
["尸"]="杘尸鳲屍屎",
["失"]="眣蛈迭跌瓞昳胅軼苵镻詄泆趃柣抶秩帙紩袠翐妷失佚劮",
["師"]="篩師鰤蒒獅螄",
["濕"]="儑濕漯礘隰溼",
["十"]="針汁卙十什",
["石"]="柘妬蠹沰拓橐袥驝斫磭磔跖石碩祏鉐鼫",
["食"]="飤食蝕飾飭",
["史"]="吏倳剚事史使駛",
["矢"]="彘璏薙知蜘智鼅潪踟雉矢痴",
["士"]="茌士仕",
["氏"]="氏衹紙帋扺坁汦忯眂舐芪祇疧軝蚔",
["世"]="貰跇迣世泄枻詍靾袣抴呭勩屜鰈渫煠喋鞢殜葉弽韘枼楪揲鍱偞蝶牒蹀諜堞牃褋惵碟屧屟紲齛疶緤媟",
["示"]="示祁狋視眎沶",
["是"]="鞮隄堤鍉蝭醍緹提瑅題媞褆禔騠趧鯷踶徥匙是諟翨睼寔湜遈",
["筮"]="噬筮簭澨遾",
["奭"]="奭襫",
["手"]="杽手",
["守"]="守狩",
["首"]="道導首",
["受"]="受綬授",
["壽"]="禱擣檮壔懤濤燾翿幬儔譸籌疇躊燽薵魗醻壽璹鑄",
["嘼"]="獸嘼",
["殳"]="吺祋投骰酘坄殳杸",
["尗"]="椒茮踧蔋惄戚慼鏚慽磩寂嘁墄摵督錖裻傶蹙槭縬顣敊琡俶埱淑婌尗叔掓菽鮛",
["疋"]="疋蝑壻婿胥稰楈諝湑揟醑糈楚礎憷齼濋儊綀疎疏蔬梳",
["孰"]="熟孰塾",
["鼠"]="鼠癙",
["蜀"]="襡噣斣歜斀孎濁鐲鸀擉獨髑韣斸钃欘躅蠋燭囑矚屬属蠾觸臅觕蜀",
["朮"]="訹怵朮炢術述秫沭蒁",
["束"]="涑鏉摗駷嗽瘶欶漱捒悚竦娕梀速餗殐遬蔌樕藗誎束",
["庶"]="褯遮蔗鷓樜蟅嗻鍍度渡庶剫踱喥謶席蓆墌摭蹠",
["刷"]="涮刷",
["衰"]="蓑缞衰榱",
["雙"]="雙艭愯㩳",
["爽"]="摤磢漺傸鷞騻爽塽樉",
["水"]="沝水",
["厶"]="私厶",
["司"]="司伺覗笥詞祠柌嗣孠飼呞",
["虒"]="擨搋鷈謕嗁蹏鼶遞虒榹磃傂螔禠褫篪歋",
["斯"]="嘶撕斯廝蟴燍鐁凘澌",
["絲"]="絲蕬鷥",
["巳"]="巳祀汜戺起熙媐圯异巸",
["四"]="訵四泗駟柶牭呬",
["寺"]="等待寺持峙痔跱歭洔畤秲庤時鰣塒蒔榯恃侍詩邿特",
["宋"]="浨俕宋",
["叟"]="㮴艘嫂瞍謏叜叟傁廋醙遚餿搜颼溲鎪獀鄋螋騪瘦",
["夙"]="洬夙",
["素"]="素傃嗉膆塐",
["宿"]="宿蓿縮樎蹜摍",
["粟"]="粟憟",
["肅"]="簫蕭瀟潚彇蟰橚嘯歗熽繡鏽肅鷫驌鱐璛",
["祘"]="蒜祘",
["算"]="纂繤算匴篹篡攥",
["遂"]="隊邃譢遂隧燧襚旞璲檖澻鐆鐩穟墜",
["歲"]="噦翽鐬濊歲劌顪穢薉獩饖奯",
["孫"]="孫猻蓀搎遜愻",
["飧"]="飧蕵",
["隼"]="隼榫准準",
["索"]="索溹",
["惢"]="惢蕊蘂繠",
["瑣"]="鎖瑣溑",
["它"]="佗拕它蛇袉鴕駝紽鮀陀沱跎詑酡迱舵柁鉈",
["蹋"]="傝搨蹹榻遢鰨毾塌溻蹋躢闒",
["譶"]="誩譶霅",
["台"]="胎台邰鮐孡苔抬駘炱菭跆殆怠迨紿詒軩咍佁枲辝鈶笞齝眙治始怡貽飴瓵珆",
["臺"]="懛儓臺擡薹嬯檯籉",
["覃"]="鷣撢憛潭譚覃鐔藫橝蟫燂醰禫嘾贉瞫蕈鱏簟驔磹",
["曇"]="曇壜",
["炭"]="炭湠",
["弢"]="弢詜",
["匋"]="掏蜪陶萄啕淘騊匋祹綯",
["替"]="替暜僣",
["天"]="添忝悿舔菾天吞祆蚕",
["田"]="田佃畋畇鈿沺甸",
["甜"]="銛栝餂恬湉甜狧",
["廷"]="蜓涏綎珽脡侹頲廷庭鼮莛筳霆娗挺艇鋌梃誔",
["同"]="鮦侗恫痌同仝銅桐峒硐筒洞烔挏酮鲖眮衕哃絧姛詷胴駧迵戙",
["禿"]="禿鵚",
["突"]="突宊揬鼵葖鶟堗",
["圖"]="啚圖",
["土"]="社肚土吐芏杜靯荰",
["兔"]="菟兔鵵梚",
["退"]="腿退褪",
["豚"]="豚遯",
["妥"]="妥鵎挼骽脮餒浽娞鮾綏荽鋖桵",
["瓦"]="瓦邷",
["丸"]="骫丸紈芄汍肒",
["萬"]="糲犡噧邁勱蠆厲勵礪蠣蠇癘濿櫔巁贎萬",
["亡"]="忙芒茫恾吂汒朚邙杗荒肓衁巟詤慌謊喪亡望莣朢鋩硭忘网罔蛧網輞棢惘菵誷魍妄盲蝱虻氓甿",
["王"]="皇惶遑堭煌餭騜艎隍湟徨篁蝗凰偟媓韹葟皝汪尪迋逛誑匡筐框眶誆邼恇劻洭軭狂軖鵟俇王蚟彺旺諻喤瑝鍠揘",
["往"]="暀誑枉往",
["危"]="鮠峞頠詭垝陒觤恑蛫祪洈姽桅佹跪危峗硊卼",
["威"]="崴威葳隇蝛鰄楲",
["微"]="矀覹黴薇媺微溦癓徽幑",
["韋"]="禕郼褘諱媁幃違圍韋闈湋鍏潿韙煒暐偉瑋葦椲韡愇緯",
["唯"]="匯擓淮睢嶉趡踓雖濉倠婎蓶維惟唯濰琟鷕帷鵻",
["爲"]="譌嬀潙蟡僞噅撝爲鄬蔿儰寪蘤",
["尾"]="娓尾浘",
["委"]="矮躷捼倭涹踒餧諉痿萎逶覣蜲委緌",
["未"]="寐魅鬽昧妹眛沬未味鮇菋",
["畏"]="煨偎隈椳鰃渨葨揋猥嵔鍡碨腲餵畏",
["胃"]="喟胃謂媦蝟渭煟緭",
["尉"]="尉熨慰罻犚蔚螱褽鳚",
["衛"]="衞讏躛",
["𥁕"]="媪蝹溫𥁕輼蕰殟豱緼韞瘟揾氲煴馧蒀藴褞醖慍蘊腽榅嗢",
["文"]="旻旼汶忞盿枚玫玟文紋蚊雯彣馼鳼鼤抆紊",
["我"]="莪哦娥峨峩鵝俄蛾睋涐誐硪我騀餓義儀轙檥蟻艤礒羛議犧曦羲",
["巫"]="巫誣莁鵐",
["屋"]="握幄偓渥齷楃喔腛媉屋剭",
["烏"]="烏嗚鰞歍鎢瑦鄔螐隖塢溩",
["吳"]="吳蜈鋘麌祦誤悞娛虞澞鸆俁噳",
["無"]="墲橅膴幠鄦撫無瞴蕪璑鷡譕憮舞廡嫵甒潕儛",
["五"]="吾衙鼯浯珸郚齬鯃娪梧峿五伍寤啎晤悟逜窹捂鋙語圄敔",
["午"]="卸汻滸午仵旿忤迕杵籞蘌篽禦許御",
["武"]="賦陚武鵡珷碔娬",
["兀"]="虺豗鼿虫髡軏扤兀杌屼矹",
["勿"]="脗吻刎伆勽沕忽昒惚匫笏曶淴物勿芴岉",
["戊"]="茂戊",
["夕"]="夕汐穸",
["兮"]="盻兮枍",
["西"]="粞洒西卤卥栖茜哂",
["希"]="桸郗絺脪瓻希晞莃鵗稀睎豨悕俙欷浠唏",
["昔"]="借唶藉躤蜡齰醋錯措厝逪剒鵲碏踖趞皵舄斮簎諎矠庴籍耤猎昔惜腊焟棤",
["析"]="菥蜤析皙蜥淅惁晰",
["屖"]="厗屖遟謘稺",
["息"]="息熄媳鄎瘜蒠",
["悉"]="僁悉蟋窸",
["犀"]="摨犀遲墀",
["醯"]="橀醯",
["奚"]="謑膎鞵榽鷄雞谿嵠溪磎螇鸂奚豯徯蹊騱傒鼷蒵貕慀",
["習"]="摺磖褶慴霫習鰼騽飁槢熠",
["徙"]="簁徙褷屣縰蓰",
["喜"]="嘻嬉禧熹僖歖譆瞦喜憙蟢糦饎",
["系"]="係系",
["舄"]="寫瀉舄獡潟磶蕮",
["隙"]="虩隙",
["下"]="丅下芐",
["夏"]="榎廈嗄夏",
["先"]="洗先銑跣毨姺筅冼箲駪兟詵侁",
["鮮"]="鮮廯癬蘚",
["咸"]="感鱤顑轗撼憾喊緘瑊黬減羬麙咸鹹醎諴椷輱鍼箴葴鱵",
["閑"]="閑嫻鷴",
["顯"]="顯韅",
["臽"]="萏窞惂輡錎埳臽淊欿蜭啗鵮餡陷爓諂讇閻焰壛櫩燄掐",
["縣"]="縣懸",
["相"]="相廂湘緗箱葙想霜孀鸘驦",
["香"]="香萫",
["鄉"]="曏鄉薌膷響饗蠁嚮卿",
["襄"]="囊蠰曩灢儾孃瓤鑲釀瓖驤襄纕忀欀饟攘禳穰躟瀼獽儴蘘鬤勷壤嚷讓懹攮",
["向"]="晌餉向珦",
["象"]="潒像象橡蟓襐勨鱌嶑",
["梟"]="梟蟂鄡",
["囂"]="囂虈",
["小"]="觘抄鈔訬炒吵耖仯眇渺杪秒篎妙玅釥小少麨尠",
["肖"]="梢捎筲鞘艄蛸髾輎旓弰鮹綃颵莦娋稍哨揱潲睄悄俏峭陗帩誚消宵霄硝銷逍魈痟焇肖韒趙箾踃削矟",
["孝"]="酵窙哮庨涍孝",
["劦"]="栛珕荔脅姭搚拹愶嗋熁協勰劦叶",
["韰"]="瀣韰薤",
["燮"]="燮躞",
["心"]="沁吣心杺伈",
["辛"]="親寴儭瀙辛新薪襯櫬嚫莘騂垶觪",
["囟"]="崽偲腮鰓揌顋愢毢諰細思緦罳禗楒葸恖颸囟顖毸",
["釁"]="釁舋亹斖虋璺",
["興"]="興臖嬹",
["行"]="筕桁行胻衡蘅珩洐荇絎",
["杏"]="杏莕",
["幸"]="幸倖婞涬緈悻睪",
["凶"]="酗凶匈兇訩胸胷洶恟詾",
["兄"]="怳況貺况兄",
["夐"]="讂矎夐瓊藑觼",
["休"]="茠烋恘休貅咻庥鵂髤髹",
["秀"]="透莠誘蜏琇秀銹",
["戌"]="滅搣烕戌珬銊",
["砉"]="剨湱砉",
["須"]="盨須鬚嬃蕦",
["需"]="羺獳擩譳懦糯需繻鑐儒濡襦嚅顬鱬嬬臑醹蠕孺",
["畜"]="畜蓄稸滀傗鄐慉",
["玄"]="弦絃舷痃胘蚿伭婱玄眩玹玆詃泫鉉炫袨衒惤",
["旋"]="旋漩璇琁蜁嫙鏇縼",
["薛"]="躠嶭櫱薛辥孼蘖蠥孽糵",
["學"]="攪覺澩斆鱟嶨礐觷學鷽",
["穴"]="泬坹穴袕鴪",
["血"]="侐血恤卹賉欰洫殈",
["熏"]="櫄薰曛勲熏燻獯纁醺臐爋",
["尋"]="襑憳蕁撏燖尋潯樳鄩",
["卂"]="汛軐卂訊訙迅阠扟籸蝨",
["巽"]="撰饌譔鐉選繏潠蟤僎襈巽簨",
["牙"]="邪衺牙芽齖呀枒雅厊庌訝迓砑犽疨岈谺颬鴉釾",
["襾"]="賈檟價覀襾",
["亞"]="椏錏鵶啞瘂亞婭俹稏惡噁堊蝁",
["焉"]="嘕嫣焉鄢蔫漹傿",
["延"]="唌誕蜑蛋硟涎脠梴鋋埏挻鯅延筵蜒狿郔綖莚",
["言"]="唁這言琂圁誾訔狺",
["沿"]="船沿鉛",
["炎"]="倓緂毯菼裧賧睒舕談郯惔錟淡痰餤啖腅剡覢掞炎琰棪扊",
["奄"]="庵鵪菴馣晻唵黤埯淹閹崦醃掩奄罨裺俺腌殗餣",
["弇"]="弇媕黭揜渰鞥",
["衍"]="愆衍",
["妟"]="堰躽宴蝘偃郾鶠褗匽鼴鰋揠",
["彦"]="喭鏟産簅摌嵼滻顏楌偐齴遃嵃彦諺",
["猒"]="猒懕饜嬮厭黶檿魘厴擪壓靨",
["雁"]="雁鳫鴈贗",
["燕"]="燕驠嬿鷰醼讌嚥酀",
["鬳"]="獻甗巘讞鬳瓛囐齾钀",
["豔"]="豔灩",
["央"]="鴦佒咉眏姎坱映泱盎駚軮醠央秧殃鞅鉠雵胦柍詇岟炴怏紻英瑛霙韺媖渶鶧楧暎",
["羊"]="样佯詳洋翔庠祥痒姜羌蜣猐唴羊徉烊蛘眻鴹恙羕樣漾",
["昜"]="湯踼蝪薚簜盪偒蕩燙啺碭婸愓璗崵逿暢畼腸場傷殤觴慯禓塲陽楊揚瘍煬鍚暘颺昜輰敭鰑諹瑒鸉餳",
["養"]="鯗養癢瀁",
["幺"]="幺吆",
["夭"]="笑夭镺芺妖祅枖訞殀仸妋飫沃鋈",
["爻"]="崤郩敎較肴淆倄爻餚殽笅駁",
["垚"]="撓鐃譊橈磽墝穘顤燒饒蟯蕘襓繞遶嬈趬蹺翹澆驍僥堯垚嶢獟膮嘵憢曉皢",
["謠"]="搖遙瑤徭鰩媱傜颻窰愮鷂榣嗂猺謠鎐",
["繇"]="繇蘨櫾",
["舀"]="滔韜縚謟慆幍槄搯瑫稻蹈舀",
["要"]="腰要葽喓闄偠騕婹",
["耶"]="耶椰爺瑘鎁",
["也"]="他拖駞池灺鍦虵也忚髢杝肔馳阤施絁葹弛箷衪暆迆酏匜迤扡崺貤地",
["曳"]="洩曳拽",
["業"]="礏業鄴驜嶪鸈澲",
["曄"]="曄爗燁曅皣瞱",
["一"]="一弌",
["衣"]="哀依衣扆庡偯",
["壹"]="曀殪豷懿饐鷧撎亄噎壹",
["夷"]="桋荑銕鴺鮧洟羠咦夷姨痍峓恞眱蛦胰跠",
["頤"]="茝洍姬宧頤弬",
["疑"]="礙儗懝譺癡疑嶷觺擬薿凝",
["乙"]="劜札扎蚻紮軋圠穵挖鳦耴乙肊",
["以"]="似姒耜佀以苡苢",
["矣"]="唉埃欸娭挨騃俟竢涘誒矣",
["乂"]="艾鴱餀刈乂",
["弋"]="戴襶貸代袋岱黛玳帒甙酨試弒忒貣鴏栻侙恜式軾拭鉽烒弋芅黓隿杙釴",
["亦"]="夜鵺迹跡亦弈奕帟腋掖焲液",
["役"]="椺役疫垼炈鈠豛坄",
["邑"]="唈浥裛俋挹邑悒",
["易"]="賜儩舓易敡鬄睗晹痬蜴埸逷剔踢惕錫裼緆",
["医"]="鷖翳嫛黳繄医嫕蘙瞖殹贀醫毉蠮",
["佾"]="洕佾屑榍糏",
["益"]="隘賹搤縊螠謚諡蠲溢鎰齸貖益嗌膉鷁艗",
["埶"]="褹勢藝囈埶蓺槸爇褻暬熱槷",
["異"]="禩異潩廙趩瀷翼熼",
["豙"]="豙藙顡毅",
["睪"]="斁籜蘀鐸凙襗擇澤鸅蠌檡釋繹睪譯嶧懌驛醳圛墿燡",
["意"]="噫譩醷意鷾憶億臆繶澺薏檍癔",
["因"]="欭烟胭咽恩煾因姻茵鞇氤洇駰絪裀",
["垔"]="黫甄薽籈煙湮堙禋闉垔陻諲歅鄄",
["音"]="諳腤嬜喑揞隌罯暗闇黯歆愔韾音瘖窨湆",
["殷"]="殷慇溵磤",
["冘"]="冘抌狖貁耽眈酖妉黕衴瓭馾髧紞鈂沈沉枕莐霃鴆訦忱邥魫",
["寅"]="寅蔩鏔演縯戭夤螾濥瞚",
["淫"]="淫霪婬",
["尹"]="芛伊咿蛜笋尹",
["引"]="紖矧訠弞引蚓鈏靷",
["隱"]="隱櫽嶾癮懚檼穩",
["印"]="印鮣",
["胤"]="胤酳",
["賏"]="瀴甖鸚櫻嚶罌鸎譻賏嬰瓔纓攖蘡癭廮巊",
["鷹"]="應鷹膺譍噟",
["盈"]="盈楹",
["熒"]="鶯罃嫈褮覮謍䁝嶸嵤榮瑩蠑禜醟檾煢焭縈營鎣塋濴熒螢滎濙瀅",
["贏"]="嬴瀛籝贏攍",
["邕"]="郺齆甕罋雍邕嗈灉癰廱雝壅饔噰澭擁臃",
["永"]="永栐泳詠咏",
["用"]="通俑蓪桶捅痛筩誦傭慵鱅滽墉鏞鄘槦銿甬勇涌踊蛹恿慂悀埇踴庸用佣",
["攸"]="絛窱蓧條鋚鞗樤鰷莜翛筱篠修脩樇滫悠攸浟蓨滌儵倐倏虪",
["麀"]="鏖𤏶麀",
["憂"]="憂優瀀櫌鄾嚘耰獶纋懮",
["尤"]="尤疣肬沋訧忧蚘",
["由"]="袖岫牰抽妯紬怞鮋菗宙胄冑伷駎油由蚰秞邮釉柚鼬苖笛迪頔軸舳",
["斿"]="游遊蝣斿",
["酉"]="楢逎遒蝤揂酒媨鞧緧趥酋崷鰌煪醜猶猷輶偤莤蕕庮槱梄丣酉",
["郵"]="郵腄",
["又"]="絠醢珛栯有友右宥囿侑酭姷又佑祐賄蛕烠倄鮪洧痏郁戫哊",
["幼"]="黝坳軪眑拗鴢靿狕袎怮窈苭泑呦蚴幼",
["于"]="侉夸姱胯跨誇垮銙骻咵釫摦鮬嶀扝刳郀挎袴絝褲恗洿瓠鄠污杇圬鴮盓汙樗摴荂雩吁盱訏扜旴冔紆陓迂虶于盂竽邘玗芋杅釪骬謣宇",
["予"]="野壄序抒芧杼墅舒紓妤伃予預忬豫蕷澦",
["余"]="斜茶荼梌搽塗佘賒畬舍捨騇涻稌悇庩捈途酴駼鵌涂嵞峹筡蒤徐俆敘漵除篨滁蒢蜍鵨瑹余餘艅狳雓悆",
["於"]="閼菸於淤箊唹扵瘀棜",
["臾"]="萸臾腴諛楰庾斞",
["俞"]="褕偷媮鍮緰牏揄窬歈俞隃毹輸鄃腧逾榆愉渝瑜蕍覦蝓踰崳羭堬瘉萮騟愈貐喻諭",
["舁"]="攑藇嶼鱮舉櫸舁與輿旟璵歟譽嬩擧鸒礜穥",
["禺"]="齵偶耦藕髃蕅愚隅禺湡堣嵎鰅鍝遇寓庽媀喁顒",
["魚"]="蘇穌魚漁䱷",
["羽"]="詡栩珝祤羽頨",
["禹"]="踽萭聥楀齲禹瑀鄅",
["玉"]="珏砡匤玉鳿頊",
["聿"]="筆潷硉律葎聿銉",
["育"]="育毓棛錥焴淯蜟堉逳蘛",
["昱"]="煜翊翌昱喅",
["矞"]="瞲璚劀鱊譎潏鐍憰噊驈橘繘獝燏遹鷸矞霱",
["獄"]="嶽鸑哭獄",
["𧶠"]="竇續覿黷讟殰讀櫝牘儥贕皾瓄瀆豄韇嬻犢匵藚襩贖𧶠",
["鬱"]="鬱欝灪爩",
["肙"]="絹狷蜎弲娟悁捐涓鵑睊焆鞙埍罥羂瓹梋鋗駽琄剈肙",
["冤"]="冤蒬",
["淵"]="婣鼘囦淵裫奫",
["元"]="冠莞脘筦梡岏刓园忨蚖黿抏玩貦翫妧完捖垸綄院皖晥浣頑睆鯇元沅芫杬邧阮俒",
["爰"]="暖煖喛緩鰀嵈鍰湲媛瑗援褑諼愋楥爰鶢蝯猨",
["原"]="羱豲謜縓原源厵嫄騵榞獂蒝願傆愿",
["員"]="員圓塤損縜隕殞溳磒霣愪勛鄖篔貟韻",
["袁"]="薳袁園轅猿榬溒遠",
["睘"]="癏擐還環鬟寰闤糫圜鐶轘澴繯檈儇翾蠉嬛譞懁獧噮彋睘",
["夗"]="涴埦豌剜眢蜿帵碗椀盌腕惋捥睕琬鴛鵷惌宛怨葾夗婉菀苑踠畹倇晼黦焥",
["曰"]="曰汩",
["𦚢"]="𦚢𩨭",
["月"]="刖枂月跀抈鈅玥蚏",
["戉"]="泧眓越狘戉鉞樾怴",
["岳"]="岳捳",
["龠"]="讑籲爚禴蘥鑰瀹龠籥鸙",
["云"]="魂沄忶囩夽雲芸耘妘紜云耺蕓澐橒抎",
["匀"]="枃笉郇絢眴盷訇迿姰畇荀詢洵恂峋珣槆筍箰旬殉徇侚均鈞袀汮呁筠荺匀韵輷揈鍧渹赹憌惸咰",
["允"]="唆梭葰誜朘捘荾酸狻痠鋑脧悛吮萒沇抁馻兖渷兗焌允狁玧俊晙餕畯駿竣皴逡踆夋埈陖鵕浚峻",
["帀"]="帀沞魳迊匝咂韴砸",
["災"]="灾災",
["𢦏"]="𢦏栽哉烖載渽睵溨裁酨蛓胾",
["宰"]="宰縡梓滓",
["再"]="再洅",
["贊"]="贊趲讚酇饡濽襸攢瓚禶穳囋鑽劗纘儧鄼欑籫巑攅",
["葬"]="髒葬",
["早"]="早草愺騲皁皂",
["蚤"]="蚤慅騷搔鰠溞颾瘙瑵糔鼜",
["喿"]="藻澡璪繰躁趮操幧懆鄵鐰臊鱢燥噪髞喿譟劋橾",
["則"]="廁則賊鰂鱡蠈側萴測惻崱",
["仄"]="仄昃",
["曾"]="潧繒增憎磳曾矰罾熷竲橧譄蹭層贈僧鬙甑鄫驓嶒噌鏳",
["乍"]="作鲊痄厏詐咋笮榨炸乍拃酢祚胙阼飵秨迮柞昨怍砟莋岝鈼筰葃舴窄蚱齚泎",
["占"]="頕煔炶詀站檆黏粘枮霑沾覘鉆占颭佔苫痁蛅阽敁掂點玷店坫黇扂拈鮎砧笘跕貼帖怗呫",
["詹"]="甔擔儋聸膽黵澹憺瞻詹蟾噡譫幨襜韂贍檐簷舚",
["展"]="碾輾展搌",
["斬"]="慚慙鏨槧暫蹔斬獑嶃覱摲漸塹壍嬱螹蔪",
["章"]="章樟彰漳鄣璋嫜獐慞墇障麞蔁暲嶂瘴",
["丈"]="丈杖仗",
["兆"]="挑洮桃逃咷鼗鞉駣𣂁脁晁兆旐狣鮡垗姚珧銚恌烑餆筄艞佻祧朓庣趒聎眺覜頫絩跳窕誂",
["肁"]="肁肇",
["乇"]="咤吒灹矺奼侘詫秅秺亳托託魠馲侂飥仛虴杔乇宅厇",
["折"]="晢狾誓逝銴折娎哳踅哲蜇悊嚞喆硩浙晣焎",
["者"]="觰諸者堵赭撦扯闍奢鍺都醏覩睹暏賭帾楮屠瘏廜鷵緒豬猪瀦藸櫫褚著箸儲躇櫧藷蠩煮渚煑陼翥署薯曙書暑鐯擆櫡",
["耴"]="踂輒耴鮿",
["貞"]="偵幀湞貞楨禎赬遉",
["真"]="寘䡩黰顛滇齻槙瘨傎蹎厧巔癲瑱填窴闐磌鷏嗔搷鎮縝真禛稹蒖鬒瞋謓慎",
["疹"]="沴趁紾跈殄抮駗珍診畛疹軫胗袗眕飻餮",
["朕"]="黱朕鰧螣栚眹騰滕縢儯幐藤謄膡籐勝蕂榺塍媵賸",
["爭"]="琤崢鬇爭箏猙埩諍凈錚棦竫睜淨",
["徵"]="徵癥澂懲",
["正"]="綻淀靛症竀征怔正鉦鴊眐佂整政証定顁錠掟",
["之"]="之芝志痣娡誌蚩妛嗤媸旹滍",
["支"]="支枝肢汥衼馶鳷忮伎豉翅翄妓庋跂蚑吱岐歧鬾技芰攱庪頍屐",
["巵"]="巵梔",
["戠"]="識幟織熾樴職軄戠膱蟙",
["直"]="置值植埴惪德稙淔直犆殖",
["執"]="騺摯贄鷙墊慹謺褺蓻縶漐蟄執瓡",
["止"]="祉址止趾芷沚阯齒紕",
["只"]="只胑疻軹咫枳抧伿齞",
["旨"]="稽詣栺榰脂鴲指旨恉嗜蓍鰭耆鮨鬐",
["至"]="致輊駤跮荎緻至鵄胵痓咥窒蛭垤耋姪絰恎挃庢銍秷螲侄桎郅晊室",
["制"]="制淛製掣痸猘",
["陟"]="陟騭",
["疐"]="啑疐嚏懥",
["質"]="質躓懫礩櫍劕鑕",
["中"]="中忠衷忡浺盅种沖翀仲",
["重"]="撞幢橦噇𩪘艟憧畽董蕫箽懂湩曈童僮瞳罿犝潼穜動慟堹諥蹱重緟蝩褈鐘鍾籦種腫踵歱喠偅衝揰尰",
["眾"]="潨眾",
["州"]="洲州喌酬詶",
["舟"]="鵃輈侜矪舟",
["周"]="裯啁禂綢翢錭雕凋琱鯛鵰彫奝調蜩惆婤稠椆周輖賙郮晭倜",
["粥"]="粥鬻",
["肘"]="肘疛紂葤酎",
["帚"]="婦帚箒鯞",
["朱"]="咮株誅邾鼄跦袾鴸蛛殊趎珠朱侏絑祩鮢硃姝銖茱洙陎",
["竹"]="竺篤竹筑築茿",
["逐"]="篴蓫逐鱁",
["主"]="飳妵黈蘣罜拄柱駐註鉒軴住跓嵀主麈宔炷注疰蛀霔",
["宁"]="貯詝柠宁佇竚苧紵羜眝",
["壴"]="壴廚躕櫥幮樹澍尌",
["祝"]="祝呪咒柷",
["爪"]="抓爪笊找",
["專"]="竱團摶篿慱剸鄟漙鷒轉傳囀縳專磚甎塼嫥膞鱄蓴",
["孨"]="孨孱",
["隹"]="蜼堆嵟碓推蓷陮魋嶊崔猚椎顀隹錐萑騅鵻誰脽",
["追"]="蘬磓塠頧鴭鎚搥縋膇槌追桘巋歸",
["卓"]="悼淖罩鵫趠踔棹鋽掉逴焯綽婥繛卓桌倬啅晫",
["叕"]="蝃欼綴醊畷啜餟腏錣輟娺窡鵽掇剟裰敠惙罬叕歠逫",
["甾"]="輜淄錙緇甾菑鶅椔鯔",
["兹"]="糍茲滋孳嵫嗞鎡鰦鶿稵螆慈鷀磁礠濨",
["子"]="孜仔孖子虸耔秄杍籽字茡芓牸李",
["秭"]="姊秭趀笫胏柹柿",
["自"]="郋自洎臮垍詯",
["宗"]="淙鬃漴粽宗倧綜錝賨琮悰孮誴崇崈踪",
["奏"]="奏凑腠輳楱湊",
["足"]="足莡捉齪娖浞鋜趗珿哫促",
["卒"]="晬祽綷淬啐倅焠碎誶濢噿臎醉翠悴萃瘁顇粹睟賥卒稡猝椊捽崪窣崒踤錊",
["族"]="蔟嗾鷟鏃瘯簇族",
["罪"]="罪辠𢶀",
["尊"]="尊樽罇嶟繜撙噂譐僔蹲鱒鐏遵鷷墫竴",
["左"]="左佐袏蹉瑳搓磋溠傞醝瘥鹺嵯嵳蒫艖齹縒褨嗟差鎈槎髊",
["坐"]="脞侳挫夎遳銼剉莝趖矬痤睉坐座髽",
["丵"]="鑿糳",
["翪"]="艐堫葼鬷嵕猣鯼椶騣蝬翪緵稯鬉糉",
}
p4hxgkd3nqdqsnmqv4fwdv8kun36g6f
모듈:och-pron
828
448053
4388254
2025-07-07T10:55:09Z
CHK2605
33979
새 문서: local export = {} local m_string_utils = require("Module:string utilities") local codepoint = m_string_utils.codepoint local gsub = m_string_utils.gsub local len = m_string_utils.len local safe_require = require("Module:load").safe_require local u = m_string_utils.char local colour_1 = "var(--wikt-palette-lightblue, #d9ebff)" local colour_2 = "var(--wikt-palette-cyan, #eaffff)" local colour_3 = "var(--wikt-palette-paleblue, #f8f9fa)" local function zh_fmt(text) return text ~...
4388254
Scribunto
text/plain
local export = {}
local m_string_utils = require("Module:string utilities")
local codepoint = m_string_utils.codepoint
local gsub = m_string_utils.gsub
local len = m_string_utils.len
local safe_require = require("Module:load").safe_require
local u = m_string_utils.char
local colour_1 = "var(--wikt-palette-lightblue, #d9ebff)"
local colour_2 = "var(--wikt-palette-cyan, #eaffff)"
local colour_3 = "var(--wikt-palette-paleblue, #f8f9fa)"
local function zh_fmt(text)
return text ~= "" and '<span class="Hani" lang="zh">' .. text .. '</span>' or ""
end
local function insert_pron(reading_temp, text, system, i, return_note, index)
reading_temp = gsub(reading_temp, "([̥̊]) ", "%1")
local part = mw.text.split(reading_temp, " ")
local IPA = gsub(part[1], "^%*", "")
table.remove(part, 1)
return ((i == 1 and (len(text) == 1 or (index or 1) == 1)) and "/*" or "") .. IPA ..
(len(text) == i and "/" or "") ..
((#part > 0 and return_note) and (" " .. table.concat(part, " ")) or "")
end
local function pron_table(titlechar, reading, system, reading_index, count, i)
return system == "BS"
and {
nil,
'<b>' .. zh_fmt(titlechar) .. '</b>',
reading_index .. "/" .. count,
reading[1],
'‹ <i>' .. gsub(reading[2], '([XH])', '<sup>%1</sup>') .. '</i> ›',
'<span class="IPAchar">' .. gsub(insert_pron(reading[3], titlechar, "BS", 1, true), "ˤ", "ˁ") .. '</span>',
reading[4]
}
or {
nil,
'<b>'..zh_fmt(titlechar)..'</b>',
reading_index .. "/" .. count,
reading[1],
zh_fmt("[["..reading[2].."]]"),
zh_fmt("[["..reading[3].."]]"),
reading[4],
zh_fmt("[["..reading[5].."]]"),
'<span class="IPAchar">/*' .. reading[6] .. '/</span>',
gsub(gsub(gsub(reading[7], "([一-鿿㐀-䶿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𰀀-,]+)", zh_fmt("%1")), "([^>,][^>,][^>,][^>,][^>,][^>,],)", "%1<br>"), "([一-鿿㐀-䶿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𰀀-])", "[[%1]]")
}
end
local function get_data(system, ch)
return safe_require(("Module:zh/data/och-pron-%s/%s"):format(system, ch)) or nil
end
function export.ipa(index_text, preview)
local titlechar = mw.title.getCurrentTitle().text
local reading_index = mw.text.split(index_text, ";")
local output_text = {}
local systems = { "BS", "ZS" }
local indiv_pronunciation = { ["BS"] = {}, ["ZS"] = {} }
local rand = ""
local fields = {
["BS"] = {
"[[w:윌리엄 백스터|백스터]]–[[w:로랑 사가르|사가르]] 체계 1.1 " ..
"([http://ocbaxtersagart.lsait.lsa.umich.edu/ 2014])",
"<small>한자</small>",
"<small>독음 번호</small>",
"<small>표준 중국어<br/>(병음)</small>",
"<small>중고음</small>",
"<small>상고음</small>",
"<small>영어 뜻</small>"
},
["ZS"] = {
"[[w:정장상팡|정장상팡]] 체계 (2003)",
"<small>한자</small>",
"<small>독음 번호</small>",
"<small>번호</small>",
"<small>성부</small>",
"<small>운부</small>",
"<small>하위 운부</small>",
"<small>대응<br>중고운</small>",
"<small>상고음</small>",
"<small>주석</small>"
}
}
for system_seq, system in ipairs(systems) do
for i, cp in ipairs { codepoint(titlechar, 1, -1) } do
local ch = u(cp)
local data_module = get_data(system, ch)
if data_module then
local count = 0
for index, value in ipairs(data_module) do
count = count + 1
end
local reading_number = reading_index[i] and (mw.text.split(reading_index[i], ',')[system_seq] or reading_index[i]) or "y"
if reading_number == "y" then
for reading_index, reading in ipairs(data_module) do
table.insert(indiv_pronunciation[system], pron_table(ch, reading, system, reading_index, count, i))
end
elseif reading_number == "n" then
break
else
for indiv_number in mw.text.gsplit(reading_number, '%+') do
table.insert(indiv_pronunciation[system], pron_table(ch, data_module[tonumber(indiv_number)], system, indiv_number, count, i))
end
end
end
end
if indiv_pronunciation[system][1] then
local hash, results = {}, {}
local value_eff
for _, value in ipairs(indiv_pronunciation[system]) do
local valeur = value
table.remove(valeur, 1)
value_eff = table.concat(valeur)
if not hash[value_eff] then
hash[value_eff] = true
table.insert(value, 1, nil)
results[#results + 1] = value
end
end
rand = rand ~= "" and rand or gsub("oc-" .. value_eff, "[^A-Za-z0-9]", codepoint)
local fmt = {
header = '\n{| class="wikitable mw-collapsible mw-collapsed" id="mw-customcollapsible-oc' .. rand ..
'" style="width:100%; margin:0; text-align:center; border-collapse: collapse; border-style: hidden; display: table;"',
lv1 = '\n|-\n! style="background-color:' .. colour_1 .. '" colspan=' .. #results+1 .. '|',
lv2 = '\n|-\n! style="background-color:' .. colour_2 .. '; width:8em"|',
lv3 = '\n| style="background-color:' .. colour_3 .. '"|',
closing = '\n|}',
BS_note = '\n|-\n|colspan=' .. #results+1 ..
[=[ style="text-align:left; font-size:90%"|<div class="standard-box mw-collapsible mw-collapsed">
'''백스터–사가르 표기법 범례:'''
<div class="mw-collapsible-content">
* 소괄호 "()"는 해당 음의 존재가 불확실함을 나타냅니다.<br>
* 대괄호 "[]"는 해당 음의 정체가 불확실함을 나타냅니다(예: 운미(coda) *[t]는 실제로는 *-t 또는 *-p일 수 있음).<br>
* 꺾쇠괄호 "<>"는 삽입 접사(infix)를 나타냅니다.<br>
* 하이픈 "-"은 형태소 경계를 나타냅니다.<br>
* 마침표 "."은 음절 경계를 나타냅니다.</div>
</div>]=]
}
table.insert(output_text, fmt.header)
for field_index, field in ipairs(fields[system]) do
if field:find("small") then
local field_set = {}
for _, result in ipairs(results) do
table.insert(field_set, result[field_index])
end
if table.concat(field_set) ~= "" then
table.insert(output_text, fmt.lv2 .. field .. fmt.lv3 .. table.concat(field_set, fmt.lv3))
end
else
table.insert(output_text, fmt.lv1 .. field)
end
end
table.insert(output_text, (system == "BS" and fmt.BS_note or "") .. fmt.closing)
end
end
local fold = '\n* <div title="expand" class="mw-customtoggle-oc' .. rand .. '"> ' ..
'[[w:상고 한어|상고 한어]]<span style="float:right; border:1px solid #ccc; border-radius:1px;' ..
' padding:0 0; font-size:90%">▼</span>' .. preview .. '</div>'
return output_text[1] and fold .. gsub(table.concat(output_text), "%[%[%]%]", "") or ""
end
function export.retrieve_pron(text, reconstruction, no_intro, index)
if type(text) == "table" then text = text.args[1] end
text = require("Module:links").remove_links(text)
local retrieve_result = {}
local intro = no_intro and "" or "<span style='font-style: normal'>[[w:상고 한어|OC]]</span> "
if not reconstruction then
local index_set
if index and index ~= "y" then
index_set = mw.text.split(index, ",")
end
for char_index, cp in ipairs { codepoint(text, 1, -1) } do
local char_pronunciation = {}
local ch = u(cp)
local data_module = get_data("ZS", ch)
if data_module then
local reading_no = index_set and index_set[char_index] or "y"
if reading_no ~= "y" then
for number in mw.text.gsplit(reading_no, "+") do
table.insert(char_pronunciation, data_module[tonumber(number)][6])
end
else
for _, reading in ipairs(data_module) do
table.insert(char_pronunciation, reading[6])
end
end
else
return nil
end
table.insert(retrieve_result, table.concat(char_pronunciation, len(text) == 1 and ", *" or "/"))
end
end
return intro .. (reconstruction or "<span class=\"IPA\" lang=\"och-Latn-fonipa\">" .. "*" .. table.concat(retrieve_result, " ") .. "</span>")
end
function export.generate_show(text, index)
local index_set = mw.text.split(index, ";")
local extract_results = { ["BS"] = {}, ["ZS"] = {} }
local result = {}
local position = { ["BS"] = 3, ["ZS"] = 6 }
local fmt = {
beginning = {
["BS"] = "\n*: <small>(''[[w:윌리엄 백스터|백스터]]–[[w:로랑 사가르|사가르]]'')</small>: " ..
'<span style="font-size:95%">',
["ZS"] = "\n*: <small>(''[[w:정장상팡|정장상팡]]'')</small>: " ..
'<span style="font-size:95%">',
},
ending = {
["BS"] = "</span>", ["ZS"] = "</span>"
}
}
for system_seq, system in ipairs({ "BS", "ZS" }) do
for i, cp in ipairs { codepoint(text, 1, -1) } do
local char_pronunciation = {}
local ch = u(cp)
local data_module = get_data(system, ch)
if data_module then
local existing_pron = {}
local reading_number = index_set[i] and (mw.text.split(index_set[i], ',')[system_seq] or index_set[i]) or "y"
if reading_number == "y" then
index = 0
for _, reading in ipairs(data_module) do
index = index + 1
local reading_temp = reading[position[system]]
if not existing_pron[reading_temp] then
table.insert(char_pronunciation, insert_pron(reading_temp, text, system, i, false, index))
existing_pron[reading_temp] = true
end
end
elseif reading_number == "n" then
break
else
index = 0
for indiv_number in mw.text.gsplit(reading_number, '%+') do
index = index + 1
local reading_temp = data_module[tonumber(indiv_number)][position[system]]
if not existing_pron[reading_temp] then
table.insert(char_pronunciation, insert_pron(reading_temp, text, system, i, false, index))
existing_pron[reading_temp] = true
end
end
end
table.insert(extract_results[system], table.concat(char_pronunciation, len(text) == 1 and ", " or "|"))
else
extract_results[system] = {}
break
end
end
if extract_results[system][1] then
table.insert(result, fmt.beginning[system] ..
'<span class="IPAchar">' ..
table.concat(extract_results[system], " ") ..
'</span>' ..
fmt.ending[system])
end
end
text = result[1] and gsub(table.concat(result), "|%*", "|") or nil
text = text and gsub(text, "/|", "|") or nil
text = text and gsub(text, "|", '<span style="padding-left:2px; padding-right:2px">|</span>')
return text
end
function export.link(frame, arg)
local args = arg or frame:getParent().args
local text, meaning, lit = args[1], args[2] or args['gloss'] or nil, args['lit'] or nil
return require("Module:zh/link").link(frame, nil, { "*" .. text, tr = export.retrieve_pron(text, args["tr"] or false, args["no_intro"] or false, args["id"] or false), gloss = meaning, lit = lit }, mw.title.getCurrentTitle().subpageText)
end
return export
hex6nowr58jg82mr063higwbm9doznu
모듈:load
828
448054
4388255
2025-07-07T10:56:24Z
CHK2605
33979
새 문서: local export = {} local load_data = mw.loadData local loaded = package.loaded local main_loader = package.loaders[2] local require = require local setmetatable = setmetatable local loaders, loaded_data, mt local function get_mt() mt, get_mt = {__mode = "kv"}, nil return mt end -- main_loader returns a loader function if the module exists, or nil if it doesn't. local function get_loader(modname) if loaders == nil then local loader = main_loader(modname) loaders = setme...
4388255
Scribunto
text/plain
local export = {}
local load_data = mw.loadData
local loaded = package.loaded
local main_loader = package.loaders[2]
local require = require
local setmetatable = setmetatable
local loaders, loaded_data, mt
local function get_mt()
mt, get_mt = {__mode = "kv"}, nil
return mt
end
-- main_loader returns a loader function if the module exists, or nil if it doesn't.
local function get_loader(modname)
if loaders == nil then
local loader = main_loader(modname)
loaders = setmetatable({[modname] = loader or false}, mt or get_mt())
return loader
end
local loader = loaders[modname]
if loader == nil then
loader = main_loader(modname)
loaders[modname] = loader or false
end
return loader or nil
end
local function get_data(modname, loader)
if loaded_data == nil then
local data = load_data(modname)
loaded_data = setmetatable({[loader] = data}, mt or get_mt())
return data
end
local data = loaded_data[loader]
if data == nil then
data = load_data(modname)
loaded_data[loader] = data
end
return data
end
--[==[
Like `require`, but returns `nil` if a module does not exist, instead of throwing an error.
Outputs are cached, which is faster for all modules, but much faster for nonexistent modules, since `require` will attempt to use the full loader each time because loading failures don't get cached.]==]
function export.safe_require(modname)
local mod = loaded[modname]
if mod == nil and get_loader(modname) then
-- Call with require instead of the loader directly, as it protects against infinite loading loops.
return require(modname)
end
return mod
end
--[==[
Like `mw.loadData`, but it does not generate a new table each time the same module is loaded via this function. Instead, it caches the returned data so that the same table can be returned each time, which is more efficient.]==]
function export.load_data(modname)
return get_data(modname, get_loader(modname))
end
--[==[
Like `export.load_data` (itself a variant of `mw.loadData`), but returns `nil` if a module does not exist, instead of throwing an error.
Outputs are cached, which is faster for all modules, but much faster for nonexistent modules, since `mw.loadData` will attempt to use the full loader each time because loading failures don't get cached.]==]
function export.safe_load_data(modname)
local loader = get_loader(modname)
if loader == nil then
return nil
end
return get_data(modname, loader)
end
return export
ane0ji5isx9pytu6xaiacn5a70oo2t2
모듈:zh-han
828
448055
4388258
2025-07-07T11:38:02Z
CHK2605
33979
새 문서: local m_str_utils = require("Module:string utilities") local codepoint = m_str_utils.codepoint local find = m_str_utils.find local get_section = require("Module:pages").get_section local gsub = m_str_utils.gsub local sub = m_str_utils.sub local m_links = require("Module:links") local m_script_utils = require("Module:script utilities") local export = {} local PAGENAME = mw.loadData("Module:headword/data").pagename local cangjie = { A = "日", B = "月", C = "金", D = "木"...
4388258
Scribunto
text/plain
local m_str_utils = require("Module:string utilities")
local codepoint = m_str_utils.codepoint
local find = m_str_utils.find
local get_section = require("Module:pages").get_section
local gsub = m_str_utils.gsub
local sub = m_str_utils.sub
local m_links = require("Module:links")
local m_script_utils = require("Module:script utilities")
local export = {}
local PAGENAME = mw.loadData("Module:headword/data").pagename
local cangjie = {
A = "日", B = "月", C = "金", D = "木", E = "水", F = "火", G = "土", H = "竹", I = "戈", J = "十", K = "大", L = "中", M = "一", N = "弓", O = "人", P = "心", Q = "手", R = "口", S = "尸", T = "廿", U = "山", V = "女", W = "田", X = "難", Y = "卜", Z = "重"
}
local radicals = {
"一","丨","丶","丿","乙","亅",
"二","亠","人","儿","入","八","冂","冖","冫","几","凵","刀","力","勹","匕","匚","匸","十","卜","卩","厂","厶","又",
"口","囗","土","士","夂","夊","夕","大","女","子","宀","寸","小","尢","尸","屮","山","巛","工","己","巾","干","幺","广","廴","廾","弋","弓","彐","彡","彳",
"心","戈","戶","手","支","攴","文","斗","斤","方","无","日","曰","月","木","欠","止","歹","殳","毋","比","毛","氏","气","水","火","爪","父","爻","爿","片","牙","牛","犬",
"玄","玉","瓜","瓦","甘","生","用","田","疋","疒","癶","白","皮","皿","目","矛","矢","石","示","禸","禾","穴","立",
"竹","米","糸","缶","网","羊","羽","老","而","耒","耳","聿","肉","臣","自","至","臼","舌","舛","舟","艮","色","艸","虍","虫","血","行","衣","襾",
"見","角","言","谷","豆","豕","豸","貝","赤","走","足","身","車","辛","辰","辵","邑","酉","釆","里",
"金","長","門","阜","隶","隹","雨","靑","非",
"面","革","韋","韭","音","頁","風","飛","食","首","香",
"馬","骨","高","髟","鬥","鬯","鬲","鬼",
"魚","鳥","鹵","鹿","麥","麻",
"黃","黍","黑","黹",
"黽","鼎","鼓","鼠",
"鼻","齊",
"齒",
"龍","龜",
"龠"
}
local simplified_radical = {
['讠']='言',['门']='門',['饣']='食',['飞']='飛',['马']='馬',['见']='見',['贝']='貝',['纟']='糸',['车']='車',['长']='長',['韦']='韋',['风']='風',['钅']='金',['鸟']='鳥',['竜']='龍',['龙']='龍',['页']='頁',['斉']='齊',['齐']='齊',['麦']='麥',['亀']='龜',['龟']='龜',['鱼']='魚',['黾']='黽',['鼡']='鼠',['歯']='齒',['齿']='齒',['卤']='鹵',['𬺞']='龜',['丬']='爿',['黒']='黑',['黄']='黃',
}
local codes = {
c = '중국어 간체', m = '중국 대륙',
j = '일본어', k = '한국어'
}
-- "as" 또는 "sn" 매개변수 이름의 글자에 대한 기준
-- - 글자는 1개 또는 2개여야 합니다.
-- - 글자는 c, m, j, k 중 하나여야 합니다.
-- - 글자는 [cm]jk 순서여야 합니다.
local function validate_letters(letters)
local letter_count = #letters
return letter_count == 3 and (letters == 'mjk' or letters == 'cjk')
or letter_count == 2 and (letters == 'jk' or letters == 'cj' or letters == 'mj')
or letter_count == 1 and codes[letters]
end
local function mul_link(term)
return m_links.full_link({lang = require('Module:languages').getByCode('zh'), term = term.."//", tr="-"})
end
-- 설명:
-- 이 상자는 위키미디어 공용의 214개 부수 분류로 연결됩니다.
--
-- 목적:
-- 공용에서 각 한자 부수 분류는 해당 글자가 잘 설명된 위키낱말사전 항목으로 직접 연결됩니다.
-- 위키낱말사전의 각 부수 항목에서 해당하는 공용 분류로 다시 연결하면 한자를 탐색하기가 더 쉬워집니다.
local function radical(name,number,variant)
number = number or 1
local padleft = ("%03d"):format(number)
local text = '<div class="noprint standard-box nowrap" style="margin:0;font-size:90%;width:fit-content;text-align:left;float:right"><div style="float:left; margin-right:0.5em">[[Image:Commons-logo.svg|24px|none|link=Commons:Category:Radical ' .. padleft .. ']]</div>[[Commons:Category:Radical ' .. padleft .. "-0|See images of <br>'''Radical " .. number .. " <big>" .. ((name and name ~= '') and PAGENAME or '※') .. "</big>''']]</div>"
if name == PAGENAME or (variant and variant ~= '') then
text = text .. '[[분류:한자 부수| ]]'
else
text = text .. '[[분류:한자 기본형 부수| ]]'
end
return text
end
function export.simp(frame)
local args = frame:getParent().args
local trad = args[1] or ''
if trad == '' then
require('Module:debug').track("zh-han-simp-no-arg1")
trad = mw.loadData("Module:zh/data/st")[PAGENAME] or PAGENAME
end
local nocap = args['nocap'] or ''
local alt = args['a'] or ''
local from = {args['f'] or '',args['f2'] or ''}
local to = {args['t'] or '',args['t2'] or ''}
if from[1] == '' and to[1] ~= '' then from[1] = trad end
local text = {}
local result = ''
result = (nocap == '' and 'S' or 's') .. mul_link(trad) .. '의 간체자'
if alt ~= '' then
result = result .. ' 및 ' .. mul_link(alt)
end
for i=1,2 do
if from[i] ~= '' then
if to[i] == '' then
table.insert(text,mul_link(from[i]) .. " → 독립적으로 표시할 수 없는 구성 요소")
elseif to[i] == ' ' or to[i] == ' ' then
table.insert(text,mul_link(from[i]) .. '의 생략')
else
table.insert(text,mul_link(from[i]) .. ' → ' .. mul_link(to[i]))
end
end
end
if #text > 0 then
result = result .. ' (' .. table.concat(text,' 및 '):gsub('및 ' .. mul_link(from[i]) .. '의 생략',' 및') .. ')'
end
return result
end
function export.cp()
return string.format('%.4X', codepoint(PAGENAME))
end
do
local function check_translingual_only()
for _, sec in pairs(mw.loadData("Module:headword/data").page.L2_sections) do
if sec ~= "한자" then
return
end
end
require('Module:debug').track('zh-han/translingual-only character')
end
function export.character(frame)
local args = {}
for arg, val in pairs(frame:getParent().args) do -- 빈 인수는 nil로 설정
if val ~= '' then
args[arg] = val
end
end
if radicals[tonumber(args['rn'])] ~= (simplified_radical[args['rad']] or args['rad']) then
error('부수 번호(rn)와 부수(rad)가 일치하지 않습니다.')
end
local text = { insert = table.insert }
local categories = { insert = table.insert }
local as = tostring(tonumber(args['as'] or '-1'))
if as == '0' then
text:insert(radical(args['rad'], args['rn'], (args['var'] or '')))
end
-- [[Module:headword]]로 표제어를 생성하여 페이지 제목이 Hani(일반 한자) 스크립트로 태그되도록 함.
-- {{Han char}}는 Translingual 섹션에서만 사용된다고 가정.
local mul = require("Module:languages").getByCode("mul")
local Hani = require("Module:scripts").getByCode("Hani")
local sort_key = args['rad'] .. args['as'] .. PAGENAME
text:insert(
require("Module:headword").full_headword{
lang = mul,
sc = Hani,
heads = { args['head'] },
categories = {},
pos_category = "symbols",
sort_key = sort_key,
}
)
text:insert(" (''[[강희자전 부수]] " .. (args['rn'] or '') .. ", '' [[부록:한자 부수/" .. (args['rad'] or '') .. '|' .. (args['rad'] or ' ') .. ']]+' .. as)
if args['asj'] then
text:insert("''(중국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asj']) .. "''(일본어)''")
end
if args['asc'] then
text:insert("''(정체자)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asc']) .. "''(간체자)''")
end
if args['ask'] then
text:insert("''(중국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['ask']) .. "''(한국어)''")
end
if args['asjk'] then
text:insert("''(중국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asjk']) .. "''(일본어 및 한국어)''")
end
if args['asj+'] then
text:insert("''(중국어 및 한국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asj+']) .. "''(일본어)''")
end
if args['ask+'] then
text:insert("''(중국어 및 일본어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['ask+']) .. "''(한국어)''")
end
if args['asc+'] then
text:insert("''(정체자 및 일본어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asc+']) .. "''(간체자)''")
end
if args['asc++'] then
text:insert("''(정체자, 일본어 및 한국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asc++']) .. "''(간체자)''")
end
if args['ascj'] then
text:insert("''(정체자)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['ascj']) .. "''(간체자 및 일본어)''")
end
if args['ascj+'] then
text:insert("''(정체자 및 한국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['ascj+']) .. "''(간체자 및 일본어)''")
end
if args['asm'] then
text:insert("''(정체자)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asm']) .. "''(중국 대륙)''")
end
if args['asmj'] then
text:insert("''(정체자)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asmj']) .. "''(중국 대륙 및 일본어)''")
end
if args['asmj+'] then
text:insert("''(정체자 및 한국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asmj+']) .. "''(중국 대륙 및 일본어)''")
end
if args['asm+'] then
text:insert("''(정체자 및 일본어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asm+']) .. "''(중국 대륙)''")
end
if args['asm++'] then
text:insert("''(정체자, 일본어 및 한국어)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asm++']) .. "''(중국 대륙)''")
end
if args['ascjk'] then
text:insert("''(정체자)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['ascjk']) .. "''(간체자, 일본어 및 한국어)''")
end
if args['asmjk'] then
text:insert("''(정체자)'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asmjk']) .. "''(중국 대륙, 일본어 및 한국어)''")
end
if args['asmjk+'] then
text:insert("''(정체자(대만))'', " .. (args['rad'] or '') .. '+' .. tonumber(args['asmjk+']) .. "''(중국(대륙, 홍콩), 일본어 및 한국어)''")
end
text:insert(", " .. (args['sn'] or '') .. " 획")
if args['snj'] then
text:insert("''(중국어)''")
end
if args['snc'] then
text:insert("''(정체자)''")
end
if args['snk'] then
text:insert("''(중국어)''")
end
if args['snjk'] then
text:insert("''(중국어)''")
end
if args['snj+'] then
text:insert("''(중국어 및 한국어)''")
end
if args['snk+'] then
text:insert("''(중국어 및 일본어)''")
end
if args['snc+'] then
text:insert("''(정체자 및 일본어)''")
end
if args['snc++'] then
text:insert("''(정체자, 일본어 및 한국어)''")
end
if args['sncj'] then
text:insert("''(정체자)''")
end
if args['sncj+'] then
text:insert("''(정체자 및 한국어)''")
end
if args['snm'] then
text:insert("''(정체자)''")
end
if args['snmj'] then
text:insert("''(정체자)''")
end
if args['snmj+'] then
text:insert("''(정체자 및 한국어)''")
end
if args['snm+'] then
text:insert("''(정체자 및 일본어)''")
end
if args['snm++'] then
text:insert("''(정체자, 일본어 및 한국어)''")
end
if args['sncjk'] then
text:insert("''(정체자)''")
end
if args['snmjk'] then
text:insert("''(정체자)''")
end
if args['snmjk+'] then
text:insert("''(정체자(대만))''")
end
-- Find parameters specifying additional stroke numbers and add notes for
-- them.
for param_name, value in pairs(args) do
if type(param_name) == "string" then
local letters = param_name:match("^sn(%l+)%+*$")
if letters then
if validate_letters(letters) then
if value and value ~= '' then
local label = {}
for letter in letters:gmatch(".") do
table.insert(label, codes[letter])
end
label = table.concat(label, " 및 ")
text:insert(", " .. value .. "획")
text:insert("''(" .. label .. ")''")
end
else
require("Module:debug").track('zh-han/incorrect stroke number parameter')
-- return error("알 수 없는 획수 매개변수 이름 " .. param_name .. "입니다.")
end
end
end
end
if args['canj'] then
local canj = args['canj']
local canj_split = mw.text.split(canj,',')
for i = 1, #canj_split do
if canj_split[i]:match('^%u+$') then
canj_split[i] = canj_split[i]:gsub('[%(%)]','')
canj_split[i] = m_script_utils.tag_text(canj_split[i]:gsub('%u',cangjie), mul, Hani) .. ' ([[부록:창힐수입법/' .. canj_split[i]:sub(1,1):lower() .. '|' .. canj_split[i] .. ']])'
else
return error('"canj" 매개변수 값이 유효하지 않습니다.')
end
end
text:insert(", ''[[부록:창힐수입법|창힐 입력]]'' " .. table.concat(canj_split,' or '))
if #canj_split > 1 then
categories:insert("[[분류:창힐 코드가 여러 개인 한자]]")
end
end
if args['four'] then
local four = args['four']
local four_split = mw.text.split(four,',')
for i=1,#four_split do
if not four_split[i]:match('[<>]') then
four_split[i] = four_split[i]:gsub('(%d)(%d%d%d)%.?(%d?)','[[부록:사각호마/%1|%1%2<sub>%3</sub>]]')
else
return error('"four" 매개변수 값이 유효하지 않습니다.')
end
end
text:insert(", ''[[부록:사각호마|사각호마]]'' " .. table.concat(four_split,' or '))
if #four_split > 1 then
categories:insert("[[분류:사각호마 코드가 여러 개인 한자]]")
end
end
if args['ids'] then
local ids = args['ids']
local ids_split = mw.text.split(ids,',')
for i=1, #ids_split do
if not ids_split[i]:match('[%[%]]') then
if find(ids_split[i], '^[⿲⿳](.)%1%1$') then
categories:insert('[[분류:같은 글자를 세 개 합친 한자]]')
end
if find(ids_split[i], '^[⿰⿱](.)%1$') then
categories:insert('[[분류:같은 글자를 두 개 합친 한자]]')
end
local before = {}
ids_split[i] = gsub(ids_split[i], "([⺀-⻳ -〿アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン㇀-㇣〇一-鿿㐀-䶿﨎﨏﨑﨓﨔﨟﨡﨣﨤﨧-﨩𠀀-𪛟𪜀-𮯠𰀀-𲎯])",
function (character)
if not before[character] then
before[character] = true
return "[[" .. character .. "]]"
else
return character
end
end)
ids_split[i] = ids_split[i]:gsub("^(.-)%f[%(%z](.*)",
function(m1, m2)
local m1 = m_links.embedded_language_links{term = m1, lang = mul, sc = Hani}
m1 = m_script_utils.tag_text(m1, mul, Hani)
local letters = {
G = '<span class="explain" title="중국 대륙">G</span>',
H = '<span class="explain" title="홍콩">H</span>',
T = '<span class="explain" title="대만">T</span>',
J = '<span class="explain" title="일본">J</span>',
K = '<span class="explain" title="한국">K</span>',
V = '<span class="explain" title="베트남">V</span>'
}
return m1 .. m2:gsub(".", letters)
end)
end
end
text:insert(", ''[[w:en:Chinese character description languages#Ideographic Description Sequences|자형 구조]]'' " .. table.concat(ids_split,' 또는 '))
if #ids_split > 1 then
categories:insert("[[분류:자형 구조가 여러 개인 한자]]")
end
end
text:insert(')')
if args['rad'] then
if mw.title.getCurrentTitle().nsText == '' then
categories:insert("[[분류:한자|" .. sort_key .. "]]")
end
else
if mw.title.getCurrentTitle().nsText == '' then
categories:insert("[[분류:부수 정보가 없는 한자]]")
end
end
local params_to_check = { "as", "rn", "sn", "ids", "four", "canj" }
local sortkey = args['rad'] and "|" .. args['rad'] or ""
for _, param in pairs(params_to_check) do
if not args[param] or args[param] == '' then
categories:insert("[[분류:한자 정보(" .. param .. ") 없음" .. sortkey .. "]]")
end
end
if type(args['sn']) == "string" and sub(args['sn'],1,1) == '0' then
return error('"sn" 매개변수에서 맨 앞의 0을 제거해주세요.')
end
check_translingual_only()
if (get_section(mw.title.getCurrentTitle():getContent(), "한자", 2) or ""):match("%f[^%z\n\r]#[ \t]*%S") then
categories:insert("[[분류:한자 문단에 뜻풀이가 있는 한자" .. sortkey .. "]]")
end
return table.concat(text) .. table.concat(categories)
end
end
return export
l52cw2v4aoaw0aod19r08icjazoq158
틀:Han char
10
448056
4388259
2025-07-07T11:40:13Z
CHK2605
33979
새 문서: <includeonly>{{#invoke:zh-han|character}}</includeonly><noinclude> {{설명문서}} </noinclude>
4388259
wikitext
text/x-wiki
<includeonly>{{#invoke:zh-han|character}}</includeonly><noinclude>
{{설명문서}}
</noinclude>
2a1f9f8o6l8mbs11vze0i3rm4i35run
모듈:pages
828
448057
4388260
2025-07-07T11:42:31Z
CHK2605
33979
새 문서: local export = {} local string_utilities_module = "Module:string utilities" local concat = table.concat local find = string.find local format = string.format local getmetatable = getmetatable local get_current_section -- defined below local get_namespace_shortcut -- defined below local get_pagetype -- defined below local gsub = string.gsub local insert = table.insert local is_internal_title -- defined below local is_title -- defined below local lower = string.lower local match...
4388260
Scribunto
text/plain
local export = {}
local string_utilities_module = "Module:string utilities"
local concat = table.concat
local find = string.find
local format = string.format
local getmetatable = getmetatable
local get_current_section -- defined below
local get_namespace_shortcut -- defined below
local get_pagetype -- defined below
local gsub = string.gsub
local insert = table.insert
local is_internal_title -- defined below
local is_title -- defined below
local lower = string.lower
local match = string.match
local new_title = mw.title.new
local require = require
local sub = string.sub
local title_equals = mw.title.equals
local tonumber = tonumber
local type = type
local ufind = mw.ustring.find
local unstrip_nowiki = mw.text.unstripNoWiki
--[==[
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]
local function decode_entities(...)
decode_entities = require(string_utilities_module).decode_entities
return decode_entities(...)
end
local function ulower(...)
ulower = require(string_utilities_module).lower
return ulower(...)
end
local function trim(...)
trim = require(string_utilities_module).trim
return trim(...)
end
--[==[
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==]
local current_frame
local function get_current_frame()
current_frame, get_current_frame = mw.getCurrentFrame(), nil
return current_frame
end
local parent_frame
local function get_parent_frame()
parent_frame, get_parent_frame = (current_frame or get_current_frame()):getParent(), nil
return parent_frame
end
local namespace_shortcuts
local function get_namespace_shortcuts()
namespace_shortcuts, get_namespace_shortcuts = {
[4] = "WT",
[10] = "T",
[14] = "CAT",
[100] = "AP",
[110] = "WS",
[118] = "RC",
[828] = "MOD",
}, nil
return namespace_shortcuts
end
do
local transcluded
--[==[
Returns {true} if the current {{tl|#invoke:}} is being transcluded, or {false} if not. If the current {{tl|#invoke:}} is part of a template, for instance, this template will therefore return {true}.
Note that if a template containing an {{tl|#invoke:}} is used on its own page (e.g. to display a demonstration), this function is still able to detect that this is transclusion. This is an improvement over the other method for detecting transclusion, which is to check the parent frame title against the current page title, which fails to detect transclusion in that instance.]==]
function export.is_transcluded()
if transcluded == nil then
transcluded = (parent_frame or get_parent_frame()) and parent_frame:preprocess("<includeonly>1</includeonly>") == "1" or false
end
return transcluded
end
end
do
local preview
--[==[
Returns {true} if the page is currently being viewed in preview, or {false} if not.]==]
function export.is_preview()
if preview == nil then
preview = (current_frame or get_current_frame()):preprocess("{{REVISIONID}}") == ""
end
return preview
end
end
--[==[
Returns {true} if the input is a title object, or {false} if not. This therefore '''includes''' external title objects (i.e. those for pages on other wikis), such as [[w:Example]], unlike `is_internal_title` below.]==]
function export.is_title(val)
if not (val and type(val) == "table") then
return false
end
local mt = getmetatable(val)
-- There's no foolproof method for checking for a title object, but the
-- __eq metamethod should be mw.title.equals unless the object has been
-- seriously messed around with.
return mt and
type(mt) == "table" and
getmetatable(mt) == nil and
mt.__eq == title_equals and
true or false
end
is_title = export.is_title
--[==[
Returns {true} if the input is an internal title object, or {false} if not. An internal title object is a title object for a page on this wiki, such as [[example]]. This therefore '''excludes''' external title objects (i.e. those for pages on other wikis), such as [[w:Example]], unlike `is_title` above.]==]
function export.is_internal_title(title)
-- Note: Mainspace titles starting with "#" should be invalid, but a bug in mw.title.new and mw.title.makeTitle means a title object is returned that has the empty string for prefixedText, so they need to be filtered out.
return is_title(title) and #title.prefixedText > 0 and #title.interwiki == 0
end
is_internal_title = export.is_internal_title
--[==[
Returns {true} if the input string is a valid link target, or {false} if not. This therefore '''includes''' link targets to other wikis, such as [[w:Example]], unlike `is_valid_page_name` below.]==]
function export.is_valid_link_target(target)
local target_type = type(target)
if target_type == "string" then
return is_title(new_title(target))
end
error(format("bad argument #1 to 'is_valid_link_target' (string expected, got %s)", target_type), 2)
end
--[==[
Returns {true} if the input string is a valid page name on this wiki, or {false} if not. This therefore '''excludes''' page names on other wikis, such as [[w:Example]], unlike `is_valid_link_target` above.]==]
function export.is_valid_page_name(name)
local name_type = type(name)
if name_type == "string" then
return is_internal_title(new_title(name))
end
error(format("bad argument #1 to 'is_valid_page_name' (string expected, got %s)", name_type), 2)
end
--[==[
Given a title object, returns a full link target which will always unambiguously link to it.
For instance, the input {"foo"} (for the page [[foo]]) returns {":foo"}, as a leading colon always refers to mainspace, even when other namespaces might be assumed (e.g. when transcluding using `{{ }}` syntax).
If `shortcut` is set, then the returned target will use the namespace shortcut, if any; for example, the title for `Template:foo` would return {"T:foo"} instead of {"Template:foo"}.]==]
function export.get_link_target(title, shortcut)
if not is_title(title) then
error(format("bad argument #1 to 'is_valid_link_target' (title object expected, got %s)", type(title)))
elseif title.interwiki ~= "" then
return title.fullText
elseif shortcut then
local fragment = title.fragment
if fragment == "" then
return get_namespace_shortcut(title) .. ":" .. title.text
end
return get_namespace_shortcut(title) .. ":" .. title.text .. "#" .. fragment
elseif title.namespace == 0 then
return ":" .. title.fullText
end
return title.fullText
end
do
local function find_sandbox(text)
return find(text, "^User:.") or find(lower(text), "sandbox", 1, true)
end
local function get_transclusion_subtypes(title, main_type, documentation, page_suffix)
local text, subtypes = title.text, {main_type}
-- Any template/module with "sandbox" in the title. These are impossible
-- to screen for more accurately, as there's no consistent pattern. Also
-- any user sandboxes in the form (e.g.) "Template:User:...".
local sandbox = find_sandbox(text)
if sandbox then
insert(subtypes, "sandbox")
end
-- Any template/module testcases (which can be labelled and/or followed
-- by further subpages).
local testcase = find(text, "./[Tt]estcases?%f[%L]")
if testcase then
-- Order "testcase" and "sandbox" based on where the patterns occur
-- in the title.
local n = sandbox and sandbox < testcase and 3 or 2
insert(subtypes, n, "testcase")
end
-- Any template/module documentation pages.
if documentation then
insert(subtypes, "documentation")
end
local final = subtypes[#subtypes]
if not (final == main_type and not page_suffix or final == "sandbox") then
insert(subtypes, "page")
end
return concat(subtypes, " ")
end
local function get_snippet_subtypes(title, main_type, documentation)
local ns = title.namespace
return get_transclusion_subtypes(title, (
ns == 2 and "user " or
ns == 8 and match(title.text, "^Gadget-.") and "gadget " or
""
) .. main_type, documentation)
end
--[==[
Returns the page type of the input title object in a format which can be used in running text.]==]
function export.get_pagetype(title)
if not is_internal_title(title) then
error(mw.dumpObject(title.fullText) .. " is not a valid page name.")
end
-- If possibly a documentation page, get the base title and set the
-- `documentation` flag.
local content_model, text, documentation = title.contentModel
if content_model == "wikitext" then
text = title.text
if title.isSubpage and title.subpageText == "documentation" then
local base_title = title.basePageTitle
if base_title then
title, content_model, text, documentation = base_title, base_title.contentModel, base_title.text, true
end
end
end
-- Content models have overriding priority, as they can appear in
-- nonstandard places due to page content model changes.
if content_model == "css" or content_model == "sanitized-css" then
return get_snippet_subtypes(title, "stylesheet", documentation)
elseif content_model == "javascript" then
return get_snippet_subtypes(title, "script", documentation)
elseif content_model == "json" then
return get_snippet_subtypes(title, "JSON data", documentation)
elseif content_model == "MassMessageListContent" then
return get_snippet_subtypes(title, "mass message delivery list", documentation)
-- Modules.
elseif content_model == "Scribunto" then
return get_transclusion_subtypes(title, "module", documentation, false)
elseif content_model == "text" then
return "page" -- ???
-- Otherwise, the content model is "wikitext", so check namespaces.
elseif title.isTalkPage then
return "talk page"
end
local ns = title.namespace
-- Main namespace.
if ns == 0 then
return "entry"
-- Wiktionary:
elseif ns == 4 then
return find_sandbox(title.text) and "sandbox" or "project page"
-- Template:
elseif ns == 10 then
return get_transclusion_subtypes(title, "template", documentation, false)
end
-- Convert the namespace to lowercase, unless it contains a capital
-- letter after the initial letter (e.g. MediaWiki, TimedText). Also
-- normalize any underscores.
local ns_text = gsub(title.nsText, "_", " ")
if ufind(ns_text, "^%U*$", 2) then
ns_text = ulower(ns_text)
end
-- User:
if ns == 2 then
return ns_text .. " " .. (title.isSubpage and "subpage" or "page")
-- Category: and Appendix:
elseif ns == 14 or ns == 100 then
return ns_text
-- Thesaurus: and Reconstruction:
elseif ns == 110 or ns == 118 then
return ns_text .. " entry"
end
return ns_text .. " page"
end
get_pagetype = export.get_pagetype
end
--[==[
Returns {true} if the input title object is for a content page, or {false} if not. A content page is a page that is considered part of the dictionary itself, and excludes pages for discussion, administration, maintenance etc.]==]
function export.is_content_page(title)
if not is_internal_title(title) then
error(mw.dumpObject(title.fullText) .. " is not a valid page name.")
end
local ns = title.namespace
-- (main), Appendix, Thesaurus, Citations, Reconstruction.
return (ns == 0 or ns == 100 or ns == 110 or ns == 114 or ns == 118) and
title.contentModel == "wikitext"
end
--[==[
Returns {true} if the input title object is for a documentation page, or {false} if not.]==]
function export.is_documentation(title)
return match(get_pagetype(title), "%f[%w]documentation%f[%W]") and true or false
end
--[==[
Returns {true} if the input title object is for a sandbox, or {false} if not.
By default, sandbox documentation pages are excluded, but this can be overridden with the `include_documentation` parameter.]==]
function export.is_sandbox(title, include_documentation)
local pagetype = get_pagetype(title)
return match(pagetype, "%f[%w]sandbox%f[%W]") and (
include_documentation or
not match(pagetype, "%f[%w]documentation%f[%W]")
) and true or false
end
--[==[
Returns {true} if the input title object is for a testcase page, or {false} if not.
By default, testcase documentation pages are excluded, but this can be overridden with the `include_documentation` parameter.]==]
function export.is_testcase_page(title, include_documentation)
local pagetype = get_pagetype(title)
return match(pagetype, "%f[%w]testcase%f[%W]") and (
include_documentation or
not match(pagetype, "%f[%w]documentation%f[%W]")
) and true or false
end
--[==[
Returns the namespace shortcut for the input title object, or else the namespace text. For example, a `Template:` title returns {"T"}, a `Module:` title returns {"MOD"}, and a `User:` title returns {"User"}.]==]
function export.get_namespace_shortcut(title)
return (namespace_shortcuts or get_namespace_shortcuts())[title.namespace] or title.nsText
end
get_namespace_shortcut = export.get_namespace_shortcut
do
local function check_level(lvl)
if type(lvl) ~= "number" then
error("Heading levels must be numbers.")
elseif lvl < 1 or lvl > 6 or lvl % 1 ~= 0 then
error("Heading levels must be integers between 1 and 6.")
end
return lvl
end
--[==[
A helper function which iterates over the headings in `text`, which should be the content of a page or (main) section.
Each iteration returns three values: `sec` (the section title), `lvl` (the section level) and `loc` (the index of the section in the given text, from the first equals sign). The section title will be automatically trimmed, and any HTML entities will be resolved.
The optional parameter `a` (which should be an integer between 1 and 6) can be used to ensure that only headings of the specified level are iterated over. If `b` is also given, then they are treated as a range.
The optional parameters `a` and `b` can be used to specify a range, so that only headings with levels in that range are returned.]==]
local function find_headings(text, a, b)
a = a and check_level(a) or nil
b = b and check_level(b) or a or nil
local start, loc, lvl, sec = 1
return function()
repeat
loc, lvl, sec, start = match(text, "()%f[^%z\n](==?=?=?=?=?)([^\n]+)%2[\t ]*%f[%z\n]()", start)
lvl = lvl and #lvl
until not (sec and a) or (lvl >= a and lvl <= b)
return sec and trim(decode_entities(sec)) or nil, lvl, loc
end
end
local function _get_section(content, name, level)
if not (content and name) then
return nil
elseif find(name, "\n", 1, true) then
error("Heading name cannot contain a newline.")
end
level = level and check_level(level) or nil
name = trim(decode_entities(name))
local start
for sec, lvl, loc in find_headings(content, level and 1 or nil, level) do
if start and lvl <= level then
return sub(content, start, loc - 1)
elseif not start and (not level or lvl == level) and sec == name then
start, level = loc, lvl
end
end
return start and sub(content, start)
end
--[==[
A helper function to return the content of a page section.
`content` is raw wikitext, `name` is the requested section, and `level` is an optional parameter that specifies
the required section heading level. If `level` is not supplied, then the first section called `name` is returned.
`name` can either be a string or table of section names. If a table, each name represents a section that has the
next as a subsection. For example, { {"Spanish", "Noun"}} will return the first matching section called "Noun"
under a section called "Spanish". These do not have to be at adjacent levels ("Noun" might be L4, while "Spanish"
is L2). If `level` is given, it refers to the last name in the table (i.e. the name of the section to be returned).
The returned section includes all of its subsections. If no matching section is found, return {nil}.]==]
function export.get_section(content, names, level)
if type(names) ~= "table" then
return _get_section(content, names, level)
end
local i = 1
local name = names[i]
if not name then
error("Must specify at least 1 section.")
end
while true do
local nxt_i = i + 1
local nxt = names[nxt_i]
if nxt == nil then
return _get_section(content, name, level)
end
content = _get_section(content, name)
if content == nil then
return nil
elseif i == 6 then
error("Not possible specify more than 6 sections: headings only go up to level 6.")
end
i = nxt_i
name = names[i]
end
return content
end
end
do
local current_section
--[==[
A function which returns the number of the page section which contains the current {#invoke}.]==]
function export.get_current_section()
if current_section ~= nil then
return current_section
end
local extension_tag = (current_frame or get_current_frame()).extensionTag
-- We determine the section via the heading strip marker count, since they're numbered sequentially, but the only way to do this is to generate a fake heading via frame:preprocess(). The native parser assigns each heading a unique marker, but frame:preprocess() will return copies of older markers if the heading is identical to one further up the page, so the fake heading has to be unique to the page. The best way to do this is to feed it a heading containing a nowiki marker (which we will need later), since those are always unique.
local nowiki_marker = extension_tag(current_frame, "nowiki")
-- Note: heading strip markers have a different syntax to the ones used for tags.
local h = tonumber(match(
current_frame:preprocess("=" .. nowiki_marker .. "="),
"\127'\"`UNIQ%-%-h%-(%d+)%-%-QINU`\"'\127"
))
-- For some reason, [[Special:ExpandTemplates]] doesn't generate a heading strip marker, so if that happens we simply abort early.
if not h then
return 0
end
-- The only way to get the section number is to increment the heading count, so we store the offset in nowiki strip markers which can be retrieved by procedurally unstripping nowiki markers, counting backwards until we find a match.
local n, offset = tonumber(match(
nowiki_marker,
"\127'\"`UNIQ%-%-nowiki%-([%dA-F]+)%-QINU`\"'\127"
), 16)
while not offset and n > 0 do
n = n - 1
offset = match(
unstrip_nowiki(format("\127'\"`UNIQ--nowiki-%08X-QINU`\"'\127", n)),
"^HEADING\1(%d+)" -- Prefix "HEADING\1" prevents collisions.
)
end
offset = offset and (offset + 1) or 0
extension_tag(current_frame, "nowiki", "HEADING\1" .. offset)
current_section = h - offset
return current_section
end
get_current_section = export.get_current_section
end
do
local L2_sections
local function get_L2_sections()
L2_sections, get_L2_sections = mw.loadData("Module:headword/data").page.L2_sections, nil
return L2_sections
end
--[==[
A function which returns the name of the L2 language section which contains the current {#invoke}.]==]
function export.get_current_L2()
local section = get_current_section()
if section == 0 then
return
end
while section > 0 do
local L2 = (L2_sections or get_L2_sections())[section]
if L2 then
return L2
end
section = section - 1
end
end
end
return export
fahzb5v4u71j961eqb048ciy8nk4h06