1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
\Þa_c@s+ddlmZddlmZmZdZeedƒƒ\ZZ    Z
Z eedƒƒ\Z Z ZZZiadefd„ƒYZdefd    „ƒYZd
efd „ƒYZd efd „ƒYZdefd„ƒYZd„Zedeƒedeƒ[[d„Zedkr'eƒndS(iÿÿÿÿ(tdeepcopy(tzh2Hanttzh2HanstiitNodecBs;eZdeed„Zd„Zd„Zd„ZeZ    RS(cCs|||_|dkr<||_|||f|_t|_n*|pE||_|||f|_t|_||_||_dS(N(    t    from_wordtNonetto_wordtdatatTruet is_originaltFalsetis_tailt
have_child(tselfRRR R ((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt__init__s                  cCs|jot|jƒdkS(Ni(R
tlenR(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pytis_original_long_word"scCs||jd kS(Niÿÿÿÿ(R(Rtchars((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt    is_follow%scCs,dt|jƒt|jƒ|j|jfS(Ns<Node, %s, %s, %s, %s>(treprRRR R (R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt__str__(sN(
t__name__t
__module__RR    R RRRRt__repr__(((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyRs              t
ConvertMapcBs8eZdd„Zd„Zd„Zd„Zd„ZRS(cCs,||_i|_|r(|j|ƒndS(N(tnamet_maptset_convert_map(RRtmapping((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR1s        cCsói}i}d}x‚t|jƒƒD]n}t|ƒdkrtx4tdt|ƒƒD]}|| }t||<qSWnt||<t|t|ƒƒ}q%WxCt|jƒƒD]/}||k|||j|tƒf||<qªW||_    ||_
dS(Nii( tsortedtkeysRtrangeR    R tmaxtgettUEMPTYRtmax_key_length(RRt convert_mapR R$tkeytit
parent_key((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR7s
 
    cCsBy-|j|\}}}t||||ƒSWnt|ƒSXdS(N(RR(RtkR R R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt __getitem__Hs
cCs ||jkS(N(R(RR)((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt __contains__OscCs t|jƒS(N(RR(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt__len__RsN(RRRRRR*R+R,(((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR0s
             tStatesMachineExceptioncBseZRS((RR(((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR-Vst StatesMachinecBs;eZd„Zd„Zd„Zd„Zd„ZeZRS(cCs(t|_t|_d|_t|_dS(Ni(tSTARTtstateR#tfinalRtpool(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR[s            cCs"t|ƒ}t|_||_|S(N(Rt    WAIT_TAILR0R2(RR2tnew((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pytcloneas         cCsA||j|}|jrG|jr>|jr5t}qDt}q_t}n|jrYt}nt}d}|tkr}t
|_ nÀ|tkræ|j t kr°|j ƒr°t
|_ q=|j|j7_|jd7_t|_t|_ nW|j tks|j t krî|tkrX|j|jƒ}|j|j7_|jd7_t|_ t|_q=|tksp|tkr=|j tkr¾|j|jƒ}|j|j7_|jd7_t|_ që|j|jƒrÜt
|_ që|j|_q=nO|j tkrt|_ |j||ƒ}n"|j t
kr=td|ƒ‚n|S(Nis6Translate States Machine have error with input data %s(R2R R R
tUNMATCHED_SWITCHtMATCHED_SWITCHt    CONNECTORtTAILtERRORRtFAILR0R3RR1RRR#tENDR/R5RRtfeedR-(RtchartmaptnodetcondR4((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR=gsV                                                      cCs |jdS(Ni(R(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR,žscCs#dt|ƒ|j|j|jfS(Ns4<StatesMachine %s, pool: "%s", state: %s, final: %s>(tidR2R0R1(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR¡s(RRRR5R=R,RR(((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR.Zs             7        t    ConvertercBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs$||_t||_|jƒdS(N(t to_encodingtMAPSR?tstart(RRD((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR¨s     cCsÛg}x<|jD]1}|j||jƒ}|r|j|ƒqqW|r^|jj|ƒng|jD]}|jtkrh|^qh|_t}x)|jD]}|jtkrœt    }qœqœW|rÑ|j
ƒn|j ƒS(N( tmachinesR=R?tappendtextendR0R;R    R<R t_cleant
get_result(RR>tbranchestfsmR4tall_ok((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyR=­s.  cCsTt|jƒrA|jjdd„ƒ|j|jdj7_ntƒg|_dS(NR&cSs
t|ƒS(N(R(tx((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt<lambda>Àsi(RRGtsortR1R.(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyRJ¾scCstƒg|_t|_dS(N(R.RGR#R1(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyRFÅscCsKg|jD]*}|jtks.|jtkr
|^q
|_|jƒdS(N(RGR0R;R<RJ(RRM((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pytendÉs-cCs<|jƒx|D]}|j|ƒqW|jƒ|jƒS(N(RFR=RRRK(RtstringR>((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pytconvertÎs
 
 
cCs|jS(N(R1(R((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyRKÕs(    RRRR=RJRFRRRTRK(((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyRC§s                        cCst||ƒt|<dS(N(RRE(RR((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt    registeryÙsszh-hantszh-hansc    Csƒddl}ddlm}|ƒ}|jdddddddƒ|jd    dddd
dd ƒ|jd dddd ddƒ|jƒ\}}|js­|jdƒn|jrã|jdkrÑ|j}qìt    |jƒ}n    |j}|j
r%|j
dkr|j }q.t    |j
dƒ}n    |j }t |jƒ}x?|D]7}|j |j|jdƒjdƒƒjdƒƒqDWdS(Niÿÿÿÿ(t OptionParsers-ettypeRStdesttencodingthelps-ftfile_insinput file (- for stdin)s-ttfile_outs output filesencoding must be sett-twbs
tutf8(tsystoptparseRVt
add_optiont
parse_argsRYterrorR[tstdintopenR\tstdoutRCtwriteRTtrstriptdecodetencode(    R`RVtparsertoptionstargsR[R\tctline((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pytrunãs4                            t__main__N(tcopyRtzh_wikiRRR#tlistR R/R<R;R3R9R:R7R6R8REtobjectRRt    ExceptionR-R.RCRURqR(((s1E:\SnxxServerCode\Tool\¼ò·±Ìåת»»¹¤¾ß\langconv.pyt<module>s"!&M2          #